xterm.log.html revision a5ae21e4
1<!--
2 *****************************************************************************
3 * this file is part of xterm                                                *
4 *                                                                           *
5 * Copyright 1997-2020,2021 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.2374 2021/11/13 14:22:58 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-2020,2021 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_370">Patch #370 - 2021/11/13</a></li>
74
75    <li><a href="#xterm_369">Patch #369 - 2021/09/21</a></li>
76
77    <li><a href="#xterm_368">Patch #368 - 2021/06/07</a></li>
78
79    <li><a href="#xterm_367">Patch #367 - 2021/03/26</a></li>
80
81    <li><a href="#xterm_366">Patch #366 - 2021/02/10</a></li>
82
83    <li><a href="#xterm_365">Patch #365 - 2021/02/03</a></li>
84
85    <li><a href="#xterm_364">Patch #364 - 2021/02/02</a></li>
86
87    <li><a href="#xterm_363">Patch #363 - 2020/12/26</a></li>
88
89    <li><a href="#xterm_362">Patch #362 - 2020/11/11</a></li>
90
91    <li><a href="#xterm_361">Patch #361 - 2020/10/14</a></li>
92
93    <li><a href="#xterm_360">Patch #360 - 2020/09/20</a></li>
94
95    <li><a href="#xterm_359">Patch #359 - 2020/08/17</a></li>
96
97    <li><a href="#xterm_358">Patch #358 - 2020/07/12</a></li>
98
99    <li><a href="#xterm_357">Patch #357 - 2020/07/05</a></li>
100
101    <li><a href="#xterm_356">Patch #356 - 2020/05/02</a></li>
102
103    <li><a href="#xterm_355">Patch #355 - 2020/05/01</a></li>
104
105    <li><a href="#xterm_354">Patch #354 - 2020/04/26</a></li>
106
107    <li><a href="#xterm_353">Patch #353 - 2020/02/01</a></li>
108
109    <li><a href="#xterm_352">Patch #352 - 2020/01/16</a></li>
110
111    <li><a href="#xterm_351">Patch #351 - 2019/11/17</a></li>
112
113    <li><a href="#xterm_350">Patch #350 - 2019/11/02</a></li>
114
115    <li><a href="#xterm_349">Patch #349 - 2019/09/22</a></li>
116
117    <li><a href="#xterm_348">Patch #348 - 2019/07/22</a></li>
118
119    <li><a href="#xterm_347">Patch #347 - 2019/06/30</a></li>
120
121    <li><a href="#xterm_346">Patch #346 - 2019/05/27</a></li>
122
123    <li><a href="#xterm_345">Patch #345 - 2019/05/14</a></li>
124
125    <li><a href="#xterm_344">Patch #344 - 2019/02/12</a></li>
126
127    <li><a href="#xterm_343">Patch #343 - 2019/01/13</a></li>
128
129    <li><a href="#xterm_342">Patch #342 - 2019/01/03</a></li>
130
131    <li><a href="#xterm_341">Patch #341 - 2018/12/24</a></li>
132
133    <li><a href="#xterm_340">Patch #340 - 2018/12/16</a></li>
134
135    <li><a href="#xterm_339">Patch #339 - 2018/12/12</a></li>
136
137    <li><a href="#xterm_338">Patch #338 - 2018/12/09</a></li>
138
139    <li><a href="#xterm_337">Patch #337 - 2018/09/21</a></li>
140
141    <li><a href="#xterm_336">Patch #336 - 2018/09/19</a></li>
142
143    <li><a href="#xterm_335">Patch #335 - 2018/08/14</a></li>
144
145    <li><a href="#xterm_334">Patch #334 - 2018/08/12</a></li>
146
147    <li><a href="#xterm_333">Patch #333 - 2018/05/03</a></li>
148
149    <li><a href="#xterm_332">Patch #332 - 2018/04/15</a></li>
150
151    <li><a href="#xterm_331">Patch #331 - 2017/12/30</a></li>
152
153    <li><a href="#xterm_330">Patch #330 - 2017/06/20</a></li>
154
155    <li><a href="#xterm_329">Patch #329 - 2017/06/12</a></li>
156
157    <li><a href="#xterm_328">Patch #328 - 2017/06/01</a></li>
158
159    <li><a href="#xterm_327">Patch #327 - 2016/10/07</a></li>
160
161    <li><a href="#xterm_326">Patch #326 - 2016/09/25</a></li>
162
163    <li><a href="#xterm_325">Patch #325 - 2016/06/05</a></li>
164
165    <li><a href="#xterm_324">Patch #324 - 2016/03/10</a></li>
166
167    <li><a href="#xterm_323">Patch #323 - 2016/03/07</a></li>
168
169    <li><a href="#xterm_322">Patch #322 - 2016/01/02</a></li>
170
171    <li><a href="#xterm_321">Patch #321 - 2015/12/31</a></li>
172
173    <li><a href="#xterm_320">Patch #320 - 2015/08/28</a></li>
174
175    <li><a href="#xterm_319">Patch #319 - 2015/08/19</a></li>
176
177    <li><a href="#xterm_318">Patch #318 - 2015/04/12</a></li>
178
179    <li><a href="#xterm_317">Patch #317 - 2015/03/27</a></li>
180
181    <li><a href="#xterm_316">Patch #316 - 2015/03/07</a></li>
182
183    <li><a href="#xterm_315">Patch #315 - 2015/03/02</a></li>
184
185    <li><a href="#xterm_314">Patch #314 - 2014/12/28</a></li>
186
187    <li><a href="#xterm_313">Patch #313 - 2014/11/28</a></li>
188
189    <li><a href="#xterm_312">Patch #312 - 2014/09/28</a></li>
190
191    <li><a href="#xterm_311">Patch #311 - 2014/09/18</a></li>
192
193    <li><a href="#xterm_310">Patch #310 - 2014/07/25</a></li>
194
195    <li><a href="#xterm_309">Patch #309 - 2014/07/13</a></li>
196
197    <li><a href="#xterm_308">Patch #308 - 2014/06/19</a></li>
198
199    <li><a href="#xterm_307">Patch #307 - 2014/06/17</a></li>
200
201    <li><a href="#xterm_306">Patch #306 - 2014/06/03</a></li>
202
203    <li><a href="#xterm_305">Patch #305 - 2014/06/02</a></li>
204
205    <li><a href="#xterm_304">Patch #304 - 2014/05/03</a></li>
206
207    <li><a href="#xterm_303">Patch #303 - 2014/03/06</a></li>
208
209    <li><a href="#xterm_302">Patch #302 - 2014/03/02</a></li>
210
211    <li><a href="#xterm_301">Patch #301 - 2014/01/19</a></li>
212
213    <li><a href="#xterm_300">Patch #300 - 2013/12/03</a></li>
214
215    <li><a href="#xterm_299">Patch #299 - 2013/12/01</a></li>
216
217    <li><a href="#xterm_298">Patch #298 - 2013/11/27</a></li>
218
219    <li><a href="#xterm_297">Patch #297 - 2013/09/10</a></li>
220
221    <li><a href="#xterm_296">Patch #296 - 2013/07/10</a></li>
222
223    <li><a href="#xterm_295">Patch #295 - 2013/07/06</a></li>
224
225    <li><a href="#xterm_294">Patch #294 - 2013/07/05</a></li>
226
227    <li><a href="#xterm_293">Patch #293 - 2013/05/27</a></li>
228
229    <li><a href="#xterm_292">Patch #292 - 2013/04/25</a></li>
230
231    <li><a href="#xterm_291">Patch #291 - 2013/02/26</a></li>
232
233    <li><a href="#xterm_290">Patch #290 - 2013/02/12</a></li>
234
235    <li><a href="#xterm_289">Patch #289 - 2013/02/08</a></li>
236
237    <li><a href="#xterm_288">Patch #288 - 2013/01/09</a></li>
238
239    <li><a href="#xterm_287">Patch #287 - 2012/11/25</a></li>
240
241    <li><a href="#xterm_286">Patch #286 - 2012/10/29</a></li>
242
243    <li><a href="#xterm_285">Patch #285 - 2012/10/23</a></li>
244
245    <li><a href="#xterm_284">Patch #284 - 2012/10/14</a></li>
246
247    <li><a href="#xterm_283">Patch #283 - 2012/10/09</a></li>
248
249    <li><a href="#xterm_282">Patch #282 - 2012/09/28</a></li>
250
251    <li><a href="#xterm_281">Patch #281 - 2012/06/26</a></li>
252
253    <li><a href="#xterm_280">Patch #280 - 2012/06/24</a></li>
254
255    <li><a href="#xterm_279">Patch #279 - 2012/05/10</a></li>
256
257    <li><a href="#xterm_278">Patch #278 - 2012/01/18</a></li>
258
259    <li><a href="#xterm_277">Patch #277 - 2012/01/07</a></li>
260
261    <li><a href="#xterm_276">Patch #276 - 2011/10/10</a></li>
262
263    <li><a href="#xterm_275">Patch #275 - 2011/09/11</a></li>
264
265    <li><a href="#xterm_274">Patch #274 - 2011/09/05</a></li>
266
267    <li><a href="#xterm_273">Patch #273 - 2011/08/25</a></li>
268
269    <li><a href="#xterm_272">Patch #272 - 2011/08/24</a></li>
270
271    <li><a href="#xterm_271">Patch #271 - 2011/07/14</a></li>
272
273    <li><a href="#xterm_270">Patch #270 - 2011/04/26</a></li>
274
275    <li><a href="#xterm_269">Patch #269 - 2011/02/19</a></li>
276
277    <li><a href="#xterm_268">Patch #268 - 2011/02/10</a></li>
278
279    <li><a href="#xterm_267">Patch #267 - 2010/11/20</a></li>
280
281    <li><a href="#xterm_266">Patch #266 - 2010/10/24</a></li>
282
283    <li><a href="#xterm_265">Patch #265 - 2010/10/22</a></li>
284
285    <li><a href="#xterm_264">Patch #264 - 2010/10/14</a></li>
286
287    <li><a href="#xterm_263">Patch #263 - 2010/10/13</a></li>
288
289    <li><a href="#xterm_262">Patch #262 - 2010/8/30</a></li>
290
291    <li><a href="#xterm_261">Patch #261 - 2010/6/28</a></li>
292
293    <li><a href="#xterm_260">Patch #260 - 2010/6/20</a></li>
294
295    <li><a href="#xterm_259">Patch #259 - 2010/6/5</a></li>
296
297    <li><a href="#xterm_258">Patch #258 - 2010/5/1</a></li>
298
299    <li><a href="#xterm_257">Patch #257 - 2010/4/22</a></li>
300
301    <li><a href="#xterm_256">Patch #256 - 2010/3/6</a></li>
302
303    <li><a href="#xterm_255">Patch #255 - 2010/1/21</a></li>
304
305    <li><a href="#xterm_254">Patch #254 - 2010/1/6</a></li>
306
307    <li><a href="#xterm_253">Patch #253 - 2009/12/10</a></li>
308
309    <li><a href="#xterm_252">Patch #252 - 2009/12/7</a></li>
310
311    <li><a href="#xterm_251">Patch #251 - 2009/11/11</a></li>
312
313    <li><a href="#xterm_250">Patch #250 - 2009/10/13</a></li>
314
315    <li><a href="#xterm_249">Patch #249 - 2009/10/1</a></li>
316
317    <li><a href="#xterm_248">Patch #248 - 2009/9/11</a></li>
318
319    <li><a href="#xterm_247">Patch #247 - 2009/8/30</a></li>
320
321    <li><a href="#xterm_246">Patch #246 - 2009/8/16</a></li>
322
323    <li><a href="#xterm_245">Patch #245 - 2009/8/12</a></li>
324
325    <li><a href="#xterm_244">Patch #244 - 2009/8/9</a></li>
326
327    <li><a href="#xterm_243">Patch #243 - 2009/3/28</a></li>
328
329    <li><a href="#xterm_242">Patch #242 - 2009/2/15</a></li>
330
331    <li><a href="#xterm_241">Patch #241 - 2009/1/26</a></li>
332
333    <li><a href="#xterm_240">Patch #240 - 2009/1/25</a></li>
334
335    <li><a href="#xterm_239">Patch #239 - 2009/1/8</a></li>
336
337    <li><a href="#xterm_238">Patch #238 - 2008/12/30</a></li>
338
339    <li><a href="#xterm_237">Patch #237 - 2008/09/14</a></li>
340
341    <li><a href="#xterm_236">Patch #236 - 2008/07/27</a></li>
342
343    <li><a href="#xterm_235">Patch #235 - 2008/04/20</a></li>
344
345    <li><a href="#xterm_234">Patch #234 - 2008/03/02</a></li>
346
347    <li><a href="#xterm_233">Patch #233 - 2008/02/24</a></li>
348
349    <li><a href="#xterm_232">Patch #232 - 2008/01/30</a></li>
350
351    <li><a href="#xterm_231">Patch #231 - 2008/01/05</a></li>
352
353    <li><a href="#xterm_230">Patch #230 - 2007/12/31</a></li>
354
355    <li><a href="#xterm_229">Patch #229 - 2007/8/12</a></li>
356
357    <li><a href="#xterm_228">Patch #228 - 2007/7/22</a></li>
358
359    <li><a href="#xterm_227">Patch #227 - 2007/6/27</a></li>
360
361    <li><a href="#xterm_226">Patch #226 - 2007/6/17</a></li>
362
363    <li><a href="#xterm_225">Patch #225 - 2007/3/24</a></li>
364
365    <li><a href="#xterm_224">Patch #224 - 2007/2/11</a></li>
366
367    <li><a href="#xterm_223">Patch #223 - 2006/11/30</a></li>
368
369    <li><a href="#xterm_222">Patch #222 - 2006/10/17</a></li>
370
371    <li><a href="#xterm_221">Patch #221 - 2006/10/1</a></li>
372
373    <li><a href="#xterm_220">Patch #220 - 2006/9/10</a></li>
374
375    <li><a href="#xterm_219">Patch #219 - 2006/9/4</a></li>
376
377    <li><a href="#xterm_218">Patch #218 - 2006/8/27</a></li>
378
379    <li><a href="#xterm_217">Patch #217 - 2006/8/20</a></li>
380
381    <li><a href="#xterm_216">Patch #216 - 2006/8/3</a></li>
382
383    <li><a href="#xterm_215">Patch #215 - 2006/6/19 - XFree86
384    4.6.99.2</a></li>
385
386    <li><a href="#xterm_214">Patch #214 - 2006/6/18 - XFree86
387    4.6.99.2</a></li>
388
389    <li><a href="#xterm_213">Patch #213 - 2006/4/30 - XFree86
390    4.5.99.905</a></li>
391
392    <li><a href="#xterm_212">Patch #212 - 2006/4/9 - XFree86
393    4.5.99.904</a></li>
394
395    <li><a href="#xterm_211">Patch #211 - 2006/3/19 - XFree86
396    4.5.99.902</a></li>
397
398    <li><a href="#xterm_210">Patch #210 - 2006/3/12 - XFree86
399    4.5.99.902</a></li>
400
401    <li><a href="#xterm_209">Patch #209 - 2006/2/12 - XFree86
402    4.5.99.22</a></li>
403
404    <li><a href="#xterm_208">Patch #208 - 2006/1/3 - XFree86
405    4.5.99.19</a></li>
406
407    <li><a href="#xterm_207">Patch #207 - 2005/11/13 - XFree86
408    4.5.99.16</a></li>
409
410    <li><a href="#xterm_206">Patch #206 - 2005/11/3 - XFree86
411    4.5.99.15</a></li>
412
413    <li><a href="#xterm_205">Patch #205 - 2005/9/18 - XFree86
414    4.5.99.12</a></li>
415
416    <li><a href="#xterm_204">Patch #204 - 2005/8/4 - XFree86
417    4.5.99.9</a></li>
418
419    <li><a href="#xterm_203">Patch #203 - 2005/7/6 - XFree86
420    4.5.99.7</a></li>
421
422    <li><a href="#xterm_202">Patch #202 - 2005/5/2 - XFree86
423    4.5.99.3</a></li>
424
425    <li><a href="#xterm_201">Patch #201 - 2005/4/21 - XFree86
426    4.5.99.2</a></li>
427
428    <li><a href="#xterm_200">Patch #200 - 2005/2/6 - XFree86
429    4.4.99.23</a></li>
430
431    <li><a href="#xterm_199">Patch #199 - 2005/1/17 - XFree86
432    4.4.99.22</a></li>
433
434    <li><a href="#xterm_198">Patch #198 - 2005/1/13 - XFree86
435    4.4.99.21</a></li>
436
437    <li><a href="#xterm_197">Patch #197 - 2004/11/30 - XFree86
438    4.4.99.19</a></li>
439
440    <li><a href="#xterm_196">Patch #196 - 2004/8/15 - XFree86
441    4.4.99.12</a></li>
442
443    <li><a href="#xterm_195">Patch #195 - 2004/8/8 - XFree86
444    4.4.99.11</a></li>
445
446    <li><a href="#xterm_194">Patch #194 - 2004/7/27 - XFree86
447    4.4.99.11</a></li>
448
449    <li><a href="#xterm_193">Patch #193 - 2004/7/19 - XFree86
450    4.4.99.10</a></li>
451
452    <li><a href="#xterm_192">Patch #192 - 2004/7/12 - XFree86
453    4.4.99.9</a></li>
454
455    <li><a href="#xterm_191">Patch #191 - 2004/6/6 - XFree86
456    4.4.99.7</a></li>
457
458    <li><a href="#xterm_190">Patch #190 - 2004/5/25 - XFree86
459    4.4.99.6</a></li>
460
461    <li><a href="#xterm_189">Patch #189 - 2004/5/16 - XFree86
462    4.4.99.6</a></li>
463
464    <li><a href="#xterm_188">Patch #188 - 2004/5/12 - XFree86
465    4.4.99.6</a></li>
466
467    <li><a href="#xterm_187">Patch #187 - 2004/4/27 - XFree86
468    4.4.99.4</a></li>
469
470    <li><a href="#xterm_186">Patch #186 - 2004/4/18 - XFree86
471    4.4.99.4</a></li>
472
473    <li><a href="#xterm_185">Patch #185 - 2004/3/3 - XFree86
474    4.4</a></li>
475
476    <li><a href="#xterm_184">Patch #184 - 2003/12/31 - XFree86
477    4.3.99.903</a></li>
478
479    <li><a href="#xterm_183">Patch #183 - 2003/12/26 - XFree86
480    4.3.99.903</a></li>
481
482    <li><a href="#xterm_182">Patch #182 - 2003/12/2 - XFree86
483    4.3.99.901</a></li>
484
485    <li><a href="#xterm_181">Patch #181 - 2003/10/26 - XFree86
486    4.3.99.15</a></li>
487
488    <li><a href="#xterm_180">Patch #180 - 2003/10/12 - XFree86
489    4.3.99.15</a></li>
490
491    <li><a href="#xterm_179">Patch #179 - 2003/5/21 - XFree86
492    4.3.99.5</a></li>
493
494    <li><a href="#xterm_178">Patch #178 - 2003/5/18 - XFree86
495    4.3.99.5</a></li>
496
497    <li><a href="#xterm_177">Patch #177 - 2003/3/23 - XFree86
498    4.3.0</a></li>
499
500    <li><a href="#xterm_176">Patch #176 - 2003/3/22 - XFree86
501    4.3.0</a></li>
502
503    <li><a href="#xterm_175">Patch #175 - 2003/3/9 - XFree86
504    4.3.0</a></li>
505
506    <li><a href="#xterm_174">Patch #174 - 2003/2/25 - XFree86
507    4.2.99.903</a></li>
508
509    <li><a href="#xterm_173">Patch #173 - 2003/2/6 - XFree86
510    4.2.99.902</a></li>
511
512    <li><a href="#xterm_172">Patch #172 - 2002/12/27 - XFree86
513    4.2.99.3</a></li>
514
515    <li><a href="#xterm_171">Patch #171 - 2002/12/12 - XFree86
516    4.2.99.3</a></li>
517
518    <li><a href="#xterm_170">Patch #170 - 2002/10/13 - XFree86
519    4.2.1</a></li>
520
521    <li><a href="#xterm_169">Patch #169 - 2002/10/5 - XFree86
522    4.2.1</a></li>
523
524    <li><a href="#xterm_168">Patch #168 - 2002/9/29 - XFree86
525    4.2.1</a></li>
526
527    <li><a href="#xterm_167">Patch #167 - 2002/8/24 - XFree86
528    4.2.0</a></li>
529
530    <li><a href="#xterm_166">Patch #166 - 2002/3/25 - XFree86
531    4.2.0</a></li>
532
533    <li><a href="#xterm_165">Patch #165 - 2002/1/5 - XFree86
534    4.1.0</a></li>
535
536    <li><a href="#xterm_164">Patch #164 - 2001/11/13 - XFree86
537    4.1.0</a></li>
538
539    <li><a href="#xterm_163">Patch #163 - 2001/11/04 - XFree86
540    4.1.0</a></li>
541
542    <li><a href="#xterm_162">Patch #162 - 2001/10/23 - XFree86
543    4.1.0</a></li>
544
545    <li><a href="#xterm_161">Patch #161 - 2001/10/10 - XFree86
546    4.1.0</a></li>
547
548    <li><a href="#xterm_160">Patch #160 - 2001/10/7 - XFree86
549    4.1.0</a></li>
550
551    <li><a href="#xterm_159">Patch #159 - 2001/9/19 - XFree86
552    4.1.0</a></li>
553
554    <li><a href="#xterm_158">Patch #158 - 2001/9/8 - XFree86
555    4.1.0</a></li>
556
557    <li><a href="#xterm_157">Patch #157 - 2001/6/18 - XFree86
558    4.1.0</a></li>
559
560    <li><a href="#xterm_156">Patch #156 - 2001/4/28 - XFree86
561    4.0.3</a></li>
562
563    <li><a href="#xterm_155">Patch #155 - 2001/4/20 - XFree86
564    4.0.3</a></li>
565
566    <li><a href="#xterm_154">Patch #154 - 2001/4/11 - XFree86
567    4.0.3</a></li>
568
569    <li><a href="#xterm_153">Patch #153 - 2001/3/29 - XFree86
570    4.0.3</a></li>
571
572    <li><a href="#xterm_152">Patch #152 - 2001/3/13 - XFree86
573    4.0.2</a></li>
574
575    <li><a href="#xterm_151">Patch #151 - 2001/3/10 - XFree86
576    4.0.2</a></li>
577
578    <li><a href="#xterm_150">Patch #150 - 2000/12/29 - XFree86
579    4.0.2</a></li>
580
581    <li><a href="#xterm_149">Patch #149 - 2000/12/6 - XFree86
582    4.0.1h</a></li>
583
584    <li><a href="#xterm_148">Patch #148 - 2000/10/31 - XFree86
585    4.0.1d</a></li>
586
587    <li><a href="#xterm_147">Patch #147 - 2000/10/26 - XFree86
588    4.0.1c</a></li>
589
590    <li><a href="#xterm_146">Patch #146 - 2000/9/12 - XFree86
591    4.0.1c</a></li>
592
593    <li><a href="#xterm_145">Patch #145 - 2000/9/11 - XFree86
594    4.0.1c</a></li>
595
596    <li><a href="#xterm_144">Patch #144 - 2000/8/23 - XFree86
597    4.0.1b</a></li>
598
599    <li><a href="#xterm_143">Patch #143 - 2000/8/19 - XFree86
600    4.0.1b</a></li>
601
602    <li><a href="#xterm_142">Patch #142 - 2000/8/18 - XFree86
603    4.0.1b</a></li>
604
605    <li><a href="#xterm_141">Patch #141 - 2000/8/14 - XFree86
606    4.0.1b</a></li>
607
608    <li><a href="#xterm_140">Patch #140 - 2000/7/23 - XFree86
609    4.0.1</a></li>
610
611    <li><a href="#xterm_139">Patch #139 - 2000/6/17 - XFree86
612    4.0d</a></li>
613
614    <li><a href="#xterm_138">Patch #138 - 2000/6/15 - XFree86
615    4.0c</a></li>
616
617    <li><a href="#xterm_137">Patch #137 - 2000/6/10 - XFree86
618    4.0b</a></li>
619
620    <li><a href="#xterm_136">Patch #136 - 2000/6/3 - XFree86
621    4.0b</a></li>
622
623    <li><a href="#xterm_135">Patch #135 - 2000/5/29 - XFree86
624    4.0b</a></li>
625
626    <li><a href="#xterm_134">Patch #134 - 2000/5/28 - XFree86
627    4.0b</a></li>
628
629    <li><a href="#xterm_133">Patch #133 - 2000/5/2 - XFree86
630    4.0a</a></li>
631
632    <li><a href="#xterm_132">Patch #132 - 2000/4/11 - XFree86
633    4.0a</a></li>
634
635    <li><a href="#xterm_131">Patch #131 - 2000/3/3 - XFree86
636    3.9.18b</a></li>
637
638    <li><a href="#xterm_130">Patch #130 - 2000/3/1 - XFree86
639    3.9.18a</a></li>
640
641    <li><a href="#xterm_129">Patch #129 - 2000/2/26 - XFree86
642    3.9.18a</a></li>
643
644    <li><a href="#xterm_128">Patch #128 - 2000/2/17 - XFree86
645    3.9.18</a></li>
646
647    <li><a href="#xterm_127">Patch #127 - 2000/2/12 - XFree86
648    3.9.17e</a></li>
649
650    <li><a href="#xterm_126">Patch #126 - 2000/2/8 - XFree86
651    3.9.17c</a></li>
652
653    <li><a href="#xterm_125">Patch #125 - 2000/1/31 - XFree86
654    3.9.17c</a></li>
655
656    <li><a href="#xterm_124">Patch #124 - 2000/1/27 - XFree86
657    3.9.17b</a></li>
658
659    <li><a href="#xterm_123">Patch #123 - 2000/1/22 - XFree86
660    3.9.17a</a></li>
661
662    <li><a href="#xterm_122">Patch #122 - 1999/12/28 - XFree86
663    3.9.16f</a></li>
664
665    <li><a href="#xterm_121">Patch #121 - 1999/11/14 - XFree86
666    3.9.16c</a></li>
667
668    <li><a href="#xterm_120">Patch #120 - 1999/10/28 - XFree86
669    3.9.16c</a></li>
670
671    <li><a href="#xterm_119">Patch #119 - 1999/10/16 - XFree86
672    3.9.16c</a></li>
673
674    <li><a href="#xterm_118">Patch #118 - 1999/10/5 - XFree86
675    3.9.16b</a></li>
676
677    <li><a href="#xterm_117">Patch #117 - 1999/9/29 - XFree86
678    3.9.16b</a></li>
679
680    <li><a href="#xterm_116">Patch #116 - 1999/9/25 - XFree86
681    3.9.16a</a></li>
682
683    <li><a href="#xterm_115">Patch #115 - 1999/9/18 - XFree86
684    3.9.16a</a></li>
685
686    <li><a href="#xterm_114">Patch #114 - 1999/9/15 - XFree86
687    3.9.16</a></li>
688
689    <li><a href="#xterm_113">Patch #113 - 1999/8/15 - XFree86
690    3.9.15b</a></li>
691
692    <li><a href="#xterm_112">Patch #112 - 1999/7/17 - XFree86
693    3.9Pw</a></li>
694
695    <li><a href="#xterm_111">Patch #111 - 1999/7/10 - XFree86
696    3.9Pw</a></li>
697
698    <li><a href="#xterm_110">Patch #110 - 1999/6/29 - XFree86
699    3.9Pu</a></li>
700
701    <li><a href="#xterm_109">Patch #109 - 1999/6/23 - XFree86
702    3.9Pt</a></li>
703
704    <li><a href="#xterm_108">Patch #108 - 1999/6/19 - XFree86
705    3.9Ps</a></li>
706
707    <li><a href="#xterm_107">Patch #107 - 1999/6/12 - XFree86
708    3.9Pq</a></li>
709
710    <li><a href="#xterm_106">Patch #106 - 1999/6/9 - XFree86
711    3.9Pq</a></li>
712
713    <li><a href="#xterm_105">Patch #105 - 1999/6/5 - XFree86
714    3.9Pp</a></li>
715
716    <li><a href="#xterm_104">Patch #104 - 1999/5/30 - XFree86
717    3.9Pn</a></li>
718
719    <li><a href="#xterm_103">Patch #103 - 1999/5/14 - XFree86
720    3.9Pm</a></li>
721
722    <li><a href="#xterm_102">Patch #102 - 1999/5/12 - XFree86
723    3.9Pm</a></li>
724
725    <li><a href="#xterm_101">Patch #101 - 1999/5/10 - XFree86
726    3.9Pm</a></li>
727
728    <li><a href="#xterm_100">Patch #100 - 1999/5/3 - XFree86
729    3.9Pl</a></li>
730
731    <li><a href="#xterm_99">Patch #99 - 1999/5/2 - XFree86
732    3.9Pk</a></li>
733
734    <li><a href="#xterm_98">Patch #98 - 1999/4/26 - XFree86
735    3.9Pk</a></li>
736
737    <li><a href="#xterm_97">Patch #97 - 1999/4/25 - XFree86
738    3.9Pk</a></li>
739
740    <li><a href="#xterm_96">Patch #96 - 1999/4/19 - XFree86
741    3.9Pj</a></li>
742
743    <li><a href="#xterm_95">Patch #95 - 1999/4/5 - XFree86
744    3.9Ph</a></li>
745
746    <li><a href="#xterm_94">Patch #94 - 1999/3/27 - XFree86
747    3.9Pf</a></li>
748
749    <li><a href="#xterm_93">Patch #93 - 1999/3/14 - XFree86
750    3.9Pd</a></li>
751
752    <li><a href="#xterm_92">Patch #92 - 1999/2/5 - XFree86
753    3.9Nz</a></li>
754
755    <li><a href="#xterm_91">Patch #91 - 1999/1/21 - XFree86
756    3.9Nw</a></li>
757
758    <li><a href="#xterm_90">Patch #90 - 1998/12/13 - XFree86
759    3.9Nq</a></li>
760
761    <li><a href="#xterm_89">Patch #89 - 1998/11/20 - XFree86
762    3.9Nm</a></li>
763
764    <li><a href="#xterm_88">Patch #88 - 1998/10/31 - XFree86 3.9Nk
765    and 3.3.2h</a></li>
766
767    <li><a href="#xterm_87">Patch #87 - 1998/10/21 - XFree86 3.9Nj
768    and 3.3.2f</a></li>
769
770    <li><a href="#xterm_86">Patch #86 - 1998/10/14 - XFree86 3.9Nj
771    and 3.3.2e</a></li>
772
773    <li><a href="#xterm_85">Patch #85 - 1998/10/12 - XFree86 3.9Nj
774    and 3.3.2e</a></li>
775
776    <li><a href="#xterm_84">Patch #84 - 1998/10/9 - XFree86 3.9Ni
777    and 3.3.2e</a></li>
778
779    <li><a href="#sync_83">Resync #83 - 1998/10/7 - XFree86
780    3.3.2e</a></li>
781
782    <li><a href="#xterm_83">Patch #83 - 1998/8/25 - XFree86
783    3.9Nb</a></li>
784
785    <li><a href="#xterm_82">Patch #82 - 1998/7/15 - XFree86
786    3.9Aj</a></li>
787
788    <li><a href="#xterm_81">Patch #81 - 1998/7/14 - XFree86
789    3.9Aj</a></li>
790
791    <li><a href="#xterm_80">Patch #80 - 1998/6/29 - XFree86
792    3.9Ai</a></li>
793
794    <li><a href="#xterm_79">Patch #79 - 1998/6/28 - XFree86
795    3.9Ai</a></li>
796
797    <li><a href="#xterm_78">Patch #78 - 1998/6/3 - XFree86 3.9Ah
798    and 3.3.2</a></li>
799
800    <li><a href="#xterm_77">Patch #77 - 1998/5/26 - XFree86 3.9Ah
801    and 3.3.2</a></li>
802
803    <li><a href="#xterm_76">Patch #76 - 1998/5/8 - XFree86 3.9Ah
804    and 3.3.2</a></li>
805
806    <li><a href="#xterm_75">Patch #75 - 1998/5/7 - XFree86 3.9Ah
807    and 3.3.2</a></li>
808
809    <li><a href="#xterm_74">Patch #74 - 1998/4/27 - XFree86 3.9Ag
810    and 3.3.2</a></li>
811
812    <li><a href="#xterm_73">Patch #73 - 1998/4/25 - XFree86 3.9Ag
813    and 3.3.2</a></li>
814
815    <li><a href="#xterm_72">Patch #72 - 1998/4/17 - XFree86 3.9Ag
816    and 3.3.2</a></li>
817
818    <li><a href="#xterm_71">Patch #71 - 1998/4/12 - XFree86 3.9Ag
819    and 3.3.2</a></li>
820
821    <li><a href="#xterm_70">Patch #70 - 1998/3/29 - XFree86 3.9Af
822    and 3.3.2</a></li>
823
824    <li><a href="#xterm_69">Patch #69 - 1998/3/16 - XFree86 3.9Ad
825    and 3.3.2</a></li>
826
827    <li><a href="#xterm_68">Patch #68 - 1998/3/4 - XFree86 3.9Ad
828    and 3.3.1z</a></li>
829
830    <li><a href="#xterm_67">Patch #67 - 1998/2/23 - XFree86 3.9Ad
831    and 3.3.1e</a></li>
832
833    <li><a href="#xterm_66">Patch #66 - 1998/2/16 - XFree86 3.9Ad
834    and 3.3.1d</a></li>
835
836    <li><a href="#xterm_65">Patch #65 - 1998/2/14 - XFree86 3.9Ad
837    and 3.3.1c</a></li>
838
839    <li><a href="#xterm_64">Patch #64 - 1998/2/8 - XFree86
840    3.9Ad</a></li>
841
842    <li><a href="#xterm_63">Patch #63 - 1998/2/5 - XFree86
843    3.9Ad</a></li>
844
845    <li><a href="#xterm_62">Patch #62 - 1998/1/23 - XFree86
846    3.9Ac</a></li>
847
848    <li><a href="#xterm_61">Patch #61 - 1998/1/17 - XFree86
849    3.9Ac</a></li>
850
851    <li><a href="#xterm_60">Patch #60 - 1998/1/10 - XFree86
852    3.9Ab</a></li>
853
854    <li><a href="#xterm_59">Patch #59 - 1998/1/5 - XFree86
855    3.9Ab</a></li>
856
857    <li><a href="#xterm_58">Patch #58 - 1998/1/3 - XFree86
858    3.9Ab</a></li>
859
860    <li><a href="#xterm_57">Patch #57 - 1997/12/26 - XFree86
861    3.9Aa</a></li>
862
863    <li><a href="#xterm_56">Patch #56 - 1997/11/28 - XFree86
864    3.9x</a></li>
865
866    <li><a href="#xterm_55">Patch #55 - 1997/11/25 - XFree86
867    3.9x</a></li>
868
869    <li><a href="#xterm_54">Patch #54 - 1997/10/17 - XFree86
870    3.9s</a></li>
871
872    <li><a href="#xterm_53">Patch #53 - 1997/10/12 - XFree86
873    3.9r</a></li>
874
875    <li><a href="#xterm_52">Patch #52 - 1997/9/29 - XFree86
876    3.9q</a></li>
877
878    <li><a href="#xterm_51">Patch #51 - 1997/9/15 - XFree86
879    3.9p</a></li>
880
881    <li><a href="#xterm_50">Patch #50 - 1997/8/22 - XFree86
882    3.9m</a></li>
883
884    <li><a href="#xterm_49">Patch #49 - 1997/8/10 - XFree86
885    3.9k</a></li>
886
887    <li><a href="#xterm_48">Patch #48 - 1997/7/26 - XFree86
888    3.9j</a></li>
889
890    <li><a href="#xterm_47">Patch #47 - 1997/7/13 - XFree86
891    3.9i</a></li>
892
893    <li><a href="#xterm_46">Patch #46 - 1997/7/4 - XFree86 3.9h</a></li>
894
895    <li><a href="#xterm_45">Patch #45 - 1997/7/2 - XFree86 3.9h</a></li>
896
897    <li><a href="#xterm_44">Patch #44 - 1997/6/22 - XFree86
898    3.9g</a></li>
899
900    <li><a href="#xterm_43">Patch #43 - 1997/6/10 - XFree86
901    3.9d</a></li>
902
903    <li><a href="#xterm_42">Patch #42 - 1997/6/8 - XFree86
904    3.2Xl</a></li>
905
906    <li><a href="#xterm_41">Patch #41 - 1997/5/28 - XFree86
907    3.2Xl</a></li>
908
909    <li><a href="#xterm_40">Patch #40 - 1997/5/26 - XFree86
910    3.2Xl</a></li>
911
912    <li><a href="#xterm_39">Patch #39 - 1997/5/24 - XFree86
913    3.2Xl</a></li>
914
915    <li><a href="#xterm_38">Patch #38 - 1997/5/22 - XFree86
916    3.2Xh</a></li>
917
918    <li><a href="#xterm_37">Patch #37 - 1997/5/7 - XFree86 3.9a</a></li>
919
920    <li><a href="#xterm_36">Patch #36 - 1997/1/16 - XFree86
921    3.2r</a></li>
922
923    <li><a href="#xterm_35">Patch #35 - 1997/1/7 - XFree86 3.2o</a></li>
924
925    <li><a href="#xterm_34">Patch #34 - 1997/1/5 - XFree86 3.2o</a></li>
926
927    <li><a href="#xterm_33">Patch #33 - 1996/11/24 - XFree86
928    3.2</a></li>
929
930    <li><a href="#xterm_32">Patch #32 - 1996/11/21 - XFree86
931    3.2</a></li>
932
933    <li><a href="#xterm_31">Patch #31 - 1996/11/16 - XFree86
934    3.2</a></li>
935
936    <li><a href="#xterm_30">Patch #30 - 1996/11/16 - XFree86
937    3.2</a></li>
938
939    <li><a href="#xterm_29">Patch #29 - 1996/9/15 - XFree86
940    3.1.2Gb</a></li>
941
942    <li><a href="#xterm_28">Patch #28 - 1996/8/31 - XFree86
943    3.1.2F</a></li>
944
945    <li><a href="#xterm_27">Patch #27 - 1996/8/21 - XFree86
946    3.1.2Ek</a></li>
947
948    <li><a href="#xterm_26">Patch #26 - 1996/8/20 - XFree86
949    3.1.2Ei</a></li>
950
951    <li><a href="#xterm_25">Patch #25 - 1996/8/18 - XFree86
952    3.1.2Ei</a></li>
953
954    <li><a href="#xterm_24">Patch #24 - 1996/8/11 - XFree86
955    3.1.2Ee</a></li>
956
957    <li><a href="#xterm_23">Patch #23 - 1996/7/31 - XFree86
958    3.1.2Ec</a></li>
959
960    <li><a href="#xterm_22">Patch #22 - 1996/7/26 - XFree86
961    3.1.2Ec</a></li>
962
963    <li><a href="#xterm_21">Patch #21 - 1996/7/24 - XFree86
964    3.1.2Ec</a></li>
965
966    <li><a href="#xterm_20">Patch #20 - 1996/7/24 - XFree86
967    3.1.2Ec</a></li>
968
969    <li><a href="#xterm_19">Patch #19 - 1996/7/21 - XFree86
970    3.1.2Ec</a></li>
971
972    <li><a href="#xterm_18">Patch #18 - 1996/7/18 - XFree86
973    3.1.2Ec</a></li>
974
975    <li><a href="#xterm_17">Patch #17 - 1996/7/2 - XFree86
976    3.1.2Eb</a></li>
977
978    <li><a href="#xterm_16">Patch #16 - 1996/6/25 - XFree86
979    3.1.2Ea</a></li>
980
981    <li><a href="#xterm_15">Patch #15 - 1996/5/29 - XFree86
982    3.1.2E</a></li>
983
984    <li><a href="#xterm_14">Patch #14 - 1996/5/12 - XFree86
985    3.1.2Dj</a></li>
986
987    <li><a href="#xterm_13">Patch #13 - 1996/4/23 - XFree86
988    3.1.2Df</a></li>
989
990    <li><a href="#xterm_12">Patch #12 - 1996/3/16 - XFree86
991    3.1.2Dc</a></li>
992
993    <li><a href="#xterm_11">Patch #11 - 1996/3/5 - XFree86
994    3.1.2Db</a></li>
995
996    <li><a href="#xterm_10">Patch #10 - 1996/2/14 - XFree86
997    3.1.2Cd</a></li>
998
999    <li><a href="#xterm_09">Patch #9 - 1996/2/10 - XFree86
1000    3.1.2Cb</a></li>
1001
1002    <li><a href="#xterm_08">Patch #8 - 1996/2/9 - XFree86
1003    3.1.2Cb</a></li>
1004
1005    <li><a href="#xterm_07">Patch #7 - 1996/1/28 - XFree86
1006    3.1.2n</a></li>
1007
1008    <li><a href="#xterm_06">Patch #6 - 1996/1/8</a></li>
1009
1010    <li><a href="#xterm_05">Patch #5 - 1996/1/7</a></li>
1011
1012    <li><a href="#xterm_04">Patch #4 - 1996/1/7</a></li>
1013
1014    <li><a href="#xterm_03">Patch #3 - 1996/1/7</a></li>
1015
1016    <li><a href="#xterm_02">Patch #2 - 1996/1/7</a></li>
1017
1018    <li><a href="#xterm_01">Patch #1 - 1996/1/6</a></li>
1019  </ul>
1020
1021  <h1><a name="xterm_370" id="xterm_370">Patch #370 -
1022  2021/11/13</a></h1>
1023
1024  <ul>
1025    <li>add <code>-a</code>, <code>-c</code> and <code>-d</code>
1026    options to <code>query-status.pl</code> to improve test for
1027    <code>DECRQSS</code>.</li>
1028
1029    <li>expanded discussion of maximum graphics geometry in
1030    <code>ctlseqs.ms</code> (suggested by Bon Wong).</li>
1031
1032    <li>corrected parameter symbol for <code>DECCARA</code> and
1033    <code>DECRARA</code> in <code>ctlseqs.ms</code> to indicate
1034    that multiple parameters may be used (report by Thomas
1035    Wolff).</li>
1036
1037    <li>add several test/demo scripts.</li>
1038
1039    <li>improve <code>DECCOLM</code>, <code>DECLRMM</code> and
1040    <code>DECALN</code> referring to pseudo-code in DEC 070.</li>
1041
1042    <li>amend a change in patch #348 which caused left/right margin
1043    mode to be reset when resizing the terminal window (report by
1044    Valentine Barshak).</li>
1045
1046    <li>fix a misnamed macro-parameter (patch by Rajeev V.
1047    Pillai).</li>
1048
1049    <li>fix spacing of <code>wideFont</code> when its width is not
1050    exactly twice as wide as the normal font (report by Rajeev V.
1051    Pillai).</li>
1052
1053    <li>suppress loading of italic font in a few places when
1054    <code>colorITmode</code> is enabled (report/analysis by Rajeev
1055    V. Pillai).</li>
1056
1057    <li>modify <code>XTSMGRAPHICS</code> to return failure status
1058    if the terminal is not configured to support the corresponding
1059    ReGIS or SIXEL feature (report by Nick Black, notcurses #2252,
1060    notcurses #2257).</li>
1061
1062    <li>modify <code>DECERA</code> and <code>DECFRA</code> to erase
1063    corresponding area in SIXEL graphics (patch by Nick Black,
1064    notcurses #1740, vt340test #16). Also modify
1065    <code>DECSERA</code>.</li>
1066
1067    <li>equate visuals for TrueColor and DirectColor (patch by
1068    Denis Kaganovich).</li>
1069
1070    <li>correct computation for pixel value of rgb when using depth
1071    16 (report by Denis Kaganovich).</li>
1072
1073    <li>correct wrapping of VT100-style double-sized characters
1074    when configured for Unicode wide-characters (report by Luis
1075    Javier Merino).</li>
1076
1077    <li>updated default value for <code>sixelScrolling</code>
1078    resource to match expected behavior versus <code>DECSDM</code>
1079    change in <a href="#xterm_369">patch #369</a> (report by Grant
1080    Taylor).</li>
1081  </ul>
1082
1083  <h1><a name="xterm_369" id="xterm_369">Patch #369 -
1084  2021/09/21</a></h1>
1085
1086  <ul>
1087    <li>modify <code>run-tic.sh</code> to work around bug in
1088    development version of ncurses which was packaged in FreeBSD
1089    ports.</li>
1090
1091    <li>remove ifdef's for <code>OPT_COLOR_RES</code> and
1092    <code>OPT_COLOR_RES2</code>.</li>
1093
1094    <li>improve performance over slow connections (report by Harald
1095    Dunkel).</li>
1096
1097    <li>update cursor if restoring mode for DECTCEM.</li>
1098
1099    <li>modify <code>CharWidth</code> macro to ensure that the
1100    shortcut for Latin-1 is only applied when UTF-8 is not enabled,
1101    to fix a bug in handling soft-hyphen from <a href=
1102    "#xterm_334">patch #334</a> changes (patch by Martijn van
1103    Duren).</li>
1104
1105    <li>improve terminfo:
1106      <ul>
1107        <li>fill-in function-keys in terminfo which are not Sun/HP
1108        keyboards using <code>xterm+nopcfkeys</code>
1109        building-block.</li>
1110
1111        <li>add kbeg to xterm+keypad to accommodate termcap
1112        applications</li>
1113
1114        <li>add smglp and smgrp to vt420+lrmm, to provide useful
1115        data for the "tabs" <code><strong>+m</strong></code>
1116        option</li>
1117      </ul>
1118    </li>
1119
1120    <li>support shift-tab in Sun, HP and SCO keyboards.</li>
1121
1122    <li>document some legacy features in <code>ctlseqs.ms</code>
1123    (prompted by discussion with Jimmy Aguilar Mena "Ergus").</li>
1124
1125    <li>add &ldquo;trim&rdquo; option to <code>cdXtraScroll</code>
1126    and <code>tiXtraScroll</code>.</li>
1127
1128    <li>remove support for non-fifo save-lines configuration.</li>
1129
1130    <li>extend <code>cdXtraScroll</code> to check if the cursor is
1131    at the upper-left of the scrolling region when the erasure is
1132    for the remainder of the screen versus the whole screen
1133    (prompted by discussion with J&ouml;rg Breitbart).</li>
1134
1135    <li>add workaround for broken pcre2 package in Debian 10.</li>
1136
1137    <li>change screen-refresh call used for <code>DECCARA</code>
1138    and <code>DECRARA</code> to ensure that trailing blanks which
1139    are part of the rectangle are repainted (report/analysis by
1140    Dennis Filder).</li>
1141
1142    <li>when resetting the terminal, ensure that the cursor shape
1143    also is reset, e.g., if <code>DECSCUSR</code> has been used to
1144    modify the cursor shape for an xterm which was started with the
1145    underlined cursor option (report/analysis by Luis Javier
1146    Merino).</li>
1147
1148    <li>prevent <code>DECSCUSR</code> from blinking the cursor if
1149    the <code>cursorBlink</code> resource is &ldquo;never&rdquo;
1150    (report by Vladimir D Seleznev).</li>
1151
1152    <li>invert the sense of <code>DECSDM</code>, to correspond with
1153    VT382 manuals (lsix #41).</li>
1154
1155    <li>update tables in <code>wcwidth.c</code> based on Unicode
1156    14.0.0</li>
1157  </ul>
1158
1159  <h1><a name="xterm_368" id="xterm_368">Patch #368 -
1160  2021/06/07</a></h1>
1161
1162  <ul>
1163    <li>add <code>DefaultOff</code> option to
1164    <code>RenderFont</code> resource, as part of the
1165    session-management feature.</li>
1166
1167    <li>add auto-scroll-lock feature (patch by Stelios
1168    Bounanos).</li>
1169
1170    <li>update the window-size information returned via
1171    <code>TIOCGWINSZ</code> when rows/columns are unchanged but the
1172    font-size changes (report by Nick Black).</li>
1173
1174    <li>improve session-management feature by saving/restoring the
1175    font settings.</li>
1176
1177    <li>update config.guess, config.sub</li>
1178  </ul>
1179
1180  <h1><a name="xterm_367" id="xterm_367">Patch #367 -
1181  2021/03/26</a></h1>
1182
1183  <ul>
1184    <li>add <code>OSC&nbsp;22</code> to allow programs to select
1185    different pointer cursor at runtime.</li>
1186
1187    <li>change configuration for <em>no-return</em> functions to
1188    use <code>_Noreturn</code> when it is available, because
1189    <code>clang --analyze</code> does not properly handle the gcc
1190    noreturn attribute.</li>
1191
1192    <li>add <code>cursorTheme</code> resource to provide a way to
1193    enable or disable the cursor theme feature.</li>
1194
1195    <li>modified <code>CopyWait</code> event retries to use shorter
1196    sleeps, to improve responsiveness (tmux #2556).</li>
1197
1198    <li>improve quoting/escaping in demo-scripts per
1199    shellcheck.</li>
1200
1201    <li>add <code>resizeByPixel</code> resource, to permit
1202    disabling window manager resizing-hints (patch by Tim
1203    Oehl).</li>
1204
1205    <li>corrected <code>printOptsImmediate</code> handling of
1206    alternate-screen (report by Abhijit Dasgupta).</li>
1207
1208    <li>update sample terminfo to more closely match ncurses.</li>
1209
1210    <li>add/improve limit-checks for Xlib calls (report by Roman
1211    Fiedler).</li>
1212
1213    <li>fix a typo in the help-message (report by Tomas
1214    Korbar).</li>
1215  </ul>
1216
1217  <h1><a name="xterm_366" id="xterm_366">Patch #366 -
1218  2021/02/10</a></h1>
1219
1220  <ul>
1221    <li>correct a compiler-warning fix in <a href=
1222    "#xterm_352">patch #352</a> which allowed sign-extension of
1223    coordinate values (report by "CismonX").</li>
1224
1225    <li>correct upper-limit for selection buffer, accounting for
1226    combining characters (report/testcase by Tavis Ormandy).</li>
1227
1228    <li>with <code>alwaysHighlight</code> true, xterm does not
1229    properly track focus. The <em>screen-&gt;select</em>
1230    <code>FOCUS</code> flag remains always on, which prevents
1231    <code>bellIsUrgent</code> from working, as the urgent
1232    <code>WM_HINT</code> flag is only set in
1233    <code>setXUrgency()</code> when the window is not focused. Fix
1234    this by updating <em>screen-&gt;select</em> in
1235    <code>unselectwindow()</code> regardless of the value of
1236    <code>always_highlight</code> (patch by Jiri Bohac).</li>
1237
1238    <li>improve fix for interaction between SRM and ENQ (report by
1239    Grant Taylor).</li>
1240
1241    <li>build-fix for <code>--with-Xaw3dxft</code>, needed when
1242    <code>--with-toolbar</code> is omitted (report by Jimmy Olgeni,
1243    Emanuel Haupt).</li>
1244  </ul>
1245
1246  <h1><a name="xterm_365" id="xterm_365">Patch #365 -
1247  2021/02/03</a></h1>
1248
1249  <ul>
1250    <li>amend fix for &ldquo;word&rdquo; selection in <a href=
1251    "#xterm_364">patch #364</a> to limit that to the
1252    <code>insert-selectable</code> <em>action</em>, which reads
1253    data from the screen. This restores the interactive behavior
1254    where double-clicking on a &ldquo;word&rdquo; would make
1255    subsequent selection extensions by words as well as suppressing
1256    some boundary-checks (report by David Wolfskill, FreeBSD
1257    #253225).</li>
1258  </ul>
1259
1260  <h1><a name="xterm_364" id="xterm_364">Patch #364 -
1261  2021/02/02</a></h1>
1262
1263  <ul>
1264    <li>add <code>-fc</code> option.</li>
1265
1266    <li>correct/improve limit-checks for SRM versus ENQ from
1267    <a href="#xterm_344">patch #344</a> (report by Tom
1268    Szilagyi).</li>
1269
1270    <li>enable <code>XftFont</code> resource in Xaw3dxft
1271    configuration (patch by Tavis Ormandy).</li>
1272
1273    <li>improve quoting/escaping in build-scripts per
1274    shellcheck.</li>
1275
1276    <li>add <code>libpcre2-posix</code> to the packages tested for
1277    <code>--with-pcre2</code> option, needed with Fedora (report by
1278    Tomas Korbar).</li>
1279
1280    <li>correct a typo in manual page, and note that
1281    <code>KeepClipboard</code> may not be compiled-in (report/patch
1282    by Sean C Farley).</li>
1283
1284    <li>corrected boundary-checks for &ldquo;word&rdquo; selection
1285    used in <code>on<em>N</em>Clicks</code> resources (report by
1286    Tavis Ormandy).</li>
1287
1288    <li>update to autoconf-2.52-20210101, to improve shellcheck
1289    warnings.</li>
1290
1291    <li>improve configure check for desktop categories.</li>
1292  </ul>
1293
1294  <h1><a name="xterm_363" id="xterm_363">Patch #363 -
1295  2020/12/26</a></h1>
1296
1297  <ul>
1298    <li>disable groff hyphenation in generated html when using
1299    man2html.</li>
1300
1301    <li>change SCS &ldquo;<code>&amp;4</code>&rdquo; Cyrillic to
1302    non-NRCS, per VT520 manual.</li>
1303
1304    <li>amend fix for SCS in <a href="#xterm_198">patch #198</a> to
1305    remove <code>DEL</code> rather than converting it to a space
1306    (report by Thomas Wolff).</li>
1307
1308    <li>modify state transitions for selecting character sets to
1309    eliminate an ambiguity between the &ldquo;A&rdquo; used in
1310    VT220 versus VT320.</li>
1311
1312    <li>improve error recovery when selecting characters by
1313    resetting to US ASCII when no suitable encoding is found, e.g.,
1314    attempting to use an NRCS sequence when NRCS is not
1315    enabled.</li>
1316
1317    <li>turn off hyphenation in &ldquo;<code>.txt</code>&rdquo;
1318    conversion, prompted by groff changes.</li>
1319
1320    <li>add VT5xx ISO Latin-2 (prompted by discussion with Thomas
1321    Wolff).</li>
1322
1323    <li>amend change from <a href="#xterm_361">patch #361</a> to
1324    event-handling in <code>CopyWait</code> to handle active-icon
1325    as a special case (Debian #975687).</li>
1326
1327    <li>add call to <code>loadColorTable</code> to get the visual
1328    information needed to decode BE RGBA32 color format (patch by
1329    Leandro Lupori).</li>
1330
1331    <li>modify the resource-parsing for
1332    <code>disallowedPasteControls</code> and similar lists of
1333    names/numbers to recognize &ldquo;~;&rdquo; (tilde) for
1334    cancelling a given name/number.</li>
1335
1336    <li>add ENQ, EOT and NUL to default for
1337    <code>disallowedPasteControls</code>.</li>
1338
1339    <li>change default for <code>disallowedPasteControls</code> to
1340    omit the tab character (suggested by Harald Dunkel).</li>
1341
1342    <li>fix swapped height/width in <code>regisScreenSize</code>
1343    and <code>maxGraphicSize</code> resources using "auto" value,
1344    from <a href="#xterm_314">patch #314</a> (report by Anton
1345    Lavrentiev)</li>
1346
1347    <li>revise <a href="#xterm_362">patch #362</a> change for
1348    shift-modifier versus mouse protocol and select/paste by adding
1349    resource <code>shiftEscape</code>, which can be enabled via a
1350    control sequence (prompted by discussion with Matthijs van
1351    Duin).</li>
1352
1353    <li>simplify/improve ifdef in trace code for using a separate
1354    set of files for each run of xterm.</li>
1355
1356    <li>add options <code>-r</code> and <code>-t</code> to
1357    <code>vttests/query-color.pl</code> to show the 6-digit RGB
1358    code and actual colors.</li>
1359
1360    <li>add <code>nel</code> to <code>xterm-basic</code>
1361    terminfo.</li>
1362
1363    <li>alter <code>vttests/modify-keys.pl</code> to omit HTML
1364    reference links to the modified-keys table where no keycode was
1365    available.</li>
1366  </ul>
1367
1368  <h1><a name="xterm_362" id="xterm_362">Patch #362 -
1369  2020/11/11</a></h1>
1370
1371  <ul>
1372    <li>cleanup of calls to <code>free</code>, removing checks for
1373    null (Walter Harms).</li>
1374
1375    <li>improved mouse-button reporting (prompted by discussion
1376    with Stephane Chazelas)
1377      <ul>
1378        <li>narrow the scope of the change for shift-key in
1379        <a href="#xterm_361">patch #361</a> to make it apply only
1380        when the <code>modifyOtherKeys</code> resource is set to 2
1381        (i.e., &ldquo;program mode&rdquo;). Also, when checking the
1382        shift-key, ignore modifiers other than shift, control and
1383        &ldquo;meta&rdquo;</li>
1384
1385        <li>use the alt/meta modifier information obtained in
1386        <code>VTInitModifiers</code> to replace a hard-coded
1387        <em>mod1</em> used to detect &ldquo;Meta&rdquo; for
1388        mouse-button responses.</li>
1389      </ul>
1390    </li>
1391
1392    <li>reduce <code>SIGWINCH</code>'s sent to the client by
1393    filtering out duplicates.</li>
1394
1395    <li>improve display when <code>scaleHeight</code> is greater
1396    than 1:
1397      <ul>
1398        <li>the text-cursor is vertically-centered on the current
1399        line, rather than only extending below the current line
1400        (report by Manu Chaturvedi).</li>
1401
1402        <li>the built-in line-drawing characters extend to the
1403        scaled cell-height.</li>
1404      </ul>
1405    </li>
1406
1407    <li>fill-in special case for motion-events to match the changes
1408    for shift-key in pointer-button events from <a href=
1409    "#xterm_361">patch #361</a>.</li>
1410  </ul>
1411
1412  <h1><a name="xterm_361" id="xterm_361">Patch #361 -
1413  2020/10/14</a></h1>
1414
1415  <ul>
1416    <li>treat the return value of <code>strerror</code> as readonly
1417    (patch by Philipp Klaus Krause).</li>
1418
1419    <li>modify event-handling in <code>CopyWait</code> to work
1420    around hanging while writing large amounts of text to an active
1421    icon and at the same time iconifying/deiconifying (report by
1422    Dave Kemper).</li>
1423
1424    <li>initialize double-buffer for active-icon window.</li>
1425
1426    <li>improve manual page description of scrollbar resources
1427    (report by Brian Lindholm).</li>
1428
1429    <li>correct ifdef for menu entry for active-icon, when
1430    initializing it with toolbar configuration.</li>
1431
1432    <li>add preprocessor option to makefile to set internal
1433    definition of pixmaps directory to match the
1434    install-configuration (FreeBSD #250036).</li>
1435
1436    <li>cleanup of calls to <code>free</code>, removing checks for
1437    null (Walter Harms).</li>
1438
1439    <li>add fallback actions <code>pointer-button</code> and
1440    <code>pointer-motion</code> which handle events for the mouse
1441    control-sequences protocol if the <em>select</em>-related
1442    translations are omitted with
1443    <code>*omitTranslation:select</code> (prompted by discussion
1444    with "Ergus")</li>
1445
1446    <li>amend rule for using shift-key to override mouse-protocol
1447    for select/paste to limit that feature to mouse-buttons which
1448    are actually bound to select/paste actions (prompted by
1449    discussion with "Ergus").</li>
1450
1451    <li>corrected mapping in special case for repainting wrap-marks
1452    when viewing the scrollback area.</li>
1453
1454    <li>use separate <em>GCs</em> for <code>showWrapMarks</code>
1455    feature, to work around cursor coloring change in <a href=
1456    "#xterm_345">patch #345</a> (report by Paulo Silva de
1457    Al&iacute;bano).</li>
1458  </ul>
1459
1460  <h1><a name="xterm_360" id="xterm_360">Patch #360 -
1461  2020/09/20</a></h1>
1462
1463  <ul>
1464    <li>mention <code>decGraphicsID</code> in
1465    <code>ctlseqs.ms</code> (suggested by Thomas Wolff).</li>
1466
1467    <li>modify pixel-coordinate mouse response to use as origin the
1468    VT100-window rather than the underlying widget, which includes
1469    the scrollbar (report by Thomas Wolff).</li>
1470
1471    <li>add configure option <code>--disable-print-graphics</code>
1472    (Ross Combs).</li>
1473
1474    <li>add <code>test_ptydata</code> to &ldquo;make check&rdquo;
1475    rule.</li>
1476
1477    <li>minor fixes for <code>ctlseqs.ms</code> (report by
1478    Jean-Marc Bourguet).</li>
1479
1480    <li>minor fixes for manpage style (report/patch by
1481    "a1346054").</li>
1482
1483    <li>correct cleanup from switch between italics/normal font in
1484    the show/hide cursor functions (report/testcase by Peter
1485    Fabinski).</li>
1486
1487    <li>integrated patch by Ross Combs:
1488      <ul>
1489        <li>internal renaming of GraphicsID symbols, for
1490        readability.</li>
1491
1492        <li>adjust logic for VT125, treating it as a ReGIS
1493        terminal.</li>
1494      </ul>
1495    </li>
1496
1497    <li>update configure macros, for compiler-warning fixes.</li>
1498
1499    <li>integrated patch by Ross Combs:
1500      <ul>
1501        <li>add control sequence modes for graphics printing.</li>
1502
1503        <li>improve conversion to bitmaps for TrueType fonts in
1504        ReGIS</li>
1505
1506        <li>add <code>font7</code> resource, for an
1507        &ldquo;enormous&rdquo; bitmap font.</li>
1508
1509        <li>do not reset graphics in a soft-reset.</li>
1510
1511        <li>add <code>pointerFont</code> resource, and
1512        <code>-pf</code> command-line option.</li>
1513      </ul>
1514    </li>
1515
1516    <li>improve typography of manual page (patch by Branden
1517    Robinson).</li>
1518
1519    <li>amend <a href="#xterm_359">patch #359</a> change to
1520    <code>df-install.in</code> to ignore a command-line assignment
1521    to <code>DESTDIR</code> if followed by an explicit
1522    <code>--dir</code> (report by Sven Joachim).</li>
1523  </ul>
1524
1525  <h1><a name="xterm_359" id="xterm_359">Patch #359 -
1526  2020/08/17</a></h1>
1527
1528  <ul>
1529    <li>add special case in <code>WriteText</code> to allow colors
1530    8-15 to override <code>colorBDMode</code> (patch by Ingo
1531    Br&uuml;ckl).</li>
1532
1533    <li>add <code>utf8Weblike</code> resource, to provide an
1534    alternate scheme for handling ill-formed UTF-8 sequences
1535    (adapted from patch by Dan Gohman).</li>
1536
1537    <li>improve computation for the number of lines needed to
1538    scroll-up a SIXEL graphic (report/patch by Ben Wong).</li>
1539
1540    <li>correct manpage description for default value of
1541    <code>disallowWindowOps</code> from changes in <a href=
1542    "#xterm_331">xterm #331</a> (patch by Ben Wong).</li>
1543
1544    <li>correct a loop starting-point in
1545    <code>refresh_graphics</code> from optimization in <a href=
1546    "#xterm_358">patch #358</a> changes (report by Ben Wong).</li>
1547
1548    <li>add a new mouse mode 1016, which uses the same format as
1549    mode 1006, but sends the mouse's position in pixels (suggested
1550    by Igor van den Hoven).</li>
1551
1552    <li>fix an issue from <a href="#xterm_338">patch #338</a>
1553    changes where only the first selection buffer specified in the
1554    request would be updated using OSC 52 (patch by Michael
1555    Gulick).</li>
1556
1557    <li>modify makefile/scripts to allow <code>DESTDIR</code> to
1558    prefix the target directory for desktop-file-install (report by
1559    Fred Heitkamp).</li>
1560
1561    <li>enable SIXEL feature by default.</li>
1562
1563    <li>update config.guess, config.sub</li>
1564  </ul>
1565
1566  <h1><a name="xterm_358" id="xterm_358">Patch #358 -
1567  2020/07/12</a></h1>
1568
1569  <ul>
1570    <li>correct logic for decodeTerminalID changes in <a href=
1571    "#xterm_357">patch #357</a> (report by "Chartreuse").</li>
1572
1573    <li>modify makefile to use <code>plink.sh</code> when linking
1574    test-programs, to fix build when using pcre (report by H Merijn
1575    Brand)</li>
1576
1577    <li>build-fix for test_ptydata program (patch by H Merijn
1578    Brand)</li>
1579  </ul>
1580
1581  <h1><a name="xterm_357" id="xterm_357">Patch #357 -
1582  2020/07/05</a></h1>
1583
1584  <ul>
1585    <li>several minor optimizations for the ReGIS and SIXEL
1586    features, improving performance by 10%.</li>
1587
1588    <li>add resource <code>decGraphicsID</code> to allow displaying
1589    graphics when the emulation level would ordinarily disallow
1590    this (prompted by discussion with Thomas Wolff).</li>
1591
1592    <li>add control sequences for fast switching of color palettes:
1593    <code>XTPUSHCOLORS</code>, <code>XTPOPCOLORS</code>,
1594    <code>XTREPORTCOLORS</code></li>
1595
1596    <li>amend change for soft-hyphen from <a href=
1597    "#xterm_328">patch #328</a> to avoid stripping
1598    replacement-characters which would be shown with malformed or
1599    overlong UTF-8 input.</li>
1600
1601    <li>corrected an error-handling case in
1602    <code>decodeUtf8</code>, matching a similar fix in <a href=
1603    "#xterm_268">patch #268</a> (report/patch by Dan Gohman).</li>
1604
1605    <li>add a test-driver for <code>ptydata.c</code></li>
1606
1607    <li>minor cleanup of macros (adapted from patch by Walter
1608    Harms).</li>
1609
1610    <li>fix some errata in <code>ctlseqs.ms</code> (report by
1611    Thomas Wolff).</li>
1612
1613    <li>allow immediate repaint-on-palette-changed if
1614    double-buffering is enabled.</li>
1615
1616    <li>deprecate codes 10/11 in sgr push controls, changing those
1617    to 30/31, to avoid confusion with sgr 10-19.</li>
1618
1619    <li>modify <code>SGR</code> parameter handling to stop if an
1620    unrecognized parameter is encountered, to guard against
1621    malformed or nonstandard sequences (report by Bram
1622    Moolenaar).</li>
1623
1624    <li>modify <code>DECERA</code> color for consistency with other
1625    erasures/clearing (report by Thomas Wolff).</li>
1626
1627    <li><code>ECH</code> should not be masked by
1628    <code>DECSCA</code> (report by Thomas Wolff).</li>
1629
1630    <li>extend <code>DECFRA</code> and <code>REP</code> to accept
1631    any &ldquo;graphic&rdquo; character rather than just Latin1,
1632    etc. (report by Thomas Wolff).</li>
1633
1634    <li>add <code>-C</code> option to 256colors2.pl and
1635    88colors2.pl, to demonstrate mixed semicolon/colon separators
1636    which are implied by ECMA-48.</li>
1637
1638    <li>update sample terminfo to reflect the documentation
1639    improvements.</li>
1640
1641    <li>update description of 88/256/direct color in
1642    <code>ctlseqs.ms</code> to point out that using semicolons is a
1643    deprecated legacy feature, and standard terminal applications
1644    should use colons (prompted by discussion with Bram
1645    Moolenaar).</li>
1646
1647    <li>modify configure-check for <code>tgetent</code> to
1648    conditionally include <code>termcap.h</code>, enabling
1649    configuration using <code>clang</code>'s pedantic-errors option
1650    (report by Dennis Clarke). See <a href=
1651    "https://invisible-island.net/ncurses/man/curs_termcap.3x.html#h3-Other-Compatibility">
1652    <em>Other Compatibility</em></a> in ncurses'
1653    <em>curs_termcap(3X)</em>.</li>
1654
1655    <li>remove some unnecessary pointer checks (patch by Walter
1656    Harms).</li>
1657
1658    <li>accept terminal-id and add DA response for VT131,
1659    VT132.</li>
1660  </ul>
1661
1662  <h1><a name="xterm_356" id="xterm_356">Patch #356 -
1663  2020/05/02</a></h1>
1664
1665  <ul>
1666    <li>revise fix for Debian #954730, which interfered with wheel
1667    mouse events (report by Gabriele Balducci).</li>
1668  </ul>
1669
1670  <h1><a name="xterm_355" id="xterm_355">Patch #355 -
1671  2020/05/01</a></h1>
1672
1673  <ul>
1674    <li>revise fix for Debian #954730, which interfered with wheel
1675    mouse events (report by Henri Menke).</li>
1676
1677    <li>fix typos in documentation (reports by Stephen Hurd, Stefan
1678    Assmann).</li>
1679
1680    <li>add mapping for <code>decTerminalID</code> for
1681    &ldquo;100&rdquo; overlooked in <a href="#xterm_354">patch
1682    #354</a>.</li>
1683
1684    <li>update tables in wcwidth.c based on Unicode 13.0.0</li>
1685
1686    <li>build-fix for &ldquo;make check&rdquo; when building
1687    out-of-tree (report by Sven Joachim).</li>
1688  </ul>
1689
1690  <h1><a name="xterm_354" id="xterm_354">Patch #354 -
1691  2020/04/26</a></h1>
1692
1693  <ul>
1694    <li>work around performance problems of
1695    <code>XDrawImageString</code> and
1696    <code>XDrawImageString16</code> functions (Debian
1697    #954845).</li>
1698
1699    <li>add a control sequence which reports xterm's version (patch
1700    by Nicholas Marriott, mintty #881).</li>
1701
1702    <li>temporarily set numeric locale category to "C" when parsing
1703    resources, so that <code>scaleHeight</code> and
1704    <code>faceSize</code> settings do not depend on locale (Debian
1705    #820803).</li>
1706
1707    <li>improve DA/DA2 response by ensuring that the
1708    <code>decTerminalID</code> maps to one of the known
1709    identifiers, as well as providing DA2 response for VT241 and
1710    VT382.</li>
1711
1712    <li>terminfo improvements:
1713      <ul>
1714        <li>add (my) comments from ncurses which explain the keypad
1715        layouts.</li>
1716
1717        <li>add <code>vt52+keypad</code> from ncurses</li>
1718
1719        <li>use improved <code>xm</code> example for
1720        <code>xterm+x11mouse</code>, <code>xterm+sm+1006</code>
1721        from ncurses 6.2 terminfo.src</li>
1722      </ul>
1723    </li>
1724
1725    <li>two fixes for left/right wheel mouse event reporting
1726    (Debian #954730):
1727      <ul>
1728        <li>filter identical button-events</li>
1729
1730        <li>correct order of button-range versus protocol type (see
1731        <a href="#xterm_345">patch #345</a>)</li>
1732      </ul>
1733    </li>
1734
1735    <li>change &ldquo;make check&rdquo; makefile-rule to use
1736    test-drivers for charclass and wcwidth data.</li>
1737
1738    <li>quiet &ldquo;did not find a usable <em>xxx</em> TrueType
1739    font&rdquo; warnings by making <code>fontWarnings</code> apply
1740    to these messages (report by Jim Rees).</li>
1741
1742    <li>improve reinitialization of parameter list (report/testcase
1743    by James Holderness).</li>
1744
1745    <li>temporarily set numeric locale category to "C" when
1746    formatting SVG or XHTML screendumps, to make the radix
1747    separator used in RGB values consistent (adapted from patch by
1748    George Kouryachy).</li>
1749
1750    <li>add resource <code>forceXftHeight</code> to control whether
1751    workaround from Debian #880407 is used.</li>
1752
1753    <li>apply updated ascent/descent in workaround from Debian
1754    #880407 to fix a 1-pixel gap in built-in vertical lines
1755    (report/testcase by Stefan Assmann).</li>
1756
1757    <li>improve round-off of scaling for built-in line-drawing
1758    (prompted by discussion with Stefan Assmann).</li>
1759
1760    <li>adjust fonts in svg-icon files to accommodate reduced
1761    functionality of new pango (report/analysis by YOKOTA
1762    Hiroshi).</li>
1763
1764    <li>improve configure check for X Toolkit library.</li>
1765
1766    <li>correct Y-coordinate transformation in
1767    <code>ClearCurBackground</code>, overlooked in changes for
1768    <a href="#xterm_334">patch #334</a> (report/analysis by Chuck
1769    Silvers).</li>
1770
1771    <li>remove <code>--vendor</code> option from test-packages'
1772    install of desktop files; the feature is badly broken in
1773    <em>gnome-shell</em>.</li>
1774
1775    <li>modify <code>uxterm</code> to make it possible to select
1776    nonstandard locale <em>C.UTF-8</em>, e.g, if the user's locale
1777    is set to &ldquo;C&rdquo; (Debian #940626).</li>
1778
1779    <li>re-save/tweak &ldquo;.svg&rdquo; icon-files to work around
1780    breakage in toolset since the files were created in <a href=
1781    "#xterm_283">patch #283</a>.</li>
1782  </ul>
1783
1784  <h1><a name="xterm_353" id="xterm_353">Patch #353 -
1785  2020/02/01</a></h1>
1786
1787  <ul>
1788    <li>amend change in <a href="#xterm_352">patch #352</a> for
1789    button-events to fix a case where some followup events were not
1790    processed soon enough (report/patch by Jimmy Aguilar
1791    Mena).</li>
1792
1793    <li>handle <em>MappingNotify</em> X event, to improve recovery
1794    when switching keyboard configurations using
1795    <code>xkbcomp</code> (prompted by discussion with Frank Mosch,
1796    Debian #661295). There is more work needed here, possibly in
1797    the X libraries.</li>
1798
1799    <li>improve discussion of mouse-mode in <code>ctlseqs.ms</code>
1800    (suggested by Igor van den Hoven).</li>
1801
1802    <li>further improve checks for Xft <em>max-advance-width</em>
1803    to take into account fonts which use two cells for ambiguous
1804    width characters. Also improve the time used for these checks
1805    (reports by Yuri Pankov, Frank Mosch).</li>
1806
1807    <li>fix a few spelling errors reported by codespell (report by
1808    Jens Schleusener).</li>
1809
1810    <li>modify <code>run-tic.sh</code> to prefer development
1811    version of ncurses since changes to terminfo file in <a href=
1812    "#xterm_345">patch #345</a> rely upon bug-fixes in ncurses
1813    (prompted by discussion with Will Senn).</li>
1814  </ul>
1815
1816  <h1><a name="xterm_352" id="xterm_352">Patch #352 -
1817  2020/01/16</a></h1>
1818
1819  <ul>
1820    <li>adjust fontsize data to handle a minor inconsistency from
1821    recent Xft versions (Debian #880407, adapted from patch by
1822    Vincent Lef&egrave;vre).</li>
1823
1824    <li>add a table to the manual page description of
1825    <code>forceBoxChars</code> to alert the reader to the special
1826    characters aside from &ldquo;line-drawing&rdquo; which are
1827    drawn directly when this resource is set (Debian #931305).</li>
1828
1829    <li>improve <code>checkXft</code> logic which attempts to
1830    detect fonts whose <em>max-advance-width</em> is inconsistent
1831    with the actual glyph widths. For some fonts, it is necessary
1832    to check additional characters (report/analysis by Jan
1833    Engelhardt).</li>
1834
1835    <li>improve configure-checks for X headers and libraries on
1836    recent MacOS, which has moved those files under
1837    <code>/usr/X11</code>.</li>
1838
1839    <li>improve portability of iconify/deiconify feature by taking
1840    into account some window managers which manipulate the EWMH
1841    <code>_NET_WM_STATE</code> property, adding/removing
1842    <code>_NET_WM_STATE_HIDDEN</code> rather than actually
1843    <em>minimizing</em> the window (prompted by discussion with
1844    J&ouml;rg Breitbart).</li>
1845
1846    <li>improve workaround from <a href="#xterm_287">patch #287</a>
1847    for the <code>-iconic</code> option when configured with
1848    toolbar by postponing the extra request for minimizing the
1849    window to the end of menu-initialization.</li>
1850
1851    <li>modify <code>xevents</code> special-case for mouse-events
1852    to include button-events so that the meta key by itself can
1853    generate button-events (report/analysis by Mattias
1854    Engdeg&aring;rd).</li>
1855
1856    <li>amend SGR-stack change from <a href="#xterm_348">patch
1857    #348</a> to not associate bold attribute with background color
1858    (report by Nicholas Marriott).</li>
1859
1860    <li>fix copy/paste error in manual page (patch by Larry
1861    Hynes).</li>
1862
1863    <li>add definitions in <code>xterm_io.h</code> so that GNU/Hurd
1864    will use <code>posix_openpty</code> (patch by Samuel
1865    Thibault).</li>
1866
1867    <li>build-fix in debug-tracing, for <code>esctest</code>.</li>
1868
1869    <li>updated autoconf macros</li>
1870
1871    <li>update config.guess</li>
1872  </ul>
1873
1874  <h1><a name="xterm_351" id="xterm_351">Patch #351 -
1875  2019/11/17</a></h1>
1876
1877  <ul>
1878    <li>correct logic in <code>property_to_string</code> for
1879    deciding when to fallback from UTF-8 decoding to ISO-8859-1
1880    decoding, broken in <a href="#xterm_350">xterm #350</a>
1881    (FreeBSD #241961).</li>
1882
1883    <li>add <code>-report-icons</code> to help-message.</li>
1884
1885    <li>improved autoconf macros:
1886      <ul>
1887        <li><code>CF_ADD_LIBS</code>: the change to filter out
1888        duplicates caused this to append rather than prepend.
1889        revise to fix that.</li>
1890
1891        <li><code>CF_GCC_VERSION</code> and
1892        <code>CF_GCC_WARNINGS</code>: move checks to distinguish
1893        icc/clang from gcc from the macro which handles the
1894        --enable-warnings option, to make this work
1895        without-warnings for the inline-checks.</li>
1896      </ul>
1897    </li>
1898
1899    <li>update config.guess, config.sub</li>
1900
1901    <li>correct status in <code>XTGETXRES</code> replies when the
1902    resource was not found.</li>
1903
1904    <li>fix some gcc, cppcheck, clang and coverity warnings.</li>
1905
1906    <li>guard call to <code>RequestResize</code> from the
1907    struct-notify event handler to prevent recursion in the
1908    Xft+buffered workaround in some cases when doing manual
1909    resizing rather than resizing via escape sequences (reports by
1910    Stefan Assmann, Mike Thornburg).</li>
1911
1912    <li>amend the workaround for Xft+buffered blanking by moving
1913    the switch to bitmap-fonts to account for differences in font
1914    metrics between bitmap- and TrueType-fonts (report by Stefan
1915    Assmann).</li>
1916
1917    <li>improve the note on the <code>xterm-rep</code> terminfo
1918    entry (prompted by discussion with Sven Joachim).</li>
1919  </ul>
1920
1921  <h1><a name="xterm_350" id="xterm_350">Patch #350 -
1922  2019/11/02</a></h1>
1923
1924  <ul>
1925    <li>modify html/svg dump to not ignore zero'd/blank cells.</li>
1926
1927    <li>align terminfo file with ncurses, e.g., add
1928    <code>xterm+osc104</code> block.</li>
1929
1930    <li>improve discussion of <code>modifyOtherKeys</code> in
1931    manual page and in <code>ctlseqs.ms</code>.</li>
1932
1933    <li>add <code>vttests/modify-keys.pl</code> script to
1934    illustrate the <code>modifyOtherKeys</code> resource (prompted
1935    by discussion with Bram Moolenaar).</li>
1936
1937    <li>various improvements to <code>ctlseqs.ms</code>, as part of
1938    autogenerating links for the website.</li>
1939
1940    <li>update manual page default for <code>saveLines</code>
1941    resource default value (Branden Robinson, Debian #913815).</li>
1942
1943    <li>add command-line option <code>-report-xres</code> to show
1944    the values of the VT100 widget X resources when initialization
1945    is complete.</li>
1946
1947    <li>add a control sequence which, like tcap-query, allows an
1948    application to inspect most X resource settings of the VT100
1949    widget.</li>
1950
1951    <li>adjust some optional features to enable them in the imake
1952    configuration as they would be by default via the configure
1953    script.</li>
1954
1955    <li>add null-pointer checks to improve error recovery when
1956    bitmap fonts are missing or corrupt (report by Jonne
1957    Ransijn).</li>
1958
1959    <li>correct the condition for deleting the EWMH window-title
1960    property, i.e., if UTF-8 titles are disabled, rather than if an
1961    update to the EWHM property found no change (report by Sven
1962    Joachim).</li>
1963
1964    <li>build-fix for the case when configure
1965    <code>--enable-trace</code> is used without
1966    <code>--enable-warnings</code> (report by Sven Joachim).</li>
1967
1968    <li>fix a few minor bugs found with Coverity.</li>
1969
1970    <li>add a check in <code>property_to_string</code> to avoid
1971    translating <code>UTF8_STRING</code> or
1972    <code>COMPOUND_TEXT</code> into Latin-1 when UTF-8 encoding is
1973    active, e.g., when pushing onto the title-stack while switching
1974    to the alternate screen.</li>
1975
1976    <li>build-fix for the <code>--disable-doublechars</code>
1977    configure option (report by Brian Lindholm).</li>
1978  </ul>
1979
1980  <h1><a name="xterm_349" id="xterm_349">Patch #349 -
1981  2019/09/22</a></h1>
1982
1983  <ul>
1984    <li>add graphic context to support bold+italics (patch by Quinn
1985    Strahl).</li>
1986
1987    <li>document window properties in the manual page.</li>
1988
1989    <li>improve title-string feature:
1990      <ul>
1991        <li>if any of <code>allowC1Printable</code>,
1992        <code>utf8Title</code> or <code>titleModes</code> hint that
1993        an application might send a title-string encoded in UTF-8,
1994        check if that is the case, and if it is recodable into
1995        ISO-8859-1, use that for the ICCCM-style title.</li>
1996
1997        <li>check if the title given by a control sequence happens
1998        to be already encoded in UTF-8, to avoid double-encoding
1999        (FreeBSD #240393).</li>
2000
2001        <li>Make <code>sameName</code> resource work for the EWMH
2002        titles.</li>
2003
2004        <li>Modify menu-state of <code>utf8Title</code> to be
2005        consistent with the <code>utf8</code> source, i.e., setting
2006        the EWMH properties automatically when UTF-8 is
2007        active.</li>
2008      </ul>
2009    </li>
2010
2011    <li>reorganize text-drawing to make it possible to investigate
2012    using Xft to implement VT100-style double-sized characters.
2013    While doing this, made a workaround for apparent Xft bug which
2014    loses its drawable state when switching from 132 to 80
2015    columns.</li>
2016
2017    <li>improve font-warning messages by showing which are
2018    <em>derived</em> rather than directly from resource settings
2019    (suggested by Tomas Korbar). Also filter repeated font-warning
2020    messages, to accommodate broken X configurations.</li>
2021
2022    <li>fix an inconsistency between failure to load derived wide
2023    font versus failure to load derived wide-bold font (Redhat
2024    #1679790). That relies upon the &ldquo;:unscaled&rdquo;
2025    property which is broken in some distributions (however, recent
2026    Debian and the BSDs such as MacOS work).</li>
2027
2028    <li>updated autoconf-252 to check X11R7 include/lib directories
2029    found on some older configurations.</li>
2030
2031    <li>set a graphic-context for border when double-buffering is
2032    active; to prevent the border color from changing when
2033    switching to reverse-video.</li>
2034
2035    <li>build-fix for <code>--disable-ziconbeep</code>, which
2036    conflicted with the new double-buffer configuration (report by
2037    Brian Lindholm).</li>
2038
2039    <li>fix loop-limit for lookup of <code>fullscreen</code>
2040    resource broken in <a href="#xterm_347">xterm #347</a> (report
2041    by Scott Bertilson).</li>
2042  </ul>
2043
2044  <h1><a name="xterm_348" id="xterm_348">Patch #348 -
2045  2019/07/22</a></h1>
2046
2047  <ul>
2048    <li>update window-manager hints when exiting Tek4014 mode
2049    (Debian #932569, patch by Jonathan Irwin).</li>
2050
2051    <li>fix a misformatted printf in
2052    <code>report-sgr.pl</code>.</li>
2053
2054    <li>add configure check for termios types, to improve
2055    compiler-warnings.</li>
2056
2057    <li>ensure that when resetting margins, to also reset
2058    <code>DECLRMM</code>. This affects <code>DECCOLM</code>,
2059    <code>DECALN</code> (although DEC STD 070 mentions only
2060    top/bottom margins), and <code>DECSTR</code>.</li>
2061
2062    <li>corrected order of reset/move when setting
2063    <code>DECCOLM</code>, and make it more consistent by always
2064    resetting margins, rather than only when the mode is changed
2065    (report by James Holderness).</li>
2066
2067    <li>compile-in double-buffer support by default, changing the
2068    configure option to set the default resource value for
2069    <code>buffered</code> to true or false.</li>
2070
2071    <li>take in account the reverse-video state when computing the
2072    filler-color used when clearing the screen in double-buffering
2073    configuration.</li>
2074
2075    <li>correct logic for filtering scrollbar-updates when
2076    <code>buffered</code> resource is compiled-in but not enabled
2077    (report by Paul Lampert).</li>
2078
2079    <li>improve state saved/restored for cursor-save and SGR stack
2080    features.</li>
2081
2082    <li>improve description of 1006 and 1005 mouse modes, to avoid
2083    implying that they use character-parameters (report by Bryan
2084    Christ).</li>
2085
2086    <li>explain in <code>ctlseqs.ms</code> that some of the numeric
2087    keypad keys were xterm extensions rather than VT100/VT220
2088    terminal features (prompted by discussion with Thomas
2089    Wolff).</li>
2090
2091    <li>explain in <code>ctlseqs.ms</code> how the DEC windowing
2092    extension is supported by xterm.</li>
2093
2094    <li>add 28 rectangular editing to the primary response
2095    (suggested by Thomas Wolff).</li>
2096
2097    <li>fix a typo, improve wording in <code>ctlseqs.ms</code>
2098    (Thomas Wolff).</li>
2099
2100    <li>fix internal column-parameter when <code>SL</code> or
2101    <code>SR</code> is used with left/right margins (patch by
2102    Thomas Wolff).</li>
2103
2104    <li>fix off-by-one in VT52 graphics character mapping (patch by
2105    Thomas Wolff).</li>
2106
2107    <li>use <code>_X_UNUSED</code>, etc., when available as a
2108    fallback for <code>GCC_UNUSED</code>, etc., to reduce compiler
2109    warnings when building with <code><em>imake</em></code>.</li>
2110
2111    <li>update config.sub</li>
2112  </ul>
2113
2114  <h1><a name="xterm_347" id="xterm_347">Patch #347 -
2115  2019/06/30</a></h1>
2116
2117  <ul>
2118    <li>fix a few minor bugs found with Coverity.</li>
2119
2120    <li>improve double-buffering for scrollbars combined with
2121    scrolled text; add <code>bufferedFPS</code> resource to control
2122    the maximum rate of screen updates (report by Mike
2123    Thornburg).</li>
2124
2125    <li>improve fixes for <code>DECCRA</code> handling of
2126    double-width characters (patch by Martin Hostettler).</li>
2127
2128    <li>improve discussion of ECMA-48's typographical error for
2129    <code>SD</code> in <code>ctlseqs.ms</code> (prompted by report
2130    by Martin Hostettler).</li>
2131
2132    <li>correct off-by-one in parameter limit-check for
2133    <code>DECCRA</code> (report by Martin Hostettler).</li>
2134
2135    <li>modify <code>saveCellData</code> to handle case where
2136    double-width character is partially copied; that should be
2137    blanked (report/testcase by Thomas Wolff).</li>
2138
2139    <li>add resource <code>buffered</code> to allow
2140    enabling/disabling double-buffered mode.</li>
2141
2142    <li>two fixes for the double-buffer configuration, prompted by
2143    MacPorts' switch to double-buffering (patch by Mike Thornburg,
2144    MacPorts #58313):
2145      <ul>
2146        <li>ensure that the needSwap flag is set after drawing
2147        TrueType text</li>
2148
2149        <li>corrected the drawable-parameter used for the
2150        bar-cursor</li>
2151      </ul>
2152    </li>
2153
2154    <li>modify <code>ScrnRefresh</code> to ignore a case where the
2155    left/right halves of a double-width character have been set to
2156    different video attributes. The attribute to use is in the
2157    left-half (report/testcase by Thomas Wolff).</li>
2158
2159    <li>correct a limit-check for <code>DECCRA</code> in case the
2160    target lies off-screen (report/testcase by Thomas Wolff).</li>
2161
2162    <li>documentation errata (report by Thomas Wolff).</li>
2163
2164    <li>reset flags including wraparound and reverse-wrap when
2165    switching to VT52 mode, while noting that DEC's standard
2166    documentation leaves that behavior <em>undefined</em> (report
2167    by Thomas Wolff).</li>
2168
2169    <li>ensure that italic font is turned off on hard/soft resets
2170    (report by Martin Hostettler).</li>
2171
2172    <li>improve responsiveness to X events while processing HTML or
2173    SVG dumps (report by Martin Hostettler).</li>
2174
2175    <li>replace logic in <code>wcwidth.c</code> for detecting
2176    double-width characters with binary-search table generated
2177    using updated <code>uniset</code> (report by Robert Ross).</li>
2178
2179    <li>add test-driver for <code>wcwidth.c</code> to simplify
2180    comparison with system's <code>wcwidth</code>.</li>
2181
2182    <li>ensure that window-manager name comparisons work when
2183    active-icon is enabled, since <code><em>CSI</em>13t</code> uses
2184    the window-manager name (report by Glenn Golden, Arch
2185    #62818).</li>
2186
2187    <li>trim a stray &ldquo;experimental&rdquo; in one of the
2188    comments about the tcap-query feature, which has been a
2189    supported feature since 2008 (see <a href="#xterm_238">patch
2190    #238</a>).</li>
2191  </ul>
2192
2193  <h1><a name="xterm_346" id="xterm_346">Patch #346 -
2194  2019/05/27</a></h1>
2195
2196  <ul>
2197    <li>update description of the &ldquo;default&rdquo; setting for
2198    the <code>renderFont</code> resource to match the behavior in
2199    <a href="#xterm_261">patch #261</a> (Debian #862042).</li>
2200
2201    <li>account for <code>internalBorder</code> in
2202    <code>useBorderClipping</code> (report by Robert Ross).</li>
2203
2204    <li>update table of unknown-width characters in wcwidth.c based
2205    on Unicode 12.1.0 (prompted by discussion with Robert
2206    Ross).</li>
2207
2208    <li>improve description of DECSCL versus S7C1T and S8C1T in
2209    <code>ctlseqs.ms</code>.</li>
2210
2211    <li>improve consistency between <code><em>CSI</em>3t</code> and
2212    <code><em>CSI</em>13t</code>, accounting for differences
2213    between some window managers' handling of EMWH extents (report
2214    by Bram Moolenaar).</li>
2215
2216    <li>fix a sign-extension when reporting offscreen window
2217    position (report by Bram Moolenaar).</li>
2218  </ul>
2219
2220  <h1><a name="xterm_345" id="xterm_345">Patch #345 -
2221  2019/05/14</a></h1>
2222
2223  <ul>
2224    <li>updated FreeBSD test-package from recent /usr/ports
2225    scripts.</li>
2226
2227    <li>workaround in <code>run-tic.sh</code> for HPUX, whose
2228    <code>mktemp</code> prints the name of a temporary directory
2229    without creating it.</li>
2230
2231    <li>add left/right margin capabilities to terminfo, since the
2232    default terminal emulation is VT420 (suggested by Thomas
2233    Wolff).</li>
2234
2235    <li>modify treatment of <code>reverseVideo</code> for dynamic
2236    colors to make text foreground/background consistent with the
2237    cursor color (prompted by discussion with Ben Wong, lsix
2238    #20).</li>
2239
2240    <li>modify button-handling to make SGR button-release distinct
2241    from button-press for button-codes starting with 8 (patch by
2242    Mikulas Patocka).</li>
2243
2244    <li>add aliases for the sgr push/pop controls to work around
2245    language limitations of C# (request by Dan Thompson).</li>
2246
2247    <li>correct a typo in <code>setDirectFG</code>, which could
2248    cause setting of indexed-color after a direct-color to be
2249    ignored.</li>
2250
2251    <li>add resource <code>useBorderClipping</code> as an
2252    alternative to <code>useClipping</code> (request by Robert
2253    Ross).</li>
2254
2255    <li>improve logic for displaying xterm's built-in line-drawing
2256    characters vs missing glyphs, e.g., for U+2409 to U+240D (patch
2257    by Robert Ross).</li>
2258
2259    <li>add <code>vttests/sgrPushPop2.pl</code> to illustrate how
2260    selective pushes work, as well as to demonstrate push/pop of
2261    the various color types supported by xterm.</li>
2262
2263    <li>fix a special case in <code>XTPOPSGR</code> where
2264    direct-colors were not checked as a dependency of
2265    indexed-colors, contrary to documentation.</li>
2266
2267    <li>reduce buffer-flushes for <code>OSC&nbsp;4</code> and
2268    <code>OSC&nbsp;5</code> color-queries, as well as in the
2269    queries for dynamic colors.<br>
2270    <strong>Note:</strong> this change makes the reply for
2271    <code>OSC&nbsp;5</code> use the &ldquo;5&rdquo; in the
2272    response; formerly it was mapped to &rdquo;4&rdquo; after
2273    adding the maximum number of colors.</li>
2274
2275    <li>modify <code>vttests/query-color.pl</code> to demonstrate
2276    multiple queries in one request.</li>
2277
2278    <li>update tables of combining and unknown-width characters in
2279    wcwidth.c based on Unicode 12.0.0.</li>
2280
2281    <li>modify response for <code>OSC&nbsp;5</code> to be
2282    consistent with documentation.</li>
2283
2284    <li>add <code>vttests/query-dynamic.pl</code></li>
2285
2286    <li>modify <code>vttests/query-color.pl</code> to accept bold,
2287    underline, etc., keywords to decide whether to use
2288    <code>OSC&nbsp;5</code> rather than
2289    <code>OSC&nbsp;4</code>.</li>
2290
2291    <li>modify cursor coloring to avoid a case where the cursor
2292    matched the foreground color while the text was displayed in
2293    reverse-video (report by Nuno Silva).</li>
2294
2295    <li>fix an inconsistency in X10 mouse responses from <a href=
2296    "#xterm_342">patch #342</a> changes; the legacy protocol
2297    supports only buttons 1-3.</li>
2298
2299    <li>reduce the number of buffer-flushes for tcap-query
2300    batches.</li>
2301
2302    <li>modify <code>tcapquery.pl</code> to demonstrate batch
2303    queries with <code>-q</code> option.</li>
2304
2305    <li>increase response-buffer size, and make it configurable as
2306    <code>limitResponse</code> (prompted by discussion with Stephen
2307    P Wall).</li>
2308
2309    <li>modified configure script:
2310      <ul>
2311        <li>check/workaround for non-POSIX manipulation of
2312        predefined symbols</li>
2313
2314        <li>check for updated X Toolkit, which uses
2315        <code>const</code>.</li>
2316      </ul>
2317    </li>
2318
2319    <li>update config.guess, config.sub</li>
2320
2321    <li>provide for secondary-selection, overlooked in <a href=
2322    "#xterm_338">patch #338</a> (report by Emile LeBlanc).</li>
2323
2324    <li>documentation errata (patch by Larry Hynes).</li>
2325
2326    <li>improve pointer-checks in <code>Tekproc.c</code></li>
2327
2328    <li>revise solution for Debian #919475, to allow for
2329    struct-notify events occurring as a side-effect of toggling
2330    to/from full-screen mode.</li>
2331
2332    <li>window's border-size was incorrectly added to position when
2333    maximizing window (report by Gary Langshaw).</li>
2334  </ul>
2335
2336  <h1><a name="xterm_344" id="xterm_344">Patch #344 -
2337  2019/02/12</a></h1>
2338
2339  <ul>
2340    <li>add ASCII escape to default for
2341    <code>disallowedPasteControls</code> (prompted by discussion
2342    with Martin Hostettler).</li>
2343
2344    <li>fix typo in <code>ctlseqs.ms</code> (Robert Ross).</li>
2345
2346    <li>implement DEC Cyrillic NRCS (based on screenshots of vttest
2347    provided by Markus Schmidt).</li>
2348
2349    <li>correct control returning sixel geometry maximum versus
2350    actual size (patch by Ben Wong).</li>
2351
2352    <li>improve manual page for <code>resize</code> to clarify that
2353    <code>resize</code> does not execute the shell commands which
2354    it generates for setting environment variables.</li>
2355
2356    <li>improve memory-management for parser, to handle response
2357    strings that might occur with <code>ENQ</code> or when
2358    <code>SRM</code> mode is active (patch by Martin
2359    Hostettler).</li>
2360
2361    <li>change <code>Comment</code> text in uxterm's desktop file
2362    to work around a limitation of GNOME's GIO application
2363      (<a href="https://gitlab.gnome.org/GNOME/gnome-shell/issues/940#note_427334">issue
2364      #940</a>). The <a href=
2365      "https://developer.gnome.org/gio/stable/gio-Desktop-file-based-GAppInfo.html#g-desktop-app-info-search">
2366      documentation</a> reads:
2367      <blockquote>
2368        <p>Searches desktop files for ones that match
2369        <em><code>search_string</code></em>.</p>
2370
2371        <p>The return value is an array of <em>strv</em>s. Each
2372        <em>strv</em> contains a list of applications that matched
2373        search_string with an equal score. The outer list is sorted
2374        by score so that the first <em>strv</em> contains the
2375        best-matching applications, and so on. The algorithm for
2376        determining matches is undefined and may change at any
2377        time.</p>
2378      </blockquote>
2379    </li>
2380
2381    <li>a check of <code>zIconBeep</code> resource was removed in
2382    double-buffer fix in <a href="#xterm_334">patch #334</a>. That
2383    is used to decide whether to handle struct-notify events. When
2384    xterm does handle the events, it may negotiate a new
2385    window-size with the window manager. In that case, the
2386    <code>limitResize</code> resource setting limited the new
2387    window-size to the screen-size. Amended that by eliminating the
2388    limit for this special case when double-buffer is configured,
2389    and restoring the check for <code>zIconBeep</code> when
2390    double-buffer is not configured (Debian #919475).</li>
2391
2392    <li>disallow recursion which could happen if a user configures
2393    the <code>answerbackString</code> resource with the
2394    <code>ENQ</code> code and experiments with that code when
2395    <code>SRM</code> is enabled (report by by Martin
2396    Hostettler).</li>
2397
2398    <li>add remaining credits in <code>COPYING</code> file.</li>
2399
2400    <li>modify <code>run-tic.sh</code> to check if it is using an
2401    older version of ncurses which does not support large terminal
2402    descriptions, and if so, remove a non-essential feature to keep
2403    within the 4096-byte legacy limit.</li>
2404  </ul>
2405
2406  <h1><a name="xterm_343" id="xterm_343">Patch #343 -
2407  2019/01/13</a></h1>
2408
2409  <ul>
2410    <li>modify <code>run-tic.sh</code> to prefer ncurses6 over
2411    ncurses5, when available.</li>
2412
2413    <li>add <code>COPYING</code> file, and dummy "check" makefile
2414    rule for testing Arch packages.</li>
2415
2416    <li>add/update package scripts for FreeBSD and NetBSD, for
2417    testing.</li>
2418
2419    <li>update tables of combining and ambiguous-width characters
2420    in wcwidth.c based on Unicode 11.0.0.</li>
2421
2422    <li>modify <code>xterm-new</code> sample terminfo entry to
2423    correspond to ncurses 6.1, using the SGR 1006 mouse
2424    protocol.</li>
2425
2426    <li>improve manual page discussion of selection ownership
2427    versus highlighting (prompted by discussion with Martin
2428    Hostettler).</li>
2429
2430    <li>restore/repair <code>keepClipboard</code> feature which was
2431    broken by changes in <a href="#xterm_338">patch #338</a>
2432    (report by Martin Hostettler).</li>
2433
2434    <li>improve documentation for <code>deleteIsDEL</code>
2435    resource.</li>
2436
2437    <li>modify DECRQM response for private mode 1037 to account for
2438    cases where the resource <code>deleteIsDEL</code> is initially
2439    neither true nor false, but dependent upon the keyboard type
2440    (report/analysis by Martin Hostettler).</li>
2441
2442    <li>clear pointers for pattern/fontset after destroying their
2443    data when switching facename with an escape sequence (report by
2444    Robert Ross).</li>
2445
2446    <li>modify logic for TrueType fallback fonts to match the
2447    sort-order used by <code>fc-match</code> (report by Robert
2448    Ross).</li>
2449
2450    <li>add resource setting <code>limitFontsets</code> which can
2451    be used to limit or disable the new TrueType fontset feature
2452    (request by Robert Ross).</li>
2453  </ul>
2454
2455  <h1><a name="xterm_342" id="xterm_342">Patch #342 -
2456  2019/01/03</a></h1>
2457
2458  <ul>
2459    <li>limit mouse-button events to 11 buttons in the original
2460    protocol, and 15 in the extended mouse-protocol (patch by
2461    Martin Hostettler).</li>
2462
2463    <li>correct calculation for buttons past 11 in
2464    <code>mouse-codes</code> sample script (patch by Martin
2465    Hostettler).</li>
2466
2467    <li>disable a supplementary check added in <a href=
2468    "#xterm_341">patch #341</a> which interferes with using
2469    fontconfig to select different-sized bitmap fonts (Arch
2470    #61237).</li>
2471  </ul>
2472
2473  <h1><a name="xterm_341" id="xterm_341">Patch #341 -
2474  2018/12/24</a></h1>
2475
2476  <ul>
2477    <li>add options to <code>mouse-codes</code> script to
2478    demonstrate that the encoding used for mouse events limits
2479    button numbers to 11.</li>
2480
2481    <li>allow mouse button numbers up to 11 using an offset of 128
2482    for button numbers 8-11 rather than the offset of 64 used for
2483    wheel-mouse, etc., buttons 4-7 in <a href="#xterm_338">patch
2484    #338</a> (adapted from patch by Martin Hostettler).</li>
2485
2486    <li>correct off-by-one right-margin checks for double-width
2487    character adjustments in DECERA/DECFRA (patch by Martin
2488    Hostettler).</li>
2489
2490    <li>allocated size of selection buffer was not reset when
2491    freeing the buffer in <a href="#xterm_338">patch #338</a>
2492    (report/analysis by Stefan Assmann).</li>
2493
2494    <li>modify the initial pattern passed to fontconfig to disallow
2495    color bitmap fonts.</li>
2496
2497    <li>improve error recovery for a case where fontconfig ignores
2498    the requested pattern due to override in the user's font
2499    configuration (report/testcase by Stefan Assmann).</li>
2500  </ul>
2501
2502  <h1><a name="xterm_340" id="xterm_340">Patch #340 -
2503  2018/12/16</a></h1>
2504
2505  <ul>
2506    <li>suppress a spurious warning about fontsets when
2507    initializing menus for the toolbar configuration.</li>
2508
2509    <li>fix some strict compiler warnings.</li>
2510
2511    <li>improve checks for TrueType font, to help with the case of
2512    color bitmap fonts, which fontconfig misrepresents (Arch Linux
2513    #58706).</li>
2514  </ul>
2515
2516  <h1><a name="xterm_339" id="xterm_339">Patch #339 -
2517  2018/12/12</a></h1>
2518
2519  <ul>
2520    <li>modify <code>CF_GNU_SOURCE</code> macro to treat
2521    <em>newlib</em> as similar to <em>glibc</em>, fixing a problem
2522    with the configure checks for pseudoterminals in Cygwin
2523    overlooked in <a href="#xterm_334">patch #334</a> updates for
2524    configure-macros.</li>
2525  </ul>
2526
2527  <h1><a name="xterm_338" id="xterm_338">Patch #338 -
2528  2018/12/09</a></h1>
2529
2530  <ul>
2531    <li>ignore <code>$TERMINFO</code> in the configure script if it
2532    is set to a non-directory value.</li>
2533
2534    <li>updated configure macros:
2535      <ul>
2536        <li><code>CF_WITH_PCRE2</code>, modified to work with
2537        Debian's (mis-numbered) pcre3 package.</li>
2538
2539        <li><code>CF_CC_ENV_FLAGS</code> , report preprocessor
2540        options in <code>CFLAGS</code></li>
2541
2542        <li><code>CF_LD_RPATH_OPT</code> , suppress check if
2543        <code>--disable-rpath</code> option was given.</li>
2544
2545        <li><code>CF_XOPEN_SOURCE</code>, add case for
2546        midnightbsd</li>
2547      </ul>
2548    </li>
2549
2550    <li>update config.guess, config.sub</li>
2551
2552    <li>add a check to ensure that the filename parameter passed to
2553    <code>XpmReadFileToPixmap</code> is actually a file, since that
2554    function does not check (report by Ben Nott).</li>
2555
2556    <li>amend solution for Debian #758633 to ensure that replies
2557    for bracketed paste are not sent while processing a selection
2558    for <code>exec-formatted</code> (Debian #913237).</li>
2559
2560    <li>improve adjustments/clearing for double-width characters in
2561    <code>DECERA</code>, <code>DECFRA</code>,
2562    <code>DECSERA</code>.</li>
2563
2564    <li>improve adjustments/clearing for double-width characters
2565    when doing vertical scrolling within left/right margins (patch
2566    by Martin Hostettler).</li>
2567
2568    <li>modify wcwidth to encode a few spacing combining marks as
2569    regular combining characters.</li>
2570
2571    <li>change compiled-in default for <code>saveLines</code> to
2572    match the resource-file changed in <a href="#xterm_192">patch
2573    #192</a> (Debian #913815).</li>
2574
2575    <li>change default <code>faceSize</code> to 8.0, to simplify
2576    switching back/forth between bitmap fonts and TrueType. This
2577    was originally (mis)set to 14.0 in <a href="#xterm_148">patch
2578    #148</a>.</li>
2579
2580    <li>add fallback support in Xft configuration for missing
2581    glyphs (prompted by discussion with Mike Burns).</li>
2582
2583    <li>fix a problem with using direct-colors for the background
2584    color when clearing/scrolling (report by Nicholas
2585    Marriott).</li>
2586
2587    <li>add a "sources" rule for the makefile's generated
2588    source.</li>
2589
2590    <li>add a short explanation in <code>ctlseqs.ms</code>
2591    discussing the differences in error-recovery for malformed
2592    sequences versus unimplemented features, and amend one case for
2593    consistency (prompted by discussion with Martin
2594    Hostettler).</li>
2595
2596    <li>adjusted ifdef's so that the paste64 configure option does
2597    not automatically enable the readline-mouse configure
2598    option.</li>
2599
2600    <li>revert the change which prevented concurrent ownership of
2601    different selection targets, and instead modify selection
2602    storage so that different concurrent requests for different
2603    selection targets will be stored/retrieved independently
2604    (Debian #901249).</li>
2605
2606    <li>remove a check which prevented returning button-codes past
2607    the documented 4/5 for wheel mouse, and add a script
2608    <code>mouse-codes</code> which makes a report showing the
2609    various mouse codes for different button/modifier combinations
2610    (discussion with P&#345;emysl Janouch).</li>
2611
2612    <li>improve display and checksum for DEC Special Graphics by
2613    mapping 0x5f to 0.</li>
2614
2615    <li>add a null-pointer check for table-ending in the
2616    extended-boolean resource-handling (report by Felix von
2617    Leitner).</li>
2618
2619    <li>remove stray <code>]</code>'s from INSTALL-file (Larry
2620    Hynes).</li>
2621  </ul>
2622
2623  <h1><a name="xterm_337" id="xterm_337">Patch #337 -
2624  2018/09/21</a></h1>
2625
2626  <ul>
2627    <li>regenerated configure script (report by Sven Joachim).</li>
2628
2629    <li>revise/improve fix for scrolling in margins
2630    (report/analysis by Martin Hostettler):</li>
2631
2632    <li>amend change to default-translations "select" subset to
2633    ensure that specific key-press actions are listed before
2634    generic key-press actions (reports by H Merijn Brand, Sven
2635    Joachim).</li>
2636  </ul>
2637
2638  <h1><a name="xterm_336" id="xterm_336">Patch #336 -
2639  2018/09/19</a></h1>
2640
2641  <ul>
2642    <li>ensure that only one of PRIMARY and CLIPBOARD is owned by
2643    xterm at a given time (Debian #901249).</li>
2644
2645    <li>documentation fixes (report by Lars Krueger):
2646      <ul>
2647        <li>document <code>SL</code> and <code>SR</code>.</li>
2648
2649        <li>document <code>DECRPTUI</code>, change number of digits
2650        to match VT420.</li>
2651      </ul>
2652    </li>
2653
2654    <li>revise <code>omitTranslation</code> resource, e.g.,
2655    splitting &ldquo;default&rdquo; into several more useful
2656    categories.</li>
2657
2658    <li>modify mask-logic to permit <em>control-</em> and
2659    <em>meta-</em> modifiers to be used in mouse protocol.</li>
2660
2661    <li>several fixes for parsing/state (report/testcases by Martin
2662    Hostettler):
2663      <ul>
2664        <li>remove an old/unimplemented entry for xterm-title from
2665        state table.</li>
2666
2667        <li>save/restore wrap-flag when scrolling, to fix an
2668        inconsistency between jump-scrolling and
2669        normal-scrolling.</li>
2670
2671        <li>improve a special case of wrapping where the cursor
2672        starts beyond the right-margin, and wraps at the terminal's
2673        last-column before the settable-margins can take
2674        effect.</li>
2675
2676        <li>if origin mode is set, adjust a restored cursor column
2677        relative to the left margin.</li>
2678
2679        <li>when scrolling a line within left/right margins,
2680        correct order of the fixups needed when a double-width
2681        character crosses the margin boundary.</li>
2682      </ul>
2683    </li>
2684
2685    <li>review/fix a few cases where the parsing state was not
2686    reset after completing a control sequence (prompted by report
2687    by Martin Hostettler).</li>
2688
2689    <li>disallow <code>XTCHECKSUM</code> if the corresponding
2690    window-ops "SetChecksum" is unset.</li>
2691
2692    <li>add <code>print-vt-chars.pl</code> script to illustrate the
2693    NRCS and codepages supported by xterm.</li>
2694
2695    <li>add <code>other-sgr.sh</code> script to demonstrate the
2696    non-VT100 video attributes implemented in <a href=
2697    "#xterm_305">patch #305</a>, and added a summary of their
2698    introduction in ECMA-48 to the control sequences document.</li>
2699
2700    <li>add <code>tabs</code> and <code>-tabs</code> keywords to
2701    <code>ttyModes</code> resource to simplify workaround for
2702    terminal drivers which are not aware of UTF-8 (FreeBSD
2703    #229682).</li>
2704
2705    <li>add VT5xx NRCS 7-bit Turkish and DEC Turkish.</li>
2706
2707    <li>add VT5xx NRCS 7-bit Hebrew and DEC Hebrew.</li>
2708
2709    <li>add VT5xx NRCS 7-bit Greek and DEC Greek.</li>
2710
2711    <li>correct a few post-VT220 codepages to make them display
2712    without setting the NRCS state.</li>
2713
2714    <li>extend <code>vt100Graphics</code> resource to include other
2715    character-sets such as the VT500 codepages in UTF-8 mode.</li>
2716
2717    <li>add some VT5xx codepages to help with the discussion of
2718    96-character sets: <em>ISO Greek Supplemental</em>, <em>ISO
2719    Hebrew Supplemental</em>, <em>ISO Latin&ndash;5
2720    Supplemental</em>, and <em>ISO Latin&ndash;Cyrillic</em>.</li>
2721
2722    <li>improve description of the VT300-controls for designating
2723    character sets, and fix a typo which indicated that some were
2724    used for 94-character sets (prompted by discussion with Lars
2725    Krueger).</li>
2726
2727    <li>add private control <code>XTCHECKSUM</code> for modifying
2728    <code>checksumExtension</code>.</li>
2729
2730    <li>factor out xterm's <code>DECRQCRA</code> checksum
2731    extensions as a resource setting
2732    <code>checksumExtension</code>.</li>
2733
2734    <li>revise calculation of checksum for <code>DECRQCRA</code> to
2735    match DEC's terminals (using screenshots of vttest provided by
2736    Markus Schmidt).</li>
2737
2738    <li>restore a fix for memory-checksum setup of
2739    <code>DECCKSR</code> from <a href="#xterm_315">patch #315</a>
2740    incorrectly reverted in <a href="#xterm_334">patch #334</a> as
2741    part of fix for <code>DECRQCRA</code>.</li>
2742  </ul>
2743
2744  <h1><a name="xterm_335" id="xterm_335">Patch #335 -
2745  2018/08/14</a></h1>
2746
2747  <ul>
2748    <li>add <code>colorInnerBorder</code> resource to make a change
2749    from <a href="#xterm_334">patch #334</a> configurable (reports
2750    by H Merijn Brand, Gabriele Balducci).</li>
2751  </ul>
2752
2753  <h1><a name="xterm_334" id="xterm_334">Patch #334 -
2754  2018/08/12</a></h1>
2755
2756  <ul>
2757    <li>modify <code>Imakefile</code> to reflect the fact that
2758    NetBSD no longer has a working termcap emulation.</li>
2759
2760    <li>add resource-setting <code>validShells</code> which can be
2761    used to augment the system's <code>/etc/shell</code> (prompted
2762    by discussion with Paul Lampert).</li>
2763
2764    <li>stifle some useless warnings from lintian in
2765    test-packages.</li>
2766
2767    <li>add the ncurses extension &ldquo;RGB&rdquo; to the
2768    responses for the termcap-query feature.</li>
2769
2770    <li>improved getopts-handling in sample scripts.</li>
2771
2772    <li>fix some warnings from gcc8 and clang --analyze.</li>
2773
2774    <li>update note about incorrect documentation for
2775    <code>DECRQSS</code> to include VT525 (report by Markus
2776    Schmidt).</li>
2777
2778    <li>correct check for default-values in rectangular parsing; a
2779    zero counts as a missing or default parameter (report/testcase
2780    by Markus Schmidt).</li>
2781
2782    <li>correct some ranges in the <code>ambiguous[]</code> table
2783    in wcwidth (adapted from patch by KUGA Tsutomu).</li>
2784
2785    <li>fix a special case with faint video attribute incorrectly
2786    combined with default color.</li>
2787
2788    <li>add private control <code>XTREPORTSGR</code> for reporting
2789    video-attributes and color on a rectangle, and script
2790    <code>report-sgr.pl</code> to demonstrate it.</li>
2791
2792    <li>modify some of the markup in <code>ctlseqs.ms</code> to
2793    work around groff's reassignment of ASCII punctuation
2794    characters as documented in <em>groff_char(7)</em>.</li>
2795
2796    <li>treat ECMA-48 SGR 6 the same as SGR 5.</li>
2797
2798    <li>add private controls <code>XTPUSHSGR</code> and
2799    <code>XTPOPSGR</code> for saving/restoring the current
2800    video-attributes on a stack (adapted from patch by Dan
2801    Thompson).</li>
2802
2803    <li>modify <code>DECRPM</code> response for logging enable to
2804    indicate its state even when enabling/disabling it is not
2805    allowed.</li>
2806
2807    <li>implement <code>DECSNLS</code></li>
2808
2809    <li>implement <code>DECRSPS</code></li>
2810
2811    <li>improve fill-color for double-buffer configuration, which
2812    was sharing a graphic context with the cursor.</li>
2813
2814    <li>fix a couple of cases where double-sized VT100 characters
2815    were not clipped, seen in Joe Smith's <a href=
2816    "http://www.inwap.com/pdp10/#Tymnet">VT100 torture
2817    test</a>.</li>
2818
2819    <li>color the inner border using the same
2820    <code>borderColor</code> as the outer border, rather than
2821    filling with the VT100's default background.</li>
2822
2823    <li>change encoding of &ldquo;THANKS&rdquo; to UTF-8.</li>
2824
2825    <li>modify handling of <code>DECELR</code> to recognize
2826    <code>MotionNotify</code> events again, amending a check for
2827    <code>allowMouseOps</code> which limited that to button-events
2828    in <a href="#xterm_328">patch #328</a> (Olaf Rogalsky).</li>
2829
2830    <li>fix some screen-painting problems with left/right margins
2831    when using insert-line or delete-line (report/testcase by
2832    Martin Hostettler). also fix similar case with
2833    index/reverse-index.</li>
2834
2835    <li>several minor performance improvements using macros, e.g.,
2836    inline checks for character width.</li>
2837
2838    <li>add <code>DECSCPP</code> and <code>DECSLPP</code> to
2839    <code>DECRQSS</code>.</li>
2840
2841    <li>implement <code>DECSCPP</code>.</li>
2842
2843    <li>implement <code>DECCIR</code> and <code>DECTABSR</code>
2844    presentation reports.</li>
2845
2846    <li>modify checksum computation for <code>DECRQCRA</code> to
2847    treat uninitialized cells as blanks rather than nulls.</li>
2848
2849    <li>drop custom-entity from HTML-dump, use UTF-8 for &amp;nbsp;
2850    (Debian #902381).</li>
2851
2852    <li>modify display of non-BMP characters when using bitmap
2853    fonts to show a null/empty box rather than the replacement
2854    character which was used in cleanup changes for <a href=
2855    "#xterm_233">patch #233</a> (report by Christian
2856    Weisgerber).</li>
2857
2858    <li>when setting up clipping rectangle for Xft, allow for the
2859    case where xterm is only displaying a combining character,
2860    where the base was already written (report by Joshua
2861    Crowgey).</li>
2862
2863    <li>allow reset Xft's state if switching font-sizes when
2864    double-buffering is used.</li>
2865
2866    <li>fix repainting, e.g., on resize, when double-buffering is
2867    used with Xft (patch by Daniel Colascione).</li>
2868
2869    <li>correct some interchanged pairs of symbols in
2870    <code>unicode/keysym.map</code> (Brad Town).</li>
2871
2872    <li>improve configure macros CF_GCC_WARNINGS, CF_GNU_SOURCE,
2873    CF_POSIX_C_SOURCE, CF_TRY_XOPEN_SOURCE, CF_XOPEN_SOURCE,
2874    CF_X_ATHENA_CPPFLAGS.</li>
2875
2876    <li>modify <code>logFile</code> resource to interpret
2877    &ldquo;<code>-</code>&rdquo; as the standard output (adapted
2878    patch by Colum Paget).</li>
2879
2880    <li>improve documentation of Tek4014 menu options; fix a case
2881    where the Tek4014 window was not displayed before switching
2882    modes.</li>
2883
2884    <li>re-correct parameter for <em>pid</em> used for DECCKSR,
2885    DECRQCSR (see <a href="#xterm_315">xterm #315</a>).</li>
2886
2887    <li>hard/soft reset now resets the cursor-blinking state that
2888    may have been set via escape sequences; the cursor-blinking
2889    menu-entry feature is unmodified (report by Matthieu
2890    Herrb).</li>
2891
2892    <li>update config.guess, config.sub</li>
2893  </ul>
2894
2895  <h1><a name="xterm_333" id="xterm_333">Patch #333 -
2896  2018/05/03</a></h1>
2897
2898  <ul>
2899    <li>ensure that i18n is enabled if input-method is
2900    enabled.</li>
2901
2902    <li>modify logic for pre-edit to update spot-location while the
2903    cursor is invisible (Kakoune #1940).</li>
2904
2905    <li>change default icon to newer one, "mini.xterm".</li>
2906
2907    <li>install a complete set of icons, to simplify post-install
2908    customization.</li>
2909
2910    <li>add resource <code>disallowedPasteControls</code> to extend
2911    filtering of control characters from pastes.</li>
2912
2913    <li>add <code>print-on-error</code> action-hook, and document
2914    action-hooks for dump-html, dump-svg.</li>
2915
2916    <li>provide action-hook for <code>print-immediate</code>, which
2917    was available only as a menu-item (report by Rastislav
2918    Barlik).</li>
2919
2920    <li>continue to improve notes in <code>ctlseqs.ms</code> which
2921    mention where various controls originated.</li>
2922
2923    <li>add case to accept ECMA-48's bogus <code>SD</code>, but
2924    document the issue in <code>ctlseqs.ms</code>.</li>
2925
2926    <li>add control sequence for loading XPM-icon file, using the
2927    analogous control sequence from shelltool/dtterm.</li>
2928
2929    <li>add <code>-report-icons</code> option, to report on
2930    XPM-icon and title-bar updates.</li>
2931
2932    <li>correct a discrepancy between locator-reports for VT220 vs
2933    VT330.</li>
2934
2935    <li>add window-ops control sequences to complement existing
2936    ones for reporting window-position and text-area size with
2937    reports for text-area position and window-size.</li>
2938
2939    <li>display vt52 graphics mode characters.</li>
2940
2941    <li>correct case-statement for window-ops 10, overlooked since
2942    some window managers equate vertical-maximize and
2943    horizontal-maximize window hints with full-screen
2944    maximize.</li>
2945  </ul>
2946
2947  <h1><a name="xterm_332" id="xterm_332">Patch #332 -
2948  2018/04/15</a></h1>
2949
2950  <ul>
2951    <li>add a <code>GetChecksum</code> item to
2952    <code>disallowedWindowOps</code></li>
2953
2954    <li>improve notes in <code>ctlseqs.ms</code> which mention
2955    where various controls originated.</li>
2956
2957    <li>add control sequences for querying the X display size and
2958    the character size, both in pixels to help eliminate some of
2959    the constants in <code>esctest</code>.</li>
2960
2961    <li>fixes prompted by review of George Nachman's
2962    <code>esctest</code> script:
2963      <ul>
2964        <li>add a null-pointer check and a limit-check in
2965        <code>xtermCheckRect</code>.</li>
2966
2967        <li>correct limit-check for right-margin when processing
2968        autowrapping if xterm is not built for
2969        wide-characters.</li>
2970
2971        <li>repair logic in <code>RIS</code> to reset 132-column
2972        mode when an escape sequence is used to enable
2973        80/132-column switching.</li>
2974
2975        <li>correct array-limit for EWMH working state.</li>
2976
2977        <li>further improve limit-checks versus assert's (see
2978        <a href="#xterm_315">patch #315</a>).</li>
2979
2980        <li>correct order of check-margins and move-to-left margin
2981        for <code>DL</code> and <code>IL</code>.</li>
2982
2983        <li>modify reverse-wrap to pay attention to top/bottom
2984        margins as it has done for left/right margins since
2985        <a href="#xterm_279">patch #279</a>.</li>
2986
2987        <li>modify behavior of <code>DECFI</code> and
2988        <code>DECBI</code> to not index the screen at the
2989        left/right edge of the display unless those happen to be
2990        the left/right margins.</li>
2991
2992        <li>add case for VT320 DSR response for keyboard
2993        status.</li>
2994      </ul>
2995    </li>
2996
2997    <li>improve check for valid shell path using
2998    <code>getusershell</code> and <code>endusershell</code> if
2999    available, in case <code>/etc/shells</code> does not exist
3000    (suggested by Rainer Orth).</li>
3001
3002    <li>modified configure checks for groff and man2html, to use
3003    the latter by default, but allowing mandoc as a partial
3004    replacement for former.</li>
3005
3006    <li>revisited the inconsistent copyright notices mentioned in
3007    <a href="#xterm_165">patch #165</a>, and eliminate the issue as
3008    mentioned in this <a href=
3009    "https://invisible-island.net/personal/copyrights.html">copyright
3010    discussion</a>.</li>
3011
3012    <li>fix typo in this change-log (report by Sven Joachim)</li>
3013
3014    <li>update config.guess, config.sub</li>
3015  </ul>
3016
3017  <h1><a name="xterm_331" id="xterm_331">Patch #331 -
3018  2017/12/30</a></h1>
3019
3020  <ul>
3021    <li>add workaround for improper grayscale adjustments made in
3022    FreeType library, exposed by changes to rounding in 2.8.1,
3023    which shows up as a gap in line-drawing characters (Debian
3024    #880407).</li>
3025
3026    <li>improve a special case where a non-Unicode font's
3027    line-drawing characters were not used, when specifying it via
3028    the <code>utf8Fonts</code> resource, e.g.,
3029      <blockquote>
3030        <pre>
3031        -fs 15 \
3032        -xrm '*VT100.font:12x24' \
3033        -xrm '*VT100.boldFont:12x24' \
3034        -xrm '*VT100.utf8Fonts.font: 12x24' \
3035        -xrm '*VT100.utf8Fonts.boldFont: 12x24' \
3036</pre>
3037      </blockquote>
3038    </li>
3039
3040    <li>replace constant 10msec delay for next X event with new
3041    resource <code>nextEventDelay</code>, and reduce that to 1msec
3042    to accommodate faster machines than used when
3043    <code>-hold</code> was implemented in <a href=
3044    "#xterm_116">1999</a> (Debian #877628).</li>
3045
3046    <li>add <code>scroll-to</code> action, which simplifies binding
3047    a key to scroll to the beginning or end of the saved-lines
3048    (Debian #880120).</li>
3049
3050    <li>add building blocks for alternate screen and/or title-stack
3051    features in the <code>terminfo</code> file.</li>
3052
3053    <li>improve calculations for cell-data size.</li>
3054
3055    <li>change configure script to enable XHTML/SVG screen dumps by
3056    default.</li>
3057
3058    <li>change configure script to enable 256-colors by
3059    default.</li>
3060
3061    <li>update config.guess, config.sub</li>
3062
3063    <li>change configure script option for
3064    <code>--with-man2html</code> to use improved script by
3065    default.</li>
3066
3067    <li>add case for private mode 1044 in DECRQM, to report the
3068    keepClipboard resource setting and corresponding menu
3069    entry.</li>
3070
3071    <li>fix an inconsistency between private mode 12 (the AT&amp;T
3072    610 cursor blink) and <code>DECSCUSR</code>: the former relied
3073    on having the <code>cursorBlink</code> resource set initially
3074    to enable the escape sequence, while the latter does not.</li>
3075
3076    <li>add private modes 13 and 14, as well as resource
3077    <code>cursorBlinkXOR</code> to allow better control over the
3078    cursor-blinking state (discussion with Bram Moolenaar).</li>
3079
3080    <li>modify the html and svg screen dumps to support direct
3081    color</li>
3082
3083    <li>modify media copy (screen-printing) to support the same SGR
3084    codes as <code>DECRQSS</code>, including 88/256 indexed color
3085    as well as direct color.</li>
3086
3087    <li>improve options-parsing for query-status.pl script.</li>
3088
3089    <li>modify parsing of <code>SGR</code> direct-color control
3090    making <em>color space identitier</em> optional. The
3091    corresponding <code>DECRQSS</code> reply always returns an
3092    empty (default) field for the identifier.</li>
3093
3094    <li>add wide-attributes to <code>DECRQSS</code> reply for
3095    <code>SGR</code>.</li>
3096
3097    <li>add private mode 1046 to help with scripting
3098    applications.</li>
3099
3100    <li>correct expression used for readline-flags in DECRQM; to
3101    test the current flag rather than information <em>stacked</em>
3102    within the same variable.</li>
3103
3104    <li>correct typo in <code>ctlseqs.ms</code> reference to
3105    ISO-8613-6 (patch by Mike Frysinger).</li>
3106
3107    <li>fix lintian warning for test-package.</li>
3108
3109    <li>fix typo in <code>DECRQSS</code> for <code>SGR</code> 48,
3110    which printed the foreground value for colors past 15. Also use
3111    colon delimiter for codes 38/48 in response (report by Paul
3112    LeoNerd Evans).</li>
3113
3114    <li>improve workaround for Debian #542434 by using the font's
3115    maximum width when no ISO-8859-1 glyphs are provided (Debian
3116    #879936).</li>
3117
3118    <li>work around a special case of <em>Xft</em>'s mismanagement
3119    of its cached data by adding a check before the
3120    <code>-report-fonts</code> option to ensure that it does not
3121    use an <code>XftPattern</code> which may have been freed during
3122    a call to <code>XftFontOpenPattern</code>.</li>
3123
3124    <li>improve manual page description of <code>regex</code>
3125    option for <code>on<em>X</em>Clicks</code> resources (report by
3126    Lukas Mai).</li>
3127
3128    <li>add <code>directColor</code> resource.</li>
3129
3130    <li>additional manpage macro cleanup (Branden Robinson, Debian
3131    #880551).</li>
3132
3133    <li>add optional support for direct-colors (adapted from patch
3134    by anonymous &ldquo;Nibby Nebbulous&rdquo;).</li>
3135
3136    <li>improve legacy/NRC character set mapping (patch by Thomas
3137    Wolff), e.g.,
3138      <ul>
3139        <li>enable alternate NRC set designators for French and
3140        French Canadian, &lsquo;9&rsquo; and &lsquo;f&rsquo;
3141        respectively, as documented in ctlseqs. (&lsquo;9&rsquo; is
3142        documented for VT510, &lsquo;f&rsquo; is a Kermit
3143        feature).</li>
3144
3145        <li>correct the Unicode value in the <em>DEC Technical</em>
3146        table to show capital delta.</li>
3147
3148        <li>referring to
3149          <blockquote>
3150            <p><a href=
3151            "http://vt100.net/docs/vt220-rm/table2-3b.html">http://vt100.net/docs/vt220-rm/table2-3b.html</a><br>
3152
3153            <a href=
3154            "http://vt100.net/docs/vt320-uu/appendixe.html">http://vt100.net/docs/vt320-uu/appendixe.html</a></p>
3155          </blockquote>
3156
3157          <p>add entries for the <em>DEC Supplemental Graphics</em>
3158          table to display 0x28/0xa8 as &curren; and 0x5d/0xdd as
3159          &Yuml;.</p>
3160        </li>
3161
3162        <li>referring to
3163          <blockquote>
3164            <p><a href=
3165            "http://www.vt100.net/charsets/technical.html">http://www.vt100.net/charsets/technical.html</a></p>
3166          </blockquote>
3167
3168          <p>alter the Unicode values used for 0x2b through 0x2c to
3169          use <em>curly braces</em> to work with the
3170          &ldquo;middle&rdquo; parts displayed with 0x2f and
3171          0x30.</p>
3172        </li>
3173
3174        <li>modify the VT220 &ldquo;Supplemental&rdquo; table,
3175        giving a hint that it was probably meant to be
3176        &ldquo;Supplemental Graphics&rdquo; and is the same as
3177        VT320's table.</li>
3178      </ul>
3179    </li>
3180
3181    <li>quiet a few font-warnings when a derived fontname cannot be
3182    opened, overlooked in refactoring of font resources in <a href=
3183    "#xterm_328">patch #328</a> (initially reported on <a href=
3184    "https://cygwin.com/ml/cygwin/2017-06/msg00255.html">Cygwin
3185    mailing list</a>, with <a href=
3186    "https://cygwin.com/ml/cygwin/2017-07/msg00216.html">followup</a>).</li>
3187
3188    <li>correct error response for <code>DECRQSS</code> broken in
3189    cleanup of Coverity reports in <a href="#xterm_288">patch
3190    #288</a> (reports by Bram Moolenaar and IWAMOTO Kouichi).</li>
3191
3192    <li>improve <code>DECRPM</code> responses by returning <em>mode
3193    not recognized</em> for modes which may not be settable due to
3194    the selected <code>decTerminalID</code> resource (report by
3195    IWAMOTO Kouichi).</li>
3196
3197    <li>correct logic for <code>print-immediate</code> action, and
3198    enable corresponding menu entry (patch by Lauri
3199    Tirkkonen).</li>
3200
3201    <li>add configure option <code>--with-pcre2</code> (patch by
3202    David Michael).</li>
3203
3204    <li>fix a misspelled subsection title in ctlseqs.ms and add a
3205    note regarding blink which was rendered as bold in X11R6.
3206    Blinking text was implemented in <a href="#xterm_60">Patch
3207    #60</a>.</li>
3208
3209    <li>fix typos in <code>xterm.man</code> (patches by Sven
3210    Joachim, Larry Hynes).</li>
3211
3212    <li>fix typography in <code>xterm.man</code> (patch by Bjarni
3213    Ingi Gislason, Debian #869248).</li>
3214
3215    <li>fix typo in <code>INSTALL</code> (Larry Hynes).</li>
3216
3217    <li>add <code>xterm-direct</code> terminal description based on
3218    changes introduced in <a href="#xterm_277">patch #277</a>, and
3219    relying upon ncurses <code><strong>RGB</strong></code>
3220    extension.</li>
3221
3222    <li>modify <code>xterm-new</code> terminal description to use
3223    ECMA-48 <code>REP</code>, reflecting its use in xterm since
3224    <a href="#xterm_32">patch #32</a> (1996).</li>
3225
3226    <li>clarify comment in ctlseqs.ms regarding blink: it has been
3227    part of xterm since <a href="#xterm_60">patch #60</a>
3228    (1998).</li>
3229
3230    <li>update ftp URLs in documentation.</li>
3231  </ul>
3232
3233  <h1><a name="xterm_330" id="xterm_330">Patch #330 -
3234  2017/06/20</a></h1>
3235
3236  <ul>
3237    <li>updates for ReGIS (Ross Combs):
3238      <ul>
3239        <li>remove redundant text command error check which broke
3240        <code>T(B)</code> and <code>T(E)</code>.</li>
3241
3242        <li>retain the loading alphabet number across multiple
3243        &ldquo;L&rdquo; commands.</li>
3244
3245        <li>add <code>S(T)</code> delay handler.</li>
3246
3247        <li>fix some color handling error messages.</li>
3248
3249        <li>add stubbed-out macrograph handling.</li>
3250
3251        <li>use <code>fragment_remaining()</code> and
3252        <code>fragment_consumed()</code> instead of manually
3253        checking position / length in various places.</li>
3254
3255        <li>rename some local variables in string / extent / option
3256        parsing</li>
3257
3258        <li>wrap some long lines.</li>
3259
3260        <li>move macrograph command handling out of the
3261        top-level.</li>
3262      </ul>
3263    </li>
3264
3265    <li>add a summary of the italic fonts loaded to
3266    <code>-report-fonts</code> option.</li>
3267
3268    <li>modify the font-lookup for italics to allow for
3269    &ldquo;<code>-i-</code>&rdquo; if no match is found with slant
3270    &ldquo;<code>-o-</code>&rdquo; (prompted by patch by Ben
3271    Wong).</li>
3272
3273    <li>change default values for <code>mkSamplePass</code> and
3274    <code>mkSampleSize</code> to reflect generally-improved locale
3275    support in various operating systems (FreeBSD #219800).</li>
3276
3277    <li>modify <code>wcwidth.c</code> to return -1 for non-Unicode
3278    values, and adjust a couple of blocks to better match
3279    assumptions about ambiguous-width characters in other
3280    implementations. Also modify <code>wcwidth.c</code> to support
3281    configurable soft-hyphen, so there is no drawback to using this
3282    version rather than a system <code>wcwidth</code>.</li>
3283
3284    <li>amend change made in <a href="#xterm_328">patch #328</a>
3285    for cursor-visibility to handle case where an application is
3286    updating the reverse-video state (FreeBSD #219800).</li>
3287
3288    <li>update tables of combining and ambiguous-width characters
3289    in wcwidth.c based on Unicode 10.0.0.</li>
3290
3291    <li>build-fix for <code>--enable-sixel-graphics</code> without
3292    <code>--enable-regis-graphics</code> (reports by Sven Joachim,
3293    FreeBSD #219945).</li>
3294  </ul>
3295
3296  <h1><a name="xterm_329" id="xterm_329">Patch #329 -
3297  2017/06/12</a></h1>
3298
3299  <ul>
3300    <li>add control sequences for reading the Sixel and ReGIS
3301    graphics sizes (suggested by Ben Wong).</li>
3302
3303    <li>add a workaround for <code>wcwidth</code> returning -1 for
3304    characters which should have been printable (FreeBSD
3305    #219800).</li>
3306
3307    <li>fix a bug in font initialization from <a href=
3308    "#xterm_328">patch #328</a> (FreeBSD #219800).</li>
3309
3310    <li>fix a special case in <code>HideCursor</code> which
3311    assigned a bold font to the slot used for normal font in
3312    changes for italics in <a href="#xterm_307">patch #307</a>
3313    (Debian #858304).</li>
3314
3315    <li>updates for ReGIS (Ross Combs):
3316      <ul>
3317        <li>Strings specified with no command are used as
3318        "comments". Print these in the log when tracing.</li>
3319
3320        <li>Catch attempts to use "alternate display" mode (AKA
3321        "blink") from the GIGI, but do not implement it.</li>
3322
3323        <li>The <code>T(M)</code> command should only multiply the
3324        height by 10, not 20.</li>
3325
3326        <li>Make the <code>S(E)</code> command reset more state
3327        than just the screen contents.</li>
3328
3329        <li>Remove two rotation variables which were only being
3330        printed.</li>
3331
3332        <li>Numerous minor fixes and comment updates in the
3333        <code>R</code> command.</li>
3334
3335        <li>Unknown <code>R</code> command option names trigger an
3336        empty response.</li>
3337
3338        <li>Fix the output position after printing rotated text (it
3339        was missing the the sign before).</li>
3340
3341        <li>Fix the position change with pixelvectors and rotated
3342        text (the rotation transform was not being applied).</li>
3343
3344        <li>Update the <em>TODO</em> list and remove a verification
3345        <em>FIXME</em> (slanted text positioning is correct as
3346        is).</li>
3347
3348        <li>Emulate the approximately 1.4x enlargement for text
3349        which isn't rotated at right angles.</li>
3350
3351        <li>Only update the color planes specified in the plane
3352        mask (the <code>W</code> command's <code>F</code>
3353        option).</li>
3354      </ul>
3355    </li>
3356
3357    <li>fix a bug introduced by the changes to font information in
3358    <a href="#xterm_328">patch #328</a>. When processing the
3359    "checkfont" option of the <code>locale</code> resource, the
3360    program referred to the <em>request</em> data, to an array
3361    which was only allocated in the <em>new/result</em> widget
3362    (report by H Merijn Brand).</li>
3363
3364    <li>fix a missing assignment initialization to make the
3365    <code>utf8</code> resource control whether escape sequences to
3366    enable/disable UTF-8 mode are allowed.</li>
3367  </ul>
3368
3369  <h1><a name="xterm_328" id="xterm_328">Patch #328 -
3370  2017/06/01</a></h1>
3371
3372  <ul>
3373    <li>revise parser for <code>charClass</code> resource, making
3374    these improvements:
3375      <ul>
3376        <li>accept octal and hexadecimal values</li>
3377
3378        <li>allow embedded whitespace</li>
3379
3380        <li>allow the class after colon to be optional, e.g., to
3381        clear class settings for a range of characters.</li>
3382      </ul>
3383    </li>
3384
3385    <li>add command-line option
3386    <code>-report-charclass</code>.</li>
3387
3388    <li>fix most lintian warnings about test-package</li>
3389
3390    <li>add <code>eraseSavedLines</code> resource.</li>
3391
3392    <li>document <code>DECSED&nbsp;3</code> in
3393    <code>ctlseqs.ms</code> (report by Ben Longmans).</li>
3394
3395    <li>improve integration between configure-events and updates
3396    for reported screensize, in particular when switching between
3397    vt100 and tek4014 modes.</li>
3398
3399    <li>modify selection-highlighting of reverse-video text to keep
3400    that distinct, e.g., by reversing the selection foreground and
3401    background colors as one would expect. This fixes a "useless"
3402    case in the description of
3403    <code>highlightColorMode</code>.</li>
3404
3405    <li>improve fix for Debian #759734, addressing a case where
3406    non-colored cursor would be invisible against reverse-video
3407    (see <a href="#xterm_311">patch #311</a>).</li>
3408
3409    <li>updates for ReGIS (Ross Combs):
3410      <ul>
3411        <li>the "H" option of the "T" command should multiply by
3412        10, not 20.</li>
3413
3414        <li>display unknown glyphs as a solid block.</li>
3415
3416        <li>given a succession of text-direction options, use the
3417        last.</li>
3418
3419        <li>fix the direction of ReGIS slanted text so that
3420        negative values produce oblique output .</li>
3421
3422        <li>fix the ReGIS text direction option to only rotate
3423        characters when no following size option is used.</li>
3424      </ul>
3425    </li>
3426
3427    <li>update terminfo to better match corresponding entries in
3428    ncurses, e.g., <code>u8</code> pattern to match the VT220,
3429    VT420, etc., primary responses, as well as adding
3430    <code>smxx</code> and <code>rmxx</code>.</li>
3431
3432    <li>fixes from J&ouml;rg Sommer:
3433      <ul>
3434        <li>corrected a trace-message regarding maximum
3435        graphics-size; it used the similar ReGIS maximum size which
3436        might not be configured.</li>
3437
3438        <li>in <code>do_select_regex</code>, clear selection if
3439        there is no match. If the regex does not match anything
3440        around the cursor, the selection returned must be empty,
3441        otherwise the whole line is treated as a match. This way
3442        the command defined by <code>exec-selectable</code> will
3443        not be executed if there is no match.</li>
3444
3445        <li>modify limit in <code>do_select_regex</code> to include
3446        the character at the cursor in the match, making it easier
3447        to type something and then hit the key to trigger
3448        <code>exec-selectable</code>.</li>
3449
3450        <li>If <code>exec-selectable</code> or
3451        <code>insert-selection</code> is triggered by a mouse
3452        button click, the position of the mouse pointer should be
3453        used. This makes it easier to address any position on the
3454        window and it makes it possible to use the mouse, e.g., for
3455        applications such as mutt where you cannot move the
3456        cursor.</li>
3457      </ul>
3458    </li>
3459
3460    <li>modify <code>DECRC</code> to save/restore xterm's
3461    last-column flag used to control wrapping behavior rather than
3462    manipulating <code>DECAWM</code> (report/analysis by Mattias
3463    Engdeg&aring;rd).</li>
3464
3465    <li>add configure option <code>--enable-terminfo-env</code> to
3466    use the value set by <code>--with-own-terminfo</code> for the
3467    <code>$TERMINFO</code> environment variable. That variable was
3468    set automatically for HPUX, but would be useful in other
3469    systems, e.g., for Solaris (request by Jeff Wieland).</li>
3470
3471    <li>fix a race condition when setting up a signal handler to
3472    timeout if opening <code>/dev/tty</code> hangs (patch by Tobias
3473    Stoeckmann).</li>
3474
3475    <li>review/cleanup resources which were not in the manual page
3476    (report by Maxwell Anselm):
3477      <ul>
3478        <li>add manual page description as needed.</li>
3479
3480        <li>drop resource name for <code>menuBar</code>, as
3481        unnecessary.</li>
3482
3483        <li>modify fallback numeric value for
3484        <code>regisScreenSize</code> resource to match that for
3485        <code>maxGraphicSize</code>.</li>
3486      </ul>
3487    </li>
3488
3489    <li>updated configure macros <code>CF_ADD_CFLAGS</code>,
3490    <code>CF_CC_ENV_FLAGS</code>, <code>CF_GNU_SOURCE</code>,
3491    <code>CF_MATH_LIB</code>, and <code>CF_XOPEN_SOURCE</code> from
3492    other program-changes.</li>
3493
3494    <li>update config.guess, config.sub</li>
3495
3496    <li>change &ldquo;maximum screensize&rdquo; assumed by
3497    <code>resize</code> to 9999x9999, to accommodate people using
3498    the <em><code>Unreadable</code></em> font.</li>
3499
3500    <li>drop <code>Utility</code> from default value of
3501    <code>--with-desktop-category</code> (Debian #780176).</li>
3502
3503    <li>widen the configure script pattern used for finding related
3504    ".desktop" files, including &ldquo;Terminal&rdquo;</li>
3505
3506    <li>several minor improvements to font utility functions:
3507      <ul>
3508        <li>provide for later modification to implement font-sets
3509        by parsing the font resources as comma-separated
3510        lists.</li>
3511
3512        <li>parse <code>-fn</code> and <code>-fa</code> similarly,
3513        using &ldquo;x:&rdquo; and &ldquo;xft:&rdquo; prefixes for
3514        font name/family strings to distinguish between XLFD and
3515        Xft font specifications.</li>
3516
3517        <li>use loops to iterate over font classes</li>
3518
3519        <li>use getters/setters for font data to allow for
3520        on-demand lookups.</li>
3521
3522        <li>make the debugging trace for missing glyph less verbose
3523        since that interferes with the <code>-report-fonts</code>
3524        option.</li>
3525
3526        <li>refactor <code>xtermLoadFont</code> to make it clearer
3527        how some fonts are derived from others, e.g., bold,
3528        wide.</li>
3529
3530        <li>make the triggering and suppressing of font-warnings
3531        more consistent by storing the last state in the
3532        widget.</li>
3533
3534        <li>reduce font-warnings by checking for repeated
3535        warnings.</li>
3536      </ul>
3537    </li>
3538
3539    <li>add <code>vttests/query-status.pl</code></li>
3540
3541    <li>add <code>vttests/closest-rgb</code></li>
3542
3543    <li>add special case for displaying soft-hyphen if it happens
3544    to fall at the right margin, and omitting similar case such as
3545    the BIDI markers, where a zero-width character is neither a
3546    control character nor a combining character (Debian
3547    #844325).</li>
3548
3549    <li>modify logic for <code>OSC&nbsp;52</code>, <em>manipulate
3550    selection data</em>, to update the selection-time to include
3551    the latest X events. This fixes some cases where the selection
3552    was invalid, e.g., after an event due to focus-follows-mouse
3553    (report/testcase by Stephane Chauveau).</li>
3554
3555    <li>revise macro <code>CastMallocN</code> as new macro
3556    <code>TextAlloc</code> to make explicit use of
3557    <code>sizeof(char)</code> (prompted by patch by Cade
3558    Foster).</li>
3559
3560    <li>add <em>&ldquo;Mouse Ops&rdquo;</em> menu entry and related
3561    resources to allow runtime disabling/enabling of the mouse
3562    protocol escape sequences (discussion with Bob Proulx).</li>
3563
3564    <li>improve discussion of mouse actions versus protocol in the
3565    manual (discussion with Bob Proulx).</li>
3566
3567    <li>improve discussion of environment variables in the manual,
3568    pointing out where some features (such as termcap and the
3569    System5 <code>COLUMNS</code> and <code>LINES</code> variables)
3570    are used rarely, mainly to support legacy applications.</li>
3571
3572    <li>add examples of <code>translations</code> resource for
3573    select/paste, and for font-size changes to the manual.</li>
3574
3575    <li>minor reordering of some entries in <code>ctlseqs.ms</code>
3576    for consistency (report by Arran Ubels).</li>
3577
3578    <li>add <code>-s</code> option to <code>256colors2.pl</code>
3579    and <code>88colors2.pl</code>, to demonstrate modifying the
3580    &ldquo;system&rdquo; colors 0&ndash;15.</li>
3581
3582    <li>omit <code>XFT_SPACING</code> property from call to <code>
3583      XftPatternBuild</code>, to work around a bug in
3584      <em>fontconfig</em> for handling Google Go fonts, whose names
3585      sort in an order not expected by <em>fontconfig</em>, causing
3586      the request for a monospaced font to return <em>italics</em>,
3587      e.g.,
3588      <blockquote>
3589        <pre>
3590$ fc-match 'Go Mono:spacing=monospace'
3591Go-Mono-Italic.ttf: "Go Mono" "Italic"
3592(report by Giacomo Boffi on <a href=
3593"http://unix.stackexchange.com/questions/324941/xterm-displays-an-italic-face-instead-of-regular">Stackoverflow</a>).
3594
3595</pre>
3596      </blockquote>
3597    </li>
3598
3599    <li>modify <code>minstall.in</code> to improve a workaround
3600    added to the manual page in <a href="#xterm_182">patch #182</a>
3601    to avoid having the C preprocessor used in the imake
3602    configuration strip out the comments in the character classes
3603    section (reports by Ted Unangst, Anthony J Bentley).</li>
3604  </ul>
3605
3606  <h1><a name="xterm_327" id="xterm_327">Patch #327 -
3607  2016/10/07</a></h1>
3608
3609  <ul>
3610    <li>add a check in the function which handles end-of-line
3611    wrapping to ensure that C1 controls are allocated one column
3612    when <code>allowC1Printable</code> is set (Debian
3613    #738794).</li>
3614
3615    <li>use consistent error-checking after <code>strtol</code>
3616    calls, fixes a case where a query with OSC 6 did not ensure
3617    there was a valid color number (report by Alex Smith).</li>
3618
3619    <li>add <code>-baudrate</code> option, for testing
3620    ncurses.</li>
3621
3622    <li>always generate the <code>CASE_<em>xxx</em></code> symbols
3623    in <code>VTparse.h</code> and <code>Tekparse.h</code>, as part
3624    of a change to improve debug-logging. This makes the build
3625    always depend upon <code>awk</code>.</li>
3626
3627    <li>modify <code>allowC1Printable</code> to disallow codes
3628    160-254 as being equivalent to codes 32-126 when parsing escape
3629    sequences (Debian #839220).</li>
3630
3631    <li>amend fix from <a href="#xterm_326">patch #326</a> for
3632    TrueType fonts to exclude the hidden character used for
3633    double-width cells (report by Grady Martin).</li>
3634
3635    <li>fix a typo in <code>ctlseqs.ms</code></li>
3636  </ul>
3637
3638  <h1><a name="xterm_326" id="xterm_326">Patch #326 -
3639  2016/09/25</a></h1>
3640
3641  <ul>
3642    <li>updated appdata file (report by Richard Hughes).</li>
3643
3644    <li>improve discussion of the different terminal emulations
3645    provided by xterm in the manual page.</li>
3646
3647    <li>add examples of setting the icon title with/without the
3648    window title in the manual (Debian #833984).</li>
3649
3650    <li>correct a limit-check when using a numeric value for
3651    extended Booleans e.g., <code>*fullscreen:3</code> rather than
3652    a name such as <code>*fullscreen:never</code>.</li>
3653
3654    <li>add action <code>allow-bold-fonts</code></li>
3655
3656    <li>improved formatting fixes for manual page, using script to
3657    find mismatches in spelling of resources, actions and menu
3658    entries.</li>
3659
3660    <li>improve documentation of logging resources.</li>
3661
3662    <li>fix a special case of flickering cursor by adding
3663    <code>GraphicsExpose</code> to the list of event types that
3664    should not trigger making the mouse cursor visible (patch by
3665    Joe Peterson).</li>
3666
3667    <li>correct initialization of line-drawing in VT52-mode,
3668    overlooked in changes for <a href="#xterm_297">patch #297</a>
3669    (report/patch by Ben Wiley Sittler).</li>
3670
3671    <li>minor clarification of form-feed versus line-feed in
3672    <code>ctlseqs.ms</code> (suggested by David Kemper).</li>
3673
3674    <li>amend fix for Debian #738794 to restore a check for missing
3675    characters which are <em>not</em> combining characters. Also
3676    fill in a corresponding special case for TrueType fonts (Debian
3677    #827905).</li>
3678  </ul>
3679
3680  <h1><a name="xterm_325" id="xterm_325">Patch #325 -
3681  2016/06/05</a></h1>
3682
3683  <ul>
3684    <li>improve manual page discussion of function keys (discussion
3685    with Ross Combs).</li>
3686
3687    <li>further improve fix for Debian #545220 in <a href=
3688    "#xterm_248">patch #248</a>, to avoid conflict with combining
3689    characters (Debian #738794).</li>
3690
3691    <li>improve <code>-hold</code> option to avoid 100% CPU usage
3692    with NetBSD after closing the shell, which makes subsequent
3693    checks for X input events fail (prompted by patch by Pierre
3694    Pronchery).</li>
3695
3696    <li>review <code>#ifdef</code> statements, listed those which
3697    do not have a configure option in
3698    <code>xtermcfg.hin</code>.</li>
3699
3700    <li>fixed one case where the menu sensistivity for
3701    <em>Print-All Immediately</em> and <em>Print-All on Error</em>
3702    was not properly ifdef'd.</li>
3703
3704    <li>modify terminfo entries for 16-, 88- and 256-color to reset
3705    palette with <code>rs1</code> capability.</li>
3706
3707    <li>accept <code>legacy</code> value of <code>-kt</code> as
3708    synonym for the <code>oldXtermFKeys</code> resource, and extend
3709    the full-reset logic to use the keyboard type set via
3710    <code>-kt</code>.</li>
3711
3712    <li>modify <code>ioctl</code> calls for <code>I_PUSH</code> to
3713    first check if the module has been added, using
3714    <code>I_FIND</code>. This is needed for newer Solaris libraries
3715    with c11 support (adapted from patch by Alan Coopersmith).</li>
3716
3717    <li>add check in <code>getXtermCombining</code> to ensure that
3718    combining characters were allocated (report by Tor
3719    Andersson).</li>
3720
3721    <li>add configure option <code>--without-xinerama</code> to
3722    allow suppressing the extension (Gentoo #580936).</li>
3723
3724    <li>update keysym2ucs.c based on Unicode 9.0</li>
3725
3726    <li>fixed most <code>cppcheck --enable=all</code> warnings,
3727    including for style (prompted by report by David Binderman).
3728    There was one bug-fix:
3729      <ul>
3730        <li>RGB least-squares computation in
3731        <code>allocateClosestRGB</code> used only one ordinate</li>
3732      </ul>
3733    </li>
3734
3735    <li>add <code>cppcheck</code> to lint-like programs in
3736    configure script and makefile.</li>
3737
3738    <li>fix some const correctness issues and point out an array
3739    lifetime issue (Ross Combs).</li>
3740
3741    <li>updates for SIXEL and ReGIS (Ross Combs):
3742      <ul>
3743        <li>Sixel drawing should still happen after an error if
3744        some commands have been processed</li>
3745
3746        <li>Tiny steps toward reporting ReGIS input</li>
3747      </ul>
3748    </li>
3749  </ul>
3750
3751  <h1><a name="xterm_324" id="xterm_324">Patch #324 -
3752  2016/03/10</a></h1>
3753
3754  <ul>
3755    <li>updated configure macro <code>CF_LD_RPATH_OPT</code> from
3756    ncurses changes.</li>
3757
3758    <li>provide alternate fix for Juha Nurmela's report by turning
3759    on POSIX signals if <code>_POSIX_C_SOURCE</code> is at least
3760    one. This is done to improve the behavior if a direct child
3761    process receives a <code>STOP</code> signal.</li>
3762
3763    <li>revert change to <code>CF_POSIX_C_SOURCE</code> from
3764    <a href="#xterm_323">patch #323</a> (reports by Ashish Shukla,
3765    Christian Weisgerber).</li>
3766  </ul>
3767
3768  <h1><a name="xterm_323" id="xterm_323">Patch #323 -
3769  2016/03/07</a></h1>
3770
3771  <ul>
3772    <li>updated appdata and desktop files to add keywords (report
3773    by Richard Hughes).</li>
3774
3775    <li>modify configure macro <code>CF_POSIX_C_SOURCE</code> to
3776    accommodate some systems, e.g., FreeBSD, which have separated
3777    their implementation specific preprocessor symbols from the
3778    POSIX ones, requiring both to be defined (report by Juha
3779    Nurmela).</li>
3780
3781    <li>change the directory to the current working dir of the
3782    child process in exec-formatted and exec-selectable actions
3783    (patch by Alexander Pohoyda).</li>
3784
3785    <li>correct typo in xterm.man (patch by Larry Hynes).</li>
3786
3787    <li>correct typo in ctlseqs.ms (report by Shriramana
3788    Sharma).</li>
3789
3790    <li>add feature to support XHTML and SVG screen dumps (patch by
3791    Jens Schweikhardt).</li>
3792
3793    <li>correct response to DECRQSS when terminal id is less than
3794    400 (patch by Iwamoto Kouichi).</li>
3795  </ul>
3796
3797  <h1><a name="xterm_322" id="xterm_322">Patch #322 -
3798  2016/01/02</a></h1>
3799
3800  <ul>
3801    <li>fix regression due to incorrect fix for compiler warning
3802    when allocating storage for <code>/etc/shells</code> (reports
3803    by Ashish Shukla, Debian #809646).</li>
3804  </ul>
3805
3806  <h1><a name="xterm_321" id="xterm_321">Patch #321 -
3807  2015/12/31</a></h1>
3808
3809  <ul>
3810    <li>add resource <code>keepClipboard</code>, escape sequence
3811    and action <code>keep-clipboard</code>.</li>
3812
3813    <li>add optional feature to capture text copied to clipboard at
3814    the time of copying rather than at the time the clipboard
3815    contents are requested for pasting (patch by Milan
3816    Mehner).</li>
3817
3818    <li>improve a special case where the <code>-e</code> option was
3819    used to pass a single-quoted command via <code>luit</code>, by
3820    wrapping it in a &ldquo;sh -c&rdquo; (report by Keith
3821    Hedger).</li>
3822
3823    <li>minor fix for type-cleanliness when allocating storage for
3824    <code>/etc/shells</code> (Tobias Stoeckmann).</li>
3825
3826    <li>fix a typo in manual page (Dan Church).</li>
3827
3828    <li>fix minor file-descriptor leak; after calling
3829    <code>openpty</code>, the slave's file descriptor is not needed
3830    (report by Juha Nurmela).</li>
3831
3832    <li>editorial change to ctlseqs.ms (report by David
3833    Gomboc).</li>
3834
3835    <li>minor updates for autoconf macros.</li>
3836
3837    <li>update config.guess, config.sub</li>
3838  </ul>
3839
3840  <h1><a name="xterm_320" id="xterm_320">Patch #320 -
3841  2015/08/28</a></h1>
3842
3843  <ul>
3844    <li>correct documentation for <code>%t</code> format (report by
3845    Martin Tournoij).</li>
3846
3847    <li>add <code>%R</code> for consistency to
3848    <code>exec-formatted()</code> and
3849    <code>insert-formatted()</code> actions.</li>
3850
3851    <li>add <code>%r</code> format to <code>exec-formatted()</code>
3852    and <code>insert-formatted()</code> actions (patch by Martin
3853    Tournoij).</li>
3854
3855    <li>Amend fix for Debian #794201 (report forwarded from
3856    Christian Jachmann by Emanuel Haupt, Debian #797008).</li>
3857  </ul>
3858
3859  <h1><a name="xterm_319" id="xterm_319">Patch #319 -
3860  2015/08/19</a></h1>
3861
3862  <ul>
3863    <li>add a section to <code>ctlseqs.ms</code> discussing control
3864    sequences and ECMA-48, to explain why C1 controls do not occur
3865    in the decoded characters from UTF-8 byte streams (prompted by
3866    discussion with Poul-Henning Kamp).</li>
3867
3868    <li>modify check for cursor-theme from <a href=
3869    "#xterm_301">patch #301</a> to also check if the resource
3870    <code>Xcursor.theme</code> is set to a nonempty value before
3871    fallback to xterm's own dummy theme (request by Robert
3872    Kloefkorn).</li>
3873
3874    <li>explain in <code>ctlseqs.ms</code> that some keys which
3875    normally send SS3-prefixes are changed to CSI-prefixes if
3876    key-modifiers are passed as parameters (report by George
3877    Nachman).</li>
3878
3879    <li>correct double-free of font information when multiple
3880    problems are found, particularly for the wide fonts loaded via
3881    the <code>-wc</code> option (report/testcase by Nelson
3882    Beebe).</li>
3883
3884    <li>make configure option <code>--enable-builtin-xpms</code>
3885    actually work (report by William Bulley).</li>
3886
3887    <li>correct combination of <code>-ls</code> and <code>-e</code>
3888    options for utempter configuration (Debian #794201).</li>
3889
3890    <li>NetBSD build-fix for OPT_RENDERFONT versus OPT_SHIFT_FONTS
3891    (patch by Matthew Green, forwarded by Thomas Klausner).</li>
3892
3893    <li>fix a few minor bugs found with Coverity.</li>
3894
3895    <li>update pixelvector handling (Ross Combs):
3896      <ul>
3897        <li>split pixel-based and coord-based functions with common
3898        parts factored out to a "raw" function</li>
3899
3900        <li>add a "step" variant which loads a single PV digit</li>
3901      </ul>
3902    </li>
3903
3904    <li>make the graphic dirty upon resize or clear, fixing some
3905    missing refreshes (patch by Ross Combs)</li>
3906
3907    <li>fixes scrolling to use user coordinates and move in the
3908    correct direction (patch by Ross Combs)</li>
3909
3910    <li>several fixes/improvements for ReGIS whitespace and
3911    page-handling (patch by Ross Combs).</li>
3912  </ul>
3913
3914  <h1><a name="xterm_318" id="xterm_318">Patch #318 -
3915  2015/04/12</a></h1>
3916
3917  <ul>
3918    <li>rename new(er) configure option
3919    <code>--enable-initial-erase</code> to
3920    <code>--enable-pty-erase</code>, since that conflicted with an
3921    existing option (report by Jens Schweikhardt).</li>
3922
3923    <li>fix cut/paste error in <code>--with-builtin-xpms</code>
3924    configure option (reports by Jens Schweikhardt, Ross
3925    Combs).</li>
3926
3927    <li>fix minor formatting issue in xterm manual (report by Jens
3928    Schweikhardt).</li>
3929
3930    <li>eliminate unnecessary "#(vi" markers in autoconf macros by
3931    using "(" to begin case-statement cases (suggested by Jens
3932    Schweikhardt).</li>
3933
3934    <li>minor fixes to improve <code>const</code> usage (Ross
3935    Combs).</li>
3936  </ul>
3937
3938  <h1><a name="xterm_317" id="xterm_317">Patch #317 -
3939  2015/03/27</a></h1>
3940
3941  <ul>
3942    <li>adapt example for <code>exec-formatted</code> from <a href=
3943    "http://lukas.zapletalovi.com/2013/07/hidden-gems-of-xterm.html">
3944    Luk&aacute;&scaron; Zapletal's</a> webpage to manual (Debian
3945    #780008).</li>
3946
3947    <li>add a short usage section to the xterm manual, including
3948    notes on setting the window title (Debian #742477).</li>
3949
3950    <li>revise a change made to <code>ICH</code> in <a href=
3951    "#xterm_314">patch #314</a> to address limit-checks
3952    (reports/testcases by Zolt&aacute;n K&eacute;ri and Joe
3953    Peterson, also reported by Christian Weisgerber).</li>
3954  </ul>
3955
3956  <h1><a name="xterm_316" id="xterm_316">Patch #316 -
3957  2015/03/07</a></h1>
3958
3959  <ul>
3960    <li>revert change to make <code>DCH</code> honor top/bottom
3961    scrolling margins. For the record, both the VT420 and VT520
3962    reference manuals incorrectly state that <em>"DCH has no effect
3963    outside the scrolling margins."</em></li>
3964
3965    <li>fix regression in <code>DCH</code> introduced in adjustment
3966    for limit-check in <a href="#xterm_314">patch #315</a>
3967    (report/testcase by Zolt&aacute;n K&eacute;ri, also reported by
3968    Christian Weisgerber).</li>
3969
3970    <li>correct default value for configure option
3971    <code>--enable-initial-erase</code>; it should be "False", but
3972    in <a href="#xterm_315">patch #315</a> it was "Maybe", which
3973    differed from default set in <a href="#xterm_192">patch
3974    #192</a>.</li>
3975  </ul>
3976
3977  <h1><a name="xterm_315" id="xterm_315">Patch #315 -
3978  2015/03/02</a></h1>
3979
3980  <ul>
3981    <li>change default for <code>--enable-narrowproto</code> for
3982    Cygwin to "no" to better match contemporary configurations
3983    (report by Jens Schweikhardt, prompted by <a href=
3984    "http://stackoverflow.com/questions/28137618/what-is-a-narrow-prototype-and-why-would-i-need-one/28334574?noredirect=1#comment45022128_28334574">
3985    discussion</a>).</li>
3986
3987    <li>provide <code>OSC&nbsp;106</code> as an alternative to
3988    <code>OSC&nbsp;6</code>, avoiding conflict with one of
3989    Terminal.app's undocumented escape sequences (report by Egmont
3990    Koblinger).</li>
3991
3992    <li>fix an off-by-one in comparison when autowrap and
3993    left/right margins are combined (report by George
3994    Nachman).</li>
3995
3996    <li>modify <code>DECBI</code> and <code>DECFI</code> to work
3997    outside the left/right margins, since the vague VT520 reference
3998    manual could support that interpretation (suggested by George
3999    Nachman).</li>
4000
4001    <li>correct response for <code>DECSCUSR</code> in
4002    <code>DECRQSS</code> (report/analysis by George Nachman).</li>
4003
4004    <li>add <code>DECSLRM</code> to list for <code>DECRQSS</code>
4005    in ctlseqs.ms (report by George Nachman).</li>
4006
4007    <li>improve limit-checks versus assert's in the debugging
4008    version (reports by George Nachman).</li>
4009
4010    <li>correct a problem with multiple writes to the right-margin
4011    when autowrap is turned off (report by George Nachman, also
4012    reported in Gnome #744819 by Ulf Magnusson).</li>
4013
4014    <li>modify <code>DCH</code> to honor top/bottom and left/right
4015    margins (report by George Nachman).</li>
4016
4017    <li>correct off-by-one in comparison so that <code>DL</code>
4018    honors left/right margins (report by George Nachman).</li>
4019
4020    <li>correct logic of <code>DECSCL</code>, which always set
4021    8-bit controls as a side-effect (report by George
4022    Nachman).</li>
4023
4024    <li>correct loop limit for <code>DECSED&nbsp;1</code>, when
4025    <code>DECSCA</code> is enabled (report by George Nachman).</li>
4026
4027    <li>fix a entry in csi_table for &ldquo;<code>$</code>&rdquo;,
4028    needed for <code><em>CSI</em>&nbsp;[&nbsp;$&nbsp;z</code>
4029    (report by George Nachman).</li>
4030
4031    <li>remove restriction from <a href="#xterm_279">patch #279</a>
4032    changes on <code>DECIC</code> and <code>DECDC</code> to
4033    left-right mode (report by George Nachman).</li>
4034
4035    <li>correct PID value returned in response to DECRQCRA
4036    (report/analysis by George Nachman).</li>
4037
4038    <li>fix an ifdef'ing problem, where
4039    <code>--disable-dec-locator</code> would turn off logic needed
4040    for <code>DECIC</code> and <code>DECDC</code> (report by George
4041    Nachman).</li>
4042
4043    <li>correct order of parameters in report for
4044    <code><em>CSI</em>&nbsp;1&nbsp;9&nbsp;t</code>, which gives the
4045    screensize in characters (report by George Nachman).</li>
4046
4047    <li>add null pointer checks for a case in DECCRA where part of
4048    the target rectangle lies outside the screen limits (report by
4049    George Nachman).</li>
4050
4051    <li>remove extra "6" for selective erase from DA1 response
4052    (report by George Nachman).</li>
4053
4054    <li>support Xinerama screen specification in geometry parsing
4055    (patch by Nicolas George).</li>
4056
4057    <li>add configure option <code>--enable-initial-erase</code> to
4058    set <code>ptyInitialErase</code> consistently with manpage, as
4059    well as adding a table in manpage to clarify the relationship
4060    between the resources related to the backarrow key (Debian
4061    #775952).</li>
4062
4063    <li>add configure <code>--enable-builtin-xpms</code> to
4064    simplify compiling-in the icons introduced in <a href=
4065    "#xterm_284">patch #284</a> (prompted by discussion with
4066    William Bulley).</li>
4067
4068    <li>fix/improve autoconf macros:
4069      <ul>
4070        <li>CF_WITH_APP_DEFAULTS, add paths for OSX</li>
4071
4072        <li>CF_WITH_MAN2HTML, configure option "--with-man2html"
4073        provides "man2html" as alternative to groff's man/html
4074        conversion</li>
4075      </ul>
4076    </li>
4077
4078    <li>fix some minor issues in manpage (Jens Schweikhardt).</li>
4079  </ul>
4080
4081  <h1><a name="xterm_314" id="xterm_314">Patch #314 -
4082  2014/12/28</a></h1>
4083
4084  <ul>
4085    <li>fix a minor bug in the termcap-specific version of
4086    <code>resize</code> when the lines or columns values are at the
4087    very end of an incomplete termcap string (prompted by coverity
4088    report).</li>
4089
4090    <li>improve paste64 feature (report by Olaf Rogalsky)
4091      <ul>
4092        <li>fix &ldquo;<code>p</code>;&rdquo; command in
4093        <code>paste64.pl</code> example.</li>
4094
4095        <li>modify <code>_OwnSelection</code> to allow the paste64
4096        control to cause primary/clipboard selections to be
4097        disowned and cleared.</li>
4098
4099        <li>omit an extra "=" used in padding, to make the base64
4100        response a multiple of four characters.</li>
4101
4102        <li>modify <code>_ConvertSelectionHelper</code> to not stop
4103        converting on embedded nulls in the primary or clipboard
4104        selection. That makes the behavior consistent with
4105        cut-buffers. Nulls are not passed on to the application
4106        because they are used for separators in the X library calls
4107        that convert <code>XTextProperty</code> values.</li>
4108      </ul>
4109    </li>
4110
4111    <li>add configure option <code>--with-man2html</code> to allow
4112    an alternative to groff's man/html conversion.</li>
4113
4114    <li>review and modify resource-settings which can be set via
4115    control sequences, etc:
4116      <ul>
4117        <li>add <code>OSC&nbsp;6</code>, to enable/disable colors
4118        set via <code>OSC&nbsp;5</code>, without changing the color
4119        assignments (prompted by patch by Ingo Br&uuml;ckl).</li>
4120
4121        <li>add command-line option <code>-itc</code> for
4122        italics.</li>
4123
4124        <li>add <code>colorIT</code> and <code>colorITMode</code>
4125        for italics, like <code>colorBD</code>, etc.</li>
4126
4127        <li>guard <code>allowPasteControls</code> against
4128        modification by <code>editres</code>.</li>
4129      </ul>
4130    </li>
4131
4132    <li>change <code>passedPty</code> from fixed-length to
4133    allocated to ensure that it is long enough to hold the
4134    <code>-S</code> option value (report by Ben Longbons).</li>
4135
4136    <li>improve ReGIS graphics initialization (Ross Combs):
4137      <ul>
4138        <li>add a new string resource to set the default ReGIS
4139        font.</li>
4140
4141        <li>fix a caching problem where the font name wasn't taken
4142        into consideration when looking up cached metrics.</li>
4143
4144        <li>enables use of fractional values in coordinates (which
4145        in turn allows setting the coordinates to something like
4146        [0,1][1,0])</li>
4147
4148        <li>doubles the minimum ReGIS graphic to 200x200</li>
4149
4150        <li>set the default ReGIS image size to "auto"</li>
4151
4152        <li>fix some swapped width/height parameters in TRACE
4153        messages</li>
4154
4155        <li>add support for scaling and mirrored coordinate systems
4156        to the screen address command</li>
4157
4158        <li>sets a minimum ReGIS graphics size of 100x100 --
4159        smaller address ranges will be scaled up</li>
4160
4161        <li>reset the image if either the width or height is zero
4162        (which should happen together or not at all, but switching
4163        the logic gets rid of some parentheses)</li>
4164
4165        <li>adds support for alternate screen coordinates (just
4166        offsets, not inverted coordinates or scaling)</li>
4167
4168        <li>keeps the graphics state across ReGIS calls unless P1
4169        or P3 entry codes are used</li>
4170
4171        <li>changes loops to continue after parsing whitespace to
4172        allow trailing whitespace</li>
4173
4174        <li>fixes some incorrect character casts</li>
4175      </ul>
4176    </li>
4177  </ul>
4178
4179  <h1><a name="xterm_313" id="xterm_313">Patch #313 -
4180  2014/11/28</a></h1>
4181
4182  <ul>
4183    <li>add <code>regisScreenSize</code> resource setting to allow
4184    custom screensizes for ReGIS graphics (prompted by discussion
4185    with Scott Froebe).</li>
4186
4187    <li>fix some minor issues in manpage (Jens Schweikhardt).</li>
4188
4189    <li>improve ReGIS font-handling (Ross Combs):
4190      <ul>
4191        <li>remove "random junk" generation for unknown
4192        characters</li>
4193
4194        <li>add xterm extension to load user glyphs for alphabet
4195        0</li>
4196
4197        <li>add xterm extension to specify loading an alphabet from
4198        a font by name</li>
4199
4200        <li>fix bug with use of empty alphabet slots which caused
4201        slot 0 to be clobbered</li>
4202
4203        <li>update/clarify ReGIS-related comments</li>
4204
4205        <li>add DECprint extension for printing/clearing the screen
4206        (only clearing is performed)</li>
4207      </ul>
4208    </li>
4209
4210    <li>improve ReGIS colorspec conversion (Ross Combs):
4211      <ul>
4212        <li>avoid some floating point math for colorspace
4213        conversion</li>
4214
4215        <li>move two copies of colorspec parsing to a single
4216        function</li>
4217
4218        <li>change colorspec parsing to handle components being out
4219        of order or with spaces and commas between them</li>
4220
4221        <li>add support for an extension where RGB components can
4222        be given instead of HLS</li>
4223      </ul>
4224    </li>
4225
4226    <li>improve use of const, e.g., for the <code>LineData</code>
4227    pointers (patch by Ross Combs).</li>
4228
4229    <li>clip of graphics that overlap the scrollback buffer and alt
4230    screen (patch by Ross Combs).</li>
4231
4232    <li>amend change to focus-change events in <a href=
4233    "#xterm_287">patch #287</a> to limit it to suppressing the
4234    reset of the urgency-hint, because some useful
4235    <code>FocusOut</code> events were lost (report by Joe
4236    Peterson).</li>
4237
4238    <li>modify dpkg build-script to configure xterm-dev as an
4239    <code>x-terminal-emulator</code> alternative.</li>
4240
4241    <li>extend the <code>--with-xterm-symlink</code> feature to
4242    make symbolic links for the other programs and scripts.</li>
4243
4244    <li>minor fix to <code>vttests/resize.pl</code> to avoid
4245    undefined variable when receiving broken/missing response,
4246    e.g., from mrxvt.</li>
4247
4248    <li>change the way that ReGIS graphics are refreshed (patch by
4249    Ross Combs):
4250      <ul>
4251        <li>it pre-composes any overlapping graphics to avoid
4252        unnecessary and flickering draws</li>
4253
4254        <li>it adds a three-dimensional lookup table for RGB -&gt;
4255        pixel values and uses this across all graphics</li>
4256
4257        <li>it draws in line segments when there is a run of the
4258        same color</li>
4259
4260        <li>in cases where there are no transparent parts, it uses
4261        an XImage to draw</li>
4262
4263        <li>it hooks into the double-buffering support if it is
4264        enabled (though this doesn't seem to get rid of all
4265        flicker).</li>
4266      </ul>
4267      This has the effect of reducing flicker and speeding up
4268      redraws.
4269    </li>
4270  </ul>
4271
4272  <h1><a name="xterm_312" id="xterm_312">Patch #312 -
4273  2014/09/28</a></h1>
4274
4275  <ul>
4276    <li>undo change to <code>do_select_regex()</code> in <a href=
4277    "#xterm_311">patch #311</a> (reports by H Merijn Brand,
4278    Sven-Haegar Koch, Debian #762978).</li>
4279  </ul>
4280
4281  <h1><a name="xterm_311" id="xterm_311">Patch #311 -
4282  2014/09/18</a></h1>
4283
4284  <ul>
4285    <li>mention <code>xclip</code> in manpage as an alternative
4286    workaround for copying clipboard data, noting that
4287    <code>selectToClipboard</code> (see <a href="#xterm_209">patch
4288    #209</a>) is the recommended approach (Debian #639094).</li>
4289
4290    <li>correct comparison in do_select_regex() of working position
4291    against starting column.</li>
4292
4293    <li>correct initialization for regular-expression feature of
4294    <code>exec-selectable</code> and <code>insert-selectable</code>
4295    actions (Debian #758633).</li>
4296
4297    <li>modify logic for <code>exec-formatted</code> and
4298    <code>insert-formatted</code> actions to ensure that the
4299    formatting occurs just after the selection is received (Debian
4300    #758633).</li>
4301
4302    <li>account for state of reverse-video in special case of
4303    cursor coloring (Debian #759734).</li>
4304
4305    <li>fix a sign-extension problem in ReGIS support, as well as
4306    correcting a case where ignored-characters were not really
4307    ignored (patch by Ross Combs).</li>
4308
4309    <li>Enable the "Escape Sequence" menu entry when an OSC&nbsp;50
4310    is received. Also disable it if the escape sequence specifies
4311    no font (Debian #760208).</li>
4312
4313    <li>improve fix for the <code>fontsel</code> menu entry from
4314    <a href="#xterm_304">patch #304</a>: because the recovery used
4315    the "current font", it would fail if one first selected a valid
4316    font, then an invalid font (Debian #760207).</li>
4317
4318    <li>correct an off-by-one in limit-check for
4319    <code>ScrnLimitChar</code> function (report by Egmont
4320    Koblinger).</li>
4321  </ul>
4322
4323  <h1><a name="xterm_310" id="xterm_310">Patch #310 -
4324  2014/07/25</a></h1>
4325
4326  <ul>
4327    <li>update package/freebsd files based on xterm #309 port.</li>
4328
4329    <li>adapt changes from Minux3.2 which ported <a href=
4330    "#xterm_197">xterm #197</a>, to allow building on that platform
4331    both using <code>imake</code> as well as using the configure
4332    script.</li>
4333
4334    <li>update precompose.c based on Unicode 7.0</li>
4335
4336    <li>build-fix for <code>--with-Xaw3dxft</code> option (report
4337    by Emanuel Haupt).</li>
4338  </ul>
4339
4340  <h1><a name="xterm_309" id="xterm_309">Patch #309 -
4341  2014/07/13</a></h1>
4342
4343  <ul>
4344    <li>modify configure script to work around debris left by
4345    XQuartz upgrades.</li>
4346
4347    <li>modify test-package scripts to enable ReGIS graphics.</li>
4348
4349    <li>improvements/additions to ReGIS graphics, e.g., drawing
4350    text (Ross Combs).</li>
4351
4352    <li>add <code>--with-Xaw3dxft</code>, to link with Xaw 3d xft
4353    library (Stephen P Wall).</li>
4354
4355    <li>amend reset for cursor-shape to take into account
4356    <code>cursorUnderline</code> resource (report by Christian
4357    Weisgerber).</li>
4358
4359    <li>update config.guess, config.sub</li>
4360  </ul>
4361
4362  <h1><a name="xterm_308" id="xterm_308">Patch #308 -
4363  2014/06/19</a></h1>
4364
4365  <ul>
4366    <li>corrected font used for clipping double-width bitmap fonts
4367    from <a href="#xterm_307">patch #307</a> changes to work around
4368    mis-scaled fonts (Debian #752947).</li>
4369
4370    <li>improve wording of a warning message.</li>
4371  </ul>
4372
4373  <h1><a name="xterm_307" id="xterm_307">Patch #307 -
4374  2014/06/17</a></h1>
4375
4376  <ul>
4377    <li>fill background for top/bottom parts of
4378    double-width/double-height characters, to cover occasional gaps
4379    due to bitmap font-scaling (report by Egmont Koblinger).</li>
4380
4381    <li>amend resets for keyboard-type, pointer-mode and
4382    title-modes from <a href="#xterm_305">xterm #305</a> changes to
4383    account for resource settings (Debian #751351).</li>
4384
4385    <li>modify <em>printAttributes</em> feature to include new SGR
4386    codes.</li>
4387
4388    <li>modify cursor show/hide logic to work with italic
4389    fonts.</li>
4390
4391    <li>do clipping and filling for a case with bitmap-fonts and
4392    italics when the font server returns only a "close" match
4393    (report/testcase by Egmont Koblinger).</li>
4394
4395    <li>adjust loop comparison for underlining to display
4396    underlines on 5x8 font as in <a href="#xterm_304">patch
4397    #304</a> (Debian #750733).</li>
4398
4399    <li>amend fix for Freedesktop #15979 (Debian #750733).</li>
4400
4401    <li>amend xterm.appdata.xml, making it validate with current
4402    schema.</li>
4403  </ul>
4404
4405  <h1><a name="xterm_306" id="xterm_306">Patch #306 -
4406  2014/06/03</a></h1>
4407
4408  <ul>
4409    <li>fixes for display-errors in new SGR codes (report by Egmont
4410    Koblinger).</li>
4411  </ul>
4412
4413  <h1><a name="xterm_305" id="xterm_305">Patch #305 -
4414  2014/06/02</a></h1>
4415
4416  <ul>
4417    <li>add <code>xterm.appdata.xml</code> (request by Richard
4418    Hughes). By the way, none of the <em>released</em> validators
4419    yet handle <code>&lt;licence&gt;</code> tags (or
4420    <code>&lt;metadata_license&gt;</code>, etc).</li>
4421
4422    <li>fix memory leaks in bitmap font-name caching.</li>
4423
4424    <li>other changes to hard-reset behavior:
4425      <ul>
4426        <li>reset keyboard-type on hard-reset.</li>
4427
4428        <li>reset pointer-mode (<code>pointerMode</code>) on
4429        hard-reset</li>
4430
4431        <li>reset title-modes (<code>titleModes</code>) on
4432        hard-reset</li>
4433
4434        <li>reset cursor-shape on hard or soft-reset</li>
4435
4436        <li>reset LEDs on hard-reset.</li>
4437
4438        <li>reset DECSACE on hard-reset.</li>
4439      </ul>
4440    </li>
4441
4442    <li>reset bracketed-paste mode on hard-reset (suggested by
4443    Egmont Koblinger).</li>
4444
4445    <li>modify UTF-8 decoder to account for
4446    <code>allowC1Printable</code> resource.</li>
4447
4448    <li>revise <code>getXftColor</code> to ensure that its sequence
4449    number will not overflow in long-running sessions.</li>
4450
4451    <li>minor fix to selection to prevent hidden character from
4452    being returned in selection data (report by Egmont
4453    Koblinger).</li>
4454
4455    <li>add <code>-sh</code> to help-message.</li>
4456
4457    <li>amend check for incomplete fonts to always decide that a
4458    character is missing if the font lacks per-character metrics
4459    (prompted by Freedesktop #15979).</li>
4460
4461    <li>minor reorganization to implement &ldquo;filler&rdquo; SGR
4462    features. There are no established applications which rely upon
4463    these; some people find them amusing.
4464      <ul>
4465        <li>separate bits used to manage drawing state from
4466        attribute-bits.</li>
4467
4468        <li>implement SGR codes 2, 3, 9, 21 and their corresponding
4469        resets.</li>
4470
4471        <li>add configure option <code>--disable-wide-attrs</code>
4472        to disable the feature.</li>
4473      </ul>
4474    </li>
4475
4476    <li>additional changes for ReGIS support (Ross Combs):
4477      <ul>
4478        <li>fix some arc drawing bugs and add support for pattern
4479        shading.</li>
4480      </ul>
4481    </li>
4482  </ul>
4483
4484  <h1><a name="xterm_304" id="xterm_304">Patch #304 -
4485  2014/05/03</a></h1>
4486
4487  <ul>
4488    <li>add debugging check for parsing table entries, fixed a few
4489    inconsistencies.</li>
4490
4491    <li>handle utmp/utmpx strings consistently with new function
4492    that null-pads unused locations.</li>
4493
4494    <li>build-fix for imake configuration with FreeBSD 9 and later,
4495    to account for replacing <code>utmp</code> with
4496    <code>utmpx</code>.</li>
4497
4498    <li>improve handling of the <code>fontsel</code>
4499    (font-selection) menu item:
4500      <ul>
4501        <li>initialize the menu entry differently if the toolbar
4502        configuration is used, i.e., enabling it without attempting
4503        to use the current selection as a font name. Because of the
4504        way in which the toolbar is setup, this attempt usually
4505        failed, and would result in a warning.</li>
4506
4507        <li>if the menu action fails, e.g., no font can be loaded
4508        for the given selected name, then recover by resuming with
4509        the current font. Before, the recovery went to the default
4510        font. That was done to work around missing bitmap font in
4511        <a href="#xterm_276">patch #276</a>.</li>
4512      </ul>
4513    </li>
4514
4515    <li>document OSC&nbsp;119 in the control sequences listing
4516    (report by Egmont Koblinger).</li>
4517
4518    <li>modify special handling of <code>XF86Paste</code> or
4519    <code>SunPaste</code> keysyms (see <a href="#xterm_227">patch
4520    #227</a>) to use the standard shift/lock modifiers in case
4521    those are, for example, used in level 3 in an XKB file (patch
4522    by Matthieu Herrb).</li>
4523
4524    <li>configure macro updates:
4525      <ul>
4526        <li>drop the <code>-no-gcc</code> option from
4527        CF_INTEL_COMPILER</li>
4528
4529        <li>modify CF_XOPEN_SOURCE to suppress the check for
4530        defining _XOPEN_SOURCE on Solaris</li>
4531      </ul>
4532    </li>
4533
4534    <li>reduce bss storage used for ReGIS/Sixel modules, as well as
4535    cleanup storage usage in other modules.</li>
4536
4537    <li>initial changes for ReGIS support (Ross Combs):
4538      <ul>
4539        <li>document control-sequences</li>
4540
4541        <li>separate ifdef's for sixel and color-register
4542        features</li>
4543
4544        <li>add configuration for VT382</li>
4545      </ul>
4546    </li>
4547  </ul>
4548
4549  <h1><a name="xterm_303" id="xterm_303">Patch #303 -
4550  2014/03/06</a></h1>
4551
4552  <ul>
4553    <li>improve check for <code>/etc/shells</code> to allow its
4554    entries to be symbolic links.</li>
4555
4556    <li>fix a regression in <a href="#xterm_302">patch #302</a>
4557    fixes relating to interaction of <code>SHELL</code> and
4558    <code>XTERM_SHELL</code> variables (Debian #740919).</li>
4559
4560    <li>improve manpage discussion of use of
4561    <code>/etc/shells</code> for validating the <code>SHELL</code>
4562    environment variable.</li>
4563
4564    <li>further improve the approximation for color map by ignoring
4565    bits which would not be applied by the rgb masks for the
4566    current visual (report by Joe Peterson).</li>
4567
4568    <li>add <code>-report-colors</code> to usage-message (report by
4569    Joe Peterson).</li>
4570  </ul>
4571
4572  <h1><a name="xterm_302" id="xterm_302">Patch #302 -
4573  2014/03/02</a></h1>
4574
4575  <ul>
4576    <li>amend approximation for color map introduced in <a href=
4577    "#xterm_277">patch #277</a> to make that apply only to
4578    <code>TrueColor</code> (adapted from patch by Joe
4579    Peterson).</li>
4580
4581    <li>add <code>-report-colors</code> option, to show colors as
4582    they are allocated.</li>
4583
4584    <li>fix some gcc <code>-Wcast-qual</code> warnings.</li>
4585
4586    <li>correct app-defaults location for CentOS-4 in
4587    xterm.spec</li>
4588
4589    <li>improve check in <code>minstall.sh</code> for X manpage's
4590    section number; add sample dependencies for the relevant
4591    documentation package to packaging test-scripts (prompted by
4592    Novell #779474).</li>
4593
4594    <li>modify sample build-scripts for dpkg and rpm to ensure that
4595    <code>vttests</code> scripts are uncompressed and
4596    executable.</li>
4597
4598    <li>modify Perl scripts in <code>vttests</code> to use
4599    <code>env</code> to find Perl rather than relying on
4600    <code>/usr/bin/perl</code> This makes the sample scripts usable
4601    with NetBSD and other systems using <em>pkgsrc</em>.</li>
4602
4603    <li>amend check from <a href="#xterm_301">patch #301</a> for
4604    valid shell to permit existing <code>SHELL</code> value to
4605    specify the shell; clarify the behavior in the manpage (report
4606    by Emmanuel Thom&eacute;).</li>
4607
4608    <li>amend change to wide-character processing from <a href=
4609    "#xterm_257">patch #257</a> to allow switching to/from UTF-8
4610    encoding if the <code>utf8</code> resource was not set to
4611    &ldquo;always&rdquo; (report by Honza Maly).</li>
4612
4613    <li>fix incorrect free from <a href="#xterm_301">patch #301</a>
4614    changes, if explicit program without <code>-e</code> option is
4615    a valid shell (patch by Romain Francoise).</li>
4616  </ul>
4617
4618  <h1><a name="xterm_301" id="xterm_301">Patch #301 -
4619  2014/01/19</a></h1>
4620
4621  <ul>
4622    <li>OSC&nbsp;104 and 105 did not accept parameter to reset a
4623    specific color (patch by Egmont Koblinger).</li>
4624
4625    <li>add configure check for <code>initgroups</code>, and use
4626    that function to complement its use of <code>setgid</code>
4627    (prompted by patch by Miroslav Lichvar).</li>
4628
4629    <li>improve manpage description of scrollbar translations
4630    versus the vt100 translations (Debian #723573).</li>
4631
4632    <li>add a few paragraphs to manpage explaining the implications
4633    of xterm's reliance on X Toolkit for command-line parsing.</li>
4634
4635    <li>modify cursor-theme logic to check if the environment
4636    variable <code>XCURSOR_THEME</code> is set to a nonempty value
4637    before constructing a dummy them (prompted by similar check
4638    added in OpenBSD CVS).</li>
4639
4640    <li>add check for a case where TrueType bold font is missing a
4641    glyph where the non-bold font has it. Temporarily switch to the
4642    non-bold font to draw the glyph (report by David
4643    Demelier).</li>
4644
4645    <li>minor documentation fixes for ctlseqs.ms</li>
4646
4647    <li>only set <code>SHELL</code> environment variable to
4648    programs found in <code>/etc/shells</code> (prompted by
4649    patch/report by Al Poole).</li>
4650
4651    <li>build-fix, when <code>--disable-wide-chars</code>
4652    <code>--disable-boxchar</code> is used (prompted by patch by
4653    Andrey Panov).</li>
4654  </ul>
4655
4656  <h1><a name="xterm_300" id="xterm_300">Patch #300 -
4657  2013/12/03</a></h1>
4658
4659  <ul>
4660    <li>amend workaround for <code>Xcursor</code> library from
4661    <a href="#xterm_298">patch #298</a>; the suggested solution for
4662    Debian #466704 fell afoul of a bug in <code>Xcursor</code>
4663    which treated an empty value for <code>Inherits=</code> as a
4664    valid theme&mdash;and resulted in a stack overflow due to
4665    unbounded recursion. Certain environments such as XFCE4 exposed
4666    the bug. A related report in Debian #531679 was closed without
4667    following the recommendation to limit stack recursion in this
4668    library (reported by Sergey V Dyatko, Debian #731269).</li>
4669  </ul>
4670
4671  <h1><a name="xterm_299" id="xterm_299">Patch #299 -
4672  2013/12/01</a></h1>
4673
4674  <ul>
4675    <li>fix regression in line-drawing from <a href=
4676    "#xterm_297">patch #297</a> changes for NRCS exposed by change
4677    to <code>assumeAllChars</code> resource in <a href=
4678    "#xterm_298">patch #298</a> (report by Markus Waldeck).</li>
4679  </ul>
4680
4681  <h1><a name="xterm_298" id="xterm_298">Patch #298 -
4682  2013/11/27</a></h1>
4683
4684  <ul>
4685    <li>quiet a warning about ambiguity when <code>-h</code>
4686    command-line option is parsed, since <code>-help</code> is used
4687    rather than the options mentioned in the message. This warning
4688    was caused by fixes in <a href="#xterm_272">patch
4689    #272</a>.</li>
4690
4691    <li>remove an extra check for keypad-mode which interfered with
4692    the <a href="#xterm_280">patch #280</a>
4693    <code>modifyKeyboard</code> feature for the numeric keypad
4694    (report by David Conners).</li>
4695
4696    <li>change default for <code>assumeAllChars</code> resource
4697    (Debian #725682). There are unresolved issues with Terminus
4698    fonts, e.g., Debian #722017.</li>
4699
4700    <li>add <code>-report-fonts</code> command-line option and
4701    <code>reportFonts</code> resource to optionally report the
4702    fonts which are loaded, and their metrics such as the number of
4703    missing glyphs.</li>
4704
4705    <li>work around <code>Xcursor</code> library to make
4706    <code>pointerColor</code> resource work as documented (Debian
4707    #466704, analysis by Vincent Lef&egrave;vre).</li>
4708
4709    <li>amend change from <a href="#xterm_297">patch #297</a> for
4710    ASCII-equivalents to ensure that missing characters which
4711    happen to be double-width are padded to the expected number of
4712    columns. Also, correct the choice between normal/wide Xft fonts
4713    used when checking for missing characters (reported by WU Yue,
4714    Debian #728949, Gentoo #491334).</li>
4715
4716    <li>modify sixel-graphics drawing to account for scrollbar
4717    width (report by Mario Edelmann).</li>
4718
4719    <li>fix remaining issue with <code>DECNRCM</code>; the British
4720    character set was confused with ISO Latin-1 (report by Hayaki
4721    Saito).</li>
4722
4723    <li>build-fix for <code>--disable-boxchars</code> configure
4724    option.</li>
4725
4726    <li>updated configure macros, from ongoing work on lynx and
4727    ncurses.</li>
4728
4729    <li>update config.guess, config.sub</li>
4730  </ul>
4731
4732  <h1><a name="xterm_297" id="xterm_297">Patch #297 -
4733  2013/09/10</a></h1>
4734
4735  <ul>
4736    <li>modify check for missing cells in bitmap font to work
4737    around terminus 10646 encoding, which is mostly missing, add
4738    <code>assumeAllChars</code> resource to provide the older
4739    behavior.</li>
4740
4741    <li>modify macros used to check for missing cells in bitmap
4742    fonts to pick up a long-overlooked improvement made to xfd in
4743    XFree86.</li>
4744
4745    <li>improve workaround for groff versus ASCII-equivalents;
4746    <a href="#xterm_185">patch #185</a> had overlooked Xft
4747    configuration (reported by anonymous user on Arch Linux
4748    forum).</li>
4749
4750    <li>review/extend <code>DECNRCM</code> support (prompted by
4751    report by Hayaki Saito asking about the two "A" codes).
4752      <ul>
4753        <li>make pasting of DECNRCM data work by translating the
4754        pasted data into the selected encoding.</li>
4755
4756        <li>limit mode changes to VT220 and up.</li>
4757
4758        <li>ignore SCS for National Replacement Characters if
4759        <code>DECNRCM</code> is not set.</li>
4760
4761        <li>add tables and logic to decode SCS controls ending with
4762        "%" and one additional character. This expects the parsing
4763        of SCS to VT320.</li>
4764
4765        <li>also added parsing for SCS of DEC Supplemental and DEC
4766        Technical, which are for VT2xx and VT3xx respectively.</li>
4767
4768        <li>implement VT220 Multinational character set "GR" aka
4769        "DEC Supplemental Graphic".</li>
4770
4771        <li>DEC Technical character set based on <a href=
4772        "http://www.vt100.net/charsets/technical.html">vt100.net
4773        description</a>.</li>
4774
4775        <li>implement Portuguese NRC.</li>
4776
4777        <li>provide for temporarily switching to/from NRC mode from
4778        UTF-8 mode when <code>DECNRCM</code> is set or reset.</li>
4779      </ul>
4780    </li>
4781
4782    <li>minor fix to assert's found while testing examples from
4783    <a href="https://gist.github.com/ttdoda">ttdoda's
4784    slrm-test1.txt</a>.</li>
4785
4786    <li>modify <code>DECLRMM</code> to not update the cursor
4787    position (report by Iwamoto Kouichi forwarded by Hayaki
4788    Saito).</li>
4789
4790    <li>modify cursor-position report to take origin-mode into
4791    account (report by Hayaki Saito, see also <a href=
4792    "https://github.com/gnachman/iTerm2/pull/129">iTerm2 pull
4793    request 129</a>).</li>
4794
4795    <li>correct off-by-one comparison in when handling
4796    carriage-return at left margin (patch by Iwamoto Kouichi,
4797    forwarded by Hayaki Saito).</li>
4798
4799    <li>improve handling of <code>faceName</code> resource when a
4800    "size=" property is embedded in it, by using that size to
4801    replace the default <code>faceSize</code> resource. This lets
4802    xterm honor the other faceSize resources (report by Jens
4803    Schweikhardt).</li>
4804
4805    <li>improve OSC&nbsp;52 selection-data by setting its timestamp
4806    to correspond to the most-recent event received by xterm, to
4807    ensure that calls to <code>XtOwnSelect</code> succeed even if
4808    the selection is manipulated solely through the keyboard
4809    (prompted by patch by Richard Tollerton).</li>
4810
4811    <li>change configure-script defaults for "luit" and
4812    "wide-chars" options to match the values used in the imake
4813    configuration, to lessen user surprise if they are accustomed
4814    to building xterm using imake(report by Andries E
4815    Brouwer).</li>
4816
4817    <li>improve the imake-related configuration's check if xterm is
4818    started in a locale that uses UTF-8 encoding. Before, this
4819    checked the locale settings only for "UTF-8", now it checks
4820    ignoring case for "UTF-8" and "UTF-8" (report by Andries E
4821    Brouwer).</li>
4822  </ul>
4823
4824  <h1><a name="xterm_296" id="xterm_296">Patch #296 -
4825  2013/07/10</a></h1>
4826
4827  <ul>
4828    <li>improve experimental sixel feature (Ross Combs).</li>
4829
4830    <li>modify delimiter in configure macro used to add a library
4831    after a given library to avoid confusion with <code>-Wl</code>
4832    pass-through options to linker (NetBSD #48031).</li>
4833
4834    <li>fix quoting in expression used to trim extra libraries from
4835    <a href="#xterm_295">patch #295</a> changes (report by Thomas
4836    Klausner).</li>
4837  </ul>
4838
4839  <h1><a name="xterm_295" id="xterm_295">Patch #295 -
4840  2013/07/06</a></h1>
4841
4842  <ul>
4843    <li>adjust order of libraries to work around incomplete symbol
4844    resolution when using <code>--as-needed</code> option
4845    (ArchLinux #36047).</li>
4846
4847    <li>minor fix for <code>plink.sh</code>, for IRIX64.</li>
4848  </ul>
4849
4850  <h1><a name="xterm_294" id="xterm_294">Patch #294 -
4851  2013/07/05</a></h1>
4852
4853  <ul>
4854    <li>add note in ctlseqs.ms for CPR response pointing out a
4855    potential point of confusion with the string sent by a modified
4856    F1 key (suggested by Bram Moolenaar).</li>
4857
4858    <li>improve <code>plink.sh</code> by checking if the linker
4859    supports the <code>--as-needed</code> option (suggested by
4860    David Philippi).</li>
4861
4862    <li>improve clearing for private mode 1049 when switching to
4863    the alternate screen (Debian #711758).</li>
4864
4865    <li>amend fix from <a href="#xterm_292">patch #292</a> by
4866    removing now-unneeded chunk which introduced problem in
4867    selection (Debian #714527).</li>
4868
4869    <li>add definition to optionally override compiled-in class for
4870    xterm from makefile, needed for test-packages.</li>
4871
4872    <li>add configure option
4873    <code>--enable-sixel-graphics</code></li>
4874
4875    <li>add experimental support for sixel graphics (Ross
4876    Combs).</li>
4877  </ul>
4878
4879  <h1><a name="xterm_293" id="xterm_293">Patch #293 -
4880  2013/05/27</a></h1>
4881
4882  <ul>
4883    <li>modify sample xterm.spec to use newer icon</li>
4884
4885    <li>add configure option <code>--with-icon-symlink</code> to
4886    work around systems which map icon requests for to a single
4887    "xterm" icon, but neglect to install the icon needed for window
4888    decorations (report by H Merijn Brand).</li>
4889
4890    <li>improve parameterizing of sample xterm.spec</li>
4891
4892    <li>amend fix for printer from <a href="#xterm_280">patch
4893    #280</a>, removing a reset of the signal handler for
4894    <code>SIGCHLD</code> (report by Joe Julian).</li>
4895
4896    <li>set environment variable <code>XTERM_FILTER</code> if a
4897    locale-filter is used.</li>
4898
4899    <li>enable <code>DEBUG</code> logic when
4900    <code>--enable-trace</code> configure option is given.</li>
4901
4902    <li>improve description of <code>initialFont</code>,
4903    <code>set-vt-font</code> and <code>set-tex-text</code> in
4904    manpage (Debian #707899).</li>
4905
4906    <li>fix regression from <a href="#xterm_292">patch #292</a>;
4907    selecting a word that ended at the right margin without
4908    wrapping would not select the last cell (report by Christian
4909    Weisgerber).</li>
4910  </ul>
4911
4912  <h1><a name="xterm_292" id="xterm_292">Patch #292 -
4913  2013/04/25</a></h1>
4914
4915  <ul>
4916    <li>add limit-check when double-click selects a word; if the
4917    saved-lines were scrolled back and the word selected wrapped at
4918    the screen's lower right corner, an assertion was triggered
4919    (patch by Taketo Kabe).</li>
4920
4921    <li>correct limit-check in <code>unsaveEditBufLines</code>,
4922    fixing a case where enlarging the terminal size could show a
4923    blank line where there actually is available text (patch by
4924    Bertram Felgenhauer).</li>
4925
4926    <li>add <code>PasteControls</code> feature to
4927    <code>allowWindowOps</code> which by default disallows pasting
4928    control characters other than formatting such as carriage
4929    return (discussion with Hayaki Saito).</li>
4930
4931    <li>fix typo in ctlseqs.ms for DECRQM response (patch by
4932    Emanuele Giaquinta).</li>
4933
4934    <li>update default shown in configure <code>--help</code>
4935    message for <code>--with-terminal-id</code> option (patch by
4936    Andres Perera).</li>
4937
4938    <li>rename script/preprocessor variables used for substituting
4939    the <code>backarrowKey</code> default value for consistency
4940    (patch by Andres Perera).</li>
4941
4942    <li>set umask to 077 before creating debugging-trace
4943    files.</li>
4944
4945    <li>add configure option <code>--disable-openpty</code> to
4946    control whether openpty() may be used in preference to
4947    posix_openpt().</li>
4948
4949    <li>improve workaround from <a href="#xterm_279">patch #279</a>
4950    for BSD systems which do not complete initialization until both
4951    sides of the pseudoterminal are opened, by preferring openpty()
4952    function over posix_openpt() when available (report by
4953    Christian Weisgerber).</li>
4954  </ul>
4955
4956  <h1><a name="xterm_291" id="xterm_291">Patch #291 -
4957  2013/02/26</a></h1>
4958
4959  <ul>
4960    <li>add validity check for xterm widget parameter to
4961    <code>AlternateScroll</code> function, needed to handle wheel
4962    mouse events in the scrollbar area since <a href=
4963    "#xterm_282">patch #282</a> changes which introduced
4964    <code>alternateScroll</code> feature (Redhat #874327).</li>
4965  </ul>
4966
4967  <h1><a name="xterm_290" id="xterm_290">Patch #290 -
4968  2013/02/12</a></h1>
4969
4970  <ul>
4971    <li>revert of <a href="#xterm_282">patch #282</a> change was
4972    incomplete (report by Jim Reisert).</li>
4973
4974    <li>fix typo in manpage (report by Vincent
4975    Lef&egrave;vre).</li>
4976  </ul>
4977
4978  <h1><a name="xterm_289" id="xterm_289">Patch #289 -
4979  2013/02/08</a></h1>
4980
4981  <ul>
4982    <li>revert the <a href="#xterm_282">patch #282</a> change which
4983    restored "lost" text after shrinking/growing the screen size.
4984    If the screen was updated between the two resizing operations,
4985    unexpected text might be shown at the end (report/testcase by
4986    Joe Peterson).</li>
4987
4988    <li>reverse the arrow-keys sent for
4989    <code>alternateScroll</code> to match the usage in browsers
4990    (suggested by Dieter Roelants).</li>
4991
4992    <li>modify mouse reports to consistently indicate motion events
4993    whether or not a button is pressed. Old behavior (since
4994    <a href="#xterm_127">patch #127</a> modified encoding for wheel
4995    mouse) showed only that the button was released if no button
4996    had been pressed (report by Andy Koppe).</li>
4997
4998    <li>correct and improve behavior for SGR 1006 mouse protocol on
4999    button release in any-event mode. Initial implementation in
5000    <a href="#xterm_277">patch #277</a> left internal state showing
5001    the last button pressed when reporting motion events. It now
5002    keeps track of all buttons which have been pressed and
5003    released, showing the lowest remaining button by number in the
5004    response (reports by Hayaki Saito, Andy Koppe).</li>
5005
5006    <li>fix inconsistency between <code>TermColors</code> and
5007    <code>OscTextColors</code> enums which interchanged values for
5008    tektronix cursor color and highlight foreground in control
5009    sequences in <a href="#xterm_225">patch #225</a> (report/patch
5010    by Peder Stray).</li>
5011
5012    <li>fix inconsistent use of noreturn-attribute in
5013    <code>Exit</code> function which interfered with clang
5014    --analyze.</li>
5015
5016    <li>remove incorrect <code>free</code> used in computation of
5017    <code>XTERM_SHELL</code> variable, from Coverity fixes in
5018    <a href="#xterm_288">patch #288</a> (FreeBSD #175782).</li>
5019
5020    <li>add <code>--with-valgrind</code> option to configure script
5021    for consistency with my other programs.</li>
5022
5023    <li>update table of ambiguous width characters in wcwidth.c
5024    based on Unicode 6.2.0</li>
5025
5026    <li>update table of combining characters in wcwidth.c based on
5027    Unicode 6.2.0</li>
5028
5029    <li>update precompose.c based on Unicode 6.2.0</li>
5030  </ul>
5031
5032  <h1><a name="xterm_288" id="xterm_288">Patch #288 -
5033  2013/01/09</a></h1>
5034
5035  <ul>
5036    <li>fix a special case in <code>ShowCursor</code> where the
5037    foreground and background colors of the current position are
5038    the same. In that case, choose the further of the window's
5039    foreground and background colors for the cursor color.</li>
5040
5041    <li>modify <code>alternateScroll</code> feature added in
5042    <a href="#xterm_282">patch #282</a> to use either
5043    <code>CSI</code> or <code>SS3</code> according to the cursor
5044    keys application mode setting, to simplify using it in vi, etc.
5045    (suggested by Dietar Roelants).</li>
5046
5047    <li>revise manpage for <code>resize</code> to clarify the
5048    changes which <code>resize</code> may make to the terminal
5049    settings as well as to the terminal itself.</li>
5050
5051    <li>remove code such as <code>struct ttysize</code>, used for
5052    SunOS 3 and 4.</li>
5053
5054    <li>modify configure script and makefile to check for
5055    <code>groff</code> and suppress groff-specific rules if groff
5056    is not found.</li>
5057
5058    <li>modify ctlseqs.ms and makefile to work around bugs in
5059    <code>grohtml</code> which cause ".png" files to be truncated
5060    when producing html documentation.</li>
5061
5062    <li>modify suffix rules for "make docs" to make the names of
5063    the generated ".png" files predictable, helping to work around
5064    longstanding problems with this feature of groff&mdash;none of
5065    its releases work for <em>all</em> of xterm's tables..</li>
5066
5067    <li>correct typo in ctlseqs.ms for DECIC and DECDC; the
5068    character preceding the final "<code>~</code>" is an ASCII
5069    single-quote "<code>'</code>" rather than a space (report by
5070    Paul LeoNerd Evans).</li>
5071
5072    <li>update CF_GCC_VERSION macro, handling both Debian and
5073    Darwin.</li>
5074
5075    <li>improve configure script checks for the
5076    <code>--with-desktop-category</code> option. After <a href=
5077    "#xterm_280">patch #280</a> changes, if no value was given for
5078    this option, and no existing desktop files found for
5079    comparison, the incorrect "auto" value was passed into the
5080    generated desktop file (report by Julien Cristau).</li>
5081
5082    <li>modify sample build-scripts to disable check for
5083    <code>imake</code> due to code-rot in Xorg.</li>
5084
5085    <li>add <code>-v</code> command-line option to
5086    <code>resize</code>, reporting the same version string as
5087    <code>xterm</code> and the two shell-wrappers.</li>
5088
5089    <li>make name-transformation apply to other occurrences of
5090    <code>resize</code>, other manpages.</li>
5091
5092    <li>special-case the name-transformation in xterm's manpage in
5093    the NAME section so that the result works with
5094    <code>makewhatis</code> (report by Julien Cristau).</li>
5095
5096    <li>modify install-rules for manpages to put each program's
5097    respective transformed name into the header rather than
5098    xterm's.</li>
5099
5100    <li>remove deprecated files: proto.h, os2main.c</li>
5101
5102    <li>minor fixes based on Coverity scan, including:
5103      <ul>
5104        <li>correct caching of Atom value for the font menu's
5105        "Selection" entry.</li>
5106
5107        <li>ensure that utmp/utmpx calls do not depend upon
5108        trailing nulls in the <code>ut_id</code> and
5109        <code>ut_line</code> values.</li>
5110      </ul>
5111    </li>
5112  </ul>
5113
5114  <h1><a name="xterm_287" id="xterm_287">Patch #287 -
5115  2012/11/25</a></h1>
5116
5117  <ul>
5118    <li>fix a case where in_put() loop could continue when it has
5119    found an X event rather than the pty, causing the pty-read to
5120    be delayed (patch by Balazs Kezes).</li>
5121
5122    <li>add option to <code>pointerMode</code> resource and
5123    corresponding control sequences to allow text-cursor to remain
5124    hidden if the pointer leaves/enters the window via accelerator
5125    keys. Ordinary motion within the window restores the pointer
5126    (prompted by patch by Balazs Kezes).</li>
5127
5128    <li>remove special case of modifiers for the
5129    <code>Mode_switch</code> and <code>XK_ISO_Level3_Shift</code>
5130    from <a href="#xterm_223">patch #223</a>. Verified that the
5131    conflict which this was intended to resolve does not happen for
5132    normal compose- or modeswitch-handling (prompted by patch by
5133    Balazs Kezes, Debian #638694).</li>
5134
5135    <li>modify the handling of focus-change events to ignore those
5136    whose detail is <code>NotifyPointer</code>, since those are
5137    sent in addition to focus-change events directed to the old/new
5138    windows having focus. In particular, this prevents the
5139    urgency-hint from being reset inadvertently (prompted by patch
5140    by Balazs Kezes).</li>
5141
5142    <li>modify description of <code>iconName</code> in manpage to
5143    make it clearer that this resource does not specify the
5144    filename of an icon (discussion with Ian Collier).</li>
5145
5146    <li>modify <code>iconHint</code> resource to allow suppressing
5147    the built-in icon by setting this to "none" (discussion with
5148    Ian Collier).</li>
5149
5150    <li>make <code>-iconic</code> option work with the toolbar
5151    configuration.</li>
5152
5153    <li>correct initialization of window manager hints used to set
5154    the icon-pixmap. That detail from <a href="#xterm_282">patch
5155    #282</a> overwrote state used to control the
5156    <code>-iconic</code> command-line option (report by Ian
5157    Collier).</li>
5158
5159    <li>fix paste64 feature for the case where the selection comes
5160    from the current terminal. The selection callback can happen
5161    after the reply is partly built, making it necessary to flush
5162    the reply-buffer to keep things in the proper order (report by
5163    Ailin Nemui).</li>
5164
5165    <li>reject command-line options which are longer than the
5166    options in xterm's table, to avoid mismatches (Redhat
5167    #875305).</li>
5168
5169    <li>correct attribution for <a href="#xterm_282">patch #282</a>
5170    changes.</li>
5171  </ul>
5172
5173  <h1><a name="xterm_286" id="xterm_286">Patch #286 -
5174  2012/10/29</a></h1>
5175
5176  <ul>
5177    <li>fix <code>minstall.in</code> to work with "make docs" rule,
5178    so that patch number appears in the corresponding generated
5179    documentation.</li>
5180
5181    <li>modify <code>minstall.in</code> to keep the name shown in
5182    the heading consistent with any renaming, e.g., for
5183    test-builds.</li>
5184
5185    <li>check for misconfigured <code>printerCommand</code>
5186    resource on the first use, warn and disable it if it does not
5187    specify an executable command (Debian #691642).</li>
5188
5189    <li>improve check for window-manager name needed to establish
5190    usable default for activeIcon resource. This works around a
5191    scenario where <code>gdm</code> does incomplete cleanup,
5192    leaving window properties that refer to windows which no longer
5193    exist (Redhat #869959).</li>
5194  </ul>
5195
5196  <h1><a name="xterm_285" id="xterm_285">Patch #285 -
5197  2012/10/23</a></h1>
5198
5199  <ul>
5200    <li>add/adapt FreeBSD ports files for test-building.</li>
5201
5202    <li>modify <code>minstall.sh</code> to use the patch-number and
5203    date in the manpage footer.</li>
5204
5205    <li>add check for failure to allocate the fg/bg colors at
5206    startup, e.g., misconfiguration. Work around by setting both to
5207    the default colors (suggested by Scott Bertilson).</li>
5208
5209    <li>amend change for <a href="#xterm_280">patch #280</a> which
5210    added <code>modifyKeyboard</code>, to make
5211    <code>modifyOtherKeys</code> work (report by Ailin Nemui).</li>
5212
5213    <li>add <code>query-colors.pl</code> example for
5214    OSC&nbsp;4.</li>
5215
5216    <li>correct mis-applied fix for minstall.sh (report by Miroslav
5217    Lichvar).</li>
5218  </ul>
5219
5220  <h1><a name="xterm_284" id="xterm_284">Patch #284 -
5221  2012/10/14</a></h1>
5222
5223  <ul>
5224    <li>amend configurability changes for icons from <a href=
5225    "#xterm_283">patch #283</a>, moving the new functionality to
5226    the <code>iconHint</code> resource to avoid conflict with
5227    existing uses of the <code>iconName</code> resource in the
5228    <code>Shell</code> widget (report by Emanuel Haupt).</li>
5229
5230    <li>fix documentation errata reported by Miroslav Lichvar:
5231      <ul>
5232        <li>correct manpage default for <code>allowTcapOps</code>
5233        (see <a href="#xterm_243">patch #243</a></li>
5234
5235        <li>modify documentation for configure
5236        <code>--enable-backarrow-key</code> to match the script
5237        (see <a href="#xterm_280">patch #280</a>).</li>
5238
5239        <li>fix typo in <code>minstall.sh</code> in <a href=
5240        "#xterm_283">patch #283</a>, which made the leading-cap
5241        "Xterm" become "xterm" (patch by Miroslav).</li>
5242      </ul>
5243    </li>
5244
5245    <li>fix two typos in configure.in from <a href=
5246    "#xterm_283">patch #283</a> changes; one broke the
5247    <code>--regex</code> configure option (report by H Merijn
5248    Brand).</li>
5249  </ul>
5250
5251  <h1><a name="xterm_283" id="xterm_283">Patch #283 -
5252  2012/10/09</a></h1>
5253
5254  <ul>
5255    <li>modify makefile and script to generate appropriate renaming
5256    s/xterm/xterm-dev/ for test-package's manpage.</li>
5257
5258    <li>improve makefile rules for installing/uninstalling pixmap
5259    files, to include the newer mini- and filled- variants.</li>
5260
5261    <li>clarify change in manpage regarding <a href=
5262    "#xterm_282">patch #282</a> change to always set a
5263    window-decoration icon, even if <code>iconName</code> is not
5264    set.</li>
5265
5266    <li>add a fourth flavor of window-decoration icons,
5267    "filled-xterm" for a monochrome xterm with filled
5268    interior.</li>
5269
5270    <li>use shape-mask to improve contrast of the window-decoration
5271    icons.</li>
5272
5273    <li>minor changes to icon colors to improve contrast on
5274    bright-mud backgrounds.</li>
5275
5276    <li>drop configure checks for memmove versus bcopy, and
5277    strerror function; all currently tested platforms support
5278    these.</li>
5279
5280    <li>cleanup configure macros, as done in byacc 20121003.</li>
5281
5282    <li>improve configurability of the built-in icon selectable via
5283    the <code>iconName</code> resource.</li>
5284
5285    <li>update config.guess, config.sub</li>
5286  </ul>
5287
5288  <h1><a name="xterm_282" id="xterm_282">Patch #282 -
5289  2012/09/28</a></h1>
5290
5291  <ul>
5292    <li>improve configure check for
5293    <code>XkbKeycodeToKeysym</code>, fixing a regression on some
5294    older systems in the <a href="#xterm_280">patch #280</a>
5295    changes.</li>
5296
5297    <li>add clarification in manpage for
5298    <code>alwaysBoldMode</code> and <code>veryBoldColors</code>
5299    resources (prompted by Derek Martin question about using the
5300    former with TrueType fonts).</li>
5301
5302    <li>add <code>alternateScroll</code> resource and corresponding
5303    control sequences which modify the <code>scroll-forw</code> and
5304    <code>scroll-back</code> actions: when the alternate screen is
5305    displayed, wheel mouse up/down will send cursor keys (Debian
5306    #683942).</li>
5307
5308    <li>improve rendering for the case when a Unicode character is
5309    absent in the bold font but present in the normal font by
5310    temporarily falling back to the normal font (Debian #359006,
5311    Debian #408666).</li>
5312
5313    <li>provide configure option
5314    <code>--enable-double-buffer</code> and ifdef's to allow
5315    comparisons with/without double-buffering. The default uses
5316    normal buffering.</li>
5317
5318    <li>add feature to optionally scroll current page before
5319    clearing, controlled by resource setting
5320    <code>cdXtraScroll</code> (prompted by patch by Balazs
5321    Kezes):</li>
5322
5323    <li>integrated patches from Arch Linux forum posting (patches
5324    by Balazs Kezes):
5325      <ul>
5326        <li>modify reallocation limit of line-data when resizing
5327        screen so that "lost" text will be restored if the screen
5328        is first shrunk and then grown.</li>
5329
5330        <li>modify output to use double-buffering to reduce
5331        flicker.</li>
5332      </ul>
5333    </li>
5334
5335    <li>modify <code>scroll-lock</code> action to handle
5336    on/off/toggle keywords like other actions. Previously the
5337    optional parameter was interpreted as an integer.</li>
5338
5339    <li>extend <code>DECSCUSR</code> to provide a way to set the
5340    cursor to a vertical bar (patch by Paul Bolle).</li>
5341
5342    <li>add <code>-8</code>, <code>-c</code>, <code>-d</code> and
5343    <code>-u</code> options to <code>88colors2.pl</code> and
5344    <code>256colors2.pl</code> scripts. No current terminal
5345    emulator recognizes C1 controls while handling UTF-8
5346    encoding&mdash;see notes in <a href="#xterm_119">patch #119</a>
5347    and <a href="#xterm_109">patch #109</a> regarding
5348    <code>utf8controls</code>&mdash;but the <code>-u</code> and
5349    <code>-8</code> options are useful for demonstrating this
5350    point.</li>
5351
5352    <li>improve speed when changing color palettes using OSC
5353    controls by deferring repaint while followup controls might be
5354    additional color palette changes.</li>
5355
5356    <li>modify <code>SGR&nbsp;38</code> and
5357    <code>SGR&nbsp;48</code> to accept RGB index, matching the
5358    closest entry in xterm's palette.</li>
5359
5360    <li>extend <code>SGR&nbsp;38</code> and
5361    <code>SGR&nbsp;48</code> to accept colon as parameter separator
5362    (request by Paul LeoNerd Evans).</li>
5363
5364    <li>modify <code>fullscreen</code> action to allow it to toggle
5365    the full-screen mode rather than only set or unset it (prompted
5366    by Eeri Kask's suggestion to support
5367    <code>_NET_WM_TOGGLE</code>). This implementation does not yet
5368    use <code>_NET_WM_TOGGLE</code>.</li>
5369
5370    <li>add support for <code>_NET_WM_STATE_MAXIMIZED_VERT</code>
5371    and <code>_NET_WM_STATE_MAXIMIZED_HORZ</code> EWMH properties
5372    (suggested by Eeri Kask).</li>
5373
5374    <li>make fullscreen mode work with the tek4014 window. This
5375    change makes only the currently active window to be changed to
5376    fullscreen rather than changing both windows.</li>
5377
5378    <li>modify <code>TekClear</code> function to discard pending
5379    output before clearing the tek4014 display (patch by Kevin
5380    Ryde).</li>
5381
5382    <li>fix <code>deleteIsDEL</code> feature, broken in <a href=
5383    "#xterm_280">patch #280</a> changes (report by Mike Thornburg,
5384    forwarded by Jeremy Huddleston).</li>
5385
5386    <li>fix a special case of wrapping double-width characters
5387    (report/test-case by Ken Winstein).</li>
5388
5389    <li>add <code>E3</code> extended capability to
5390    <code>xterm-basic</code> to match ncurses <a href=
5391    "https://invisible-island.net/ncurses/NEWS.html#t20120728">20120728</a>
5392    patch.</li>
5393
5394    <li>fix incorrect transformation of row-parameter for
5395    <code>ClearCurBackground</code> in <a href="#xterm_279">patch
5396    #279</a> which caused incorrect painting in some scrolling
5397    scenarios (report by Chuck Silvers).</li>
5398
5399    <li>fix typo in manpage description of <code>+maximized</code>
5400    option (Paul Maier).</li>
5401
5402    <li>change default for configure option
5403    <code>--with-xpm</code>, turning it on unless requested
5404    otherwise.</li>
5405
5406    <li>add configure option <code>--with-icon-name</code> which
5407    can be used to override the default icon used in
5408    icon-themes.</li>
5409
5410    <li>extend <code>activeIcon</code> resource to provide
5411    <code>default</code> value which tells xterm to determine the
5412    window manager's name and automatically enable the feature for
5413    fvwm and window maker. The explicit true/false values can be
5414    used to override this behavior.</li>
5415
5416    <li>add "mini" xterm icon, which scales better than the
5417    standard xterm icon, e.g., for the gnome/kde "panel"
5418    feature.</li>
5419
5420    <li>extend <code>iconName</code> resource to search for icon
5421    named according to resource value and use that if found. If not
5422    found, use compiled-in pixmap. Both set the WM_ICON_NAME
5423    property which is used by various window managers, usually for
5424    window decoration.</li>
5425
5426    <li>updated autoconf patch, adding support for --datarootdir,
5427    which changes the default location of manpages.</li>
5428
5429    <li>further improved autoconf macros for configuring icons,
5430    from vile 9.8h</li>
5431  </ul>
5432
5433  <h1><a name="xterm_281" id="xterm_281">Patch #281 -
5434  2012/06/26</a></h1>
5435
5436  <ul>
5437    <li>remove "$(srcdir)/" from install-icon rule to fix builds
5438    when --srcdir configuration option is used.</li>
5439
5440    <li>fix for configure script's search for icon file when it is
5441    not found in the current directory, e.g., when building out of
5442    tree (patch by Thierry Reding).</li>
5443
5444    <li>undo the XK_Home / XK_End change from <a href=
5445    "#xterm_280">patch #280</a> which broke the non-VT220 keyboard
5446    for those keys (report by H Merijn Brand).</li>
5447  </ul>
5448
5449  <h1><a name="xterm_280" id="xterm_280">Patch #280 -
5450  2012/06/24</a></h1>
5451
5452  <ul>
5453    <li>add configure check to work around warning from
5454    desktop-file-install for "Encoding", noting that it emits
5455    deprecation warnings without providing its version
5456    information.</li>
5457
5458    <li>add configure option <code>--with-icon-theme</code> to tell
5459    xterm whether to install into an icon theme, defaulting to
5460    "hicolor" (Redhat #755206, Redhat #799614 and Redhat
5461    #804279).</li>
5462
5463    <li>change <code>--with-icondir</code> to look for "icons"
5464    directory rather than "pixmaps" by default. Add new option
5465    <code>--with-pixmapdir</code> to allow these two uses to be
5466    installed concurrently.</li>
5467
5468    <li>modify configure options <code>--with-app-defaults</code>
5469    and <code>--with-icondir</code> to accept "auto" as value to
5470    look for existing directory from well-known locations.</li>
5471
5472    <li>add missing codes for secondary DA response which tell the
5473    type of terminal as in the primary DA response.</li>
5474
5475    <li>update primary DA response for VT420 to include user
5476    windows and horizontal scrolling.</li>
5477
5478    <li>add <code>modifyKeyboard</code> resource to support
5479    keypad-modifier changes per request by Thomas Wolff.</li>
5480
5481    <li>add XK_Home / XK_End to editing-keypad checks</li>
5482
5483    <li>add back-tab key <code>kB</code> to termcap entries to
5484    match the terminfo.</li>
5485
5486    <li>update terminfo to match corresponding entries in ncurses,
5487    e.g., add <code>XT</code> and adjust <code>sgr</code> string
5488    for xterm-bold entry.</li>
5489
5490    <li>add configure options to predefine the most commonly
5491    customized resources for terminal-settings, use those to
5492    substitute into the manpage the corresponding compiled-in
5493    values: <code>altSendsEscape</code>, <code>backarrowKey</code>,
5494    <code>backarrowKeyIsErase</code>, <code>deleteIsDEL</code>,
5495    <code>metaSendsEscape</code> (Redhat #819588).</li>
5496
5497    <li>change default emulation level to VT420 (discussion with
5498    Ailin Nemui).</li>
5499
5500    <li>improve logic for DECSCL; <a href="#xterm_279">patch
5501    279</a> partly enforced limitation of this to higher-level
5502    emulations. This patch finishes that change.</li>
5503
5504    <li>improve check for base of combining characters, preventing
5505    combination when cursor movement has intervened. Mosh's webpage
5506    gives two different examples of this, with other causes
5507    ascribed to the behavior.</li>
5508
5509    <li>modify IL/DL to set cursor to first column on row for
5510    better VT102/VT220 compatibility (prompted by code review of
5511    mosh).</li>
5512
5513    <li>separate state-table entries for DECSC/DECRC from the
5514    ANSI.SYS save/restore cursor, since the latter conflicts with
5515    DECSLRM when DECLRMM is enabled since <a href=
5516    "#xterm_279">patch #279</a> (report/analysis by Ailin
5517    Nemui).</li>
5518
5519    <li>fixes to avoid using <code>SIGCHLD</code> handler of main
5520    program in printer's subprocess (report by Joe Julian).</li>
5521
5522    <li>correct restore-parameter for mouse-modes from <a href=
5523    "#xterm_279">patch #279</a> changes.</li>
5524
5525    <li>add null-pointer checks to input-method caching added in
5526    <a href="#xterm_277">patch #277</a> to fix a problem in the
5527    exposure code, when deselecting a window (report by Kriston
5528    Rehberg).</li>
5529
5530    <li>unset <code>DESKTOP_STARTUP_ID</code> environment variable
5531    to lessen confusion on the part of GTK applications which use
5532    the variable without checking it (report by John Little).</li>
5533  </ul>
5534
5535  <h1><a name="xterm_279" id="xterm_279">Patch #279 -
5536  2012/05/10</a></h1>
5537
5538  <ul>
5539    <li>fill in missing cases in the save/restore modes feature
5540    (report by Thomas Wolff).</li>
5541
5542    <li>add check to ensure that combining characters are
5543    precomposed in the order given (report/analysis by Andries E
5544    Brouwer).</li>
5545
5546    <li>improve workability check for posix_openpt(), to take into
5547    account BSD systems which do not complete initialization until
5548    both sides of the pseudoterminal are opened (report by
5549    Christian Weisgerber).</li>
5550
5551    <li>amend fix for Debian #650291 in <a href="#xterm_277">patch
5552    #277</a> changes to account for different data returned by
5553    vnc4server (Debian #670638).</li>
5554
5555    <li>add check in DECCRA operation to make copies of blinking
5556    text also blink by updating a line-level flag.</li>
5557
5558    <li>modify rectangle operations to work with DECOM.</li>
5559
5560    <li>modify DECSERA to use the current protected state rather
5561    than preserving it.</li>
5562
5563    <li>add <code>precompose</code> resource to allow storing
5564    character data in Normalized Form D as described in <a href=
5565    "http://unicode.org/reports/tr15/">http://unicode.org/reports/tr15/</a>
5566    (report/discussion with Andries E Brouwer).</li>
5567
5568    <li>modify CBT, other ISO-6429 controls which are used by VT520
5569    to work with DECOM.</li>
5570
5571    <li>add HPR and VPR controls, ISO 6429 cursor movement used in
5572    VT520.</li>
5573
5574    <li>remove "linux" restriction for IUTF8 ifdef in main.c
5575    (prompted by Matthew Dempsky posting on
5576    mailing.openbsd.tech).</li>
5577
5578    <li>implement the remaining VT420-level device status
5579    reports.</li>
5580
5581    <li>change DECXCPR to return page 1, rather than 0.</li>
5582
5583    <li>improve VT-level checks on reporting functions, such as
5584    DECXCPR.</li>
5585
5586    <li>change limit on <code>decTerminalID</code> to 525.</li>
5587
5588    <li>fixes to improve vttest vt52 screen when running as a
5589    VT420:
5590      <ul>
5591        <li>add checks for some VT2xx and up controls for
5592        consistency: DECSCL, S1C8T, S1C7T.</li>
5593
5594        <li>modify DECRQSS return for DECSCL to only return that
5595        when running as VT2xx and up.</li>
5596
5597        <li>when exiting from VT52-mode, resume in VT100 level
5598        rather than the level before starting VT52-mode.</li>
5599      </ul>
5600    </li>
5601
5602    <li>implement DECLRMM, DECSLRMM and DECNCSM (prompted by
5603    discussions with Ailin Nemui and Paul LeoNerd Evans). This
5604    modifies several controls to obey top/bottom and left/right
5605    margins.</li>
5606
5607    <li>correct macro definition used for testing modes used in
5608    ANSI/DEC request-mode controls introduced in <a href=
5609    "#xterm_262">patch #262</a>.</li>
5610
5611    <li>modify <code>x_getlogin</code> to check $LOGNAME and $USER
5612    before fallback to <code>getlogin</code>, so that user's choice
5613    for these variables can be carried forward to the xterm process
5614    (Debian #611487).</li>
5615
5616    <li>document DECSCUSR response for DECRQSS in ctlseqs.ms</li>
5617
5618    <li>add <code>zIconTitleFormat</code> resource to allow
5619    customizing the "***&nbsp;" prefixed to the icon title when the
5620    <code>zIconBeep</code> feature is activated (request by Thomas
5621    Adam).</li>
5622
5623    <li>modify DECSCUSR to update the same internal variable as
5624    RM/SM 12, and document in manpage the two variables used for
5625    controlling blinking cursor (report by Paul LeoNerd
5626    Evans).</li>
5627
5628    <li>correct response data for DECSCUSR in reply for DECRQSS
5629    response, which had inverted the blink-value (reports by Ailin
5630    Nemui, Paul LeoNerd Evans).</li>
5631
5632    <li>add a null-pointer check in <code>OkPasswd</code> macro to
5633    fix a problem in <code>resize</code> with Fedora 17 and a
5634    serial console (report/patch by Daniel Drake).</li>
5635
5636    <li>add workaround for Mac OS X, which loses the window size of
5637    a pseudo-terminal when the tty device is opened
5638    (report/analysis by Egmont Koblinger).</li>
5639
5640    <li>updated configure check for workable
5641    <code>posix_openpt</code> versus <code>grantpt</code>, from
5642    <code>luit</code> fixes.</li>
5643
5644    <li>modify DECIC/DECDC/DECBI/DECFI implemented in <a href=
5645    "#xterm_277">patch #277</a> to enable them only in VT4xx mode
5646    and up (report by Ailin Nemui).</li>
5647
5648    <li>update config.guess, config.sub</li>
5649  </ul>
5650
5651  <h1><a name="xterm_278" id="xterm_278">Patch #278 -
5652  2012/01/18</a></h1>
5653
5654  <ul>
5655    <li>correct initialization for <code>eightBitMeta</code>
5656    resource (FreeBSD #164101).</li>
5657
5658    <li>make special check for Darwin 9 (and lower) to <em>not</em>
5659    use <code>posix_openpt</code> (report by Christian Ebert).</li>
5660
5661    <li>minor fixes (adding ".ne" directives) to reduce the cases
5662    where groff's utility for generating images for tables dumps
5663    core. Most versions of groff (I've found 1.19.2 to be the most
5664    stable) dump core when attempting to report that there are too
5665    few lines on a page for a table to be shown.</li>
5666  </ul>
5667
5668  <h1><a name="xterm_277" id="xterm_277">Patch #277 -
5669  2012/01/07</a></h1>
5670
5671  <ul>
5672    <li>remove special case for ISC pseudo-terminals which attempts
5673    to open the pty in two different ways.</li>
5674
5675    <li>move call to <code>grantpt</code> before asking utempter to
5676    add a record, to work with kFreeBSD which does not update the
5677    terminal's ownership until this point (Debian #652907).</li>
5678
5679    <li>document limitation of XIM interface in manpage (Debian
5680    #230787).</li>
5681
5682    <li>cleanup error reporting with new xtermWarning
5683    function.</li>
5684
5685    <li>add configure option <code>--disable-selection-ops</code>
5686    to make the new actions optional.</li>
5687
5688    <li>add four new actions for making the selection or data
5689    directly copied from the screen (prompted by discussion in
5690    Debian #637001, as well as report by Arjen van Tol):
5691      <ul>
5692        <li>exec-formatted</li>
5693
5694        <li>exec-selectable</li>
5695
5696        <li>insert-formatted</li>
5697
5698        <li>insert-selectable</li>
5699      </ul>
5700    </li>
5701
5702    <li>add <code>visualBellLine</code> resource to allow
5703    <code>visualBell</code> to flash only the current line
5704    (prompted by patch by Gertjan Halkes).</li>
5705
5706    <li>add <code>eightBitMeta</code> resource to control the
5707    features which modify or interpret the eighth bit of a key when
5708    the meta modifier key is pressed (prompted by Debian
5709    #326200).</li>
5710
5711    <li>improve discussion of <code>eightBitInput</code> in the
5712    manpage (prompted by Debian #326200).</li>
5713
5714    <li>correct logic for <code>alt-sends-escape</code> action,
5715    overlooked when implementing <code>altSendsEscape</code>
5716    resource, which still used <code>eightBitInput</code> resource
5717    value.</li>
5718
5719    <li>add a workaround for <code>XAllocColor()</code>, which does
5720    not actually allocate "a read-only colormap entry corresponding
5721    to the closest RGB value supported by the hardware", but rather
5722    a rough approximation (Debian #650291).</li>
5723
5724    <li>undo parameter checks for <code>RequestResize()</code>
5725    added in <a href="#xterm_251">patch #251</a> and amended in
5726    <a href="#xterm_270">patch #270</a>, because zeros also are
5727    special cases (report by John S Urban).</li>
5728
5729    <li>modify some test-scripts to use <code>/bin/echo</code>
5730    rather than the shell's possibly-builtin <code>echo</code>, to
5731    work around broken configuration on Mac OS X, i.e., neither
5732    honoring the option nor flagging an error.</li>
5733
5734    <li>add SGR 1006, as a better technical solution than SGR 1015:
5735      <ul>
5736        <li>the responses will not be confused with line-deletion
5737        and scrolling controls.</li>
5738
5739        <li>the button encoding is a little simpler, since it does
5740        not add an unnecessary 32 because the integer parameter
5741        does not have to be represented as a printable
5742        character.</li>
5743
5744        <li>the control responses for pressing and releasing a
5745        mouse button differ, allowing an application to tell which
5746        button was released.</li>
5747      </ul>
5748
5749      <p>Besides these improvements, in discussion, it was noted
5750      that urxvt's implementation of 1005 is incorrect, relying
5751      upon a locale that provides UTF-8 encoding. In contrast,
5752      vttest demonstrates a correct decoding, independent of
5753      locale.</p>
5754    </li>
5755
5756    <li>add support for urxvt SGR 1015 to address shortcoming of
5757    SGR 1005 with luit (patch by Egmont Koblinger).</li>
5758
5759    <li>add ISO and DEC controls useful for left/right
5760    scrolling.</li>
5761
5762    <li>add some changes for OpenBSD and MirBSD (adapted from patch
5763    by Thorsten Glaser):
5764      <ul>
5765        <li>disable search for non-Unix96 ptys.</li>
5766
5767        <li>fix a gcc warning in
5768        <code>timestamp_filename</code></li>
5769
5770        <li>modify <code>Imakefile</code> to install xterm setgid
5771        to utmp.</li>
5772      </ul>
5773    </li>
5774
5775    <li>add/use/prefer <code>posix_openpt()</code> for opening
5776    pseudo-terminal.</li>
5777
5778    <li>modify special errno handling case in ptydata.c from
5779    <a href="#xterm_158">patch #158</a> to allow for the
5780    possibility that any platform may have special cases where
5781    "/dev/tty" is absent. For example, this can happen in a FreeBSD
5782    jail (patch by David Wolfskill).</li>
5783
5784    <li>add keyboard logic to map shift-tab into XK_ISO_Left_Tab,
5785    which is usually, not always, done by the X keyboard
5786    configuration.</li>
5787
5788    <li>portability fixes for some configure macros:
5789    <code>CF_XOPEN_SOURCE</code></li>
5790  </ul>
5791
5792  <h1><a name="xterm_276" id="xterm_276">Patch #276 -
5793  2011/10/10</a></h1>
5794
5795  <ul>
5796    <li>modify clipping limits for TrueType fonts to account for
5797    the <code>scaleHeight</code> resource setting, to work around
5798    another problem due to recent FreeType changes. In this case,
5799    the <code>DejaVu Sans Mono</code> set to pixelsize=13.5 is
5800    truncated because the font descent is reduced by FreeType to
5801    match an incorrect height metric (report by Adam Lee).</li>
5802
5803    <li>improve recovery when bitmap fonts are not installed, e.g.,
5804    so that switching font-sizes works for TrueType fonts.</li>
5805
5806    <li>modify lookup for <code>XTERM_SHELL</code> feature to allow
5807    relative pathnames.</li>
5808
5809    <li>modify abbreviation disambiguation check for command-line
5810    parameters to account for <code>-geometry</code>, whose
5811    parameter may begin with "+" or "-" (report by Scott
5812    Bertilson).</li>
5813  </ul>
5814
5815  <h1><a name="xterm_275" id="xterm_275">Patch #275 -
5816  2011/09/11</a></h1>
5817
5818  <ul>
5819    <li>add <code>ash</code>, <code>zsh</code> to known shells for
5820    <code>resize</code>.</li>
5821
5822    <li>modify <code>resize</code> to reuse the logic from
5823    <code>xterm</code> which determines the actual logon-user's
5824    shell if <code>$SHELL</code> is not set.</li>
5825
5826    <li>revert the <code>unsetenv("SHELL")</code> added in <a href=
5827    "#xterm_272">patch #272</a>.</li>
5828
5829    <li>an <code>unsetenv("SHELL")</code> added in <a href=
5830    "#xterm_272">patch #272</a> to help ensure that
5831    <code>luit</code> would get the user's shell consistently did
5832    not work as expected for cases where multiple names are in the
5833    password-file for a given uid. That was because changes in
5834    <a href="#xterm_157">patch #157</a> to handle this situation
5835    did not take into account that repeated calls to
5836    <code>getpwnam</code> and <code>getpwuid</code> return a
5837    pointer to the same static buffer. Fixed the older logic to
5838    work as intended, by ensuring that the passwd-data from each
5839    call is stored separately (report by Paul Keusemann).</li>
5840
5841    <li>adjust ifdef's for <code>putenv</code> and
5842    <code>unsetenv</code> in case only one of those is provided on
5843    a given platform.</li>
5844
5845    <li>correct comparison used in <code>ExposeContains</code>
5846    macro from <a href="#xterm_274">patch #274</a> changes, to
5847    handle window-dragging (patch by Todd Eigenschink).</li>
5848  </ul>
5849
5850  <h1><a name="xterm_274" id="xterm_274">Patch #274 -
5851  2011/09/05</a></h1>
5852
5853  <ul>
5854    <li>portability fixes for cygwin: do not define
5855    <code>SVR4</code>, and work around nonstandard header
5856    location.</li>
5857
5858    <li>ifdef'd use of <code>unsetenv</code> from <a href=
5859    "#xterm_273">patch #273</a> changes to work with Solaris 9
5860    (report by Waldemar Rachwal).</li>
5861
5862    <li>modify logic for <code>XtAppPending</code> to merge
5863    adjacent <code>Expose</code> and <code>ConfigureNotify</code>
5864    events which are redundant (report by Edward McGuire).</li>
5865
5866    <li>fix an unneeded warning message when <code>-r</code> option
5867    is given.</li>
5868
5869    <li>remove a few redundant entries from table used for helping
5870    abbreviation-checking of command-line options, makes
5871    <code>-geom</code> work again after <a href="#xterm_272">patch
5872    #272</a> changes as an abbreviation of
5873    <code>-geometry</code>.</li>
5874
5875    <li>add <code>scaleHeight</code> resource and command-line
5876    option <code>-sh</code> as workaround for some
5877    font-configurations broken by changes in FreeType 2.4.6 (report
5878    by Miroslav Hodak).</li>
5879
5880    <li>portability fixes for some configure macros:
5881    <code>CF_FUNC_TGETENT</code>, <code>CF_XOPEN_SOURCE</code>,
5882    <code>CF_X_ATHENA_LIBS</code>.</li>
5883
5884    <li>add configure option <code>--with-freetype-config</code> to
5885    improve selection over the plethora of configuration options
5886    which freetype has so far provided.</li>
5887
5888    <li>build-fix for configure <code>--enable-load-vt-fonts</code>
5889    when <code>--enable-widec</code> is not specified.</li>
5890
5891    <li>build-fixes for suppressing various features, needed after
5892    changes in patches 270, 271 and 272 (report by Brian
5893    Lindholm)</li>
5894  </ul>
5895
5896  <h1><a name="xterm_273" id="xterm_273">Patch #273 -
5897  2011/08/25</a></h1>
5898
5899  <ul>
5900    <li>build-fix for out-of-tree "make docs" rule.</li>
5901
5902    <li>correct a typo in <code>x_strdup</code>, from <a href=
5903    "#xterm_198">patch #198</a> changes.</li>
5904
5905    <li>correct initialization for <code>-e</code> option, broken
5906    in <a href="#xterm_272">patch #272</a> changes (report by
5907    Gabriele Balducci).</li>
5908
5909    <li>build-fix for out-of-tree builds to address
5910    <code>minstall</code> script changes in <a href=
5911    "#xterm_272">patch #272</a> (patch by Thierry Reding).</li>
5912  </ul>
5913
5914  <h1><a name="xterm_272" id="xterm_272">Patch #272 -
5915  2011/08/24</a></h1>
5916
5917  <ul>
5918    <li>document limitation of <code>Gtk</code> in connection with
5919    xterm's <code>-into</code> option, in the manpage (Ubuntu
5920    #806969).</li>
5921
5922    <li>improve <code>-into</code> by checking for and using the
5923    size of the window within which xterm is embedded, overriding
5924    other clues.</li>
5925
5926    <li>modify logic for <code>localeFilter</code> resource to
5927    allow that to include command-line options of luit.</li>
5928
5929    <li>improve <code>-into</code> by checking for invalid
5930    window-id, and allowing hexadecimal/decimal/octal values.</li>
5931
5932    <li>improve <code>keepSelection</code>, adding the case where
5933    the highlighting is cleared, overlooked in <a href=
5934    "#xterm_230">patch #230</a> (patch by Marco Peereboom).</li>
5935
5936    <li>improve command-line parsing to make abbreviate options
5937    work consistently across xterm-specific versus standard X
5938    toolkit options, and report cases where an abbreviated option
5939    happens to be ambiguous. In particular, <code>-d</code> now
5940    works as an abbreviation for <code>-display</code>.</li>
5941
5942    <li>fix regression in command-line parsing introduced in
5943    <a href="#xterm_271">patch #271</a> changes for Debian #629358,
5944    (Debian #637910).</li>
5945
5946    <li>split-out new termcap/terminfo building block
5947    <code>xterm+kbs</code> for configurability.</li>
5948
5949    <li>modify <code>terminfo</code> file to reflect changes in
5950    ncurses for <code>xterm-16color</code> and
5951    <code>xterm-256color</code>.</li>
5952
5953    <li>modify <code>minstall.sh</code>, etc., to reflect the
5954    default default class, <code>$TERM</code> and
5955    <code>decTerminalID</code> values.</li>
5956
5957    <li>reword <code>resize</code> manpage to reflect the fact that
5958    <code>$TERMCAP</code> is not set on all systems (patch by Alan
5959    Coopersmith).</li>
5960
5961    <li>work around combined Xaw6/Xaw7 package in DragonFlyBSD
5962    which omits the usual symbolic link to the preferred library
5963    name.</li>
5964
5965    <li>further improve build-fix for termcap systems by checking
5966    for some which are only partial implementations, e.g., termcap
5967    2.08 in CentOS 5.2</li>
5968  </ul>
5969
5970  <h1><a name="xterm_271" id="xterm_271">Patch #271 -
5971  2011/07/14</a></h1>
5972
5973  <ul>
5974    <li>omit permissions adjustments to pty on exit except for
5975    pre-Unix98 ptys, since modern implementations handle this
5976    (report by Sean C Farley).</li>
5977
5978    <li>modify logic for switching fonts between UTF-8 and
5979    non-UTF-8 encoding to not merge the derivable bold-, wide- and
5980    widebold values from the VT100 fonts. Also suppress warning
5981    when not using UTF-8 fonts if wide- and widebold-fonts cannot
5982    be derived or otherwise loaded (report by Werner
5983    Scheinast).</li>
5984
5985    <li>modify menu-creation to suppress entries which will never
5986    be used in the current configuration, rather than simply
5987    disabling them.</li>
5988
5989    <li>add resource <code>printModeImmediate</code> and menu item
5990    to allow print of screen plus saved lines to a file.</li>
5991
5992    <li>add menu item to allow runtime enable/disable of the
5993    <code>printFileOnXError</code> feature.</li>
5994
5995    <li>append a timestamp to filename used in
5996    <code>printFileOnXError</code> feature, and restrict its
5997    permissions (request by Vincent Lef&egrave;vre).</li>
5998
5999    <li>add a check when cancelling cursor-blinking, in case the
6000    cursor is blinked off. Fix so that the cursor is repainted
6001    without waiting for other events, e.g., keypress (report by
6002    Ailin Nemui).</li>
6003
6004    <li>add configure <code>--with-app-class</code> option, to
6005    simplify building "xterm-dev" packages with filenames that do
6006    not conflict with conventional "xterm" packages.</li>
6007
6008    <li>corrected logic flow for DECSCL, which prevented the
6009    updated operating level from being reported via DECRQSS (report
6010    by Ailin Nemui).</li>
6011
6012    <li>corrected default for <code>brokenStringTerm</code>
6013    resource to match manpage.</li>
6014
6015    <li>add vttests/dynamic.pl</li>
6016
6017    <li>add runtime check for locale not supported by X libraries,
6018    and fallback to XA_STRING in this case (request by Bryan
6019    Henderson).</li>
6020
6021    <li>fix a special case in configure script after no FreeType
6022    libraries are found. The script was proceeding to check for a
6023    usable configuration.</li>
6024
6025    <li>add <code>xterm+tmux</code> building block to terminfo
6026    (adapted from changes proposed by Ailin Nemui and Nicholas
6027    Marriott).</li>
6028
6029    <li>improve discussion of <code>faceName</code> resource in
6030    manpage (adapted from suggestions by Jens Schweikhardt).</li>
6031
6032    <li>correct mapping of shifted up/down cursor-keys in termcap
6033    function-keys mode, i.e., resource
6034    <code>tcapFunctionKeys</code> (patch by Gertjan Halkes).</li>
6035
6036    <li>update AIX case in <code>CF_XOPEN_SOURCE</code> configure
6037    macro to add release 7.x.</li>
6038
6039    <li>modify ifdef's in <code>xterm_io.h</code> for
6040    <code>__hpux</code> to force that to use the hacked SYSV
6041    support in that file. This fixes a problem with a non-blocking
6042    socket call (patch by Paul Lampert).</li>
6043
6044    <li>improve filtering of desktop category scanning, to exclude
6045    XFCE.</li>
6046
6047    <li>modify configure script to work with systems that have both
6048    ncurses (or other terminfo) as well as a real termcap library,
6049    e.g., Slackware (report by Andrew Watts).</li>
6050
6051    <li>modify configure script to work around special case where
6052    user's environment adds compiler flags to the <code>CC</code>
6053    variable (prompted by report by Paul Lampert).</li>
6054
6055    <li>amend change for Debian #110226 so that "-h" or "-v"
6056    options cause an exit, rather than simply printing to stdout
6057    while the window is displayed (Debian #629358).</li>
6058
6059    <li>add response for <code>DECRQSS</code> which gives the
6060    setting for <code>DECSCUSR</code>.</li>
6061
6062    <li>modify AllocateTermColor() to handle
6063    <code>XtDefaultForeground</code> and
6064    <code>XtDefaultBackground</code>, which are not recognized by
6065    <code>XParseColor</code>. For example, this fixes the use of
6066    OSC&nbsp;112 when no explicit cursor color was set (report by
6067    Ailin Nemui).</li>
6068
6069    <li>handle special-case of <code>KeyPress</code> translated to
6070    <code>popup-menu</code> action (Ubuntu #756273).</li>
6071  </ul>
6072
6073  <h1><a name="xterm_270" id="xterm_270">Patch #270 -
6074  2011/04/26</a></h1>
6075
6076  <ul>
6077    <li>build-fix, e.g., for using <code>imake</code> on platforms
6078    which use the termcap library.</li>
6079
6080    <li>modify <code>utf8</code> resource to accept a name.</li>
6081
6082    <li>mention default for <code>fontWarnings</code> in manpage
6083    (report by Werner Scheinast).</li>
6084
6085    <li>split "UTF-8" menu entry into "UTF-8 Encoding" and "UTF-8
6086    Fonts" (prompted by discussion with Werner Scheinast).</li>
6087
6088    <li>gray-out font-menu entries when a font fails to load, e.g.,
6089    a bitmap font is not installed.</li>
6090
6091    <li>improve behavior when there is no app-defaults file:
6092      <ul>
6093        <li>set the <code>toolBar</code> resource to false</li>
6094
6095        <li>gray-out the font menu entries where no resource is
6096        found.</li>
6097      </ul>
6098    </li>
6099
6100    <li>add configure option <code>--with-desktop-category</code>
6101    to allow customization of the ".desktop" files.</li>
6102
6103    <li>build-fix for the <code>install-desktop</code>
6104    makefile-rule, when the source/build directories differ (patch
6105    by Lo&iuml;c Minier).</li>
6106
6107    <li>add menu entry and corresponding resource which can be used
6108    to suppress all bold-fonts (discussion with Jan
6109    Engelhardt).</li>
6110
6111    <li>make internal line-size value consistent with allocated
6112    sizes of character and related arrays to ensure that bulk
6113    copying of line data, e.g., in scrolling, accounts for the
6114    padding used for pointer alignment (adapted from patch by
6115    Rajesh Mandalemula, also reported by Ali Bahar).</li>
6116
6117    <li>widen ifdef for screen-resizing logic from <a href=
6118    "#xterm_176">patch #176</a> changes to send
6119    <code>SIGWINCH</code> to process group to include any system
6120    supporting <code>ioctl(*,TIOCGPGRP,*)</code> (prompted by
6121    linux-specific patch in OpenSUSE rpm package).</li>
6122
6123    <li>add <code>printModeOnXError</code> and
6124    <code>printFileOnXError</code> resources, which allow the user
6125    to specify that xterm will write the contents of its screen to
6126    a file if it is exiting due to an X error (Debian
6127    #280457).</li>
6128
6129    <li>restore logic that made reverse-video apply to the
6130    scrollbar's foreground/background, broken in <a href=
6131    "#xterm_158">patch #158</a> (report by Bryan Ischo).</li>
6132
6133    <li>amend some of the window operations parameter-checks added
6134    in <a href="#xterm_251">patch #251</a> for the push/pop title
6135    feature, to allow the parameters used for window resizing to be
6136    -1's, which makes the corresponding values ignored rather than
6137    using the window's maximum width/height (report by Noah
6138    Friedman).</li>
6139
6140    <li>correct order of initialization for
6141    <code>translations</code> vs <code>fullscreen</code> resources
6142    to enable a special case which omits the Alt-Enter translation
6143    when <code>fullscreen</code> is disabled (Debian #612978).</li>
6144
6145    <li>update config.guess, config.sub</li>
6146  </ul>
6147
6148  <h1><a name="xterm_269" id="xterm_269">Patch #269 -
6149  2011/02/19</a></h1>
6150
6151  <ul>
6152    <li>build-fixes for <code>imake</code> (report by Heiko
6153    Berges).</li>
6154
6155    <li>modify autoconf macro CF_PKG_CONFIG to work with
6156    cross-compile environments (patch by Thierry Reding).</li>
6157
6158    <li>modify <code>MapToColorMode()</code> to favor bold over
6159    underline, matching the precedence used before <a href=
6160    "#xterm_252">patch #252</a> (report/analysis by Nicolas
6161    George).</li>
6162
6163    <li>add <code>omitTranslation</code> resource, which can be
6164    used to suppress the default translations for these features:
6165      <ul>
6166        <li>fullscreen</li>
6167
6168        <li>scroll-lock</li>
6169
6170        <li>shift-fonts</li>
6171
6172        <li>wheel-mouse</li>
6173      </ul>
6174    </li>
6175
6176    <li>make the fullscreen feature configurable (Debian #612978)
6177      <ul>
6178        <li>add it to the configurable list
6179        <code>disallowedWindowOps</code>.</li>
6180
6181        <li>add command-line option <code>-fullscreen</code> to
6182        allow the feature to be enabled at startup.</li>
6183
6184        <li>add resource <code>fullscreen</code> to control whether
6185        the feature is active or may be enabled.</li>
6186      </ul>
6187    </li>
6188
6189    <li>modify <code>probe_netwm_fullscreen_capability</code> for
6190    64-bit machines. Contrary to <code>XGetWindowProperty</code>
6191    manpage, that function returns 32-bit data packed as
6192    <code>long</code>'s.</li>
6193
6194    <li>eliminate copy of <code>name</code> resource, which was
6195    otherwise used only to give the terminal-description name for
6196    the tcap-query feature. Use the actual <code>$TERM</code> value
6197    instead, as derived from <code>termName</code> resource,
6198    etc.</li>
6199
6200    <li>eliminate an old inconsistency with error messages, some
6201    used the <code>-name</code> option, while others used
6202    <code>argv[0]</code>. The latter is now used consistently.</li>
6203
6204    <li>improve configure check for rpath-hack, to improve builds
6205    on systems where gcc will not search /usr/local/lib, etc.</li>
6206
6207    <li>build-fix for Xaw3d configuration (report by H Merijn
6208    Brand).</li>
6209
6210    <li>update config.guess, config.sub</li>
6211  </ul>
6212
6213  <h1><a name="xterm_268" id="xterm_268">Patch #268 -
6214  2011/02/10</a></h1>
6215
6216  <ul>
6217    <li>fix an inconsistency of the "Enable Reverse Video" checkbox
6218    in the VT Options menu. This also removes a special case added
6219    in <a href="#xterm_217">patch #217</a> which limited the effect
6220    of the <code>reverseVideo</code> resource (Debian
6221    #603808).</li>
6222
6223    <li>amend decoding of misformed UTF-8 sequences to avoid
6224    absorbing valid characters as documented in Unicode 6.0 section
6225    3.9 (report by Keith Winstein).</li>
6226
6227    <li>do not set urgency hint when window already has focus
6228    (patch by Dimitrios Christidis).</li>
6229
6230    <li>amend extended mouse-coordinate mode from <a href=
6231    "#xterm_262">patch #262</a> changes to include the <em>Cb</em>
6232    button-code, which also may be greater than 127 (report by
6233    Ailin Nemui).</li>
6234
6235    <li>ensure that underline-cursor is visible when an application
6236    happens to set the background color (report by Christian
6237    Weisgerber).</li>
6238
6239    <li>add feature for <a href=
6240    "http://www.davidsimmons.com/soft/xtermhacks/xterm-fullscreen.patch">
6241    full-screen toggling</a> using either Alt-Enter or a menu
6242    selection (integrated patch by Dave Simmons).</li>
6243
6244    <li>add missing logic to handle reallocation of FIFO index for
6245    the "UTF-8" menu entry (report by David Holland, NetBSD
6246    #44344).</li>
6247
6248    <li>add makefile rules <code>docs-ctlseqs</code>,
6249    <code>docs-xterm</code>, etc.</li>
6250
6251    <li>correct typo in description of DECRPM in control sequences
6252    document (report by Ailin Nemui).</li>
6253  </ul>
6254
6255  <h1><a name="xterm_267" id="xterm_267">Patch #267 -
6256  2010/11/20</a></h1>
6257
6258  <ul>
6259    <li>minor formatting changes to ctlseqs.ms to simplify a script
6260    which extracts the feature information. See the results in
6261    <a href=
6262    "https://invisible-island.net/xterm/xterm.faq.html#compare_versions">
6263    Comparing versions, by counting controls</a> in the xterm
6264    FAQ.</li>
6265
6266    <li>add <code>docs-clean</code> makefile rule.</li>
6267
6268    <li>add <code>copy-selection</code> action (request by Timo
6269    Juhani Lindfors, Debian #588785).</li>
6270
6271    <li>trim leading/trailing blanks from string used for
6272    "Selection" font-menu data.</li>
6273
6274    <li>trim leading/trailing blanks from color resource
6275    values.</li>
6276
6277    <li>configure script improvements:
6278      <ul>
6279        <li>add workaround for removal of X11 dependency from Xt's
6280        package file (report by Robert Hooker).</li>
6281
6282        <li>add workaround for removal of fontconfig dependency
6283        from Xft's package file (report by Jeremy Huddleston).</li>
6284
6285        <li>add workaround for removal of Xmu dependency from Xaw's
6286        package file (report by Jeremy Huddleston).</li>
6287
6288        <li>improve workaround in <code>CF_X_TOOLKIT</code> macro,
6289        checking for other possible packages where Xt's
6290        dependencies may be given.</li>
6291
6292        <li>prefer <code>${name:=value}</code> to
6293        <code>${name-value}</code>, since recent bash changes break
6294        legacy support for that feature.</li>
6295      </ul>
6296    </li>
6297  </ul>
6298
6299  <h1><a name="xterm_266" id="xterm_266">Patch #266 -
6300  2010/10/24</a></h1>
6301
6302  <ul>
6303    <li>add rpm and dpkg scripts, for testing.</li>
6304
6305    <li>more fixes for Debian #600707 (report by Cyril
6306    Brulebois).</li>
6307  </ul>
6308
6309  <h1><a name="xterm_265" id="xterm_265">Patch #265 -
6310  2010/10/22</a></h1>
6311
6312  <ul>
6313    <li>fix a regression in fontname logic from <a href=
6314    "#xterm_263">patch #263</a> changes (Debian #600707, reported
6315    by Vincent Lef&egrave;vre).</li>
6316
6317    <li>revert modification of any-event/any-button protocol from
6318    <a href="#xterm_263">patch #263</a> changes. It interferes with
6319    selection using a shifted mouse button (reports by Neil Bird,
6320    Bram Moolenaar).</li>
6321  </ul>
6322
6323  <h1><a name="xterm_264" id="xterm_264">Patch #264 -
6324  2010/10/14</a></h1>
6325
6326  <ul>
6327    <li>replace a null-pointer check with check for empty string in
6328    <code>xtermOpenFont</code>, to eliminate a warning message from
6329    <a href="#xterm_263">patch #263</a> changes.</li>
6330
6331    <li>build-fix for <a href="#xterm_263">patch #263</a> when
6332    toolbar is not configured (patch by Chris Clayton) (reports by
6333    Robby Workman, David Wood).</li>
6334  </ul>
6335
6336  <h1><a name="xterm_263" id="xterm_263">Patch #263 -
6337  2010/10/13</a></h1>
6338
6339  <ul>
6340    <li>corrected initialization of "misc" resource values, to
6341    ensure that xterm has allocated a copy of strings which may not
6342    have been malloc'd by the X library (Debian #600129).</li>
6343
6344    <li>modify handling of any-event/any-button mouse protocol; it
6345    now is active with any combination of key-modifiers.</li>
6346
6347    <li>add debugging feature <code>showWrapMarks</code>, which
6348    marks lines which xterm knows are wrapped, showing where a
6349    double-click will select past the end of a line.</li>
6350
6351    <li>build-fix to address change in include-guards for
6352    <code>Xlib.h</code> in ongoing Xorg edits (patch by Jeremy
6353    Huddleston).</li>
6354
6355    <li>improve <code>pointerMode</code> by continuing to watch for
6356    motion events after mouse tracking is disabled if the pointer
6357    is hidden (Debian #594856).</li>
6358
6359    <li>further extend initialization for active-icon font to check
6360    if the font was not loaded successfully, to retry with
6361    <code>font1</code>, or as even (if TrueType fonts are used) to
6362    use a TrueType font. The retries are to help with cases as in
6363    <a href="#xterm_241">patch #241</a> where the bitmap fonts are
6364    not available.</li>
6365
6366    <li>fix special case of active-icon used when TrueType font is
6367    specified for the xterm window, from <a href="#xterm_261">patch
6368    #261</a> change. In that case, the default font's size was used
6369    for layout of the active icon's window (Debian #591265).</li>
6370  </ul>
6371
6372  <h1><a name="xterm_262" id="xterm_262">Patch #262 - 2010/8/30</a></h1>
6373
6374  <ul>
6375    <li>fix a case where changing the cursor color via escape
6376    sequences did not immediately update the screen (report by
6377    Andreas Wagner).</li>
6378
6379    <li>implement ANSI and DEC request-mode control sequences. The
6380    latter includes the xterm-specific private modes such as the
6381    mouse mode. The feature is ifdef'd with the rectangle
6382    operations since its decoding overlaps that feature.</li>
6383
6384    <li>correct typo in ctlseqs.ms for response of OSC 21 (patch by
6385    Kevin Schoedel).</li>
6386
6387    <li>improve discussion of mouse tracking in ctlseqs.ms</li>
6388
6389    <li>increase an array limit used in reporting mouse events
6390    (report by Ryan Johnson).</li>
6391
6392    <li>add extended mouse-coordinates mode, allowing up to
6393    2015x2015 windows, using UTF-8 encoding (patch by Ryan
6394    Johnson).</li>
6395
6396    <li>modify manpage hyphens to conform with <a href=
6397    "http://lintian.debian.org/tags/hyphen-used-as-minus-sign.html">
6398    Debian</a>.</li>
6399  </ul>
6400
6401  <h1><a name="xterm_261" id="xterm_261">Patch #261 - 2010/6/28</a></h1>
6402
6403  <ul>
6404    <li>fix regression in <code>renderFont</code> logic, from
6405    <a href="#xterm_260">patch #260</a> changes (report by Joseph
6406    Quinsey).</li>
6407  </ul>
6408
6409  <h1><a name="xterm_260" id="xterm_260">Patch #260 - 2010/6/20</a></h1>
6410
6411  <ul>
6412    <li>modify <code>plink.sh</code> to work around problem linking
6413    to recent PCRE libraries.</li>
6414
6415    <li>extend <code>renderFont</code> resource to allow deferred
6416    switch to TrueType fonts without affecting existing resource
6417    settings (Debian #585620).</li>
6418
6419    <li>modify configure macro CF_X_TOOLKIT to work around omission
6420    of ICE library from ".pc" file (report by Miroslav
6421    Lichvar).</li>
6422
6423    <li>change configure script default for
6424    <code>--enable-broken-st</code> i.e., the
6425    <code>brokenStringTerm</code> feature) to normally enable it.
6426    If the corresponding resource is enabled, this feature
6427    eliminates an apparent freeze of xterm when sending mis-encoded
6428    data to the screen (Debian #584801).</li>
6429
6430    <li>document in manpage some actions which were overlooked:
6431      <ul>
6432        <li>readline-button</li>
6433
6434        <li>scroll-lock</li>
6435
6436        <li>set-8-bit-control</li>
6437      </ul>
6438    </li>
6439
6440    <li>undo a change to limit-check in <code>ScrnRefresh</code> in
6441    <a href="#xterm_257">patch #257</a>, which broke
6442    <code>fastScroll</code> feature (Debian #584841).</li>
6443
6444    <li>modify handling of <code>brokenLinuxOSC</code> and
6445    <code>brokenStringTerm</code> to also sound the bell.</li>
6446
6447    <li>add control/D and control/Q to controls which will cause
6448    early exit from control string per
6449    <code>brokenStringTerm</code> resource.</li>
6450
6451    <li>improve documentation of <code>brokenStringTerm</code>
6452    resource in manpage.</li>
6453  </ul>
6454
6455  <h1><a name="xterm_259" id="xterm_259">Patch #259 - 2010/6/5</a></h1>
6456
6457  <ul>
6458    <li>modify configure check for <a href=
6459    "https://invisible-island.net/luit/">luit</a> to include new
6460    aliases for the program (<code>xterm-filter</code> and
6461    <code>bluit</code>).</li>
6462
6463    <li>add workaround in <code>xtermClearLEDs()</code> to account
6464    for Xkb's override, making vttest's LED demo reset the scroll
6465    lock.</li>
6466
6467    <li>filter out client-message events when deciding whether to
6468    hide cursor, e.g., when using SCIM (patch/report by anonymous
6469    user).</li>
6470
6471    <li>improve description of <code>-bd</code> option in manpage
6472    (report by Guy Daniel Clotilde).</li>
6473
6474    <li>modify configure checks for PCRE and other libraries to use
6475    <code>pkg-config</code>, if available.</li>
6476
6477    <li>amend change from <a href="#xterm_252">patch #252</a>, to
6478    take <code>veryColorColors</code> resource into account when
6479    checking <code>colorBDMode</code> resource for TrueType fonts
6480    (report by anonymous user).</li>
6481
6482    <li>add <code>vttests/query-fonts.pl</code> script for
6483    demonstrating the <code>OSC&nbsp;50</code> font query.</li>
6484
6485    <li>improve manpage discussion of Scroll Lock feature.</li>
6486
6487    <li>improve configure macros CF_GCC_VERSION and
6488    CF_GCC_WARNINGS.</li>
6489
6490    <li>fix warnings for "clang --analyze".</li>
6491
6492    <li>change default for <code>allowScrollLock</code> resource to
6493    <code>false</code>, noting that the supposedly unused key has
6494    been useful for various rebindings (Debian #580946).</li>
6495  </ul>
6496
6497  <h1><a name="xterm_258" id="xterm_258">Patch #258 - 2010/5/1</a></h1>
6498
6499  <ul>
6500    <li>add pointer-checks in <code>ScrnRefresh</code> to fix a
6501    case in rapid scrolling where an empty record is fetched from
6502    the scrollback FIFO.</li>
6503  </ul>
6504
6505  <h1><a name="xterm_257" id="xterm_257">Patch #257 - 2010/4/22</a></h1>
6506
6507  <ul>
6508    <li>correct ctlseqs.ms description of OSC 17 and OSC 19 (patch
6509    by Emanuele Giaquinta).</li>
6510
6511    <li>corrected logic for <code>menuLocale</code> resource; the
6512    <code>setlocale</code> function returns the original locale
6513    only when querying.</li>
6514
6515    <li>improve filtering of translations resource, narrowing the
6516    scope of the <code>alwaysUseMods</code> to address only the
6517    translations that would cause a key to be sent to the host
6518    (report by Andrew Gaylard).</li>
6519
6520    <li>change default value of <code>menuLocale</code> resource to
6521    "C", to work around longstanding <a href=
6522    "https://invisible-island.net/xterm/xterm.faq.html#slow_menus">Xorg
6523    bug</a>.</li>
6524
6525    <li>modify handling of <code>scrollKey</code> feature to ignore
6526    XON/XOFF keys.</li>
6527
6528    <li>implement scroll-lock feature.</li>
6529
6530    <li>revise memory allocation in UTF8toLatin1() to fix an
6531    out-of-bounds index (Mandriva #54531).</li>
6532
6533    <li>compute value for first wide-character rather than assuming
6534    it is 256, fixes problem with <code>-cjk_width</code>
6535    introduced in patches <a href="#xterm_242">242</a> and <a href=
6536    "#xterm_249">249</a> (report by Thomas Wolff).</li>
6537
6538    <li>improve configure script:
6539      <ul>
6540        <li>corrected check for <code>_XOPEN_SOURCE</code> for
6541        OpenSolaris.</li>
6542
6543        <li>when possible, add rpath option for libraries in
6544        unusual places</li>
6545
6546        <li>add configure option <code>--disable-rpath-hack</code>
6547        to control whether the rpath option can be added.</li>
6548      </ul>
6549    </li>
6550
6551    <li>modify <code>AllocateTermColor()</code> to separate
6552    initialization from control sequences, fixing problem from
6553    <a href="#xterm_254">patch #254</a> changes where enabling
6554    <code>allowSendEvents</code> resource prevents setting cursor
6555    color on command-line (Debian #572928).</li>
6556
6557    <li>amend logic from <a href="#xterm_185">patch #185</a> to not
6558    reallocate cell-array if processing
6559    <code>ESC&nbsp;%&nbsp;G</code> to switch from UTF-8 if already
6560    in ISO-8859-1 character set (report by Michael Koehne).</li>
6561
6562    <li>fix to avoid calling <code>XmuInternStrings()</code> with
6563    zero count (report by Johan Bockg&aring;rd).</li>
6564
6565    <li>fix build when --disable-ansi-color configure option is
6566    used.</li>
6567
6568    <li>fix build when neither OPT_TCAP_QUERY or OPT_TCAP_FKEYS is
6569    defined (patch by Matthieu Herrb)</li>
6570  </ul>
6571
6572  <h1><a name="xterm_256" id="xterm_256">Patch #256 - 2010/3/6</a></h1>
6573
6574  <ul>
6575    <li>add TerminalEmulator to desktop category files.</li>
6576
6577    <li>modify <code>sinstall.sh</code> to ignore the "." appended
6578    to permissions by selinux.</li>
6579
6580    <li>change app-defaults organization, installing UXTerm-color
6581    and KOI8XTerm-color for consistent behavior regarding
6582    <code>customization:&nbsp;color</code> (prompted by discussion
6583    in Ubuntu #421261).</li>
6584
6585    <li>fix typo in <code>minstall.sh</code> from <a href=
6586    "#xterm_255">patch #255</a> changes, and add case for
6587    <code>/var/run</code> needed for full path of utmp (report by
6588    Julien Cristau).</li>
6589
6590    <li>minor fix to xterm manpage, remove a comment stating that
6591    margin bell can be changed via the VT Options menu. That was
6592    replaced in <a href="#xterm_225">patch #225</a></li>
6593
6594    <li>add a "docs" rule to makefile.</li>
6595
6596    <li>fix initialization of Atom used for <code>XkbBell</code>
6597    feature from <a href="#xterm_243">patch 243</a> changes. Unlike
6598    the other calls to <code>XInternAtom()</code>, in this case the
6599    flag telling X to create the Atom was unset (patch by Chris
6600    Adams).</li>
6601  </ul>
6602
6603  <h1><a name="xterm_255" id="xterm_255">Patch #255 - 2010/1/21</a></h1>
6604
6605  <ul>
6606    <li>rename <code>install.sh</code> to <code>install-sh</code>
6607    in case suffix-rules might interfere.</li>
6608
6609    <li>extend range for <code>convertToUTF8</code> function to
6610    full 31-bits, to use with printing, etc.</li>
6611
6612    <li>improve manpage by checking for actual locations of
6613    utmp/wtmp files (Debian #562640).</li>
6614
6615    <li>modify configure macro CF_XOPEN_SOURCE to remove -D's
6616    before adding the same name rather than relying on -U's, to
6617    reduce redefinition warnings for some platforms that have
6618    conflicting definitions in headers.</li>
6619
6620    <li>correct logic used to switch to alternate screen using
6621    FIFO-lines configuration (Debian #565772).</li>
6622
6623    <li>update config.guess, config.sub</li>
6624  </ul>
6625
6626  <h1><a name="xterm_254" id="xterm_254">Patch #254 - 2010/1/6</a></h1>
6627
6628  <ul>
6629    <li>add a configure-check to eliminate <code>install-ti</code>
6630    rule from Makefile when the system has no tic (terminfo
6631    compiler) program. This lets one use the
6632    <code>install-full</code> rule more consistently.</li>
6633
6634    <li>amend change to WriteText() function in <a href=
6635    "#xterm_252">patch #252</a> to take into account the
6636    <code>colorAttrMode</code> resource (report by Krzysztof
6637    Kotlenga).</li>
6638
6639    <li>document <code>titleModes</code> resource in manpage, added
6640    in <a href="#xterm_252">patch #252</a>.</li>
6641
6642    <li>modify tcap-query table entries for shifted up/down cursor
6643    keys to match ncurses convention.</li>
6644
6645    <li>improve lookup of termcap-query data, allowing for
6646    duplicate keycodes versus missing entries.</li>
6647
6648    <li>add control sequence which can be used to modify the
6649    terminal data used for the termcap-keyboard.</li>
6650
6651    <li>improve portability of tcap-query feature, using terminfo
6652    functions in preference to termcap on systems having
6653    terminfo.</li>
6654
6655    <li>improve font-setting/querying control
6656    (<code>OSC&nbsp;50</code>):
6657      <ul>
6658        <li>when TrueType font is selected, the TrueType
6659        <code>faceName</code> will be set, rather than the bitmap
6660        font.</li>
6661
6662        <li>when TrueType font is selected, querying returns the
6663        name of the TrueType font.</li>
6664
6665        <li>querying a font recognizes the relative-font convention
6666        that setting a font could use.</li>
6667      </ul>
6668    </li>
6669
6670    <li>add menu-entry for allowColorOps.</li>
6671
6672    <li>add new resources for fine-tuning menu entries:
6673    <code>allowColorOps</code>, <code>disallowedColorOps</code>,
6674    <code>disallowedFontOps</code> and
6675    <code>disallowedTcapOps</code>.</li>
6676
6677    <li>correct logic for disabling the "TrueType Fonts" menu item;
6678    it was not ensuring that the <code>faceName</code> resource
6679    value was non-empty.</li>
6680
6681    <li>implement VT520-style controls <code>DECSMBV</code> and
6682    <code>DECSWBV</code> for setting the margin- and warning-bell
6683    volume.</li>
6684
6685    <li>fix a minor error from <a href="#xterm_243">patch #243</a>
6686    which made the zIconBeep feature use a minor-error tone rather
6687    than an informational tone.</li>
6688
6689    <li>add a null-pointer check for the case where
6690    <code>renderFont</code> resource is true, but
6691    <code>faceName</code> resource is unset, used in logic to strip
6692    "xft:" prefix from <a href="#xterm_251">patch #251</a> changes
6693    (patch by Michael Riepe).</li>
6694
6695    <li>add special case to configure CF_XOPEN_SOURCE macro to use
6696    extensions on Darwin (patch by Dennis Preiser).</li>
6697
6698    <li>improve configure checks for regular expressions header and
6699    library</li>
6700
6701    <li>update config.guess, config.sub</li>
6702  </ul>
6703
6704  <h1><a name="xterm_253" id="xterm_253">Patch #253 -
6705  2009/12/10</a></h1>
6706
6707  <ul>
6708    <li>add a null-pointer check in <code>getPrinterFlags()</code>
6709    per changes in <a href="#xterm_252">patch #252</a>.</li>
6710
6711    <li>add a null-pointer check, needed in UTF-8 mode for Xft
6712    fonts after changes in <a href="#xterm_252">patch #252</a>
6713    (patch by Alan Coopersmith).</li>
6714
6715    <li>correct size when clearing struct for tek4014 (patch by
6716    Jochen Voss).</li>
6717
6718    <li>parenthesize expression in <code>MoreRows</code> macro,
6719    fixing a limit check added in <a href="#xterm_251">patch
6720    #251</a> (Debian #560039).</li>
6721  </ul>
6722
6723  <h1><a name="xterm_252" id="xterm_252">Patch #252 - 2009/12/7</a></h1>
6724
6725  <ul>
6726    <li>modify title-querying logic to support retrieval of titles
6727    encoded using UTF-8.</li>
6728
6729    <li>add new "title-modes" control sequence for controlling
6730    whether window/icon titles can be set or queried using UTF-8,
6731    optionally encoded in a hexadecimal string.</li>
6732
6733    <li>use <code>mkdir&nbsp;-p</code> rather than
6734    <code>mkdirs.sh</code> (prompted by discussion of mawk by
6735    Aleksey Cheusov).</li>
6736
6737    <li>add appropriate copyright/license notices to the bulk of
6738    files lacking same, and modify to use identical terms in others
6739    which used different wording. The main exceptions are the files
6740    contributed by Markus Kuhn, who appears to prefer public domain
6741    distribution, noting that I have modified/improved several of
6742    these without changing the terms of distribution (request by
6743    Jari Aalto).</li>
6744
6745    <li>add control sequences for resetting the "dynamic" colors to
6746    their default values.</li>
6747
6748    <li>add control sequences for resetting the "special" colors to
6749    their default values.</li>
6750
6751    <li>add control sequences for setting the "special" colors such
6752    as <code>colorBD</code> (bold).</li>
6753
6754    <li>add overlooked case for setting highlight foreground color
6755    with the dynamic-colors control.</li>
6756
6757    <li>add <code>OSC 104</code>, for resetting ANSI/16/88/256
6758    colors to default.</li>
6759
6760    <li>reset ANSI/16/88/256 colors to default in soft/hard reset
6761    functions.</li>
6762
6763    <li>strip "xft:" prefix from <code>faceName</code> and
6764    <code>faceNameDoublesize</code> resource values,</li>
6765
6766    <li>add <code>DECSCUSR</code> (discussion with Andy
6767    Koppe).</li>
6768
6769    <li>add check/warning on failure to load font, to see if the
6770    name looks like an Xft pattern rather than XLFD. This can
6771    happen if someone happens to modify their X resource settings
6772    for programs that read data from xterm's namespace.</li>
6773
6774    <li>modify handling of <code>print</code> and
6775    <code>print-everything</code> actions to allow the various
6776    printer flags to be overridden by supplying parameters.</li>
6777
6778    <li>add resource <code>printerNewLine</code> (request by Ovidiu
6779    Gheorghioiu).</li>
6780
6781    <li>minor cleanup, finish using <code>TScreenOf()</code> and
6782    <code>TekScreenOf()</code> macros introduced in <a href=
6783    "#xterm_224">patch #224</a>.</li>
6784
6785    <li>improve checks in ShowCursor/HideCursor to get the
6786    background color, particularly when
6787    <code>highlightReverse</code> resource is used (reports by Jan
6788    Engelhardt, Christian Weisgerber).</li>
6789
6790    <li>correct <code>checkVeryBoldAttr</code> to omit comparison
6791    of foreground color to special color values used for
6792    <code>color&lt;XX&gt;</code> resources (report by Jan
6793    Engelhardt).</li>
6794
6795    <li>make <code>colorBDMode</code> and <code>colorULMode</code>
6796    resources work with TrueType configuration (report by Jan
6797    Engelhardt).</li>
6798  </ul>
6799
6800  <h1><a name="xterm_251" id="xterm_251">Patch #251 -
6801  2009/11/11</a></h1>
6802
6803  <ul>
6804    <li>add window-ops controls to push/pop icon and/or window
6805    labels on a stack.</li>
6806
6807    <li>minor fixes to align termcap file with terminfo.</li>
6808
6809    <li>add resource <code>disallowedWindowOps</code>, to allow
6810    fine-tuning of features to suppress with the
6811    <code>allowWindowOps</code> resource (prompted by discussion
6812    with Bram Moolenaar).</li>
6813
6814    <li>add makefile rules for resize-manpage to pdf, etc.</li>
6815
6816    <li>further improve limit-checks in select/paste (Mandriva
6817    #54531).</li>
6818  </ul>
6819
6820  <h1><a name="xterm_250" id="xterm_250">Patch #250 -
6821  2009/10/13</a></h1>
6822
6823  <ul>
6824    <li>add check and error-message for fonts that have no
6825    printable values in the ISO-8859-1 range (Debian #542434).</li>
6826
6827    <li>some compiler-warning cleanup, in particular workaround for
6828    defective implementation of gcc's attribute warn_unused_result
6829    (report by Bram Moolenaar).</li>
6830
6831    <li>improve estimate of single-column width for packed TrueType
6832    fonts by ignoring extents for codes 127 and 159.</li>
6833
6834    <li>improve line-drawing for TrueType fonts which happen to
6835    have defined glyphs which are <em>not</em> line-drawing in
6836    0..31 by assuming they're not, and just checking the existence
6837    of the Unicode codepoints. This makes it more likely that the
6838    user can override a misconfigured font using the "Line-Drawing
6839    Characters" menu entry.</li>
6840
6841    <li>limit minimum cell-width for packed font to maximum-advance
6842    reported by Xft. Some fonts are wider than that, even in the
6843    Latin-1 range (Debian #550497).</li>
6844
6845    <li>add list of direct-contributors in "THANKS" file.</li>
6846
6847    <li>stylistic changes to this file to help scripted extraction
6848    of list of contributors.</li>
6849
6850    <li>correct off-by-one in <code>okPosition</code> fix from
6851    <a href="#xterm_249">patch #249</a> limit-checks which
6852    prevented double-click selection on the bottom line of the
6853    screen (reports by Rajeev V. Pillai, Debian #550368).</li>
6854
6855    <li>add <code>-q</code> option to
6856    <code>vttests/256colors2.pl</code> and
6857    <code>vttests/88colors2.pl</code> to demonstrate bulk
6858    initialization of color palette.</li>
6859
6860    <li>improve the workaround from patch #188 by enabling
6861    resources for the 88-color model.</li>
6862
6863    <li>document in xterm manpage the limited availability of
6864    resources <code>color16</code> to <code>color255</code> as
6865    noted in <a href="#xterm_188">patch #188</a> (Ubuntu
6866    #438850).</li>
6867  </ul>
6868
6869  <h1><a name="xterm_249" id="xterm_249">Patch #249 - 2009/10/1</a></h1>
6870
6871  <ul>
6872    <li>change default for <code>allowWindowOps</code> resource to
6873    false. 
6874    <!-- on the other hand, gnome-terminal, pterm and rxvt-unicode
6875                leave most of the related functionality enabled ;-) --></li>
6876
6877    <li>add limit-checks for result of visual_width() function,
6878    needed from <a href="#xterm_242">patch #242</a> and exposed by
6879    #244 changes (Debian #548321).</li>
6880
6881    <li>improve limit-checks in select/paste.</li>
6882
6883    <li>fix a remaining bug from <a href="#xterm_230">patch
6884    #230</a> changes for displaying multi-column characters in a
6885    proportional font (report by Chris Jones).</li>
6886
6887    <li>add new resource forcePackedFont and menu entry "Packed
6888    Font" to control whether to use the font's minimum (default) or
6889    maximum width when those differ. The workaround which xterm
6890    uses to accommodate proportional fonts is not necessary with
6891    certain fonts such as unifont which happen to store a mixture
6892    of multicolumn glyphs (report by Chris Jones).</li>
6893
6894    <li>fix an (old) bug which did not restart the timer for
6895    blinking text if the only blinking text was temporarily
6896    scrolled out of view, e.g., using the scrollbar.</li>
6897
6898    <li>fix an (old) flaw in the delete-line operation where the
6899    text which is scrolled into view while the display is scrolled
6900    up was not repainted.</li>
6901
6902    <li>improve delete-line and insert-line operations, retaining
6903    selection when the selection does not intersect the
6904    deleted/inserted lines.</li>
6905
6906    <li>fix an (old) off-by-one error when an application cleared
6907    above the cursor position while the display was scrolled up,
6908    that would leave an extra line of text uncleared.</li>
6909
6910    <li>fix a similar problem where the double-size attribute would
6911    not be reset when clearing the screen while the display was
6912    scrolled up.</li>
6913
6914    <li>fix an indexing error which would occur if an application
6915    cleared a line while the display was scrolled up and was also
6916    in UTF-8 mode (Redhat #524503). The error was from <a href=
6917    "#xterm_228">patch #228</a> but more visible after changes from
6918    <a href="#xterm_244">patch #244</a>.</li>
6919  </ul>
6920
6921  <h1><a name="xterm_248" id="xterm_248">Patch #248 - 2009/9/11</a></h1>
6922
6923  <ul>
6924    <li>fix an overlooked adjustment for selecting double-width
6925    characters in the narrow-character configuration.</li>
6926
6927    <li>eliminate uses of <code>XTERM_CELL</code> and
6928    <code>XTERM_CELLC</code> where an appropriate
6929    <code>LineData</code> pointer is available.</li>
6930
6931    <li>correct expression in <code>okScrnRow</code> macro, making
6932    selections give the length of lines below the visible screen
6933    (report by Stuart Henderson).</li>
6934
6935    <li>correct logic used to improve performance of missing-glyph
6936    check, which did not handle line-drawing characters (Debian
6937    #545220).</li>
6938  </ul>
6939
6940  <h1><a name="xterm_247" id="xterm_247">Patch #247 - 2009/8/30</a></h1>
6941
6942  <ul>
6943    <li>add ifdef's and check for openpty() on DragonFly (patch by
6944    Alex Hornung).</li>
6945
6946    <li>correct calculation for size of line's data block, which
6947    was sometimes off-by-one when configured using
6948    <code>--enable-16bit-chars</code> (report by H Merijn
6949    Brand).</li>
6950
6951    <li>fix indexing error in print-everything feature from
6952    <a href="#xterm_246">patch #246</a> (patch by Ovidiu
6953    Gheorghioiu).</li>
6954  </ul>
6955
6956  <h1><a name="xterm_246" id="xterm_246">Patch #246 - 2009/8/16</a></h1>
6957
6958  <ul>
6959    <li>remove obsolete logic for saving/restoring wrapping flags,
6960    which did not work on 64-bit platform. Wrapping flags (stored
6961    in the line-index) are now copied with line-data (Debian
6962    #541160).</li>
6963
6964    <li>modify comments in app-defaults files to avoid problem with
6965    C preprocessor used by <code>xrdb</code> (Debian #541603).</li>
6966
6967    <li>restore special case in <code>makeColorPair</code>, needed
6968    for <code>colorBDMode</code> resource (Debian #541089).</li>
6969
6970    <li>correct <code>SetLineFlags()</code> macro, broken in
6971    <a href="#xterm_244">patch #244</a> when recoding to avoid
6972    gcc-specific bitfields (Debian #541236).</li>
6973
6974    <li>modify initialization of screen buffers to ensure that
6975    pointers align to int-boundaries. This fixes a problem
6976    introduced in <a href="#xterm_244">patch #244</a> where the
6977    color- and character-arrays (stored after the video-attributes
6978    in each row) might be misaligned (report by Rajeev V
6979    Pillai).</li>
6980
6981    <li>add limit-check in <code>ScrnRefresh</code> for handling
6982    saved-lines from the circular buffer which are repainted on a
6983    screen whose width has increased. To improve performance,
6984    circular buffer entries are not resized (report by Rajeev V
6985    Pillai).</li>
6986
6987    <li>correct type for <code>CellColor</code> (a late change in
6988    <a href="#xterm_244">patch #244</a> to avoid gcc-specifc enums
6989    made that unsigned rather than unsigned short, for the
6990    256-color option).</li>
6991
6992    <li>fix typo in configure option --enable-16bit-chars (report
6993    by Rajeev V. Pillai).</li>
6994  </ul>
6995
6996  <h1><a name="xterm_245" id="xterm_245">Patch #245 - 2009/8/12</a></h1>
6997
6998  <ul>
6999    <li>correct a special case in saving FIFO-lines from <a href=
7000    "#xterm_244">patch #244</a>. If the screen was shrunk, xterm
7001    used the wrong amount for copying to FIFO-lines, and then used
7002    this amount to adjust the current row on the screen. That was
7003    both a visible defect (Debian #541109) as well as a potential
7004    addressing error (Debian #541132, Debian #541160, and Debian
7005    #541236).</li>
7006
7007    <li>add clarification in xterm manual about the various
7008    <code>allow<em>XXX</em>Ops</code> resources, which are disabled
7009    when the <code>allowSendEvents</code> resource is active (patch
7010    by Julien Cristau, Debian #531597).</li>
7011  </ul>
7012
7013  <h1><a name="xterm_244" id="xterm_244">Patch #244 - 2009/8/9</a></h1>
7014
7015  <ul>
7016    <li>refactored storage of saved-lines, providing a configure
7017    option to manage them as a FIFO (actually a circular buffer),
7018    improving performance. Added configure option
7019    <code>--enable-fifo-lines</code> to enable/disable the new
7020    feature (it is enabled by default).</li>
7021
7022    <li>added <code>fastScroll</code> resource, to amuse people who
7023    measure terminal emulator performance by <code>cat</code>'ing
7024    large files to the screen.</li>
7025
7026    <li>modify check in <code>readPtyData</code> from return values
7027    to provide exit on zero-bytes read from pty for FreeBSD, or
7028    eliminate high-CPU in "xterm-hold" processing (discussion with
7029    Ulrich Spoerlein, FreeBSD ports/136686). The check was
7030    originally modified to combine negative/zero values in
7031    XFree86-3.1.2E, 1996/05/06.</li>
7032
7033    <li>add configure option <code>--enable-16bit-chars</code> to
7034    provide wide-characters with 16-bits (rather than the default
7035    32-bits).</li>
7036
7037    <li>add <code>retryInputMethod</code> resource to allow
7038    configuring out the retries xterm uses to connect to
7039    non-responsive XIM server, to work around defective X
7040    configurations as noted in <a href=
7041    "http://mail-index.netbsd.org/tech-x11/2009/06/07/msg000511.html">
7042    NetBSD mailing list</a>.</li>
7043
7044    <li>make regular-expression selection work for VT100
7045    double-sized characters.</li>
7046
7047    <li>improve layout when drawing missing characters in a
7048    proportional font, e.g., as boxes, to take into account whether
7049    they are double-width (report by Guilbert Stabilo on
7050    comp.unix.shell).</li>
7051
7052    <li>add capability for keypad-center (kb2/KA2) to termcap entry
7053    for xterm-new, as well as xterm-8bit, xterm-sun and xterm-vt220
7054    (FreeBSD conf/136336).</li>
7055
7056    <li>change default for <code>keepSelection</code> resource to
7057    true (prompted by discussion with David Muir Sharnoff).</li>
7058
7059    <li>remove a limit-check in ptydata.c, allowing Unicode values
7060    past 64k to be displayed using TrueType fonts (Debian
7061    #458432).</li>
7062
7063    <li>remove a vt52-specific ifdef to allow mapping F1-F4 to
7064    PF1-PF4 when vt52 support is not compiled (report by Olaf
7065    'Rhialto' Seibert).</li>
7066
7067    <li>save/restore line-wrapping flags when converting from
7068    ISO-8859-1 encoding to UTF-8 encoding, as well as when resizing
7069    screen.</li>
7070
7071    <li>remove extra adjustment of position in fix for Debian
7072    #418324.</li>
7073
7074    <li>modify default check for <code>mkWidth</code> resource to
7075    check for line-drawing characters, which are categorized as
7076    double-width in Solaris 10 (report by Sebastian Kayser).</li>
7077
7078    <li>add "print-everything" action (patch by Ovidiu
7079    Gheorghioiu).</li>
7080
7081    <li>start refactoring scrollback data using new getLineData()
7082    function.</li>
7083
7084    <li>demote recent change to Debian #252873 fix to experimental,
7085    ifdef'd out as <code>EXP_BOGUS_FG</code> (Debian #522141).</li>
7086
7087    <li>work around groff mapping of ASCII quotes using macros
7088    (requested by Reuben Thomas based on Colin Watson advice, fixes
7089    Debian #378700).</li>
7090
7091    <li>correct symbol used for default of
7092    <code>allowWindowOps</code> which was
7093    <code>DEF_ALLOW_FONT</code> rather than
7094    <code>DEF_ALLOW_WINDOW</code> (report by Matthieu Herrb).</li>
7095
7096    <li>amend fix for tek4014 from <a href="#xterm_243">patch
7097    #243</a> to make it only apply to the Tek Options menu.</li>
7098  </ul>
7099
7100  <h1><a name="xterm_243" id="xterm_243">Patch #243 - 2009/3/28</a></h1>
7101
7102  <ul>
7103    <li>revert change to default for <code>allowTcapOps</code>
7104    (request by Bram Moolenaar).</li>
7105
7106    <li>reallocate result returned by <code>xtermEnvLocale()</code>
7107    to avoid reference to freed memory after handling
7108    <code>menuLocale</code> resource.</li>
7109
7110    <li>fix an old (X11R5) bug in tek4014 for switching
7111    fontsizes.</li>
7112
7113    <li>add resource <code>defaultString</code> to make
7114    configurable the use of "#" when pastes of UTF-8 text fail due
7115    to limitations in the current locale settings.</li>
7116
7117    <li>make the set of selection target Atom's configurable by two
7118    new resources <code>eightBitSelectTypes</code> and
7119    <code>utf8SelectTypes</code>, e.g., to use the
7120    <code>TEXT</code> Atom in preference to
7121    <code>UTF8_STRING</code> (discussion with Stanislav Sedov
7122    regarding koi8rxterm and the FreeBSD port).</li>
7123
7124    <li>modify handling of <code>TARGETS</code> Atom by making it
7125    return exactly the set of targets as those which xterm is
7126    currently providing.</li>
7127
7128    <li>set <code>MANPAGER</code> and <code>PAGER</code> explicitly
7129    to /bin/cat in <code>minstall.sh</code> to work around
7130    /etc/man.conf's with those variables already set (report by
7131    &#1052;&#1072;&#1088;&#1100;&#1103;&#1089;&#1080;&#1085;
7132    &#1057;&#1077;&#1084;&#1105;&#1085;).</li>
7133
7134    <li>improve error-checking of tcap-query parser.</li>
7135
7136    <li>add check for keyboard <code>tcap</code>), which ensures
7137    that terminal descriptions containing the same string for
7138    shifted/unshifted keys will be seen by tcap-query as only the
7139    unshifted key. (This would only happen with an incorrect
7140    terminal description).</li>
7141
7142    <li>fix conversion for input event-state to modifier-parameter
7143    which made tcap-query feature not work with
7144    <code>tcapFunctionKeys</code> (keyboard type
7145    <code>tcap</code>).</li>
7146
7147    <li>add "DEF_ALLOW_<em>XXX</em>" definitions to main.h to allow
7148    overriding the default compiled-in values for
7149    "allow<em>xxx</em>" resources.</li>
7150
7151    <li>remove check on bell-percentage added in <a href=
7152    "#xterm_242">patch #242</a>, which disallowed zero/negative
7153    values (Redhat Bugzilla #487829).</li>
7154  </ul>
7155
7156  <h1><a name="xterm_242" id="xterm_242">Patch #242 - 2009/2/15</a></h1>
7157
7158  <ul>
7159    <li>fix configure check for <code>XkbBell</code> and provide
7160    appropriate parameter for it.</li>
7161
7162    <li>fix a caching problem with double-size fonts versus reverse
7163    video that could cause core dump.</li>
7164
7165    <li>repair double-size fonts from workaround used in <a href=
7166    "#xterm_240">patch #240</a>.</li>
7167
7168    <li>add new section to the VT Fonts menu which allows enabling
7169    or disabling the font, termcap (tcap-query), title and window
7170    operations.</li>
7171
7172    <li>add <code>fontWarnings</code> resource, to control whether
7173    to show warnings on failure to load a font.</li>
7174
7175    <li>improve warnings for unloadable fonts introduced in
7176    <a href="#xterm_240">patch #240</a> by limiting those to the
7177    cases where a font would be specified directly by a resource
7178    setting rather than a derived fontname.</li>
7179
7180    <li>further amend fix for Debian #252873 from <a href=
7181    "#xterm_197">patch #197</a> to treat a blank cell which does
7182    not have both foreground and background colored as a
7183    non-colored cell. This improves a special case where the cursor
7184    is on a blank cell which had foreground color scrolled in
7185    (report by Miroslav Lichvar).
7186      <p>Also add the same logic when hiding cursor, so the outline
7187      matches the in-focus cursor.</p>
7188    </li>
7189
7190    <li>modify internals to reduce places PAIRED_CHARS() is used,
7191    making WriteText() and ScrnWriteText() accept IChar array, as
7192    well as providing a wrapper for drawXtermText().</li>
7193
7194    <li>change default XIM font from "*" to "fixed" to improve
7195    startup time in zh_CN.UTF-8 locale (Mike Fabian, SuSE Bugzilla
7196    #464930).</li>
7197
7198    <li>typo in #240 log (Slava Semushin)</li>
7199  </ul>
7200
7201  <h1><a name="xterm_241" id="xterm_241">Patch #241 - 2009/1/26</a></h1>
7202
7203  <ul>
7204    <li>improve checks for missing bitmap fonts, fallback to
7205    "fixed" as needed to work around broken font-packages (report
7206    by Jacek Luczak).</li>
7207
7208    <li>fix breakage from <a href="#xterm_240">patch #240</a>
7209    changes for <code>xtermAddInput()</code> (patches by Jeff Chua,
7210    Julien Cristau).</li>
7211  </ul>
7212
7213  <h1><a name="xterm_240" id="xterm_240">Patch #240 - 2009/1/25</a></h1>
7214
7215  <ul>
7216    <li>use <code>plink.sh</code> for linking xterm (suggested by
7217    Larry Doolittle).</li>
7218
7219    <li>add resource descriptions for input method to xterm
7220    manpage.</li>
7221
7222    <li>update configure script; consistently append to $CFLAGS
7223    rather than prepend.</li>
7224
7225    <li>add <code>install-scripts</code> rule to makefile, to allow
7226    koi8rxterm and uxterm scripts to be altered independently of
7227    <code>install-bin</code></li>
7228
7229    <li>add <code>-maximized</code> command-line option and
7230    corresponding resource (prompted by alt.os.linux newsgroup
7231    comment).</li>
7232
7233    <li>modify translations of scrollbar widget using
7234    <code>xtermAddInput()</code> (see <a href="#xterm_181">patch
7235    #181</a>) to accept the actions that the vt100 widget accepts,
7236    such as shift-insert to perform a paste operation (request by
7237    Martin Zwickel).</li>
7238
7239    <li>change default for <code>allowTcapsOps</code> resource to
7240    false, since it causes unexpected behavior for vim users with
7241    <code>AltGr</code>.</li>
7242
7243    <li>update config.guess, config.sub</li>
7244  </ul>
7245
7246  <h1><a name="xterm_239" id="xterm_239">Patch #239 - 2009/1/8</a></h1>
7247
7248  <ul>
7249    <li>correct a cast in input.c, which broke translation of
7250    numeric keypad codes to pageup, pagedown, etc., on 64-bit
7251    platform (Debian #511138, report by Larry Doolittle).</li>
7252  </ul>
7253
7254  <h1><a name="xterm_238" id="xterm_238">Patch #238 -
7255  2008/12/30</a></h1>
7256
7257  <ul>
7258    <li>update configure macro CF_XOPEN_SOURCE for AIX 6.x and Mint
7259    platforms.</li>
7260
7261    <li>reset the screen wrapping-flag at the end of
7262    <code>ClearRight</code> to fix an occasional case where the
7263    last character of a scrolled and wrapped line would be cleared
7264    (patch by Joe Peterson).</li>
7265
7266    <li>modify to use POSIX coding for comparing resource settings
7267    such as <code>locale</code>, to work with locales such as
7268    Turkish (report by M Vefa Bicakci).</li>
7269
7270    <li>turn on configure <code>paste64</code> feature by default
7271    (request by Jean-Philippe Bernardy). It is runtime
7272    enabled/disabled with <code>allowWindowOps</code>.</li>
7273
7274    <li>turn on configure <code>tcap-query</code> feature by
7275    default, add resource <code>allowTcapOps</code> to make this
7276    runtime enabled/disabled.</li>
7277
7278    <li>make <code>OSC 3</code> (change X property, from <a href=
7279    "#xterm_110">patch #110</a>) subject to
7280    <code>allowWindowOps</code> resource.</li>
7281
7282    <li>make VT220 <code>DSR</code> responses inactive in
7283    VT100-mode.</li>
7284
7285    <li>make <code>DECUDK</code> feature inactive in
7286    VT100-mode.</li>
7287
7288    <li>respond to incorrectly formatted <code>DECRQSS</code> with
7289    a cancel.</li>
7290
7291    <li>add <code>allowFontOps</code> resource to allow the
7292    fontsize-switching and font query/set control sequences to be
7293    enabled/disabled (prompted by Debian #510030).</li>
7294
7295    <li>some code cleanup based on gcc 4.x
7296    <code>-Wconversion</code> warnings in button.c and
7297    charproc.c</li>
7298
7299    <li>modify <code>tcap-query</code> feature to not return data
7300    for shifted cursor-keys when the keyboard type is set to vt220,
7301    since returning the same string for shifted/unshifted keys may
7302    confuse some applications (Gentoo #212546).</li>
7303  </ul>
7304
7305  <h1><a name="xterm_237" id="xterm_237">Patch #237 -
7306  2008/09/14</a></h1>
7307
7308  <ul>
7309    <li>improve usability of TrueType fonts by making the font-size
7310    switching for shifted keypad plus/minus use the
7311    <code>faceSize</code> resources to determine the order of fonts
7312    (when TrueType fonts are used) rather than the bitmap fonts,
7313    since their sizes may not be in the same order (report by H
7314    Merijn Brand)</li>
7315
7316    <li>remove an optimization of <code>ConfigureNotify</code>
7317    events from <a href="#xterm_236">patch #236</a> which seems to
7318    interfere with passing <code>SIGWINCH</code> to applications
7319    (Gentoo #233836).</li>
7320
7321    <li>modify handling of <code>altSendsEscape</code> to reset the
7322    <code>eightBitInput</code> mode, like
7323    <code>metaSendsEscape</code> (patch by Ted Phelps).</li>
7324
7325    <li>add feature to show the text-cursor as an underline rather
7326    than a box, plus command-line options <code>-uc</code> and
7327    <code>+uc</code> and resource <code>cursorUnderLine</code> to
7328    control the feature (patch by Paul Lampert).</li>
7329
7330    <li>update config.guess, config.sub</li>
7331  </ul>
7332
7333  <h1><a name="xterm_236" id="xterm_236">Patch #236 -
7334  2008/07/27</a></h1>
7335
7336  <ul>
7337    <li>correct memory reallocation when handling a paste of UTF-8
7338    text from <a href="#xterm_225">patch #225</a> changes
7339    (report/patch by Max Mikhanosha).</li>
7340
7341    <li>correct allocation of temporary buffer in
7342    <code>xtermFindShell</code> in case the user's
7343    <code>$PATH</code> contains no ":" (report/analysis by Victor
7344    Stinner, Freedesktop.Org Bugzilla #16790).</li>
7345
7346    <li>modify CF_XOPEN_SOURCE to add case for DragonFly BSD, to
7347    fix new compile problem exposed by fix for fd_mask (patch by
7348    Hasso Tepper).</li>
7349
7350    <li>add configure-check for ncurses
7351    <code>use_extended_names</code>, (report by Martin
7352    Mokrejs).</li>
7353
7354    <li>correct computation for toolbar height; layout manager
7355    already takes into account <code>borderWidth</code>
7356    resource.</li>
7357
7358    <li>implement VT320-style SCS (select character set) for ISO
7359    Latin-1 supplemental.</li>
7360
7361    <li>fixes for vt100-style character sets in UTF-8 mode (Ubuntu
7362    #230919).</li>
7363
7364    <li>fix to make <code>luit</code> work with xterm's
7365    <code>-ls</code> option (report/patch by Marius Tolzmann).</li>
7366
7367    <li>update config.guess, config.sub</li>
7368  </ul>
7369
7370  <h1><a name="xterm_235" id="xterm_235">Patch #235 -
7371  2008/04/20</a></h1>
7372
7373  <ul>
7374    <li>add control sequences for some of the recent resource/menu
7375    settings:
7376      <ul>
7377        <li><code>altSendsEscape</code> (private mode 1039)</li>
7378
7379        <li><code>keepSelection</code> (private mode 1040)</li>
7380
7381        <li><code>selectToClipboard</code> (private mode 1041)</li>
7382
7383        <li><code>bellIsUrgent</code> (private mode 1042)</li>
7384
7385        <li><code>popOnBell</code> (private mode 1043)</li>
7386      </ul>
7387    </li>
7388
7389    <li>add resource <code>formatOtherKeys</code> to provide an
7390    alternate escape sequence format for the
7391    <code>modifyOtherKeys</code> resource (request by Paul LeoNerd
7392    Evans).</li>
7393
7394    <li>adjust saved-cursor position if the window is resized while
7395    displaying the alternate screen (Novell #196880, Debian
7396    #383384).</li>
7397
7398    <li>improve pointer-checks to fix a bug exposed by resizing
7399    during initialization under StumpWM window manager (Fedora
7400    Bugzilla #437928).</li>
7401
7402    <li>modify <code>unselectwindow()</code> to ensure that the
7403    mouse pointer is not hidden after xterm loses focus (report by
7404    Jeremy Huddleston).</li>
7405
7406    <li>add special check for fd_mask on Mac OS X (report by Jeremy
7407    Huddleston).</li>
7408
7409    <li>add <code>dylib</code> to autoconf's suffix list used for
7410    checking the result from <code>xmkmf</code>, to work with Mac
7411    OS X (report by Jeremy Huddleston).</li>
7412
7413    <li>correct initialization of bold- and wide-, wide-bold fonts
7414    which may be set via the <code>utf8Fonts</code> subresource
7415    (Debian #347790).</li>
7416  </ul>
7417
7418  <h1><a name="xterm_234" id="xterm_234">Patch #234 -
7419  2008/03/02</a></h1>
7420
7421  <ul>
7422    <li>modify <code>sinstall.sh</code> to use POSIX locale to
7423    bypass GNU ls changes to date-format.</li>
7424
7425    <li>improved/refined changes for closing bitmap font (patch by
7426    Andrea Odetti).</li>
7427
7428    <li>improve resize computation for situations where the
7429    negotiation fails, by invoking the xterm widget's core-class
7430    resize method (Debian #365602, patch by Jim Paris).</li>
7431
7432    <li>restore initialization of terminal's <code>VMIN</code> and
7433    <code>VTIME</code> settings, from <a href="#xterm_232">patch
7434    #232</a> changes (patch by Matthieu Herrb).</li>
7435  </ul>
7436
7437  <h1><a name="xterm_233" id="xterm_233">Patch #233 -
7438  2008/02/24</a></h1>
7439
7440  <ul>
7441    <li>add configure check for <code>ttydefaults.h</code>, include
7442    if needed, e.g., for systems where defining
7443    <code>_POSIX_C_SOURCE</code>, etc., prevents it from being
7444    included via <code>termios.h</code> (prompted by comments by
7445    Robert Delius Royar and Jeremy Huddleston).</li>
7446
7447    <li>bug-fixes for bugs.opensolaris.org (patches from Alan
7448    Coopersmith)
7449      <dl>
7450        <dt>4029911</dt>
7451
7452        <dd>fix a typo in manpage</dd>
7453
7454        <dt>4045962</dt>
7455
7456        <dd>xterm doesn't properly set ut_syslen</dd>
7457
7458        <dt>4192572</dt>
7459
7460        <dd>left-left-right misinterpreted as triple click</dd>
7461      </dl>
7462    </li>
7463
7464    <li>minor optimization to tab-initialization (patch by
7465    N&eacute;meth M&aacute;rton).</li>
7466
7467    <li>fix a case where an incorrect font was freed during
7468    initialization from <a href="#xterm_232">patch #232</a> changes
7469    (patch by Andrea Odetti).</li>
7470
7471    <li>improve comparison used in <code>SameFont</code> function
7472    for GC-caching (Julien Cristau).</li>
7473
7474    <li>correct macro name used for default <code>CKILL</code>
7475    definition to work with Mac OS X (report by Jeremy
7476    Huddleston).</li>
7477  </ul>
7478
7479  <h1><a name="xterm_232" id="xterm_232">Patch #232 -
7480  2008/01/30</a></h1>
7481
7482  <ul>
7483    <li>corrected logic in a font-cache used for reverse-video
7484    (Debian #404079).</li>
7485
7486    <li>add control sequence to alter <code>pointerMode</code> at
7487    runtime.</li>
7488
7489    <li>add limit-checks for rectangle operation parameters (report
7490    by Martin Pirker).</li>
7491
7492    <li>modify <code>minstall.sh</code> to suppress
7493    <code>$MANPAGER</code> and <code>$PAGER</code> environment
7494    variables, which may interfere with redirecting output of
7495    <code>man</code> to a shell variable (report/patch by Zdenek
7496    Sekera).</li>
7497
7498    <li>do not try to hide mouse pointer in the tek4014 window,
7499    fixes broken "-t" option at startup from <a href=
7500    "#xterm_230">patch #230</a> changes (report by Robert K.
7501    Nelson).</li>
7502
7503    <li>correct datatype used when drawing tek4014 data using xterm
7504    compiled for wide-characters, on big-endian machines (reports
7505    by Jeremy Huddleston, Harald Hanche-Olsen, Martin Costabel,
7506    Merle Reinhart).</li>
7507
7508    <li>modify to cache the font-names along with the bitmap font
7509    data, to improve comparison of fonts.</li>
7510
7511    <li>modify to allow building with configure options
7512    <code>--disable-ansi-color</code> and
7513    <code>--disable-leaks</code> (Debian #459817, report/patch by
7514    N&eacute;meth M&aacute;rton).</li>
7515
7516    <li>modify to allow building with configure options
7517    <code>--enable-wide-chars</code> and
7518    <code>--disable-c1-print</code> (Debian #459816, report/patch
7519    by N&eacute;meth M&aacute;rton).</li>
7520
7521    <li>add <code>pointerMode</code> resource to control whether
7522    and when the pointer cursor is hidden as the user types.</li>
7523
7524    <li>simplify initialization of ttyMode- and related characters
7525    using a table.</li>
7526
7527    <li>modify initialization-logic for stty values that correspond
7528    to ltchars structure and the BSD TIOCSLTC ioctl (susp, dsusp,
7529    rprnt flush, werase, lnext). These were reset to constants for
7530    both termios and legacy interfaces immediately after asking the
7531    system for the existing values since X11R6.1, rather than using
7532    them to provide inherited values. While the legacy interface
7533    has some constraints, e.g., on HPUX, the POSIX or termios
7534    interface should not. Your shell may reset these anyway
7535    (prompted by patch by Ed Schouten).</li>
7536
7537    <li>improve logic for hiding/displaying pointer-cursor (report
7538    by Mark Brukhartz).</li>
7539
7540    <li>add limit-checks to tabs.c, increase maximum column for
7541    setting tab-stops from 320 to 1024 (report by N&eacute;meth
7542    M&aacute;rton).</li>
7543
7544    <li>correct length, i.e., number of types of selection targets,
7545    computed by <code>ConvertSelection()</code> when not handling
7546    wide characters for the <code>XA_TARGETS()</code> case. This
7547    leaves an extra Atom on the end of the list which is not
7548    handled by <a href=
7549    "http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6322854">Java
7550    applications</a>. The problem was introduced in <a href=
7551    "#xterm_151">patch #151</a> (report by David Wood).</li>
7552  </ul>
7553
7554  <h1><a name="xterm_231" id="xterm_231">Patch #231 -
7555  2008/01/05</a></h1>
7556
7557  <ul>
7558    <li>undo change to <code>getXtermCell()</code> from patch #230
7559    using <code>PACK_PAIR</code> macro (Debian #459014, analysis by
7560    Caetano Jimenez Carezzato).</li>
7561
7562    <li>minor documentation fixes (patch by Slava Semushin)</li>
7563
7564    <li>add makefile actions to install KOI8RXTerm app-defaults
7565    file (patch by Julien Cristau).</li>
7566  </ul>
7567
7568  <h1><a name="xterm_230" id="xterm_230">Patch #230 -
7569  2007/12/31</a></h1>
7570
7571  <ul>
7572    <li>add <code>quietGrab</code> resource, which when true,
7573    suppresses cursor repainting when <code>NotifyGrab</code> and
7574    <code>NotifyUngrab</code> event types are received during
7575    change of focus (request by Nicolas George).</li>
7576
7577    <li>do not treat Unicode BIDI control characters as combining
7578    characters (Debian #457634).</li>
7579
7580    <li>add <code>koi8rxterm</code>, from Debian.</li>
7581
7582    <li>add manpage for <code>uxterm</code>, from Debian (Ubuntu
7583    #128136, Debian #438645)</li>
7584
7585    <li>remove ".xpm" suffixes from Icon filenames in desktop files
7586    since it confuses some lookups following the <a href=
7587    "http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html">
7588    Icon Theme Specification</a> (report by Slava Semushin)</li>
7589
7590    <li>correct width-calculation used for adjusting proportional
7591    fonts, to work with wide-characters (Debian #441354).</li>
7592
7593    <li>fixes/improvements for double-size characters:
7594      <ul>
7595        <li>correct old clipping calculation which used total
7596        height of glyphs where ascent was needed.</li>
7597
7598        <li>if bold font is unavailable, fall back to normal
7599        font</li>
7600
7601        <li>adjust to "work" with Xft (which does not support
7602        double-width single-height characters).</li>
7603
7604        <li>restore reset of doublesize for a line when it is
7605        cleared, broken in <a href="#xterm_228">patch
7606        #228</a>.</li>
7607      </ul>
7608    </li>
7609
7610    <li>modify logic for <code>forceBoxChars</code> resource when
7611    using TrueType fonts to be consistent with bitmap fonts</li>
7612
7613    <li>modify logic for <code>forceBoxChars</code> resource to
7614    make the "Line-Drawing Characters" menu entry use xterm's
7615    line-drawing characters even asked to draw wide line-drawing
7616    characters which are available in the font.</li>
7617
7618    <li>modify rectangle-support functions to preserve colors when
7619    filling/erasing to match WRQ Reflection behavior (request by
7620    Enzo Toscano).</li>
7621
7622    <li>add getopt-parsing to tcapquery.pl, including feature to
7623    test the extended cursor/editing keys.</li>
7624
7625    <li>make missing double-width glyphs display as double-width
7626    (Debian #456236).</li>
7627
7628    <li>change <code>tcap-fkeys</code> and <code>rectangles</code>
7629    configure options to enable them by default.</li>
7630
7631    <li>hide the mouse pointer while user is typing (request by
7632    Rodolfo Borges).</li>
7633
7634    <li>extend configure options <code>--enable-tcap-query</code>
7635    and <code>--enable-tcap-fkeys</code> to send cursor- and
7636    editing-keypad keys modified according to the keyboard (or
7637    termcap) selection for shift, alt, control, meta.</li>
7638
7639    <li>modify <code>kdch1</code> in termcap, e.g.,
7640    <code>xterm-r6</code> to match the terminfo file.</li>
7641
7642    <li>add <code>-hm</code> option to turn
7643    <code>highlightColorMode</code> on or off.</li>
7644
7645    <li>add <code>highlightColorMode</code> resource to separate
7646    the new (since <a href="#xterm_225">patch #225</a>)
7647    highlighting with both text- and background-colors (prompted by
7648    report/example by Thomas Wolff).</li>
7649
7650    <li>add <em>Keep Selection</em> menu entry to turn the
7651    <code>keepSelection</code> resource on/off at runtime.</li>
7652
7653    <li>add <code>keepSelection</code> resource, which when
7654    enabled, tells xterm to retain the X selection even after it
7655    stops highlighting it (patch by Sergey Vlasov).</li>
7656
7657    <li>extend the <code>CSI&nbsp;&gt;&nbsp;n</code> sequence to
7658    allow disabling all types of modified-keys that the
7659    <code>CSI&nbsp;&gt;&nbsp;m</code> sequence affects.</li>
7660
7661    <li>move include for <code>&lt;xtermcap.h&gt;</code> in
7662    <code>resize.c</code> to avoid redefinition of
7663    <code>termios</code> structure on OpenSolaris (report by Rahul
7664    Gopinathan Nair).</li>
7665
7666    <li>extend terminfo building blocks for modified editing keys
7667    to include all six keys.</li>
7668
7669    <li>synchronize terminfo with ncurses (report by Stephane
7670    Chazelas)
7671      <ul>
7672        <li>equate <code>xterm-xfree86</code> and
7673        <code>xterm-xf86-v44</code>.</li>
7674
7675        <li>add ncurses extensions OTbs, AX, for termcap
7676        conversions.</li>
7677
7678        <li>make old/legacy entries such as <code>xterm-24</code>,
7679        <code>xterm-65</code> and aliases <code>xterms</code>,
7680        <code>vs100</code> inherit from
7681        <code>xterm-old</code>.</li>
7682
7683        <li>make <code>xterm-r5</code> and <code>xterm-r6</code>
7684        the same, ignoring historical errors in X Consortium's
7685        version.</li>
7686      </ul>
7687    </li>
7688
7689    <li>fix an ifdef in logic for selecting regular expressions
7690    while in a narrow-character locale (Debian #449227).</li>
7691  </ul>
7692
7693  <h1><a name="xterm_229" id="xterm_229">Patch #229 - 2007/8/12</a></h1>
7694
7695  <ul>
7696    <li>override locale in minstall.sh; change in <a href=
7697    "#xterm_226">patch #226</a> does not work in UTF-8 locale
7698    (report by Zdenek Sekera).</li>
7699
7700    <li>undo an incorrect fix for a memory leak in <a href=
7701    "#xterm_209">patch #209</a> (Debian #435858).</li>
7702  </ul>
7703
7704  <h1><a name="xterm_228" id="xterm_228">Patch #228 - 2007/7/22</a></h1>
7705
7706  <ul>
7707    <li>modify configure script to permit combining
7708    <code>--with-utempter</code> and <code>--enable-setuid</code>,
7709    e.g., for using xterm with the utempter library on FreeBSD
7710    (report by Andriy Gapon).</li>
7711
7712    <li>modify "Quit" menu entry to override the <code>-hold</code>
7713    command-line option.</li>
7714
7715    <li>add a check in the startup error-reporting to avoid writing
7716    to pipe when it has not been opened. In that case, report
7717    errors directly to the standard error.</li>
7718
7719    <li>add OPT_READLINE definition to xtermcfg.hin, overlooked in
7720    <a href="#xterm_205">patch #205</a> (report by Kalle Olavi
7721    Niemitalo).</li>
7722
7723    <li>modify <code>88colors2.pl</code> and
7724    <code>256colors2.pl</code>, adding <code>-r</code> option to
7725    reverse the palettes for the extended colors.</li>
7726
7727    <li>check for partial overwrite or deletion of multi-column
7728    characters in several cases, e.g., insert-character,
7729    delete-character, etc., and fill the remainder of the cells
7730    used by the multi-column characters affected with blanks.</li>
7731
7732    <li>correct character-class codes in wide-character mode for
7733    characters 215, 247 (see also <a href="#xterm_165">patch
7734    #165</a>).</li>
7735
7736    <li>fix missing assignment for UTF-8 parsing in widget
7737    initialization (Debian #403360).</li>
7738
7739    <li>correct index expression used to set line-wrapping flag,
7740    making selection from scrollback work consistently (Debian
7741    #430121, report by Vincent Lef&egrave;vre).</li>
7742
7743    <li>amend changes to handshake in <a href="#xterm_226">patch
7744    #226</a> to accommodate Solaris, which relies on the extra
7745    setting of the terminal size after I/O initialization. Do this
7746    by adding new resource <code>ptySttySize</code>, which is false
7747    for Linux and MacOS X, i.e., true for for Solaris and other
7748    SVR4 platforms, as well as FreeBSD (reports by David Wood,
7749    Renato Botelho).</li>
7750
7751    <li>check for X events after cursor-left, and carriage return,
7752    consistent with indexing operations (comments by Vegard Nossum
7753    and Ingo Molnar on a mailing-list).</li>
7754
7755    <li>initialize the <code>.keyboard</code> structure, needed for
7756    some platforms (such as Solaris) after <a href=
7757    "#xterm_227">patch #227</a> fixes for keysyms (patch by David
7758    Wood).</li>
7759
7760    <li>update config.guess, config.sub</li>
7761  </ul>
7762
7763  <h1><a name="xterm_227" id="xterm_227">Patch #227 - 2007/6/27</a></h1>
7764
7765  <ul>
7766    <li>exclude the Intel compiler from the extra gcc warning
7767    options added in <a href="#xterm_226">patch #226</a>.</li>
7768
7769    <li>modify change for Debian #422521 from <a href=
7770    "#xterm_226">patch #226</a> to work with configurations where
7771    the X server does not recognize the <code>XF86Paste</code> or
7772    <code>SunPaste</code> keysyms (report by Paolo Pumilia).</li>
7773
7774    <li>fix incorrect free in fix for "Selection" menu entry in
7775    <a href="#xterm_226">patch #226</a>.</li>
7776  </ul>
7777
7778  <h1><a name="xterm_226" id="xterm_226">Patch #226 - 2007/6/17</a></h1>
7779
7780  <ul>
7781    <li>add configure check to use
7782    <code>-Wno-unknown-pragmas</code> for Solaris, and a few other
7783    new gcc warning options to address regressions in its warning
7784    options.</li>
7785
7786    <li>add sample desktop and icon files, along with configure
7787    options for manipulating them.</li>
7788
7789    <li>fix an infinite loop when showing a 2-column character in a
7790    1-column screen (Debian #426863).</li>
7791
7792    <li>add <code>XF86Paste</code> and <code>SunPaste</code> to the
7793    default translations (Debian #422521, patch by Bernhard R
7794    Link).</li>
7795
7796    <li>update wcwidth.c (partly based on/prompted by mailing list
7797    comment).</li>
7798
7799    <li>update/improve keysym2ucs.c based on Unicode 5.0.1d3 and
7800    Xorg 7.1 keysymdef.h file.</li>
7801
7802    <li>improve <code>gen-pc-fkeys.pl</code>, making it show all of
7803    the building-block terminfo entries used by xterm.</li>
7804
7805    <li>correct strings used for modifiers applied to F1-F4 in
7806    xterm+pcf1 terminfo entry.</li>
7807
7808    <li>improve session management by adding the ICE connection
7809    number to the <code>select</code> call rather than waking up
7810    once per second (patch by Miroslav Lichvar).</li>
7811
7812    <li>add environment variable <code>$XTERM_LOCALE</code> to help
7813    with shell initialization, e.g., to set a specific locale for
7814    xterm on systems where a global locale is set in the shell
7815    startup scripts.</li>
7816
7817    <li>add resource settings <code>mkSampleSize</code> and
7818    <code>mkSamplePass</code> to modify the <code>mkWidth</code>
7819    added in <a href="#xterm_201">patch #201</a>. In <a href=
7820    "#xterm_202">patch #202</a>, xterm would also check if the
7821    system's <code>wcwidth</code> matched its built-in tables "well
7822    enough" to be used when <code>mkWidth</code> was false, and if
7823    not would use the built-in tables anyway. These resources allow
7824    the user to customize the decision (prompted by comments by
7825    Emanuele Giaquinta)</li>
7826
7827    <li>modify logic which resets/updates the screensize on the
7828    child process side of the pseudo-terminal to do this only if a
7829    successful handshake was received, e.g., as determined by the
7830    <code>waitForMap</code> resource (prompted by reports by
7831    Emanuele Giaquinta and Bernhard R Link, but see also <a href=
7832    "#xterm_177">patch #177</a> and <a href="#xterm_159">patch
7833    #159</a>.</li>
7834
7835    <li>improve permissions logic when closing pseudo-terminal
7836    (Debian #12261, patch by Nathanael Nerode, analysis by Richard
7837    Braakman).</li>
7838
7839    <li>add resource <code>highlightReverse</code> which controls
7840    whether xterm will allow selection highlighting to hide
7841    reverse-video or use the older behavior which inverts the
7842    foreground and background colors when selected text with
7843    reverse-video attribute (report by Adam M Costello, comments by
7844    Victor Vaile).</li>
7845
7846    <li>restore a special case for cursor-color in
7847    <code>ReverseVideo()</code> lost in rewrite for <a href=
7848    "#xterm_224">patch #224</a> (report by Adam Sulmicki).</li>
7849
7850    <li>correct initialization for menu entry for
7851    <code>bellIsUrgent</code> (patch by Emanuele Giaquinta).</li>
7852
7853    <li>correct length of underlining for double-width Xft fonts
7854    (report by Shidai Liu "Leo").</li>
7855
7856    <li>correct clipping for double-width Xft fonts (report by
7857    Shidai Liu "Leo").</li>
7858
7859    <li>modify initialization for <code>italicULMode</code> to
7860    avoid <code>XftPatternBuild</code> reusing bold attributes
7861    (report by Shidai Liu "Leo").</li>
7862
7863    <li>add a check in case someone tries to call the
7864    <code>popup-menu()</code> action on a menu which is not
7865    initialized (Debian #426364).</li>
7866
7867    <li>improve CF_IMAKE_CFLAGS to work with Solaris sed (report by
7868    Peter Bray).</li>
7869
7870    <li>improve guess for X's manpage section in
7871    <code>minstall.sh</code>, (prompted by comment by Miroslav
7872    Lichvar).</li>
7873
7874    <li>modify <code>minstall.sh</code> to handle manpage patch
7875    with more than one dot (patch by Miroslav Lichvar).</li>
7876
7877    <li>fix configure message for --disable-setgid option (patch by
7878    Miroslav Lichvar).</li>
7879
7880    <li>add <code>allowTitleOps</code> resource to allow users to
7881    prevent the title- and icon-names from changing (request by
7882    John Bashinski).</li>
7883
7884    <li>fix "spawn-new-terminal" action, for the case where no
7885    parameter is passed to the action (patch by Daniel
7886    Colascione).</li>
7887
7888    <li>fix error-checking on internal font switching for
7889    "Selection" menu entry (Debian #421523).</li>
7890
7891    <li>amend select/paste change from <a href="#xterm_225">patch
7892    #225</a> by limiting it to non-UTF-8/non-KOI8-R encoding
7893    (Debian #420974).</li>
7894
7895    <li>add workaround for groff ".URL" codes which are not present
7896    in some commonly-used bitmap fonts (Debian #418324).</li>
7897  </ul>
7898
7899  <h1><a name="xterm_225" id="xterm_225">Patch #225 - 2007/3/24</a></h1>
7900
7901  <ul>
7902    <li>add <code>useClipping</code> resource to allow clipping to
7903    be disabled.</li>
7904
7905    <li>use <code>XftDrawSetClipRectangles</code> to work around
7906    Xft pixel-trash (report by Reuben Thomas).</li>
7907
7908    <li>add configure option <code>--enable-tcap-fkeys</code>, and
7909    resource <code>tcapFunctionKeys</code>, which can be used to
7910    tell xterm to use function-key definitions from the termcap (or
7911    terminfo) which it uses to set $TERM on startup.</li>
7912
7913    <li>add resources <code>altIsNotMeta</code> and
7914    <code>altSendsEscape</code> to allow one to use Alt-keys like
7915    the meta-key even if they are bound to different keycodes
7916    (prompted by discussion with Daniel Jacobowitz).</li>
7917
7918    <li>revert a change from <a href="#xterm_216">patch #216</a>
7919    that unnecessarily made the meta modifier override the
7920    <code>eightBitInput</code> resource if the alt- and
7921    meta-modifiers happened to overlap (report/patch by Daniel
7922    Jacobowitz).</li>
7923
7924    <li>correct associated font for active icon for colored text
7925    (broken in <a href="#xterm_224">patch #224</a>).</li>
7926
7927    <li>correct ifdef's for Darwin (patch by Emanuele
7928    Giaquinta).</li>
7929
7930    <li>add <code>highlightTextColor</code> resource, and options
7931    <code>-selfg</code>, <code>-selbg</code> like <code>xwsh</code>
7932    (adapted from patch by Victor Vaile).</li>
7933
7934    <li>revise <code>find_closest_color()</code> function to
7935    address concern about borrowing from <code>Tcl/Tk</code>
7936    (request by Dan McNichol).</li>
7937
7938    <li>add "spawn-new-terminal" action, which can be assigned to
7939    key translation, allowing one to spawn a new copy of xterm
7940    using the current process's working directory (adapted from
7941    patch by Daniel Colascione).</li>
7942
7943    <li>improve select/paste between UTF-8 and Latin1 xterms by
7944    adapting the translations from <a href="#xterm_185">patch
7945    #185</a>. Extend that to include Unicode fullwidth forms
7946    FF00-FF5E. Also modify select/paste of DEC line-drawing
7947    characters in Latin1 mode to use ASCII characters.</li>
7948
7949    <li>add "Enable Bell Urgency" to VT Options menu, removed
7950    "Enable Margin Bell".</li>
7951
7952    <li>add <code>bellIsUrgent</code> resource to control whether
7953    the Urgency hint is set/reset.</li>
7954
7955    <li>modify to set Urgency window manager hint on bell, reset it
7956    on Focus-In event (patch by Emanuele Giaquinta).</li>
7957
7958    <li>add <code>--disable-setgid</code> configure option (request
7959    by Miroslav Lichvar).</li>
7960
7961    <li>fix a possible infinite loop in last change to
7962    <code>dabbrev-expand()</code> (patch by Emanuele
7963    Giaquinta).</li>
7964
7965    <li>modify initialization to set the pty erase value if the
7966    <code>erase</code> is set in the <code>ttyModes</code>
7967    resource. This overrides the <code>ptyInitialErase</code>
7968    setting (request by Llu&iacute;s Batlle i Rossell).</li>
7969
7970    <li>add <code>initialFont</code> resource to xterm widget, like
7971    tek-widget (Debian #299669).</li>
7972
7973    <li>amend change to <code>boldMode</code> from <a href=
7974    "#xterm_223">patch #223</a> for Debian #347790. As noted in
7975    Debian #412599, that made xterm no longer match the documented
7976    behavior. Add new resource <code>alwaysBoldMode</code> to allow
7977    overriding the comparison between normal/bold fonts when
7978    deciding whether to use overstriking to simulate bold
7979    fonts.</li>
7980
7981    <li>restore background color in ClearCurBackground(), omitted
7982    in changes for <a href="#xterm_223">patch #223</a> (report by
7983    Miroslav Lichvar).</li>
7984
7985    <li>correct logic for repainting double-width TrueType
7986    characters (prompted by test-case for Novell #246573).</li>
7987
7988    <li>add a check to avoid trying to repeat a multibyte character
7989    (report by Sami Farin).</li>
7990
7991    <li>modify parameter to <code>XftNameParse()</code> to select
7992    wide face-name as needed, to make <code>-fd</code> option work
7993    (patch by Mike Fabian, Novell #246573).</li>
7994
7995    <li>correct logic for mouse highlight tracking's abort
7996    sequence, broken in a restructuring modification from <a href=
7997    "#xterm_224">patch #224</a> (report by Thomas Wolff).</li>
7998
7999    <li>revert the simplification of blinking cursor, since that
8000    broke the xor'ing introduced in <a href="#xterm_193">patch
8001    #193</a> (report by Thomas Wolff).</li>
8002  </ul>
8003
8004  <h1><a name="xterm_224" id="xterm_224">Patch #224 - 2007/2/11</a></h1>
8005
8006  <ul>
8007    <li>simplify code for set/reset mode for blinking cursor (patch
8008    by Emanuele Giaquinta).</li>
8009
8010    <li>modify <code>dabbrev-expand()</code> to restart after the
8011    last match (patch by Emanuele Giaquinta).</li>
8012
8013    <li>add control sequences for enabling/disabling focus in/out
8014    event reporting (request by Bram Moolenaar).</li>
8015
8016    <li>improve startup performance of menus by adding resource
8017    setting <code>menuLocale</code> which can be set to override
8018    X's lengthy initialization of fontsets - which are seldom used
8019    for the <code>Xaw</code> popup menus (adapted from patch by
8020    Dave Coffin).</li>
8021
8022    <li>modify <code>do_precomposition()</code> function and
8023    <code>make-precompose.sh</code> to handle 21-bit codes vs the
8024    16-bit codes those were written for, and fix a few mis-sorted
8025    codes (patch by Thomas Wolff).</li>
8026
8027    <li>handle special case in <code>-cjk_width</code> which
8028    unexpectedly caused a character's width to change when a
8029    combining character (patch by Thomas Wolff)</li>
8030
8031    <li>fix build for GNU/KFreeBSD (Debian #40111).</li>
8032
8033    <li>consolidate GC creation/updating into a single module to
8034    reduce GC manipulation (prompted by Debian #389476, though a
8035    complete fix would involve optimizing the scrolling
8036    behavior).</li>
8037
8038    <li>fix ifdef of xtermCellWidth(), which broke for a case
8039    without TrueType and without wide-character support (report by
8040    Martin Pirker).</li>
8041
8042    <li>undo a comparison in
8043    <code>handle_translated_exposure</code> which did not work due
8044    to X server optimization. That caused the inner border to be
8045    repainted with unexpected colors when handling a repaint, e.g.,
8046    after switching to/from another workspace (Debian #401726,
8047    Redhat Bugzilla #223027).</li>
8048
8049    <li>allow <code>-cr</code> option to override cursor color when
8050    <code>-ah</code> option is used (Debian #406502).</li>
8051
8052    <li>add a note in xterm's manpage explaining that the
8053    <code>-bw</code> (or <code>-w</code>) option is only used by
8054    the window manager, if at all (Debian #405043).</li>
8055
8056    <li>make <code>Selection</code> of <code>VT&nbsp;Fonts</code>
8057    work with <code>selectToClipboard</code> resource.</li>
8058
8059    <li>correct length calculation for <code>Selection</code> entry
8060    of <code>VT&nbsp;Fonts</code> menu, broken since it ignored the
8061    actual selection length since X11R4.</li>
8062
8063    <li>fixes for fontsize changes with <code>-fa</code> option
8064    (Redhat Bugzilla #222340).</li>
8065  </ul>
8066
8067  <h1><a name="xterm_223" id="xterm_223">Patch #223 -
8068  2006/11/30</a></h1>
8069
8070  <ul>
8071    <li>add <code>--enable-rectangles</code> configure option
8072    (request by Martin Pirker).</li>
8073
8074    <li>correct default value for <code>--with-symlink</code>
8075    configure option.</li>
8076
8077    <li>fixes configure script macros that use
8078    <code>$X_EXTRA_LIBS</code>.</li>
8079
8080    <li>modify configure script to provide support for pre-package
8081    config versions of Xft aka "FreeType".</li>
8082
8083    <li>add the Xaw scrollbar translations resource to the xterm
8084    manpage, add an example showing how to change the mouse button
8085    assignments (Debian #382225).</li>
8086
8087    <li>amend a change from <a href="#xterm_216">patch #216</a>,
8088    which omitted modifiers for control, meta, etc., if they were
8089    mixed with any other modifiers. The intent of the change was to
8090    avoid confusion with <code>XK_Mode_switch</code> and
8091    <code>XK_ISO_Level3_Shift</code>; the check is now done
8092    explicitly (report by Daniel Jacobowitz).</li>
8093
8094    <li>interpret a negative value for
8095    <code>modifyCursorKeys</code> or
8096    <code>modifyFunctionKeys</code> resources to disable the
8097    respective features (prompted by Novell #220728).</li>
8098
8099    <li>amend cell-width computation for FreeType from <a href=
8100    "#xterm_217">patch #217</a>, which did not work for VT100
8101    line-drawing characters (Debian #399638, Gentoo #147111).</li>
8102
8103    <li>amend a change from <a href="#xterm_216">patch #216</a>,
8104    which made alt-modifier on a cursor-key send a modifier
8105    parameter (Novell #220728).</li>
8106
8107    <li>correct an off-by-one that made DECCRA not work
8108    (report/patch by Martin Pirker).</li>
8109
8110    <li>revert an optimization in SGR_Foreground() and
8111    SGR_Background from <a href="#xterm_209">patch #209</a> (Debian
8112    #347722, analysis by Pierre Lombard).</li>
8113
8114    <li>fix for <code>boldMode</code> (Debian #347790, patch by Tim
8115    Pope).</li>
8116
8117    <li>amend fix for <code>-iconic</code> in <a href=
8118    "#xterm_208">patch #208</a>, which broke the positioning part
8119    of <code>-geom</code> with toolbar configuration.</li>
8120
8121    <li>fix to prevent indexing error in regular expressions (patch
8122    by Dennis Schneider).</li>
8123
8124    <li>fixes to make the <code>internalBorder</code> area not
8125    change color due to reverseVideo and/or related exposure
8126    events. The latter was a very old bug exposed in <a href=
8127    "#xterm_196">patch #196</a> (report by Neil Hoggarth, also
8128    Debian #397624).</li>
8129  </ul>
8130
8131  <h1><a name="xterm_222" id="xterm_222">Patch #222 -
8132  2006/10/17</a></h1>
8133
8134  <ul>
8135    <li>minor optimization for recoloring cursor via dynamic
8136    colors.</li>
8137
8138    <li>fix a bug caused by restructuring of tek4014 widget (report
8139    by Paul Schenkeveld)</li>
8140  </ul>
8141
8142  <h1><a name="xterm_221" id="xterm_221">Patch #221 - 2006/10/1</a></h1>
8143
8144  <ul>
8145    <li>fix for regular expressions: the code which converted the
8146    column offset within a line did not check properly for the end
8147    of a line, and if allowed to match the whole line, would select
8148    the beginning of the following line. If the following line were
8149    empty, in turn it would select from the next, etc. (report by
8150    Sean Reifschneider).</li>
8151
8152    <li>minor optimization of color allocation to avoid repainting
8153    the screen if the corresponding color had not been
8154    allocated.</li>
8155
8156    <li>fixes for vttests/256colors.pl (report by Egmont
8157    Koblinger).</li>
8158
8159    <li>add terminfo building block entries for modifiers of the
8160    6-key editing keypad.</li>
8161
8162    <li>fix for initialization of tek4014 which broke on QNX
8163    6.1</li>
8164  </ul>
8165
8166  <h1><a name="xterm_220" id="xterm_220">Patch #220 - 2006/9/10</a></h1>
8167
8168  <ul>
8169    <li>make "xterm -t -iconic" work as expected, i.e., start in
8170    tek4014 mode, but iconified.</li>
8171  </ul>
8172
8173  <h1><a name="xterm_219" id="xterm_219">Patch #219 - 2006/9/4</a></h1>
8174
8175  <ul>
8176    <li>some internal restructuring to separate data for vt100 and
8177    tek4014 widgets.</li>
8178
8179    <li>fix a few cases where form-events would be seen by the
8180    vt100 widget when built with the toolbar configuration.</li>
8181  </ul>
8182
8183  <h1><a name="xterm_218" id="xterm_218">Patch #218 - 2006/8/27</a></h1>
8184
8185  <ul>
8186    <li>change behavior when encountering an illegal character in a
8187    title string. Rather than reject the string, translate illegal
8188    characters into "?" and use the string (requested by Thomas
8189    Wolff).</li>
8190
8191    <li>improve checks for nonprinting characters in title strings
8192    (report by Samuel Thibault).</li>
8193
8194    <li>correct typo in menu labels, changing
8195    <code>print-redirect</code> to <code>print-redir</code>, making
8196    it follow the manpage and match the usage for the actions table
8197    (report by Samuel Thibault).</li>
8198
8199    <li>correct a typo that prevents building with some older
8200    systems such as Solaris 2.6 (report by Julian Bridle).</li>
8201  </ul>
8202
8203  <h1><a name="xterm_217" id="xterm_217">Patch #217 - 2006/8/20</a></h1>
8204
8205  <ul>
8206    <li>minor improvements to FreeType font layout and
8207    drawing.</li>
8208
8209    <li>add a check in the ptyInitialErase logic to ensure that the
8210    termcap was read (Redhat Bugzilla #201246).</li>
8211
8212    <li>limit changes for reverse-video from <a href=
8213    "#xterm_216">patch #216</a> to cases where the reverse-video
8214    command-line option is used (report by Zdenek Sekera).</li>
8215
8216    <li>correct bitmap-derived pointsizes for TrueType fonts; they
8217    should be proportional to the square root of the area of the
8218    bitmap fonts.</li>
8219
8220    <li>add resources to specify pointsize of TrueType fonts
8221    (request by Reuben Thomas).</li>
8222
8223    <li>improve install of terminfo by filtering out harmless
8224    messages related to extended capabilities. At the same time,
8225    use ncurses tic to compile the extended capabilities if
8226    possible (report by Zdenek Sekera).</li>
8227
8228    <li>update "xterm+pcfkeys" terminfo entry to correspond to
8229    <a href="#xterm_216">patch #216</a>.</li>
8230  </ul>
8231
8232  <h1><a name="xterm_216" id="xterm_216">Patch #216 - 2006/8/3</a></h1>
8233
8234  <ul>
8235    <li>improve handling of <code>ConfigureNotify</code> events by
8236    checking if there are further events in the queue which
8237    obsolete the current one (adapted from rxvt 2.7.5). Only the
8238    normal normal (non-toolbar) configuration is addressed in this
8239    patch.</li>
8240
8241    <li>several changes to terminfo:
8242      <ul>
8243        <li>incorporate some minor changes from ncurses to help
8244        keep these synchronized:
8245          <dl>
8246            <dt>2005-02-26</dt>
8247
8248            <dd>modify sgr/sgr0 in xterm-new to improve tgetent's
8249            derived "me".</dd>
8250
8251            <dt>2006-02-18</dt>
8252
8253            <dd>remove ncv flag from xterm-16color</dd>
8254
8255            <dt>2006-06-24</dt>
8256
8257            <dd>improve xterm-256color by combining the 16-color
8258            setaf/setab strings with SGR 48, and cancelling the
8259            setf/setb strings.</dd>
8260          </dl>
8261        </li>
8262
8263        <li>use extended function-key definitions for xterm-sun,
8264        xterm-sco entries.</li>
8265
8266        <li>add terminfo building-blocks corresponding to the
8267        <code>modifyFunctionKeys</code> and
8268        <code>modifyCursorKeys</code> resources.</li>
8269      </ul>
8270    </li>
8271
8272    <li>ifdef'd Sun function-key feature to make it optional, like
8273    HP and SCO.</li>
8274
8275    <li>extend table for termcap-query feature through F63, and
8276    updated tcapquery.pl to match.</li>
8277
8278    <li>modify logic for function-key input processing to allow
8279    function key numbers which are constructed by control- and
8280    shift-modifiers to extend beyond X's hardcoded limit of
8281    35.</li>
8282
8283    <li>add control sequence to set or reset the
8284    <code>eightBitInput</code> resource.</li>
8285
8286    <li>change default resource <code>modifyFunctionKeys</code> to
8287    2 to avoid sending SS3 with parameters (report by Kalle Olavi
8288    Niemitalo).</li>
8289
8290    <li>add control sequences for setting and resetting the values
8291    of the <code>modifyCursorKeys</code>,
8292    <code>modifyFunctionKeys</code> and
8293    <code>modifyOtherKeys</code> resources.</li>
8294
8295    <li>add <code>modifyFunctionKeys</code> resource like
8296    <code>modifyCursorKeys</code>. Setting this to zero allows one
8297    to use the control- and shift-modifiers to construct function
8298    key strings, for terminals using many function keys, e.g., for
8299    <code>xterm-sun</code> or <code>xterm-sco</code>.</li>
8300
8301    <li>modify screen responses and function-key logic to reduce
8302    the number of writes made, to make it less likely that an
8303    application would read only part of a function-key in a read
8304    operation (suggested by John E Urbanczyk).</li>
8305
8306    <li>add <code>combiningChars</code> resource, which allows the
8307    user to specify the maximum number of combining characters that
8308    xterm will store for each cell in wide-character mode (prompted
8309    by request by Markus Kuhn to increase the limit from 2).</li>
8310
8311    <li>improve logic in <code>metaSendsEscape</code> in case the
8312    Alt- and Meta-keys are mapped to different modifiers. That
8313    allows one to use the Alt-key for shifting in the
8314    <code>eightBitInput</code> and use a Meta-key modifier to
8315    prefix the result with an <code>&lt;ESC&gt;</code>.</li>
8316
8317    <li>improve <code>modifyCursorKeys</code> logic to prevent it
8318    from modifying codes where <code>eightBitInput</code> or
8319    <code>metaSendsEscape</code> are set (request by Dan
8320    Nicolaescu).</li>
8321
8322    <li>improve <code>modifyCursorKeys</code> logic to prevent it
8323    from changing the user input when other modifiers such as AltGr
8324    are used (report by Thomas Wolff).</li>
8325
8326    <li>extend <code>modifyCursorKeys</code> to include the numeric
8327    keypad when in application mode.</li>
8328
8329    <li>improve <code>-reverse</code> (<code>-rv</code>) option
8330    (patch by Jason Vas Dias, Redhat #189161).</li>
8331
8332    <li>workaround for color resources on Fedora-5 which made the
8333    toolbar colors inconsistent.</li>
8334
8335    <li>corrected calls used for <code>--disable-setuid</code>
8336    option, add debugging traces to help diagnose this area.</li>
8337
8338    <li>modify configure script to ensure that
8339    <code>USE_UTMP_SETGID</code> is defined only if the check for
8340    POSIX saved-ids succeeds, or corresponds to one of the BSD
8341    systems known to have a workable <code>setegid</code>
8342    function.</li>
8343
8344    <li>extend configure check for POSIX saved-ids to include BSD
8345    systems</li>
8346
8347    <li>modify CF_SYSV configure macro to work with gcc on HPUX
8348    10.20, whose broken <code>&lt;term.h&gt;</code> relies on
8349    including <code>&lt;termios.h&gt;</code>.</li>
8350
8351    <li>change order of setuid/setgid ifdef checks in Imakefile to
8352    make it simpler to produce a setgid install, allowing the
8353    latter to override the former (prompted by an XFree86
8354    commit).</li>
8355
8356    <li>adapt a fix for setgid support from subsequent XFree86
8357    changes (patch by Emanuele Giaquinta).</li>
8358
8359    <li>further improve setgid support (patches by Emanuele
8360    Giaquinta).</li>
8361  </ul>
8362
8363  <h1><a name="xterm_215" id="xterm_215">Patch #215 - 2006/6/19 -
8364  XFree86 4.6.99.2</a></h1>
8365
8366  <ul>
8367    <li>improve setgid support by exploiting the saved-ids feature
8368    on which it relies (patch by Emanuele Giaquinta).</li>
8369
8370    <li>make the <code>modifyOtherKeys</code> resource disabled by
8371    default since the intermediate setting altered some common
8372    bindings (report by Emanuele Giaquinta).</li>
8373  </ul>
8374
8375  <h1><a name="xterm_214" id="xterm_214">Patch #214 - 2006/6/18 -
8376  XFree86 4.6.99.2</a></h1>
8377
8378  <ul>
8379    <li>modify makefile rule for ctlseqs.txt to strip
8380    backspace/overstrikes, and add a copy of ctlseqs.txt to the
8381    source tarballs (requests by Bram Moolenaar, Emanuele
8382    Giaquinta).</li>
8383
8384    <li>add <code>modifyOtherKeys</code> resource, analogous to the
8385    <code>modifyCursorKeys</code> resource. This applies to keys
8386    that normally would transmit nothing when a given modifier is
8387    applied (request by Dan Nicolaescu).</li>
8388
8389    <li>add <code>default</code> to the acceptable values for the
8390    <code>keyboardType</code> resource, allowing the
8391    <code>-kt</code> command-line option to override app-defaults
8392    resource settings of <code>sunKeyboard</code>, etc.</li>
8393
8394    <li>correct ifdef's for <code>XkbBell()</code> which used the
8395    header file but not the corresponding function in <a href=
8396    "#xterm_175">patch #175</a> (report by Zach Beane).</li>
8397
8398    <li>add xterm manpage to the <code>--with-symlink</code>
8399    logic.</li>
8400
8401    <li>regenerated configure script to omit some debugging
8402    artifacts of the SIGWINCH test.</li>
8403
8404    <li>fix <code>install-man</code> rule in
8405    <code>Makefile.in</code> to avoid including the
8406    <code>$(DESTDIR)</code> value in substitutions made on the
8407    manpages (patch by Emanuele Giaquinta).</li>
8408
8409    <li>improved fix for cursor deallocation (Redhat #186935, patch
8410    by Jason Vas Dias).</li>
8411
8412    <li>improve checks for setuid/setgid operation to accommodate
8413    limited resource management in some kernels (Gentoo
8414    #193238).</li>
8415
8416    <li>update config.guess, config.sub</li>
8417  </ul>
8418
8419  <h1><a name="xterm_213" id="xterm_213">Patch #213 - 2006/4/30 -
8420  XFree86 4.5.99.905</a></h1>
8421
8422  <ul>
8423    <li>minor optimization to cell layout; will use that to
8424    simplify some logic and allow for more than two combining
8425    characters in another patch.</li>
8426
8427    <li>add <code>utf8Latin1</code> resource to make optional the
8428    feature from <a href="#xterm_209">patch #209</a> which allowed
8429    ISO-8859-1 fonts to be used in cases where a wide font was
8430    given. This would only work for the special case where the user
8431    normally used Latin-1 and wanted some wide characters (report
8432    by Rostislav Krasny).</li>
8433
8434    <li>add <code>utf8Title</code> resource to manpage (Novell
8435    #52655).</li>
8436
8437    <li>fix typo in table entry for <code>utf8Title</code> resource
8438    which made it treated as an integer rather than boolean (patch
8439    by Mike Fabian, Novell #52655).</li>
8440  </ul>
8441
8442  <h1><a name="xterm_212" id="xterm_212">Patch #212 - 2006/4/9 -
8443  XFree86 4.5.99.904</a></h1>
8444
8445  <ul>
8446    <li>improve description of <code>forceBoxChars</code> in
8447    manpage (discussion with Joe Wells).</li>
8448
8449    <li>set checkmark for "Select To Clipboard" menu entry on
8450    startup, from resource setting.</li>
8451
8452    <li>update manpage to note that
8453    <code>*customization:color</code> is not needed, though it is
8454    useful (Redhat #188034).</li>
8455
8456    <li>add underscore to sample pattern for URL in
8457    <code>XTerm.ad</code> (Redhat #188037).</li>
8458
8459    <li>modify install rule for manpage to use the configured
8460    app-defaults directory (Redhat #188031).</li>
8461
8462    <li>add checks in <code>releaseCursorGCs()</code> to ensure
8463    GC's are distinct, needed since memory leak changes for
8464    <a href="#xterm_208">patch #208</a> (Redhat #186935, patch by
8465    Jason Vas Dias).</li>
8466
8467    <li>modify <code>Imakefile</code> definitions to allow
8468    <code>imake</code> to set <code>InstallXtermSetGID</code>. Add
8469    symbol <code>InstGidFlags</code>.</li>
8470
8471    <li>add configure script check to ensure that SIGWINCH if
8472    defined even when headers undefine this as a side-effect of
8473    <code>_POSIX_C_SOURCE</code>, etc.</li>
8474
8475    <li>resync with XFree86 CVS
8476      <ul>
8477        <li>ifdef-out chmod of terminal device for OS/2 (XFree86
8478        #1663, Frank Giessler).</li>
8479
8480        <li>move new <code>Imakefile</code> chunk which defines
8481        <code>$(CSGIDFLAGS)</code> before DEFINES, e.g., for IRIX64
8482        (Marc La France).</li>
8483      </ul>
8484    </li>
8485  </ul>
8486
8487  <h1><a name="xterm_211" id="xterm_211">Patch #211 - 2006/3/19 -
8488  XFree86 4.5.99.902</a></h1>
8489
8490  <ul>
8491    <li>modify prefix/suffix transformation in makefile to make
8492    <code>uxterm</code> install properly on Cygwin.</li>
8493
8494    <li>restore the sizeof-comparison for <code>struct
8495    lastlog</code> added in <a href="#xterm_208">patch #208</a>,
8496    rendered (mostly) obsolete in <a href="#xterm_210">patch
8497    #210</a>, since an imake configuration can still turn that code
8498    on (prompted by comment by David Dawes).</li>
8499
8500    <li>remove feature for <code>FreeBSDArchitecture</code> from
8501    <code>Imakefile</code> which would install xterm using the
8502    <code>utmp</code> group since a standard FreeBSD system has no
8503    such group, though it would support this configuration. FreeBSD
8504    packager uses the <code>configure</code> script, which can make
8505    the appropriate check (prompted by comment by David
8506    Dawes).</li>
8507
8508    <li>fixes for gcc redefinition warnings when built using imake
8509    (reports by David Dawes, Marc La France).</li>
8510  </ul>
8511
8512  <h1><a name="xterm_210" id="xterm_210">Patch #210 - 2006/3/12 -
8513  XFree86 4.5.99.902</a></h1>
8514
8515  <ul>
8516    <li>add configure check for workaround in <a href=
8517    "#xterm_208">patch #208</a> for Solaris' inconsistent support
8518    for struct lastlog to quiet compiler warnings (prompted by
8519    David Dawes commit message for XFree86).</li>
8520
8521    <li>fixes for BASE64 selection manipulation, e.g., ensure that
8522    the string terminator is written after cut-buffer data (report
8523    by Joe Allen).</li>
8524
8525    <li>add vttests/paste64.pl script to test experimental option
8526    for setting/getting selection data.</li>
8527
8528    <li>add some error-checking in fontutils.c (prompted by David
8529    Dawes commit message for XFree86).</li>
8530
8531    <li>change xterm manpage to show the actual color resource
8532    names <code>XtDefaultForeground</code> and
8533    <code>XtDefaultBackground</code> rather than black and white
8534    (prompted by discussion with Emanuele Giaquinta).</li>
8535
8536    <li>add <code>utf8Title</code> resource and menu entry,
8537    allowing the user to control whether title strings are
8538    interpreted as ISO-8859-1 or UTF-8 encoding (Novell #52655,
8539    Novell #113206).</li>
8540
8541    <li>change order of ifdef's for utempter versus platforms in
8542    <code>Imakefile</code> to ensure a proper value for
8543    <code>InstallXtermSetGID</code> (prompted by Marc La France
8544    commit message for XFree86).</li>
8545
8546    <li>update the cursor GCs when menu entry for reverse video is
8547    toggled. (Redhat #183993).</li>
8548
8549    <li>a memory-leak fix for <code>set_cursor_gcs()</code> in
8550    <a href="#xterm_208">patch #208</a> broke the <code>-cm</code>
8551    option (Redhat #182382).</li>
8552  </ul>
8553
8554  <h1><a name="xterm_209" id="xterm_209">Patch #209 - 2006/2/12 -
8555  XFree86 4.5.99.22</a></h1>
8556
8557  <ul>
8558    <li>remove <code>setf</code> and <code>setb</code> from
8559    <code>xterm-256color</code> terminfo entry to avoid issues with
8560    applications that ignore the ANSI strings (report by Emanuele
8561    Giaquinta).</li>
8562
8563    <li>remove obsolete references to "Xorg" to avoid confusion
8564    with "X.org" (prompted by David Dawes commit message for
8565    XFree86).</li>
8566
8567    <li>improve initial layout performance for the toolbar
8568    configuration by precalculating the height of the toolbar.</li>
8569
8570    <li>remove menu entry for "Enable Curses Emulation" (to make
8571    room for "Select To Clipboard").</li>
8572
8573    <li>add resource <code>selectToClipboard</code>, action
8574    <code>set-select</code> and a menu entry to allow users to
8575    switch between PRIMARY and CLIPBOARD for select/paste.</li>
8576
8577    <li>allow cursor to have the same color as foreground (text),
8578    since it is rendered as reverse (Debian #350664).</li>
8579
8580    <li>amend change for loading <code>utf8Fonts</code> resource
8581    from <a href="#xterm_204">patch #204</a> to allow an ISO-8859-1
8582    "normal" font to be combined with an ISO-10646 font if the
8583    latter is given via the <code>-fw</code> option or its
8584    corresponding resource value (prompted by comment in Novell
8585    #49305).</li>
8586
8587    <li>add <code>TIOCSCTTY</code> <code>ioctl()</code> ifdef'd for
8588    <code>__GNU__</code> to set the controlling terminal (Debian
8589    #348457).</li>
8590
8591    <li>add configure option <code>--disable-leaks</code>.</li>
8592
8593    <li>add a check in <code>Bell</code> to ensure that the VT100
8594    widget is realized, since it may be called by
8595    <code>xtermLoadFont</code> given an incorrect font resource
8596    (Redhat #180450).</li>
8597
8598    <li>improve initialization of wide-bold font by not using the
8599    derived value when it happens to have few glyphs (report by
8600    Mboso Sampson).</li>
8601
8602    <li>improve dynamic colors by not repainting the screen if only
8603    the cursor color changes (request by Bram Moolenaar).</li>
8604
8605    <li>fix menu initialization for tek4014 window broken in
8606    <a href="#xterm_206">patch #206</a>.</li>
8607
8608    <li>typo in manpage (Debian #351425).</li>
8609
8610    <li>correct loop logic in <code>dotext</code> to prevent an
8611    infinite loop if a wide character was just at the right margin
8612    when wrapping was disabled (report by Serge van den Boom).</li>
8613
8614    <li>initialize the saved-cursor data so a restore-cursor
8615    operation without a preceding save-cursor operation will not
8616    modify the foreground color.</li>
8617
8618    <li>add a new selection feature: regular expressions, and new
8619    resources which specify what happens on multiple mouse clicks:
8620    <code>on2Clicks</code>, <code>on3Clicks</code>,
8621    <code>on4Clicks</code> and <code>on5Clicks</code>.</li>
8622
8623    <li>revert the <code>XTerm.ad</code> change from <a href=
8624    "#xterm_208">patch #208</a> (Debian #348384).</li>
8625
8626    <li>fixes for the print-window to make it handle combining
8627    characters in UTF-8 mode.</li>
8628
8629    <li>add check to ensure that double-clicking to extend
8630    selection will not extend it into the scrollback area. This
8631    still allows users to scroll back and select text (Debian
8632    #347415).</li>
8633
8634    <li>add configure option <code>--with-tty-group</code> to help
8635    work around deficiencies in packager's build environment
8636    (Debian #349142).</li>
8637
8638    <li>fix typo in configure script option
8639    <code>--disable-narrowproto</code> (report by David
8640    Mart&iacute;nez Moreno).</li>
8641
8642    <li>amend CF_X_FREETYPE changes for <code>pkg-config</code>
8643    check to ensure that <code>Xft</code> is known to that tool
8644    (report and patch by Emanuele Giaquinta).</li>
8645
8646    <li>add an ifdef to allow <code>./configure
8647    --disable-active-icon</code> to work, broken by new code for
8648    testing memory leaks in <a href="#xterm_208">patch #208</a>
8649    (report by Brian Lindholm).</li>
8650  </ul>
8651
8652  <h1><a name="xterm_208" id="xterm_208">Patch #208 - 2006/1/3 -
8653  XFree86 4.5.99.19</a></h1>
8654
8655  <ul>
8656    <li>add <code>charClass</code> resource to
8657    <code>XTerm.ad</code> and <code>UXTerm.ad</code> which
8658    simplifies selecting URLs (prompted by Kirill Ponomarew).</li>
8659
8660    <li>modify install rule for <code>uxterm</code> to account for
8661    the <code>--program-prefix</code>, etc., options by invoking
8662    the transformed name of xterm rather than simply "xterm".</li>
8663
8664    <li>modify configure <code>--with-app-defaults</code> option to
8665    allow <code>--without-app-defaults</code>.</li>
8666
8667    <li>add configure <code>--with-symlink</code> option to make it
8668    simpler to install successive versions of <code>xterm</code>
8669    renamed using the <code>--program-prefix</code>, etc., options
8670    with a symbolic link pointing to the most recent.</li>
8671
8672    <li>make <code>-iconic</code> option work with toolbar
8673    configuration (Gentoo #113604).</li>
8674
8675    <li>suppress <code>lastlog</code> feature for 64-bit Solaris
8676    configuration since that platform provides only a 32-bit
8677    interface (report by Peter Bray).</li>
8678
8679    <li>fix memory reallocation for the "UTF-8" menu entry when
8680    xterm is started using the <code>+u8</code> option (reported by
8681    Jan Willem Stumpel).</li>
8682
8683    <li>add a configure check for the actual path of
8684    <code>luit</code>, to work around broken <code>imake</code>
8685    configurations.</li>
8686
8687    <li>add a configure check for <code>pkg-config</code> (Redhat
8688    Bugzilla #173541).</li>
8689
8690    <li>modify install-rule for <code>uxterm</code> to omit
8691    executable suffix, e.g., for Cygwin.</li>
8692
8693    <li>modify <code>sinstall.sh</code> to work around quirks in
8694    Cygwin configuration.</li>
8695  </ul>
8696
8697  <h1><a name="xterm_207" id="xterm_207">Patch #207 - 2005/11/13 -
8698  XFree86 4.5.99.16</a></h1>
8699
8700  <ul>
8701    <li>enable <code>lastlogx</code> support for NetBSD (was added,
8702    but not enabled in <a href="#xterm_186">patch #186</a>).</li>
8703
8704    <li>work around broken <code>lastlog.h</code> in glibc 2.3.5,
8705    which includes <code>utmp.h</code>.</li>
8706
8707    <li>revert part of recent XFree86 Imakefile change, restoring
8708    the <code>-I.</code> needed for <code>xmkmf</code> builds of
8709    xterm (XFree86 Bugzilla #1633, reports by Alexander Pohoyda,
8710    Matthieu Herrb).</li>
8711
8712    <li>change compiled-in default for <code>printerCommand</code>
8713    resource to an empty string. People who want to use the printer
8714    should be able to read the manual (Debian #311490).</li>
8715
8716    <li>modify <code>Imakefile</code> to work around old problems
8717    in <code>imake</code> configuration to allow test-builds using
8718    <code>xmkmf</code> on Linux. (This was not noticed since
8719    several releases had broken definitions relating to Xft which
8720    were harder to work around).</li>
8721
8722    <li>link <code>resize</code> for SCO platforms (Kean
8723    Johnston).</li>
8724  </ul>
8725
8726  <h1><a name="xterm_206" id="xterm_206">Patch #206 - 2005/11/3 -
8727  XFree86 4.5.99.15</a></h1>
8728
8729  <ul>
8730    <li>add configure <code>--with-app-defaults</code> option to
8731    allow app-defaults directory for install-rules to be
8732    customized.</li>
8733
8734    <li>remove default translations for
8735    <code>dabbrev-expand()</code> due to conflicts with existing
8736    keyboard arrangements.</li>
8737
8738    <li>remove redundant check for <code>_NET_WM_PID</code> (report
8739    by Emanuele Giaquinta).</li>
8740
8741    <li>set icon border width explicitly to work around fvwm
8742    problem with active icon resizing (report by Steve Morris,
8743    analysis by Dominik Vogt).</li>
8744
8745    <li>modify resource files to make the font-resources a little
8746    more specific, e.g., changing "*VT100*" to "*VT100.", to make
8747    the distinction between VT100.font and VT100.utf8Fonts.font
8748    sharper, in case a packager modifies one of those.</li>
8749
8750    <li>expanded comments in <code>UXTerm.ad</code> regarding the
8751    font resources (Debian #319179).</li>
8752
8753    <li>add <code>--enable-narrowproto</code> configure option to
8754    accommodate X.org "modular" build (report by Stephan Hermann,
8755    Gentoo #17220).</li>
8756
8757    <li>fix typo in xterm.man description of <code>+wf</code>
8758    (patch by Tobias Stoeckmann).</li>
8759
8760    <li>add <code>scrollBarBorder</code> resource (request by Floyd
8761    L Davidson).</li>
8762
8763    <li>modify <code>xterm-new</code> terminfo entry to use
8764    capabilities for shifted scroll forward/reverse as shifted
8765    cursor up/down.</li>
8766
8767    <li>correct updating of checkmark for toolbar entry in popup
8768    menu (report by Emanuele Giaquinta).</li>
8769
8770    <li>fix ifdef's to allow compiling with toolbar and without
8771    tek4014 (patch by Emanuele Giaquinta).</li>
8772
8773    <li>use <code>openpty()</code> for Darwin port (patch by
8774    Emanuele Giaquinta).</li>
8775
8776    <li>fix Gentoo #90697 a different way, postponing the logic in
8777    <code>SetupToolbar</code> until the toolbar is actually needed,
8778    i.e., the <code>+tb</code> option is handled as expected.</li>
8779
8780    <li>revert fix made in <a href="#xterm_203">patch #203</a> for
8781    Gentoo #90697. That introduced a problem with the control mouse
8782    click-popups, while most of the performance problems can be
8783    resolved by restricting the menu fonts (report by Emanuele
8784    Giaquinta).</li>
8785
8786    <li>fix a file-descriptor leak when calling
8787    <code>openpty()</code> (OpenBSD system/4561).</li>
8788
8789    <li>make a special case of resizing work like vt100: a hard
8790    reset also resets the 132/80 mode. The code to support this was
8791    present since X11R5, but not used because the corresponding
8792    initial state of the <code>-132</code> option was not
8793    saved.</li>
8794
8795    <li>restore window manager hints after
8796    <code>XtMakeResizeRequest()</code> calls. One instance from
8797    <a href="#xterm_205">patch #205</a> resulted in the window
8798    manager displaying pixels rather than than characters after
8799    selecting a different font size (FreeBSD ports/87424).</li>
8800
8801    <li>remove special case for Darwin in CF_XOPEN_SOURCE (Emanuele
8802    Giaquinta).</li>
8803
8804    <li>modify parsing of control sequence <code>CSI&nbsp;T</code>
8805    to allow scroll-down to be sent while mouse tracking is enabled
8806    (request by D Hugh Redelmeier).</li>
8807
8808    <li>correct termcap "me" (mode-end) string so it does not
8809    modify the alternate character set (report by Andrey
8810    Chernov).</li>
8811
8812    <li>correct size-comparison in HandleInterpret() broken in
8813    changes from <a href="#xterm_201">patch #201</a> to allocate
8814    input buffer (Debian #334317).</li>
8815
8816    <li>amend adjustments for scrollbar layout from <a href=
8817    "#xterm_204">patch #204</a> to make this apply only to the
8818    toolbar configuration. In the non-toolbar configuration, the
8819    resulting scrollbar was shifted by its borderwidth (report by
8820    Matthieu Herrb).</li>
8821
8822    <li>add select-cursor-extend() action.</li>
8823
8824    <li>fix some broken href's in xterm.log.html, and typo in the
8825    INSTALL file (report/patch by David Mart&iacute;nez
8826    Moreno).</li>
8827
8828    <li>modify <code>Imakefile</code> to use setgid mode for
8829    installing with Linux, OpenBSD and FreeBSD.</li>
8830
8831    <li>add configure --with-setuid and --with-reference options to
8832    allow packagers more flexibility in customizing install
8833    permissions.</li>
8834
8835    <li>generalize and make optional (configure --with-utmp-setgid)
8836    the change made for XFree86 Bugzilla #878 in <a href=
8837    "#xterm_205">patch #205</a> (FreeBSD bug report
8838    #ports/86663).</li>
8839  </ul>
8840
8841  <h1><a name="xterm_205" id="xterm_205">Patch #205 - 2005/9/18 -
8842  XFree86 4.5.99.12</a></h1>
8843
8844  <ul>
8845    <li>correct a typo in CF_FUNC_TGETENT introduced in <a href=
8846    "#xterm_198">patch #198</a> fix for Gentoo #69926.</li>
8847
8848    <li>implement logic in termcap query to process multiple
8849    parameters as documented in ctlseqs.ms</li>
8850
8851    <li>fix buffer size used for termcap query, which was not long
8852    enough for the terminfo "colors" name (patch by Bradd W.
8853    Szonye).</li>
8854
8855    <li>add configure option --enable-readline-mouse, which turns
8856    on the experimental OPT_READLINE code (patch by Ilya
8857    Zakharevich).</li>
8858
8859    <li>for FreeBSD, drop setuid privileges after startup (XFree86
8860    Bugzilla #878, report/patch by Alexander Pohoyda)</li>
8861
8862    <li>add menu entry (alt-esc) and corresponding action
8863    (alt-sends-esc) to toggle the <code>eightBitInput</code>
8864    resource setting.</li>
8865
8866    <li>generate configure script with autoconf 2.52 (patched) to
8867    use the feature therein which forces the script's locale to
8868    POSIX (Gentoo Bugzilla #105369).</li>
8869
8870    <li>modify computation of rows/columns on resize to avoid
8871    extending beyond the given limits, e.g., if resizing in
8872    response to a "maximize" in Gnome or KDE which do not use the
8873    window manager hints for this case (Debian #289123, Novell
8874    #61153).</li>
8875
8876    <li>modifications to work with z/OS 1.4 (Paul Giordano).</li>
8877
8878    <li>improve error-reporting when chown/chmod of the
8879    pseudo-terminal fails, e.g., if a copy of xterm which was
8880    designed to work with old-style pseudo-terminals is not
8881    installed setuid or setgid (report by Jeremy C. Reed).</li>
8882
8883    <li>patches from Emanuele Giaquinta:
8884      <ul>
8885        <li>ctlseqs.ms says that primary and secondary DA accept a
8886        nonzero parameter, which is incorrect. Also modify code to
8887        agree with this.</li>
8888
8889        <li>correct a comment in 88colres.pl</li>
8890
8891        <li>ctlseqs.ms says that the DEC Set/Reset control
8892        sequences for the backarrow key make it send DEL/BS,
8893        respectively, while it's the opposite.</li>
8894
8895        <li>update the menu entries for the metaSendsEscape,
8896        deleteIsDEL and numLock resources when changing them with
8897        the corresponding DEC Set/Reset control sequences.</li>
8898      </ul>
8899    </li>
8900
8901    <li>fixes for configure script:
8902      <ul>
8903        <li>add special case for QNX, defining _QNX_SOURCE.</li>
8904
8905        <li>check for preprocessors which do not perform -U and -D
8906        options in the given order.</li>
8907
8908        <li>improve macro to determine gcc version</li>
8909
8910        <li>improve check for Intel compiler and related warning
8911        options</li>
8912      </ul>
8913    </li>
8914
8915    <li>update config.guess, config.sub</li>
8916
8917    <li>improve fix from <a href="#xterm_198">patch #198</a> for
8918    <code>Cleanup()</code> by ensuring it is not called from the
8919    SIGCHLD handler (patch by Todd Miller (OpenBSD CVS)).</li>
8920
8921    <li>eliminate a retry for a better-matching bold font, to work
8922    around recent font server changes.</li>
8923
8924    <li>fixes for Novell #113277:
8925      <ul>
8926        <li>specify weight for wide font which may be derived from
8927        normal fontname.</li>
8928
8929        <li>cache the derived wide- and widebolt-fontnames.</li>
8930      </ul>
8931    </li>
8932
8933    <li>workaround for Gentoo Bugzilla #100728.</li>
8934
8935    <li>add menubar's border width to layout computation. Normally
8936    this is zero, but patterns such as
8937    <code>XTerm*borderWidth:1</code> would give poor layout for the
8938    toolbar configuration.</li>
8939  </ul>
8940
8941  <h1><a name="xterm_204" id="xterm_204">Patch #204 - 2005/8/4 -
8942  XFree86 4.5.99.9</a></h1>
8943
8944  <ul>
8945    <li>work around quirk in shell which allowed user to "run"
8946    uxterm script when there was no UTF-8 locale installed by
8947    entering "sh -x uxterm". Also popup an xmessage to show the
8948    problem for users who run this via a GUI (Debian #318513).</li>
8949
8950    <li>disallow changes to fonts, toolbar and scrollbar when the
8951    vt100 window is iconified, to simplify management of the active
8952    icon.</li>
8953
8954    <li>fixes to make <code>-geom</code> option work properly with
8955    the toolbar configuration (Gentoo #90717, Gentoo #91967).</li>
8956
8957    <li>minor improvements to scrollbar layout: ensure that the
8958    scrollbar border is zero if the vt100 border is zero.</li>
8959
8960    <li>improve initialization due to <code>utf8</code> resource by
8961    loading the <code>utf8Fonts</code> resource in the case where
8962    <code>locale</code> resource is false. Also in this case, do
8963    not disable switching UTF-8 mode on/off.</li>
8964
8965    <li>minor optimization of TrueType font-loading, loads italic
8966    font only when needed.</li>
8967
8968    <li>correct variable used to store temporary result from lookup
8969    of bold font, when initializing the wide-bold-font data and no
8970    immediate match is found by asking for a bold variant of the
8971    wide-font. The result was to use overstriking rather than the
8972    actual bold font (Debian #318162, patch by Eugene Konev).</li>
8973
8974    <li>add checks to ensure vt100 widget is realized when it might
8975    be updated via actions handled from a tek4014-only
8976    configuration.</li>
8977  </ul>
8978
8979  <h1><a name="xterm_203" id="xterm_203">Patch #203 - 2005/7/6 -
8980  XFree86 4.5.99.7</a></h1>
8981
8982  <ul>
8983    <li>modify initialization of <code>allowSendEvents</code> and
8984    <code>allowWindowOps</code> to prevent modification with the
8985    editres protocol.</li>
8986
8987    <li>fix compiler warning for NetBSD by including util.h in
8988    main.c (XFree86 Bugzilla #1596).</li>
8989
8990    <li>fix to build on Darwin 8.x, which no longer provides
8991    <code>setpgrp()</code> (patch by Min Sik Kim).</li>
8992
8993    <li>adapted fixes for Legend (SCO) from diffs attached to
8994    Freedesktop.Org Bugzilla #3180.</li>
8995
8996    <li>fix typo in xterm manpage description of <code>-ls</code>
8997    option (Freedesktop.Org Bugzilla #3543).</li>
8998
8999    <li>add support for interpreting the underline attribute as an
9000    italic font in Xft mode (patch by Chuck Blake).</li>
9001
9002    <li>improve initialization of toolbar so that individual
9003    pulldown menus are initialized on demand, as they are in the
9004    scenario where they are invoked as popup menus (Gentoo Bugzilla
9005    #90697).</li>
9006
9007    <li>fix logic in <code>find_utmp</code>, which did not reset
9008    result in <code>getutid()</code>, causing an infinite loop in
9009    some conditions (report by Emil Mikulic).</li>
9010
9011    <li>set the <code>_NET_WM_PID</code> property (Gentoo Bugzilla
9012    #91008).</li>
9013
9014    <li>modify ifdef's in ptyx.h and xterm_io.h to build with
9015    DragonFly (patch by Jeroen Ruigrok).</li>
9016
9017    <li>change default values for <code>minBufSize</code> and
9018    <code>maxBufSize</code> to 4096 and 32768 respectively so that
9019    the initial read request will match the value from before
9020    changes to use <code>sched_yield()</code>.</li>
9021
9022    <li>make paste of UTF-8 faster for Western character sets by
9023    checking range of incoming data (patch by Joe Allen).</li>
9024
9025    <li>add experimental option to allow applications to get or set
9026    the selection data as a BASE64 string (adapted from patch by
9027    Joe Allen).</li>
9028
9029    <li>fix an off-by-one error parsing <code>-S/nn</code> option
9030    (Debian #311438, report/fix by Peter Chubb).</li>
9031
9032    <li>fix an initialization bug from <a href="#xterm_201">patch
9033    #201</a> that broke logging (report by Rodney Thayer).</li>
9034
9035    <li>amend change to command-line processing in <a href=
9036    "#xterm_201">patch #201</a> to avoid conflict with
9037    <code>-e</code> option (report by Servatius Brandt).</li>
9038
9039    <li>suppress configure check for <code>_XOPEN_SOURCE</code> on
9040    darwin.</li>
9041
9042    <li>update config.guess, config.sub</li>
9043  </ul>
9044
9045  <h1><a name="xterm_202" id="xterm_202">Patch #202 - 2005/5/2 -
9046  XFree86 4.5.99.3</a></h1>
9047
9048  <ul>
9049    <li>add extended shift- and control-modifier cursor keys to
9050    "xterm+pcfkeys" terminfo entry to correspond to ncurses
9051    20050430 patch.</li>
9052
9053    <li>fix a rare case where text would be written with the wrong
9054    colors because output of scrolled text would reset the colors
9055    and the new text would be written with the same colors
9056    (report/testcase by Thomas Glanzmann).</li>
9057
9058    <li>rename <code>$CMD</code> variable in <code>plink.sh</code>
9059    because it is a reserved symbol in bash 3.00.16 (report by Ted
9060    Taylor).</li>
9061
9062    <li>add environment variables <code>$XTERM_SHELL</code> and
9063    <code>$XTERM_VERSION</code> (request by Zdenek Sekera).</li>
9064
9065    <li>corrected workaround for background color of menubar, which
9066    gave a too-broad expression, coloring the background of the
9067    VT100 widget unless overridden by another resource
9068    setting.</li>
9069
9070    <li>correct an error in the logic which decides when
9071    <code>sched_yield()</code> is run; it would occasionally hang
9072    when contending with other pseudo-terminal applications such as
9073    screen (report by Kirill Ponomarew).</li>
9074
9075    <li>modify initialization to decide whether to default to
9076    built-in <code>wcwidth()</code> versus system's version based
9077    on the starting locale and whether the system's version is poor
9078    quality (suggested by Bram Moolenaar).</li>
9079
9080    <li>update table for <code>mk_width()</code> from UnicodeData
9081    4.1.0 using Markus Kuhn's <code>uniset</code> script.</li>
9082  </ul>
9083
9084  <h1><a name="xterm_201" id="xterm_201">Patch #201 - 2005/4/21 -
9085  XFree86 4.5.99.2</a></h1>
9086
9087  <ul>
9088    <li>improve resource files to show how the menubar and popup
9089    menus can be colored (prompted by report by Joe Wells).</li>
9090
9091    <li>modify parsing of OSC (and SOS, etc), strings so their
9092    contents are not interpreted as UTF-8. This allows non-ASCII
9093    title strings to be set, provided that the window manager
9094    complies (report by Thomas Wolff).</li>
9095
9096    <li>improved some of the built-in line-drawing glyphs.</li>
9097
9098    <li>correct color of "box" character drawn for line-drawing
9099    glyph 1 (report by Nicolas George).</li>
9100
9101    <li>improve behavior when switching to UTF-8 mode after startup
9102    so xterm will check if the current fonts are already wide
9103    (ISO10646-1). If they are not, xterm will use the
9104    <code>utf8Fonts</code> subresource to load appropriate fonts
9105    (request by Bram Moolenaar).</li>
9106
9107    <li>modify logic for setting title-string so it applies to the
9108    current widget rather than the vt100 widget.</li>
9109
9110    <li>modify initialization for wide-bold fontname, to search for
9111    one if none is given (report by Michael Schroeder).</li>
9112
9113    <li>add resource <code>mkWidth</code> and command-line option
9114    <code>-mk_width</code> to control whether xterm uses the
9115    built-in version of wcwidth().</li>
9116
9117    <li>add resource settings for minimum/maximum input buffer
9118    size, and call to <code>sched_yield</code> to improve
9119    performance with newer Linux kernels (adapted from patch by
9120    Nicolas George).</li>
9121
9122    <li>correct computation of width for wide characters with the
9123    invisible attribute (report by Thomas Wolff).</li>
9124
9125    <li>modify interaction between <code>+u8</code> and
9126    <code>locale</code> resource to allow the command-line option
9127    to override the resource (requested by Thomas Wolff).</li>
9128
9129    <li>add a limit check for scrolling margins in a one-line
9130    screen, overlooked in fixes for <a href="#xterm_198">patch
9131    #198</a> (Debian #297430).</li>
9132
9133    <li>correct treatment of <code>iconBorderWidth</code> for
9134    resizing an active-icon, and its description in manpage (Debian
9135    #296592).</li>
9136
9137    <li>modify configure script <code>--disable-imake</code> to use
9138    the script's definitions anyway if it cannot detect imake
9139    (prompted by FreeBSD bug 77408).</li>
9140
9141    <li>ignore error in the I/O initialization that tries to set
9142    the tty to 7-bit input for the case where
9143    <code>eightBitInput</code> resource is false (Debian
9144    #298551).</li>
9145
9146    <li>modify command-processing to accept an optional parameter
9147    that tells xterm which shell program to use (request by Zdenek
9148    Sekera).</li>
9149
9150    <li>add simpler resource <code>keyboardType</code> which, when
9151    set, overrides the individual keyboard-type resources and
9152    eliminates the possibility of conflict between them.</li>
9153
9154    <li>add initialization for <code>scoFunctionKeys</code>
9155    resource (report by Rick K).</li>
9156
9157    <li>correct logic of <code>ReallocateBufOffsets()</code> which
9158    did not copy the content of the old screen buffer to the proper
9159    location, making a repaint clear after switching to
9160    wide-character mode (report by Bram Moolenaar):</li>
9161
9162    <li>implement the remaining pieces to make xterm allocate cells
9163    for wide-characters when the "UTF-8" menu entry is selected.
9164    Also, load the UTF-8 font when that menu entry is selected, or
9165    the escape sequence for UTF-8 mode is received (report by Bram
9166    Moolenaar):</li>
9167
9168    <li>add command-line options (<code>-tb</code>,
9169    <code>+tb</code>) and resource <code>toolBar</code> to allow
9170    menu/toolbar to disabled or enabled at startup (prompted by
9171    reports by Joe Wells).</li>
9172
9173    <li>correct typo in configure script's --enable-dec-locator
9174    option (report by Bram Moolenaar).</li>
9175  </ul>
9176
9177  <h1><a name="xterm_200" id="xterm_200">Patch #200 - 2005/2/6 -
9178  XFree86 4.4.99.23</a></h1>
9179
9180  <ul>
9181    <li>increase color pairs value for xterm-256color and
9182    xterm-88color to match ncurses, which has an experimental
9183    option to support this.</li>
9184
9185    <li>modify ifdef's to make AIX use termios rather than termio;
9186    the struct sizes for the two were not the same.</li>
9187
9188    <li>improve CF_WITH_IMAKE_CFLAGS configure macro script for
9189    OSMAJORVERSION and OSMINORVERSION values, e.g., for Tru64 and
9190    AIX.</li>
9191
9192    <li>modify ifdef to define USE_POSIX_TERMIOS for Darwin (patch
9193    by Min Sik Kim).</li>
9194
9195    <li>modify find_utmp() to initialize the whole utmpx struct
9196    (except ut_id), since that is needed for OSF1 4.0D to prevent
9197    an infinite loop on exit.</li>
9198
9199    <li>add configure check before adding -D_POSIX_SOURCE since
9200    some platforms predefine it, e.g., cygwin.</li>
9201
9202    <li>add simplified sed expressions in CF_IMAKE_CFLAGS configure
9203    script macro to ensure value for PROJECTROOT is quoted on
9204    Solaris, i.e., when nested <code>\(</code> and <code>\)</code>
9205    are not interpreted correctly.</li>
9206
9207    <li>correct DEC rectangle operations to reset state after
9208    completing the operations.</li>
9209
9210    <li>modify CASE_ST handling in charproc.c to ensure that the
9211    parse state is reset even if xterm is not currently processing
9212    an OSC or other string (patch by Johnny Billquist forwarded by
9213    Matthias Scheler, NetBSD xsrc/29003).</li>
9214
9215    <li>fix OS/2 build for innotek_libc (patch by David Yeo).</li>
9216
9217    <li>fix a regression from <a href="#xterm_197">patch #197</a>
9218    fix for Debian #277832 which disowned the selection if it was
9219    scrolled, e.g., by the user pressing return at the bottom of
9220    the screen (Debian #291787).</li>
9221
9222    <li>move the warning/exit for missing $DISPLAY into the error
9223    handler in case <code>-display</code> is given, and the connect
9224    fails for some other reason.</li>
9225  </ul>
9226
9227  <h1><a name="xterm_199" id="xterm_199">Patch #199 - 2005/1/17 -
9228  XFree86 4.4.99.22</a></h1>
9229
9230  <ul>
9231    <li>instead of setting <code>$DISPLAY</code>, check for the
9232    unset variable and warn/exit on this condition (comments by H
9233    Merijn Brand and Bernhard R Link).</li>
9234
9235    <li>fix a typo in Imakefile from <a href="#xterm_198">patch
9236    #198</a> (reports/patches by Stefan Dirsch, Mike Castle).</li>
9237  </ul>
9238
9239  <h1><a name="xterm_198" id="xterm_198">Patch #198 - 2005/1/13 -
9240  XFree86 4.4.99.21</a></h1>
9241
9242  <ul>
9243    <li>set <code>$DISPLAY</code> to ":0" if it is not set.</li>
9244
9245    <li>add <code>utmpDisplayId</code> resource to allow users to
9246    control whether the display identifier (display number and
9247    screen number) are retained in the connection information
9248    recorded in utmp (discussion with Edoardo Tirtarahardja).</li>
9249
9250    <li>add <code>bellOnReset</code> resource to allow users to
9251    disable bell which sounds on hard reset since <a href=
9252    "#xterm_183">patch #183</a> changes to DECSCL (discussion with
9253    Danek Duvall).</li>
9254
9255    <li>improve <code>$WINDOWID</code> for configuration with
9256    toolbar by making it refer to the top-level shell rather than
9257    the parent of the current window. For that case, the parent is
9258    a form widget, which does not have a name, which made the
9259    <code>$WINDOWID</code> not very useful as a parameter for
9260    <code>xwininfo</code> (suggested by Dave Bodenstab).</li>
9261
9262    <li>fix a typo in WhichVFont() macro from <a href=
9263    "#xterm_197">patch #197</a> changes which broke the
9264    --disable-active-icon configuration (report by Ralf S.
9265    Engelschall).</li>
9266
9267    <li>improve some limit checks (Gentoo Bugzilla #75604).</li>
9268
9269    <li>add --disable-setuid option to configure script (Gentoo
9270    Bugzilla #76543).</li>
9271
9272    <li>add --disable-full-tgetent option to configure script,
9273    allowing one to ignore a termcap library in favor of
9274    ncurses/curses (Gentoo Bugzilla #69926).</li>
9275
9276    <li>modify configure script to choose useful warning options
9277    for Intel version 8.0 compiler.</li>
9278
9279    <li>update config.guess, config.sub</li>
9280
9281    <li>make active-icon work properly when TrueType fonts are used
9282    (Debian #286068).</li>
9283
9284    <li>correct change from <a href="#xterm_157">patch #157</a>
9285    which uses getlogin() to check for an alias; the storage used
9286    for the related getpwuid() call was overwritten by the data
9287    used for comparison (patch by Per Hedeland).</li>
9288
9289    <li>correct case of SCS for character set 0 (line-drawing) to
9290    allow it to be selected into GR.</li>
9291
9292    <li>fix a file-descriptor leak (Redhat Bugzilla #139597).</li>
9293
9294    <li>modify <code>creat_as()</code> to only fork if xterm is
9295    actually running as setuid and/or setgid. This works around a
9296    Cygwin bug which hangs when logging is enabled and makes xterm
9297    a little faster for systems using interfaces such as utempter
9298    (report by Al Goodman).</li>
9299
9300    <li>modify <code>Cleanup()</code> to avoid operations such as X
9301    calls that might use unsafe functions when it is called by a
9302    signal handler (report by Michiel Boland).</li>
9303
9304    <li>fix bugs in <a href="#xterm_191">patch #191</a> and in SRM
9305    changes from <a href="#xterm_197">patch #197</a> that broke
9306    DECSET 38: switch to Tek4014 emulation (report by Dave
9307    Bodenstab).</li>
9308
9309    <li>fix for manpage escapes (Marc La France).</li>
9310
9311    <li>improve on IRIX-specific change for Imakefile in XFree86
9312    CVS versus resize linking against termcap library to reflect
9313    definitions for USE_TERMCAP in resize.c</li>
9314  </ul>
9315
9316  <h1><a name="xterm_197" id="xterm_197">Patch #197 - 2004/11/30 -
9317  XFree86 4.4.99.19</a></h1>
9318
9319  <ul>
9320    <li>modify configure script to remove empty "-DPROJECTROOT="
9321    definition which resulted unusable values for luit's default
9322    path.</li>
9323
9324    <li>update precompose.c based on Unicode 4.0.1</li>
9325
9326    <li>several minor fixes based on Intel compiler warnings.</li>
9327
9328    <li>change default translations so a <code>BtnDown</code> which
9329    is not recognized is simply ignored rather than emitting a
9330    bell. That makes it less obtrusive when the user tries to use a
9331    mouse which provides more capabilities than the X mouse driver
9332    supports, e.g., one with a horizontal scroll wheel (Debian
9333    #265133).</li>
9334
9335    <li>note in xterm's manpage that <code>translations</code> is
9336    not specific to xterm (Debian #278897).</li>
9337
9338    <li>modify uxterm script to use locale program to verify if the
9339    derived locale is installed (Debian #246398).</li>
9340
9341    <li>correct font handling for active icon when in UTF-8 mode
9342    (report by Paolo Liberatore).</li>
9343
9344    <li>make active-icon and toolbar configurations work
9345    together.</li>
9346
9347    <li>modify the criteria for disowning primary selection.
9348    Previously, this happened anytime the cursor was moved before
9349    the end of the selection. That would ensure that any
9350    insert/delete of char or line, as well as scrolling, would
9351    disown the selection. The new criteria change this to checking
9352    if the operations would modify the data which is highlighted
9353    (Debian #277832).</li>
9354
9355    <li>reimplement <code>DECALN</code> with functions for vt420
9356    rectangles, fixes selection for this case.</li>
9357
9358    <li>implement vt420 rectangle operations.</li>
9359
9360    <li>add parsing, for debug/test of vt220 soft-fonts.</li>
9361
9362    <li>add menu entry, actions and escape sequence to allow
9363    enabling/disabling toolbars at runtime.</li>
9364
9365    <li>improve rendering for Xft, allow it to draw non-linedrawing
9366    characters such as "pi", which were drawn from internal tables
9367    with <a href="#xterm_180">patch #180</a> (Freedesktop.org
9368    Bugzilla #1260).</li>
9369
9370    <li>add configure option <code>--enable-mini-luit</code>,
9371    ifdef'd the mini-luit feature with
9372    <code>OPT_MINI_LUIT</code>.</li>
9373
9374    <li>add mini-luit feature, which supports Latin9 directly
9375    rather than via luit, provided that Unicode fonts are used
9376    (Freedesktop.org Bugzilla #1571, request by Stefan Dirsch,
9377    patch by Michael Schroeder).</li>
9378
9379    <li>for Linux, if IUTF8 is defined, e.g., on recent 2.6.x
9380    kernels, set the corresponding flag for the slave pty, to
9381    enable UTF-8 interpretation of backspace in cooked mode
9382    (Freedesktop.org Bugzilla #1578, request by Stefan
9383    Dirsch).</li>
9384
9385    <li>modify <code>faceSize</code> resource to use a
9386    floating-point internal value (adapted from patch by Sam
9387    Stephenson).</li>
9388
9389    <li>correct handling selection of tabs over cleared space in
9390    UTF-8 mode. In this special case, xterm represents the
9391    whitespace with a null rather than a space character (Debian
9392    #276447).</li>
9393
9394    <li>amend fix for infinite loop from <a href="#xterm_192">patch
9395    #192</a> to check if there is wrapped text to output in a
9396    following iteration (Debian #273202).</li>
9397
9398    <li>fixes ifdef'd with <code>__INTERIX</code> to allow building
9399    with Interix (Windows Services for UNIX) 3.5 using the xlibs
9400    libraries from freedesktop.org (patch by Min Sik Kim).</li>
9401
9402    <li>amend solution for Debian #252873, Debian #260471 from
9403    <a href="#xterm_194">patch #194</a> by making the cursor not
9404    explicitly colored if only the foreground color is set, and the
9405    cursor is on a blank space (Debian #275473).</li>
9406
9407    <li>correct logic for send/receive mode (SRM) with regard to
9408    control characters.</li>
9409
9410    <li>fix masking of invisible text in wide-character mode, which
9411    did not work for line-drawing characters.</li>
9412
9413    <li>incorporate CF_XOPEN_SOURCE into configure script,
9414    replacing CF_GNU_SOURCE.</li>
9415  </ul>
9416
9417  <h1><a name="xterm_196" id="xterm_196">Patch #196 - 2004/8/15 -
9418  XFree86 4.4.99.12</a></h1>
9419
9420  <ul>
9421    <li>add a special case to configure script to ignore NetBSD's
9422    <code>grantpt()</code> which was recently added (but not part
9423    of a release), until someone is able to ensure that xterm can
9424    use it (report by Min Sik Kim).</li>
9425
9426    <li>clear the buffer returned by getutid(). This fixes an
9427    infinite loop on some platforms introduced in <a href=
9428    "#xterm_193">patch #193</a> by Debian #256468 fix (report by
9429    David Ellement).</li>
9430  </ul>
9431
9432  <h1><a name="xterm_195" id="xterm_195">Patch #195 - 2004/8/8 -
9433  XFree86 4.4.99.11</a></h1>
9434
9435  <ul>
9436    <li>correct length used for blinking text, make the last column
9437    blink (patch by Alexander V Lukyanov).</li>
9438
9439    <li>start changes to make doublesize characters work with
9440    TrueType fonts (see <a href="#xterm_44">patch #44</a>).</li>
9441
9442    <li>trim leading/trailing blanks from color resources as done
9443    for other strings in <a href="#xterm_167">patch #167</a>.</li>
9444
9445    <li>fixes for <code>showBlinkAsBold</code> resource (report by
9446    Christoph Berg).</li>
9447  </ul>
9448
9449  <h1><a name="xterm_194" id="xterm_194">Patch #194 - 2004/7/27 -
9450  XFree86 4.4.99.11</a></h1>
9451
9452  <ul>
9453    <li>change clearing operations so foreground color attribute is
9454    not set. Usually this is benign, but in some cases when the
9455    cursor color is not set explicitly, the cursor would show this
9456    color (Debian #252873, Debian #260471).</li>
9457
9458    <li>add extra state (cursor-moved) to guard against deciding
9459    that the cursor did not require repainting after an indexing
9460    operation that leaves the cursor in the same location on the
9461    screen.</li>
9462
9463    <li>fix a case where a full-screen indexing operation would not
9464    restore the cursor-busy state.</li>
9465
9466    <li>fix a repainting bug introduced in <a href=
9467    "#xterm_180">patch #180</a>: when using a font lacking
9468    line-drawing characters, a repaint of the screen could skip
9469    horizontally an extra amount after filling in the missing
9470    character (reports by Nicolas George, Hans de Goede, Redhat
9471    Bugzilla #128341).</li>
9472
9473    <li>rename terminfo fragment "xterm-pc-fkeys" to
9474    "xterm+pcfkeys" for consistency with ncurses.</li>
9475  </ul>
9476
9477  <h1><a name="xterm_193" id="xterm_193">Patch #193 - 2004/7/19 -
9478  XFree86 4.4.99.10</a></h1>
9479
9480  <ul>
9481    <li>fix for wide-character selection from OpenBSD CVS
9482    (report/patch by Matthieu Herrb).</li>
9483
9484    <li>modify initialization and cleanup of utmp data to also
9485    compare the <code>ut_line</code> member (Debian #256468).</li>
9486
9487    <li>modify check on focus-change to ignore
9488    <code>FocusOut</code> events generated by
9489    <code>XGrabKeyboard</code>. This fixes a case where the text
9490    cursor would act as if focus were lost when selecting the
9491    "Secure Keyboard" menu option.</li>
9492
9493    <li>add <code>gen-pc-fkeys.pl</code> script, use that to
9494    generate terminfo fragment corresponding to the pc-style
9495    function keys.</li>
9496
9497    <li>fix a case where the checkmark by the "VT220 Keyboard" menu
9498    entry was not set on startup.</li>
9499
9500    <li>separated two methods for making the cursor blink (menu and
9501    escape sequence) by using the menu as the primary method and
9502    XOR'ing the state of the escape sequence against that.</li>
9503
9504    <li>modify logic for enabling blinking cursor via escape
9505    sequence as well as the related save/restore operations so this
9506    is only available if the <code>cursorBlink</code> resource was
9507    set on startup.</li>
9508  </ul>
9509
9510  <h1><a name="xterm_192" id="xterm_192">Patch #192 - 2004/7/12 -
9511  XFree86 4.4.99.9</a></h1>
9512
9513  <ul>
9514    <li>change resource settings for color4 and color12, add some
9515    discussion in <code>XTerm-col.ad</code> (Debian #241717).</li>
9516
9517    <li>add a note in xterm manpage discussing the difference
9518    between alt- and meta-keys, and the way the latter is used in
9519    the <code>eightBitInput</code> resource.</li>
9520
9521    <li>add a note in xterm manpage regarding possible conflict
9522    between resource settings for <code>xterm.vt100.font</code> and
9523    <code>xterm.vt100.utf8Fonts.font</code> (Debian #254650).</li>
9524
9525    <li>add compile-time customization of
9526    <code>backarrowKeyIsErase</code> and
9527    <code>ptyInitialErase</code> default resource values (adapted
9528    from OpenBSD CVS).</li>
9529
9530    <li>change parameter of <code>FIONREAD</code>
9531    <code>ioctl()</code> call from long to int (discussion on
9532    tech-x11@netbsd.org regarding LP64 by John Heasley and Matthias
9533    Scheler).</li>
9534
9535    <li>modify configure script options for Athena widgets to work
9536    as expected for "--without-Xaw3d", etc., (Gentoo Bugzilla
9537    #53455).</li>
9538
9539    <li>add case to uxterm to accommodate locales ending with
9540    "@euro", e.g., fr_FR.UTF-8@euro (Debian #255197,
9541    report/analysis by Matthieu Lagouge).</li>
9542
9543    <li>add special case for VT100 graphic's "box" character
9544    (discussion with Ben Armstrong).</li>
9545
9546    <li>add missing initialization for bitmap-font sizes needed to
9547    make fonts menu work with TrueType fonts (report by Ben
9548    Armstrong).</li>
9549
9550    <li>save the fontnames for bold fonts that are derived from
9551    normal fonts, or from the <code>boldFont</code> resource, so
9552    the same value is restored when switching with the VT Fonts
9553    menu (Debian #256086).</li>
9554
9555    <li>fix manpage preprocessing (Marc La France).</li>
9556
9557    <li>fix typo in manpage's description of character classes
9558    (Debian #257073).</li>
9559
9560    <li>modify terminfo to accommodate luit, which relies on G1
9561    being used via an ISO-2022 escape sequence (Debian #254316,
9562    analysis by Juliusz Chroboczek).</li>
9563
9564    <li>modify Makefile.in rule for ctlseqs.txt to work around
9565    groff SGR misfeature.</li>
9566
9567    <li>modify <code>XTerm.ad</code> to set <code>saveLines</code>
9568    default to 1024 (Redhat Bugzilla #127132).</li>
9569
9570    <li>add a limit-check in <code>dotext()</code> to prevent
9571    infinite loop in a corner case of UTF-8 configuration.</li>
9572
9573    <li>update config.guess, config.sub</li>
9574  </ul>
9575
9576  <h1><a name="xterm_191" id="xterm_191">Patch #191 - 2004/6/6 -
9577  XFree86 4.4.99.7</a></h1>
9578
9579  <ul>
9580    <li>correct options parsing for <code>-into</code> option so it
9581    can be combined with <code>-e</code> (Redhat Bugzilla #124518,
9582    report/patch by James Armstrong).</li>
9583
9584    <li>fix ifdef's for <code>OPT_COLOR_RES2</code> so that the
9585    fake resource table introduced in <a href="#xterm_188">patch
9586    #188</a> is not compiled if it is empty. This happened to work
9587    with gcc (report by Joel Konkle-Parker).</li>
9588
9589    <li>reorganize ptydata.c to use one input buffer shared between
9590    the VTxxx and tek4014 emulators. In the new scheme, UTF-8
9591    decoding is performed on characters as they are needed by the
9592    state machine rather than on buffers as they are read.</li>
9593
9594    <li>work around change in quoting of PROJECTROOT symbol when
9595    using configure script, from changes made in <a href=
9596    "#xterm_187">patch #187</a> for CF_IMAKE_CFLAGS (Gentoo
9597    Bugzilla #50982).</li>
9598  </ul>
9599
9600  <h1><a name="xterm_190" id="xterm_190">Patch #190 - 2004/5/25 -
9601  XFree86 4.4.99.6</a></h1>
9602
9603  <ul>
9604    <li>correct state for values in the range 128-159 after
9605    translating from UTF-8: this should be ignored unless the user
9606    overrides it with the <code>allowC1Printable</code> resource
9607    (reported by Simon Strandgaard).</li>
9608
9609    <li>add configure-script check for nl_langinfo(CODESET), use
9610    this to replace check of environment variables for UTF-8.</li>
9611
9612    <li>change Makefile.in rules for 256colres.h and 88colres.h so
9613    they are only made if they do not exist. The maintainer-clean
9614    rule will remove these files; they require perl to be
9615    made.</li>
9616
9617    <li>remove check in configure script --enable-toolbar that
9618    suppressed this option when building with Xaw7.</li>
9619
9620    <li>apply fixes to Tektronix widget used for VT100 widget to
9621    make toolbar work with Xaw7 (XFree86 4.x).</li>
9622  </ul>
9623
9624  <h1><a name="xterm_189" id="xterm_189">Patch #189 - 2004/5/16 -
9625  XFree86 4.4.99.6</a></h1>
9626
9627  <ul>
9628    <li>do not call xim_real_init() if <code>openIm</code> resource
9629    is false (Debian #249025).</li>
9630
9631    <li>minor improvements to built-in line-drawing.</li>
9632
9633    <li>fix a few portability issues with dynamic abbreviation
9634    support, i.e., did not compile on Tru64.</li>
9635
9636    <li>modify constraints in form used to layout toolbar, to work
9637    with newer Xaw in XFree86 4.x.</li>
9638  </ul>
9639
9640  <h1><a name="xterm_188" id="xterm_188">Patch #188 - 2004/5/12 -
9641  XFree86 4.4.99.6</a></h1>
9642
9643  <ul>
9644    <li>correct table entry for DEL in the ground state, which
9645    marked it as a printable character from <a href=
9646    "#xterm_171">patch #171</a> (report by D Hugh Redelmeier).</li>
9647
9648    <li>improve fix in <a href="#xterm_186">patch #186</a> for
9649    failure in xim_real_init() by adding a sleep.</li>
9650
9651    <li>fix a typo in os2main.c (XFree86 Bugzilla #1358,
9652    report/patch by Frank Giessler).</li>
9653
9654    <li>make escape sequence reporting dynamic colors consistent
9655    with the logic that sets it; choosing the opposite color when
9656    reverse video is set (XFree86 Bugzilla #1361, reported by Bradd
9657    W Szonye).</li>
9658
9659    <li>modify initialization of 256- and 88-colors so that colors
9660    beyond 16 are normally not X resources. This works around a
9661    hard-coded limit in Xt which breaks xterm when 256-colors and
9662    luit are both configured (report by Noah Friedman).</li>
9663
9664    <li>remove <code>ncv</code> from <code>xterm-256color</code>
9665    terminfo entry since it is no longer needed (report by Eli
9666    Zaretskii).</li>
9667
9668    <li>add "erase2" and "eol2" keywords to <code>ttyModes</code>
9669    resource, for recent/current FreeBSD.</li>
9670
9671    <li>improve ifdef's for utempter library to omit direct calls
9672    to <code>setutent()</code> or <code>getutent()</code> (adapted
9673    from patch by Christian Biere).</li>
9674
9675    <li>add dynamic abbreviation support like Emacs (patch by
9676    Tomasz Cholewo). This is ifdef'd with <code>OPT_DABBREV</code>,
9677    and enabled via the configure script
9678    <code>--enable-dabbrev</code> option.</li>
9679
9680    <li>fix problem responding to session management events, e.g.,
9681    which would make logging out very slow (patch by Eddy De Greef,
9682    Debian #233883).</li>
9683
9684    <li>work around a newer bug in toolbar with XFree86 by forcing
9685    menus to be fully initialized at startup. In older versions of
9686    XFree86 and X11R6, it was possible to delay initialization of
9687    the menu contents until it was popped up. (The longstanding bug
9688    with XFree86 4.x layout for toolbar still exists, though).</li>
9689
9690    <li>modify <code>xtermAddInput</code> to work around core dump
9691    on IRIX64 when initializing scrollbar translations if toolbar
9692    is compiled-in.</li>
9693
9694    <li>fix some minor conflicts in the 2-character entry names in
9695    the termcap file.</li>
9696  </ul>
9697
9698  <h1><a name="xterm_187" id="xterm_187">Patch #187 - 2004/4/27 -
9699  XFree86 4.4.99.4</a></h1>
9700
9701  <ul>
9702    <li>change xterm version string to use
9703    <code>__vendorversion__</code> where that is available, and
9704    "XTerm" otherwise.</li>
9705
9706    <li>improve description of <code>utf8</code> resource in
9707    manpage (Debian #179407).</li>
9708
9709    <li>modify configure macros CF_IMAKE_CFLAGS and CF_ADD_CFLAGS
9710    to handle <code>-D</code> options that define string values,
9711    e.g., for <code>XVENDORNAME</code>.</li>
9712
9713    <li>modify configure macro CF_IMAKE_CFLAGS to allow (if
9714    <code>$PATH</code> is set accordingly) to use the
9715    <code>xmkmf</code> script within an X build tree.</li>
9716
9717    <li>add missing <code>#undef OPT_SESSION_MGT</code> to
9718    xtermcfg.hin to make the configure script's
9719    --disable-session-mgt option work.</li>
9720
9721    <li>update config.guess, config.sub</li>
9722  </ul>
9723
9724  <h1><a name="xterm_186" id="xterm_186">Patch #186 - 2004/4/18 -
9725  XFree86 4.4.99.4</a></h1>
9726
9727  <ul>
9728    <li>change reset on <code>DECSCL</code> to a soft-reset
9729    (appears some DEC manuals have errors).</li>
9730
9731    <li>add a section to ctlseqs.ms elaborating on normal/alternate
9732    screens.</li>
9733
9734    <li>modify initialization of Acolors[] so that any
9735    XtDefaultForeground or XtDefaultBackground values are
9736    translated as in the Tcolors[], to use the window's
9737    foreground/background colors. This affects the
9738    <code>colorBD</code> and similar resources which normally have
9739    no explicit color assigned.</li>
9740
9741    <li>modify initialization of Tektronix window so that control
9742    sequences setting its color before the window is popped up will
9743    apply to its initial colors.</li>
9744
9745    <li>add control sequence to set Tektronix window's
9746    text-cursor.</li>
9747
9748    <li>modify initialization of terminal colors, e.g., mouse
9749    pointer and text cursor, to treat
9750    <code>XtDefaultForeground</code> and
9751    <code>XtDefaultBackground</code> values as the actual
9752    foreground and background colors of the terminal rather than
9753    white and black (Debian #241717).</li>
9754
9755    <li>remove an incorrect comparison against
9756    <code>PTYCHARLEN</code> in parsing the <code>-S</code> option
9757    (report by Michael B Taylor).</li>
9758
9759    <li>minor restructuring of terminfo/termcap files, having noted
9760    some packager's customizations which caused the structure to be
9761    confused.</li>
9762
9763    <li>eliminate an isolated use of MIN/MAX in charproc.c</li>
9764
9765    <li>replace <code>XtExtdefaultfont</code> and
9766    <code>XtExtdefaultbackground</code> by their more familiar
9767    equivalents <code>XtDefaultFont</code> and
9768    <code>XtDefaultBackground</code>.</li>
9769
9770    <li>replace ifdef's using <code>SCO</code>, <code>sco</code>
9771    and <code>SCO325</code> with <code>__SCO__</code> (XFree86
9772    Bugzilla #1301, Kean Johnston). But ensure that it still builds
9773    on platforms where this symbol is not defined.</li>
9774
9775    <li>add <code>scoFunctionKeys</code> resource, to match
9776    manpage.</li>
9777
9778    <li>update manpage discussion of menus and related
9779    resources.</li>
9780
9781    <li>enable utmpx support for NetBSD 1.6C and newer (patch by
9782    Matthias Scheler).</li>
9783
9784    <li>add a note in the manpage discussing xterm's treatment of
9785    open file-descriptors (request by Dan Shearer).</li>
9786
9787    <li>modify <code>Help()</code> to make "xterm -h" write to
9788    standard output rather than standard error (patch by Bram
9789    Moolenaar).</li>
9790
9791    <li>check for type of failure in xim_real_init() to avoid
9792    looping when the problem is an unsupported input method rather
9793    than a failure to connect to the XIM server. Problem was
9794    introduced in <a href="#xterm_175">patch #175</a> (XFree86
9795    Bugzilla #1306).</li>
9796
9797    <li>modify <code>Imakefile</code> to remove dependency of
9798    "install" target on the <code>xterm</code> executable to make
9799    installs from tree without attempting to rebuild anything
9800    (commit by David Dawes, report/patch from Lee Olsen).</li>
9801
9802    <li>remove call to <code>ShowCursor</code> from
9803    <code>SetCursorBlink()</code> since that is redundant, and can
9804    cause display glitches if the cursor is already blinking
9805    (XFree86 Bugzilla #1158, patch/report by Andreas Schwab).</li>
9806  </ul>
9807
9808  <h1><a name="xterm_185" id="xterm_185">Patch #185 - 2004/3/3 -
9809  XFree86 4.4</a></h1>
9810
9811  <ul>
9812    <li>fix tcap-query logic for the backspace key (XFree86
9813    Bugzilla #1233, report/patch by Anton Kovalenko).</li>
9814
9815    <li>add test-scripts resize.pl and tcapquery.pl</li>
9816
9817    <li>add translation to ASCII of commonly-used characters that
9818    groff translates to Unicode, when the font in use does not
9819    provide the corresponding glyphs (Debian #219551).</li>
9820
9821    <li>modify RequestMaximize(), which performs maximize/restore
9822    via control sequences, to account for window-frame (patch by
9823    Jess Thrysoee).</li>
9824
9825    <li>improve pattern used in <code>uxterm</code> to check for
9826    UTF-8 locale, e.g., for HPUX (patch by H Merijn Brand).</li>
9827
9828    <li>add <code>-fd</code> option and resource
9829    <code>faceNameDoublesize</code> to specify double-wide fonts
9830    with Xft (adapted from patch by Zarick Lau).</li>
9831
9832    <li>change a couple of resource classes from "Boolean" to
9833    specific values: <code>freeBoldBox</code>,
9834    <code>forceBoxChars</code>.</li>
9835
9836    <li>add resource <code>showMissingGlyphs</code> to outline
9837    places on the screen where a font lacks the corresponding
9838    glyph.</li>
9839
9840    <li>add resource <code>showBlinkAsBold</code> to control
9841    whether blinking text should be shown as bold or actual
9842    blinking text.</li>
9843
9844    <li>improve logic in ShowCursor() to avoid repainting the
9845    cursor when it is already visible, e.g., in response to the
9846    DECTCEM escape sequence. This also addresses XFree86 Bugzilla
9847    #1158.</li>
9848
9849    <li>implement blinking text, using the timer for blinking
9850    cursor.</li>
9851
9852    <li>modify FreeType support to allow resizing the font, in the
9853    same ways the window can be resized if fixed fonts are used.
9854    The relative font sizes are derived from the fixed font
9855    sizes.</li>
9856
9857    <li>add menu items and corresponding actions for switching
9858    on/off the UTF-8 mode and Xft (TrueType) support.</li>
9859
9860    <li>add logic to handle switching UTF-8 mode on/off. It worked
9861    if the escape sequences were flushed, but if data was mixed in
9862    with the same write, some were not handled properly (report by
9863    Nicolas George).</li>
9864
9865    <li>modify to allow turning UTF-8 mode on/off via escape
9866    sequence even if <code>-wc</code> option was not given at
9867    startup (patch by Peter Berg Larsen).</li>
9868
9869    <li>amend fix for XFree86 Bugzilla #981, adjusting for
9870    savedlines value (report by Tim Adye).</li>
9871
9872    <li>fix a typo in computing relative font size (Jess
9873    Thrysoee).</li>
9874  </ul>
9875
9876  <h1><a name="xterm_184" id="xterm_184">Patch #184 - 2003/12/31 -
9877  XFree86 4.3.99.903</a></h1>
9878
9879  <ul>
9880    <li>improve configure-script checks for FreeType and related
9881    libraries, using <code>xft-config</code> or
9882    <code>freetype-config</code> scripts when available.</li>
9883
9884    <li>fix configure-script check for <code>SYSV</code> definition
9885    by ensuring whether <code>sys_errlist[]</code> is declared, and
9886    by modifying the test program to include
9887    <code>X11/Intrinsic.h</code> to check that <code>wchar_t</code>
9888    is declared consistently (report by H Merijn Brand).</li>
9889  </ul>
9890
9891  <h1><a name="xterm_183" id="xterm_183">Patch #183 - 2003/12/26 -
9892  XFree86 4.3.99.903</a></h1>
9893
9894  <ul>
9895    <li>correct logic for configurations that may attempt to open
9896    both old/new-style pseudoterminals. In this case, the old-style
9897    are preferred. Logic was broken in <a href="#xterm_145">patch
9898    #145</a> (XFree86 Bugzilla #997, report/patch by Kean
9899    Johnston).</li>
9900
9901    <li>modify handling of <code>eightBitInput</code> resource in
9902    UTF-8 mode to translate the value into UTF-8. Otherwise an
9903    illegal UTF-8 code is sent to the application (report by Bram
9904    Moolenaar).</li>
9905
9906    <li>modify <code>uxterm</code> script to interpret help and
9907    version options so xterm does not always create a window when
9908    the user requests this information (Debian #223926).</li>
9909
9910    <li>add a limit check to ScrnTstWrapped() (XFree86 Bugzilla
9911    #981).</li>
9912
9913    <li>modify DECSCL to perform a hard reset (RIS) as per DEC
9914    manuals. Extended DECSCL to accept parameters for vt4XX and
9915    vt5xx terminals.</li>
9916
9917    <li>correct logic for ANSI conformance level escape sequences,
9918    which were confused with DEC conformance level escape
9919    sequences.</li>
9920
9921    <li>correct state for vt52 shift-in/shift-out, which was not
9922    reset properly after <a href="#xterm_171">patch #171</a>.</li>
9923
9924    <li>correct handling of graphics characters for vt52 mode,
9925    which did not display line-drawing characters after G1 fix from
9926    <a href="#xterm_182">patch #182</a>.</li>
9927
9928    <li>fixes for configure script to work with current Cygwin
9929    headers and libraries.</li>
9930
9931    <li>modify <code>Imakefile</code> to put the current directory
9932    at the beginning of the include searchpath (patch by David
9933    Dawes).</li>
9934  </ul>
9935
9936  <h1><a name="xterm_182" id="xterm_182">Patch #182 - 2003/12/2 -
9937  XFree86 4.3.99.901</a></h1>
9938
9939  <ul>
9940    <li>correct logic for <code>metaSendsEscape</code> resource to
9941    allow for the meta-right key to be tested. Improve check for
9942    meta/alt modifiers by dropping the assumption that a keysym is
9943    associated with only one modifier, and by ignoring NoSymbol
9944    entries in the xmodmap data (XFree86 Bugzilla #924, patch by
9945    David Dawes).</li>
9946
9947    <li>correct wrapping logic for line-drawing characters written
9948    in non-UTF-8 mode of xterm build for wide-characters (XFree86
9949    Bugzilla #918, report/patch by J&uuml;rgen Keil).</li>
9950
9951    <li>improve manpage description of resources, in particular the
9952    <code>utf8Fonts</code> class (XFree86 Bugzilla #905).</li>
9953
9954    <li>add definitions to compile with glibc-based GNU/Hurd,
9955    GNU/KFreeBSD and GNU/KNetBSD (XFree86 Bugzilla #893).</li>
9956
9957    <li>compiler-warning fixes (patch by Christian Biere).</li>
9958
9959    <li>add README.i18n (Tomohiro Kubota).</li>
9960
9961    <li>correct initialization of G1 character set mapping, which
9962    used line-drawing set as a result of confusion between "DEC
9963    Supplemental Graphic" and "DEC Special Graphic" character sets
9964    (see <a href="#xterm_34">patch #34</a> regarding DECSTR).</li>
9965
9966    <li>correct ifdef in main.c for variable utret (patch by
9967    Bernhard Rosenkraenzer).</li>
9968
9969    <li>document in xterm's manpage how to use XFree86 ":unscaled"
9970    keyword to suppress scaling of bold fonts.</li>
9971
9972    <li>when deriving bold fontname from normal fontname, use the
9973    normal font's average width to avoid for example selecting
9974    7x13bold from an 8x13 normal font (Debian #107769).</li>
9975  </ul>
9976
9977  <h1><a name="xterm_181" id="xterm_181">Patch #181 - 2003/10/26 -
9978  XFree86 4.3.99.15</a></h1>
9979
9980  <ul>
9981    <li>implement <code>boldMode</code> for wide-character logic in
9982    <code>drawXtermText()</code> (report by Michael
9983    Schroeder).</li>
9984
9985    <li>modify <code>UXTerm.ad</code> resource file to include
9986    "XTerm-color" rather than "XTerm", in case the latter file
9987    contains no color resource definitions, e.g., after <a href=
9988    "#xterm_180">patch #180</a>.</li>
9989
9990    <li>add action <code>load-vt-fonts()</code> and configure
9991    option <code>--enable-load-vt-fonts</code> which allows users
9992    to define additional sets of VT-fonts which can be loaded at
9993    runtime.</li>
9994
9995    <li>add logic to wide-character support which attempts to load
9996    fonts specified by <code>utf8Fonts</code> subresources at
9997    startup. The subresources have the same names as the fonts
9998    which they replace, e.g., <code>font</code>,
9999    <code>font1</code>, etc., so that the ISO-10646-1 fonts can be
10000    specified in the <code>XTerm</code> app-defaults file (adapted
10001    from patch by Tomohiro Kubota).</li>
10002
10003    <li>improve Set Font escape string handling by making the
10004    relative settings apply to the size of the font, as in shift
10005    keypad plus/minus rather than the menu index.</li>
10006
10007    <li>simplify parameter passing for the <code>set-vt-font</code>
10008    action and related code.</li>
10009
10010    <li>cleanup some include-ordering, moving some recently-added
10011    hardcoded stuff into xterm.h where it will not interfere with
10012    the configure script.</li>
10013
10014    <li>modify <code>xtermAddInput()</code> (see note on
10015    augmentation in <a href="#xterm_158">patch #158</a>) to use the
10016    complete set of default keyboard translations so that one can
10017    use shifted pageup, wheel mouse, etc., while the mouse pointer
10018    is over the scrollbar. (Debian #178812).</li>
10019
10020    <li>make save/restore mode controls apply to show/blink cursor
10021    states.</li>
10022
10023    <li>add escape sequence to start/stop blinking cursor, which
10024    allows implementing <code>cvvis</code> terminfo capability
10025    (request by Nate Bargmann).</li>
10026
10027    <li>add <code>indp</code> and <code>rin</code> to terminfo
10028    entry.</li>
10029
10030    <li>fix an out-of-bounds array reference in ScrnRefresh() for
10031    wide characters (report by Dan Harnett, patch by Todd Miller).
10032    This bug dates from <a href="#xterm_141">patch #141</a>.</li>
10033  </ul>
10034
10035  <h1><a name="xterm_180" id="xterm_180">Patch #180 - 2003/10/12 -
10036  XFree86 4.3.99.15</a></h1>
10037
10038  <ul>
10039    <li>several fixes for rendering using Xft via option
10040    <code>-fa</code>:
10041      <ul>
10042        <li>translate Unicode values, i.e,. from UTF-8 output to
10043        xterm, for line-drawing to xterm's internal code, etc.,
10044        since TrueType fonts generally do not have either set of
10045        line-drawing glyphs. xterm can draw these directly (report
10046        by Abigail Brady).</li>
10047
10048        <li>pass 16-bit values rather than 8-bit values to
10049        xtermXftDrawString() to allow for wide-characters.</li>
10050
10051        <li>remove spurious check for <code>colorBDMode</code>
10052        resource in logic that does bold fonts.</li>
10053
10054        <li>implement underlining.</li>
10055      </ul>
10056    </li>
10057
10058    <li>patches by Ilya Zakharevich:
10059      <ul>
10060        <li>improve drawXtermText() by making the recursive calls
10061        communicate through arguments, and not through
10062        saving/restoring global variables.</li>
10063
10064        <li>make double-width characters work with <code>-u8</code>
10065        option.</li>
10066
10067        <li>modify lookup of double-sized fonts by checking for a
10068        match ignoring x/y resolution if the first check
10069        fails.</li>
10070      </ul>
10071    </li>
10072
10073    <li>make height of TrueType fonts match ascent+descent (patch
10074    by Keith Packard).</li>
10075
10076    <li>correct configure-script check for imake $CFLAGS, which did
10077    not check properly if imake was not available.</li>
10078
10079    <li>correct install rule in Makefile.in for
10080    <code>uxterm</code>, which was attempting to strip the script
10081    (newsgroup posting by Fernan Aguero).</li>
10082
10083    <li>correct AF/AB strings in termcap for xterm-256color and
10084    xterm-88color entries (report by Josh Howard).</li>
10085
10086    <li>update wcwidth.c to incorporate changes from Markus Kuhn's
10087    2003-05-20 (Unicode 4.0) version of that file.</li>
10088
10089    <li>modify <code>scroll-back</code> and
10090    <code>scroll-forw</code> actions to accept an adjustment value,
10091    e.g.,
10092
10093      <pre>
10094              <code>scroll-back(1, page-2)</code>
10095</pre>to scroll back by 2 lines less than a page (patch by Greg
10096Klanderman).
10097    </li>
10098
10099    <li>use color resource setting from Debian package for xterm
10100    VT100 widget, since the choice of blues provides better
10101    contrast.</li>
10102
10103    <li>remove color resources from <code>XTerm.ad</code>, leaving
10104    them only in <code>XTerm-col.ad</code> (prompted by Debian
10105    package for xterm).</li>
10106
10107    <li>correct configure script option --enable-pty-handshake
10108    (report by Paul Gilmartin).</li>
10109
10110    <li>add <code>visualBellDelay</code> resource to modify the
10111    length of time used for visual bell, for very slow displays or
10112    very fast computers (reports by Ingo van Lil and Doug
10113    Toppin).</li>
10114
10115    <li>correct logic for initializing dynamic highlight color
10116    (patch by Jess Thrysoee).</li>
10117
10118    <li>add a check for non-zero size in call to
10119    <code>XCopyArea()</code> to accommodate a Solaris bug.</li>
10120
10121    <li>correct typo in example for character classes in xterm
10122    manpage (Debian #198910).</li>
10123
10124    <li>link xterm with bind_on_load option on Darwin to work
10125    around a deadlock in the dynamic loader when a signal is
10126    received while the dynamic loader is looking up symbols
10127    (patches by Rob Braun, Torrey Lyons).</li>
10128
10129    <li>modify configure script to avoid using "head -1".</li>
10130
10131    <li>update config.guess, config.sub</li>
10132
10133    <li>modify ifdef's to work around inclusion of types FcChar32
10134    and XftCharSpec with FreeType 2.0 (see <a href=
10135    "#xterm_175">patch #175</a>).</li>
10136
10137    <li>modify the predictable version of the generated logfile
10138    name (see <a href="#xterm_171">patch #171</a>) to append the
10139    process-id rather than a random value.</li>
10140
10141    <li>resync with XFree86 CVS
10142      <ul>
10143        <li>Enable SCO function keys in xterm</li>
10144
10145        <li>Make Delete key send DEL by default on SCO in
10146        xterm</li>
10147      </ul>
10148    </li>
10149  </ul>
10150
10151  <h1><a name="xterm_179" id="xterm_179">Patch #179 - 2003/5/21 -
10152  XFree86 4.3.99.5</a></h1>
10153
10154  <ul>
10155    <li>modify ifdef's for WTMPX_FILE to allow building on cygwin
10156    again.</li>
10157
10158    <li>change the default of pty-handshaking configure option (and
10159    related default for imake) to assume this feature is
10160    needed.</li>
10161
10162    <li>add ifdef's so configure option for XawPlus library works
10163    (patch by Pavel Roskin).</li>
10164
10165    <li>add <code>$(MAIN_DEFINES)</code> to the variables checked
10166    by the configure script that may contain information set by
10167    imake. This allows xterm to build/run properly using the
10168    configure script on IRIX64.</li>
10169
10170    <li>add configure check for ".exe" suffix on cygwin.</li>
10171  </ul>
10172
10173  <h1><a name="xterm_178" id="xterm_178">Patch #178 - 2003/5/18 -
10174  XFree86 4.3.99.5</a></h1>
10175
10176  <ul>
10177    <li>modify default for configure
10178    <code>--enable-pty-handshake</code> option to enable it for
10179    Solaris (report by Nelson Beebe).</li>
10180
10181    <li>modify <code>in_put()</code> function to call
10182    <code>PreeditPosition()</code> only when the cursor's position
10183    has changed. This addresses report by Stefan Baums of high CPU
10184    usage while xterm with chinput are running in the background
10185    (patch by Yong Li).</li>
10186
10187    <li>improved explanation of <code>-ls</code> conflict with
10188    <code>-e</code> option in xterm manpage (adapted from comments
10189    by Henning Makholm).</li>
10190
10191    <li>correct comment in terminfo file regarding modifier used
10192    for <code>kDC</code> (Debian #189764, report by Henning
10193    Makholm).</li>
10194
10195    <li>correct/extend some of the keypad description in ctlseqs.ms
10196    (report by Henning Makholm).</li>
10197
10198    <li>correct keypad-mapping table in input.c so
10199    <code>XK_KP_Equal</code> works (report by Henning
10200    Makholm).</li>
10201
10202    <li>modified to work with CJK double-width (bi-width/monospace)
10203    fonts. They're similar to Roman Czbora and David Starner's
10204    gnuunifonts in that Latin letters and numbers have all the same
10205    width which is exactly the half of the width of East Asian
10206    characters. (patch by Jungshik Shin
10207    &lt;jshin@mailaps.org&gt;).</li>
10208
10209    <li>add configure option <code>--enable-broken-osc</code> and
10210    resource <code>brokenLinuxOSC</code> to accommodate scripts
10211    which do not distinguish between running in the Linux console
10212    and running in X. Linux console recognizes malformed control
10213    strings which start with an <code>OSC</code>, but are
10214    fixed-length, with no terminator.</li>
10215
10216    <li>add configure option <code>--enable-broken-st</code> and
10217    resource <code>brokenStringTerm</code> to allow user to revert
10218    one part of the parsing table corrections from <a href=
10219    "#xterm_171">patch #171</a>. (reports by Matthias Scheler and
10220    Kirill Ponomarew indicate that someone's network firmware sends
10221    an <code>&lt;escape&gt;X</code>).</li>
10222
10223    <li>modify configure <code>--disable-imake</code> to provide
10224    values for <code>OSMAJORVERSION</code>,
10225    <code>OSMINORVERSION</code>, <code>FUNCPROTO</code> and
10226    <code>NARROWPROTO</code> (report by Heiko Schlichting).</li>
10227
10228    <li>correct <code>vttests/16colors.sh</code>, which omitted the
10229    <code>$SUF</code> variable in output strings (patch by Paul
10230    Gilmartin).</li>
10231
10232    <li>modify shell scripts in <code>vttests</code> directory to
10233    attempt to use named signals in the <code>trap</code>
10234    statement, making this portable to OS/390 (report by Paul
10235    Gilmartin). Tested on SunOS 4.1.4, which implements only
10236    numbers.</li>
10237  </ul>
10238
10239  <h1><a name="xterm_177" id="xterm_177">Patch #177 - 2003/3/23 -
10240  XFree86 4.3.0</a></h1>
10241
10242  <ul>
10243    <li>fix definition of <code>USE_HANDSHAKE</code>, must be
10244    numeric (reported by Jens Schleusener).</li>
10245  </ul>
10246
10247  <h1><a name="xterm_176" id="xterm_176">Patch #176 - 2003/3/22 -
10248  XFree86 4.3.0</a></h1>
10249
10250  <ul>
10251    <li>add configure option <code>--enable-pty-handshake</code> to
10252    allow one to compile-in support for the pty handshaking logic,
10253    and resource <code>ptyHandshake</code> to enable or disable it
10254    (suggested by Ian Collier).</li>
10255
10256    <li>restore <code>USE_HANDSHAKE</code> ifdef removed in
10257    <a href="#xterm_159">patch #159</a> to address Debian
10258    #39964.</li>
10259
10260    <li>move ifdef's for ttysize/winsize into xterm_io.h</li>
10261
10262    <li>simplify loop on <code>tgetent</code>, check if the
10263    successive entries in the lookup table are the same. That makes
10264    xterm do one less lookup if there is no "xterm" entry in the
10265    termcap file (report by Derek Martin).</li>
10266
10267    <li>correct manpage discussion of <code>$TERM</code> and
10268    <code>$TERMCAP</code> variables, which omitted the Tektronix
10269    emulation and a note of the final "dumb" fallback.</li>
10270
10271    <li>broaden ifdef for
10272    <code>XRegisterIMInstantiateCallback()</code> from <a href=
10273    "#xterm_175">patch #175</a> (XIM fix) to exclude non-XFree86
10274    (report by Nelson Beebe indicates this breaks for Solaris, IRIX
10275    and OSF/1).</li>
10276
10277    <li>correct resource-size for <code>iconFont</code> (this was
10278    added by X11R6.3).</li>
10279
10280    <li>improve configure check for XKB bell extension, to work
10281    around inconsistent implementation of this feature (reports by
10282    Nelson Beebe, Kriston Rehberg and David Ellement).</li>
10283
10284    <li>modify configure-check for <code>tty</code> group to be
10285    less strict in batch mode (report by Nelson Beebe).</li>
10286
10287    <li>modify to allow building with g++, to use its compiler
10288    warnings (suggested by Nelson Beebe).</li>
10289
10290    <li>modify <code>dec2ucs[]</code> table to reflect newer codes
10291    available for scanlines 1, 3, 7, 9 (report by Michael
10292    Schroeder).</li>
10293
10294    <li>add configure option for XawPlus library.</li>
10295  </ul>
10296
10297  <h1><a name="xterm_175" id="xterm_175">Patch #175 - 2003/3/9 -
10298  XFree86 4.3.0</a></h1>
10299
10300  <ul>
10301    <li>fix a SIGSEGV which could occur if xterm is connecting to
10302    XIM server, and the XIM server is destroyed (patch by Nam
10303    SungHyun).</li>
10304
10305    <li>modify to use built-in line-drawing characters for Xft
10306    fonts (patch by Andrew Tipton).</li>
10307
10308    <li>make menu reflect the state of the <code>tekInhibit</code>
10309    resource.</li>
10310
10311    <li>make <code>signalInhibit</code> resource work, i.e.,
10312    disable the menu entries that would send signals to, or exit
10313    xterm. This was probably broken in X11R5 when logging was
10314    disabled (report by Sven Mascheck).</li>
10315
10316    <li>changed classes of <code>colorBDMode</code> and similar
10317    resources that override colors when a video attribute is set to
10318    <code>ColorAttrMode</code>, to make them distinct from
10319    <code>ColorMode</code>. This avoids an unexpected rendering of
10320    reverse video, for example (report by Paul Fox).</li>
10321
10322    <li>changed class of <code>veryBoldColors</code> to
10323    <code>VeryBoldColors</code>, since <code>ColorMode</code> is
10324    associated with boolean resources.</li>
10325
10326    <li>add option <code>-k8</code> and resource
10327    <code>allowC1Printable</code> to allow users of non-VTxxx
10328    character sets such as KOI-8 to treat the C1 control area
10329    (character codes 128-159) as printable rather than control
10330    characters.</li>
10331
10332    <li>add a null-pointer check for return-value of
10333    <code>ptsname()</code> in HPUX-specific code (report by David
10334    Ellement).</li>
10335
10336    <li>revise the ifdef's used for <code>XKB</code> bell support.
10337    The code was using a nonstandard call
10338    <code>XkbStdBell()</code>. Changed to use
10339    <code>XkbBell()</code> (based on patch by
10340    &lt;derek@signalmarketing.com&gt;).</li>
10341
10342    <li>add a null-pointer check in <code>xtermLoadFont()</code> in
10343    case there is no wide-bold font (Nam SungHyun).</li>
10344
10345    <li>change <code>Makefile.in</code> to use autoconf's
10346    <code>bindir</code>, <code>libdir</code> and
10347    <code>mandir</code> variables (report by Nam SungHyun).</li>
10348
10349    <li>add <code>le</code> to termcap <code>xterm-basic</code>
10350    entry. Though missing from older termcaps for xterm, some
10351    applications check for it (report by Matthias Buelow).</li>
10352
10353    <li>modify <code>uxterm</code> script to strip modifiers such
10354    as "@euro" from the locale setting before adding ".UTF-8"
10355    (Debian #179929).</li>
10356
10357    <li>modify the remaining places where tek4014 emulation uses
10358    <code>XDefineCursor()</code>, to make it work as originally
10359    implemented, e.g., when switching back to alpha mode. Added
10360    test-screen in vttest to test this feature properly.</li>
10361  </ul>
10362
10363  <h1><a name="xterm_174" id="xterm_174">Patch #174 - 2003/2/25 -
10364  XFree86 4.2.99.903</a></h1>
10365
10366  <ul>
10367    <li>work-around for XFree86 bug which made
10368    <code>XDefineCursor()</code> on a shell-window no longer work.
10369    The tek4014 emulation used this. Use the next lower window
10370    (report by Karl Rudolf Bauchspiess).</li>
10371
10372    <li>add a resource setting <code>allowWindowOps</code> to
10373    control whether the extended window operations should be
10374    allowed, e.g., resize, iconify, report window attributes. This
10375    is to accommodate people who are not capable of using a pager
10376    to view log-files.</li>
10377  </ul>
10378
10379  <h1><a name="xterm_173" id="xterm_173">Patch #173 - 2003/2/6 -
10380  XFree86 4.2.99.902</a></h1>
10381
10382  <ul>
10383    <li>reset mouse mode to normal on a full reset. This does not
10384    apply to mouse hilite tracking mode, of course (see
10385    ctlseqs.ms).</li>
10386
10387    <li>add a time-delay at the point where mouse hilite tracking
10388    mode choses to not handle X events, to avoid runaway CPU usage
10389    (report by D Hugh Redelmeier).</li>
10390
10391    <li>check for illegal character in DECUDK string, quit if
10392    detected.</li>
10393  </ul>
10394
10395  <h1><a name="xterm_172" id="xterm_172">Patch #172 - 2002/12/27 -
10396  XFree86 4.2.99.3</a></h1>
10397
10398  <ul>
10399    <li>fixes to make repainting of 256-color example work properly
10400    (reports by Abigail Brady and Scott A Crosby).
10401      <ul>
10402        <li>set flag in <code>AllocateAnsiColor()</code> to ensure
10403        the color is allocated once only.</li>
10404
10405        <li>fix check in <code>ScrnRefresh</code>, which was
10406        comparing background colors only if the ANSI foreground
10407        colors also were set.</li>
10408      </ul>
10409    </li>
10410
10411    <li>merge <code>Error()</code> calls and some
10412    <code>exit()</code> calls into <code>SysError()</code>, and
10413    change that to add the brief explanation for each error code
10414    which is provided in the manpage. Change a few
10415    <code>SysError()</code>, calls to avoid using code 1, to avoid
10416    confusion with exit status from places that do not use
10417    <code>SysError()</code>.</li>
10418
10419    <li>simplify logic used to open a debug logfile as the standard
10420    error.</li>
10421
10422    <li>modify the <code>-e</code> option so that if it fails,
10423    xterm will check if only one argument follows, e.g., it was
10424    quoted, and then retry using <code>sh&nbsp;-c</code>.</li>
10425
10426    <li>modify parsing of DECUDK string parameter to allow a comma
10427    between pairs of hexadecimal digits (Ray Neuman
10428    &lt;raymond@one.com.au&gt; reports that "real" terminals accept
10429    this; perhaps they simply ignore unexpected characters).</li>
10430
10431    <li>fix a few problems with the <code>$TERMCAP</code> string
10432    generated by <code>resize</code>:
10433      <ul>
10434        <li>for Bourne shell, add an <code>export</code> command.
10435        This was missing as far back as X11R5.</li>
10436
10437        <li>escape exclamation marks, used in xterm's reset
10438        string.</li>
10439
10440        <li>translate literal <code>\177\</code> to "^?".</li>
10441      </ul>
10442    </li>
10443
10444    <li>improve configure check for <code>tgetent()</code> to work
10445    when <code>$TERMCAP</code> has been set to a specific
10446    entry.</li>
10447
10448    <li>modify <code>minstall.sh</code> to use "%" rather than "@",
10449    to avoid problems with AFS (report by Zdenek Sekera).</li>
10450
10451    <li>list fatal error codes from <code>error.h</code> in the
10452    manpage, remove unused codes in <code>error.h</code>.</li>
10453
10454    <li>use more explicit wording for manpage list of color
10455    resources, since at least one user confused the generic names
10456    such as "black" with the names in rgb.txt (the latter are now
10457    used).</li>
10458
10459    <li>minor fix to description of 1003 mouse mode in ctlseqs.ms
10460    (Larry Riedel).</li>
10461  </ul>
10462
10463  <h1><a name="xterm_171" id="xterm_171">Patch #171 - 2002/12/12 -
10464  XFree86 4.2.99.3</a></h1>
10465
10466  <ul>
10467    <li>modify parser tables to improve detection of malformed
10468    control sequences, making xterm behave more like a real DEC
10469    terminal (patch by Paul Williams).</li>
10470
10471    <li>update comment in <code>input.c</code> to document
10472    <code>Meta</code> as a modifier for escape sequences (patch by
10473    D Roland Walker).</li>
10474
10475    <li>add ifdef'd code for logging option which adds the hostname
10476    and a timestamp to the generated logfile name. The ifdef's are
10477    setup with the configure script (patch by Nelson Beebe).</li>
10478
10479    <li>remove <code>xevents()</code> call from the end of
10480    <code>BlinkCursor()</code>, to fix an occasional problem which
10481    caused xterm to pause until a key was pressed. The reason for
10482    this was that there was no check to ensure that there really
10483    were events for <code>xevents()</code> to process. (patch by
10484    Semen A Ustimenko &lt;semenu@FreeBSD.org&gt;).</li>
10485
10486    <li>remove unused mode-params from <code>open()</code> calls
10487    that do not create a file.</li>
10488
10489    <li>modify configure script to put new items first on
10490    <code>$CPPFLAGS</code> and <code>$CFLAGS</code> to avoid
10491    conflict with environment's <em>-I</em> and <em>-D</em>
10492    options.</li>
10493
10494    <li>update config.guess, config.sub</li>
10495
10496    <li>resync with XFree86 CVS
10497      <ul>
10498        <li>fix va_args glitches for xterm/libfontconfig: 0 ==
10499        (void*)0 isn't true for all platforms (Egbert Eich).</li>
10500
10501        <li>initialise ProgramName in xterm's main before
10502        referencing it (XFree86 #5473, Peter Valchev).</li>
10503
10504        <li>some cleanup of Imakefile ifdef's (Marc La
10505        France).</li>
10506      </ul>
10507    </li>
10508  </ul>
10509
10510  <h1><a name="xterm_170" id="xterm_170">Patch #170 - 2002/10/13 -
10511  XFree86 4.2.1</a></h1>
10512
10513  <ul>
10514    <li>correct an off-by-one allocating data for sorted help
10515    message.</li>
10516
10517    <li>modify configure script to check for Xpm library, on which
10518    XFree86 Xaw library depends.</li>
10519
10520    <li>update config.guess, config.sub</li>
10521  </ul>
10522
10523  <h1><a name="xterm_169" id="xterm_169">Patch #169 - 2002/10/5 -
10524  XFree86 4.2.1</a></h1>
10525
10526  <ul>
10527    <li>modify wording of some options in help message to make them
10528    use <code>-/+</code> consistently with respect to "on/off" or
10529    "off/on".</li>
10530
10531    <li>sort options list which is displayed in help- and
10532    syntax-messages at runtime to simplify maintenance.</li>
10533
10534    <li>remove support for Amoeba and Minix (Juliusz Chroboczek
10535    noted it was removed from XFree86 server; there have been no
10536    users since 1996).</li>
10537
10538    <li>add configure script option
10539    <code>--disable-session-mgt</code> to control whether the
10540    session management code should be compiled-in (request by H
10541    Merijn Brand).</li>
10542
10543    <li>ifdef'd the session-management changes with
10544    <code>OPT_SESSION_MGT</code>, to accommodate X11R5 which
10545    predates the related definitions.</li>
10546
10547    <li>fix <code>decode_keyvalue()</code>, which did not properly
10548    parse multiple settings as needed for the <code>ttyModes</code>
10549    resource, since it did not skip over the parsed data.</li>
10550
10551    <li>fix an option-parsing conflict between <code>-class</code>
10552    and <code>-cjk_width</code> (Nam SungHyun)</li>
10553
10554    <li>add a missing null in <code>XtVaSetValues()</code> call
10555    used in <code>Cleanup()</code> (Nam SungHyun)</li>
10556  </ul>
10557
10558  <h1><a name="xterm_168" id="xterm_168">Patch #168 - 2002/9/29 -
10559  XFree86 4.2.1</a></h1>
10560
10561  <ul>
10562    <li>improve data reported for control sequence that requests
10563    window position by taking into account the window decorations,
10564    e.g., border and title (patch by Jess Thrysoee
10565    &lt;jess@thrysoee.dk&gt;).</li>
10566
10567    <li>add <code>-cjk_width</code> and corresponding resource
10568    <code>cjkWidth</code> (patch by Jungshik Shin
10569    &lt;jshin@mailaps.org&gt;).</li>
10570
10571    <li>add <code>-into</code> option, for embedding xterm in a
10572    Tcl/Tk application (patch by George Peter Staplin
10573    &lt;georgeps@xmission.com&gt;).</li>
10574
10575    <li>add simple session management (XSM) client capabilities to
10576    xterm. So a session manager such as, e.g., xsm, should be able
10577    to respawn or kill xterms without the help of an SM proxy (like
10578    smproxy), which is a hack and almost always buggy (patch by
10579    David Madore).</li>
10580
10581    <li>fix conflict between ifdef's for
10582    <code>OPT_DEC_LOCATOR</code> and <code>OPT_READLINE</code> in
10583    button.c (reported by Ilya Zakharevich).</li>
10584
10585    <li>fix for inconsistent use of <code>struct utmp</code> versus
10586    <code>struct utmpx</code> introduced in <a href=
10587    "#xterm_167">patch #167</a> (patches by Paul Gilmartin, Marc La
10588    France).</li>
10589
10590    <li>modify logic for <code>metaSendsEscape</code> to allow it
10591    to work in a setup where the Meta-key is not recognized as a
10592    modifier by the key-translations logic (discussion of
10593    eightBitInput with H.J.Lu). Note however that Vincent
10594    Lef&egrave;vre reported this in January).</li>
10595
10596    <li>use null pointer values consistently, rather than literal
10597    "0", for ending variable-length argument lists, e.g., for
10598    <code>execlp()</code> (based on patch by Matthieu Herrb).</li>
10599
10600    <li>correct logic of <code>ChangeAnsiColorRequest()</code>,
10601    which would do a screen repaint after replying to a request for
10602    information.</li>
10603
10604    <li>improve scripts in vttests to work with systems whose
10605    shells support <code>echo -n</code> and have, as does Debian,
10606    an unrelated <code>print</code> utility.</li>
10607
10608    <li>add vttests/acolors.sh to demonstrate OSC 4, which queries
10609    or sets ANSI colors.</li>
10610
10611    <li>fixes for ctlseqs.ms (Pavel Roskin, Ilya Zakharevich).</li>
10612
10613    <li>typos in xterm manpage (Jens Schweikhardt)</li>
10614
10615    <li>remove a redundant GCC_UNUSED from InitPopup() (Nam
10616    SungHyun)</li>
10617  </ul>
10618
10619  <h1><a name="xterm_167" id="xterm_167">Patch #167 - 2002/8/24 -
10620  XFree86 4.2.0</a></h1>
10621
10622  <ul>
10623    <li>correct ifdef's for <code>USE_TERMCAP</code> to match
10624    cygwin configuration.</li>
10625
10626    <li>fix several places in ctlseqs.ms which had no boxes around
10627    the literal text (report by Ilya Zakharevich).</li>
10628
10629    <li>extend mouse support for readline, ifdef'd with
10630    OPT_READLINE (integrated patch from Ilya Zakharevich).</li>
10631
10632    <li>modify terminfo description to match default for
10633    <code>modifyCursorKeys</code> resource.</li>
10634
10635    <li>add <code>modifyCursorKeys</code> resource to control how
10636    the shift- and similar modifiers are used to make a cursor
10637    escape sequence. The default makes a modified escape sequence
10638    always start with CSI and puts the modifier as the second
10639    parameter, to avoid confusing applications that would interpret
10640    the first parameter as a repeat count. The original behavior
10641    can be obtained by setting the resource to 0 (newsgroup
10642    discussion with Stephen J Turnbull, Jeffrey Altman).</li>
10643
10644    <li>correct missing initializations for
10645    <code>appdefaultCursor</code> and <code>appdefaultKeypad</code>
10646    resources.</li>
10647
10648    <li>add configure option <code>--enable-luit</code> and ifdef'd
10649    the luit-related code with OPT_LUIT_PROG.</li>
10650
10651    <li>modify xterm to invoke luit (integrated patch by Tomohiro
10652    Kubota)</li>
10653
10654    <li>update wcwidth.c to match Markus Kuhn's 2002-05-18
10655    version.</li>
10656
10657    <li>correct limit-checking in <code>ComputeSelect()</code> to
10658    handle selections that extend off the visible area; rather than
10659    modify the parameters to <code>TrackText()</code>, use
10660    <code>ScrollSelection()</code> to update the highlighting
10661    limits. (reported by Yegappan Lakshmanan and Nelson Beebe,
10662    patch by Alexander V Lukyanov).</li>
10663
10664    <li>correct manpage description of <code>tiXtraScroll</code>
10665    resource (reported by Tony Finch).</li>
10666
10667    <li>changes from OpenBSD:
10668      <ul>
10669        <li>Make xterm setgid utmp to be able to update utmp even
10670        with root privileges revoked.</li>
10671
10672        <li>If not updating utmp, revoke group privileges totally
10673        too.</li>
10674      </ul>
10675    </li>
10676
10677    <li>changes from NetBSD:
10678      <ul>
10679        <li>Check that the return value from ttyslot() is greater
10680        than 0 before writing the utmp file. Fixes w's "w: Stale
10681        utmp entry: &lt;user&gt; &lt;tty&gt; &lt;pty&gt;"
10682        errors.</li>
10683
10684        <li>Use openpty() to deal with new pty naming scheme.</li>
10685      </ul>
10686    </li>
10687
10688    <li>add <code>print-redir</code> action and menu entry to allow
10689    user to switch terminal in/out of printer controller mode. It
10690    appears from the manual that a real vt220 would not switch back
10691    to normal mode, so another mechanism is used (addresses Debian
10692    #37517).</li>
10693
10694    <li>check if <code>printerCommand</code> resource string is
10695    empty, use this to allow user to disable printer function.</li>
10696
10697    <li>trim trailing blanks from resource strings.</li>
10698
10699    <li>check return value from <code>ptsname()</code>, which may
10700    return null for example if someone has changed the permissions
10701    of /dev/pts to zero (Debian #121899).</li>
10702
10703    <li>modify OS/2 version to use <code>__UNIXOS2__</code>
10704    definition rather than <code>__EMX__</code>, related cleanup
10705    (patch by Holger Veit).</li>
10706
10707    <li>used modified indent 2.0 (patch <a href=
10708    "ftp://ftp.invisible-island.net/gnu-patches/">20020428</a>) to
10709    reformat most of the C source files, to simplify
10710    maintenance.</li>
10711
10712    <li>fix a couple of places where there were leading tabs on
10713    symbol-definition lines in Imakefile (Marc La France from
10714    report by Tony Finch)</li>
10715
10716    <li>add imake variable (TraceXTerm) to allow building debug
10717    version (Egbert Eich).</li>
10718  </ul>
10719
10720  <h1><a name="xterm_166" id="xterm_166">Patch #166 - 2002/3/25 -
10721  XFree86 4.2.0</a></h1>
10722
10723  <ul>
10724    <li>correct a bug in selection: double clicking on a word which
10725    was partly scrolled off the screen may select that text (report
10726    by Vincent Lef&egrave;vre &lt;vincent@vinc17.org&gt;).</li>
10727
10728    <li>implement <code>veryBoldColors</code> resource to control
10729    whether the corresponding video attribute such as
10730    <code>bold</code> is displayed when using
10731    <code>colorBDMode</code>, etc. (request by Josh Howard
10732    &lt;jrh@vicor-nb.com&gt;).</li>
10733
10734    <li>define escape sequences for function keys F21-F35 (patch by
10735    Stephen P Wall).</li>
10736
10737    <li>change the colors for the 256-color model, making them less
10738    skewed toward black (patch by Stephen P Wall).</li>
10739
10740    <li>add <code>vt100Graphics</code> resource (see <a href=
10741    "#xterm_115">patch #115</a>, based on discussion with Glenn
10742    Maynard).</li>
10743
10744    <li>ifdef'd Xaw/Xaw3d/neXtaw includes separately to avoid
10745    potential incompatibilities between these flavors of Athena
10746    widgets.</li>
10747
10748    <li>add configure check for XFree86 4.x Xaw library, whose
10749    geometry management is broken, to avoid trying to use it for
10750    toolbar configuration.</li>
10751
10752    <li>updates to configure script from vile and lynx to allow
10753    configure.in to be compiled with autoconf 2.5x</li>
10754
10755    <li>add a check for null pointer return by
10756    <code>ptsname()</code> (newsgroup posting from Mike Silva
10757    &lt;mikesilva@lucent.com&gt;).</li>
10758
10759    <li>fill in a few details needed to allow UTF-8 mode to switch
10760    on/off after startup. This requires that <code>wideChars</code>
10761    resource be set. (based on comments in 4 Aug 2001 by Alexey
10762    Marinichev &lt;lyosha@lyosha.2y.net&gt;).</li>
10763
10764    <li>remove duplicate install rules that make directories, e.g.,
10765    so installing manpage will not create app-defaults
10766    directory.</li>
10767
10768    <li>add comment in in <code>do_osc()</code>, reserving cases 30
10769    and 31 for for Konsole (request by Stephan Binner
10770    &lt;Stephan.Binner@gmx.de&gt;).</li>
10771
10772    <li>fixes for ctlseqs.ms and xterm.man (patch by Werner Lemberg
10773    &lt;wl@gnu.org&gt;).</li>
10774
10775    <li>add check for monochrome display, disabling colorMode in
10776    that case (fixes Debian #134130).</li>
10777
10778    <li>resync with XFree86 CVS
10779      <ul>
10780        <li>Fix some xterm build warnings on *BSD (patch by David
10781        Dawes).</li>
10782
10783        <li>Only use SA_RESTART in xterm when it's available (patch
10784        by Frank Liu).</li>
10785
10786        <li>Fix incorrect code in signal handlers in most of the
10787        clients, xterm and xdm not done yet (patch by Matthieu
10788        Herrb).</li>
10789      </ul>
10790    </li>
10791  </ul>
10792
10793  <h1><a name="xterm_165" id="xterm_165">Patch #165 - 2002/1/5 -
10794  XFree86 4.1.0</a></h1>
10795
10796  <ul>
10797    <li>modify <code>uxterm</code> script to strip encoding part
10798    from environment variable before adding ".UTF-8" (based on
10799    Debian #125947, but using a more portable solution).</li>
10800
10801    <li>add an assignment statement in VTInitialize() to make
10802    <code>awaitInput</code> resource work.</li>
10803
10804    <li>use new macros init_Bres(), etc., in VTInitialize() to add
10805    trace of the initialization of resources.</li>
10806
10807    <li>modify checks for $LC_ALL, related environment variables to
10808    ensure the resulting strings are nonempty (report by Markus
10809    Kuhn).</li>
10810
10811    <li>add an ifdef in charproc.c for num_ptrs variable in case
10812    all configure options are disabled.</li>
10813
10814    <li>modify definition of getXtermBackground() to avoid negative
10815    array index warning on Tru64 (report by Jeremie Petit).</li>
10816
10817    <li>improve fix from patch #165 (still Debian #117184, report
10818    by Matt Zimmerman &lt;mdz@debian.org&gt;)</li>
10819
10820    <li>correct install rule for uxterm in Makefile.in, to handle
10821    the case where building in a different directory than xterm's
10822    source (patch by Paul Gilmartin).</li>
10823
10824    <li>documented ANSI.SYS-style cursor save/restore escape
10825    sequences in ctlseqs.ms, which are in xterm since X11R5.</li>
10826
10827    <li>correct two entries in the default charClass table, which
10828    did not follow the manpage comment about the character number
10829    corresponding to the class (patch by Marc Bevand
10830    &lt;bevand_m@epita.fr&gt;).</li>
10831
10832    <li>fix a couple of typos in comments in the app-defaults files
10833    (David Krause &lt;xfree86@davidkrause.com&gt;).</li>
10834
10835    <li>resync with XFree86 CVS
10836      <ul>
10837        <li>update language of copyrights in some files to reflect
10838        the fact that they were reassigned from X Consortium to The
10839        Open Group in 1998. Note that this xterm source is derived
10840        from the 1996 version from X Consortium, does not
10841        incorporate changes made by X Consortium or The Open Group
10842        after that date, hence we do not add The Open Group's 1998
10843        copyright date to related files.</li>
10844
10845        <li>save/restore <code>errno</code> in signal catcher
10846        (patch by Matthieu Herrb).</li>
10847
10848        <li>modify UXTerm.ad's font5 resource so that xterm can
10849        display double width characters using a font distributed
10850        with XFree86 (Tomohiro Kubota).</li>
10851      </ul>
10852    </li>
10853  </ul>
10854
10855  <h1><a name="xterm_164" id="xterm_164">Patch #164 - 2001/11/13 -
10856  XFree86 4.1.0</a></h1>
10857
10858  <ul>
10859    <li>correct a case where <code>ptyInitialErase</code> and
10860    <code>backarrowKeyIsErase</code> resources combine to set
10861    <code>DECBKM</code> mode, but a <code>reset</code> command
10862    would not reset xterm to that state, making the erase character
10863    revert to ^H (Debian #117184)</li>
10864  </ul>
10865
10866  <h1><a name="xterm_163" id="xterm_163">Patch #163 - 2001/11/04 -
10867  XFree86 4.1.0</a></h1>
10868
10869  <ul>
10870    <li>correct ifdef's for <code>__QNX__</code> and
10871    <code>USE_SYSV_PGRP</code> in main.c call to
10872    <code>tcsetpgrp</code>, which broke bash behavior around
10873    <a href="#xterm_140">patch #140</a> (report/patch by Frank Liu
10874    &lt;fliu@mail.vipstage.com&gt;).</li>
10875
10876    <li>modify trace.c to fix missing definition of GCC_UNUSED for
10877    compilers other than gcc when configured for trace code
10878    (report/patch by Paul Gilmartin).</li>
10879
10880    <li>change format in TraceOptions() to use long rather than
10881    int, since the latter could lose precision on 64-bit machines
10882    (report/patch by Nelson Beebe).</li>
10883
10884    <li>modify xterm manual page and minstall.sh to allow imake
10885    rules to define location of app-defaults directory (Debian
10886    #87611).</li>
10887
10888    <li>review/update list of conflicting preprocessor symbols to
10889    remove from $CPPFLAGS at the end of the configure script. In
10890    particular, this allows one to configure xterm without the
10891    utempter library on Redhat 7.1 (report/patch by Adam
10892    Sulmicki).</li>
10893  </ul>
10894
10895  <h1><a name="xterm_162" id="xterm_162">Patch #162 - 2001/10/23 -
10896  XFree86 4.1.0</a></h1>
10897
10898  <ul>
10899    <li>correct logic that processes <code>-class</code> option, so
10900    that a following <code>-e</code> option is handled (Debian
10901    #116297).</li>
10902
10903    <li>improve options-decoding to allow <code>-version</code> and
10904    <code>-help</code> options to be combined (Debian
10905    #110226).</li>
10906
10907    <li>add a 10 millisecond delay in event loop when processing
10908    <code>-hold</code> option, to avoid using too much CPU time
10909    (Debian #116213).</li>
10910
10911    <li>prefix final program execution in <code>uxterm</code> with
10912    "exec" to avoid a useless shell hanging around (Christian
10913    Weisgerber).</li>
10914  </ul>
10915
10916  <h1><a name="xterm_161" id="xterm_161">Patch #161 - 2001/10/10 -
10917  XFree86 4.1.0</a></h1>
10918
10919  <ul>
10920    <li>modify logic that resets keypad application mode to avoid
10921    doing this if there is no modifier associated with the Num_Lock
10922    keysym (report by John E Davis &lt;davis@space.mit.edu&gt; and
10923    Alan W Irwin &lt;irwin@beluga.phys.uvic.ca&gt;).</li>
10924
10925    <li>add built-in translation for Control/KP_Separator to
10926    KP_Subtract, to accommodate users who wish to use xmodmap to
10927    reassign the top row of the numeric keypad.</li>
10928
10929    <li>correct Imakefile install-rule for <code>uxname</code>
10930    script (reported by Nam SungHyun &lt;namsh@lge.com&gt;).</li>
10931
10932    <li>resync with XFree86 CVS &ndash; correct typo in
10933    <code>&lt;ncurses/term.h&gt;</code> ifdef.</li>
10934  </ul>
10935
10936  <h1><a name="xterm_160" id="xterm_160">Patch #160 - 2001/10/7 -
10937  XFree86 4.1.0</a></h1>
10938
10939  <ul>
10940    <li>modify logic in main.c (see <a href="#xterm_145">patch
10941    #145</a>) to avoid generating the same identifier, for example,
10942    for /dev/tty1 and /dev/pts/1, which is used to denote an entry
10943    in the utmp file (Debian bug report #84676), A similar fix was
10944    also sent by Jerome Borsboom &lt;borsboom@westbrabant.net&gt;
10945    in May, but I overlooked it when reviewing bug reports.</li>
10946
10947    <li>add configure check for <code>&lt;ncurses/term.h&gt;</code>
10948    to get rid of hardcoded <code>__CYGWIN__</code> ifdef in
10949    resize.c
10950      <p>NOTE: The CYGWIN port should not be linking
10951      <code>resize</code> with ncurses. It appears that the only
10952      reason it is, is because both the ncurses and termcap ports
10953      on that platform are badly misconfigured (essential pieces
10954      have been removed, etc). Checking for
10955      <code>&lt;ncurses/term.h&gt;</code> does not hurt anything,
10956      since there are some correct installations that are set up
10957      that way.</p>
10958    </li>
10959
10960    <li>add a sample <code>uxterm</code> script, which uses the
10961    <code>UXTerm</code> application defaults for UTF-8
10962    environments.</li>
10963
10964    <li>undo change to xterm application defaults, since this
10965    introduced an unnecessary incompatibility. The intended
10966    functionality was already addressed by the <a href=
10967    "#xterm_141">UXTerm</a> app-defaults file.</li>
10968
10969    <li>resync with XFree86 CVS
10970      <ul>
10971        <li>Modified xterm app default to use LFD fontnames instead
10972        of old type (Michael Schroeder).</li>
10973
10974        <li>Fix xterm when XIM is disabled - caused a segfault
10975        (Tomohiro Kubota).</li>
10976      </ul>
10977    </li>
10978  </ul>
10979
10980  <h1><a name="xterm_159" id="xterm_159">Patch #159 - 2001/9/19 -
10981  XFree86 4.1.0</a></h1>
10982
10983  <ul>
10984    <li>remove an ifdef for <code>USE_HANDSHAKE</code> added in
10985    patch #158 from the second <code>TIOCSSIZE</code> ioctl call in
10986    the initialization code. Paul Gilmartin reports that for
10987    Solaris 2.6 (sparc), stty does not show that xterm sets rows
10988    and columns unless the second ioctl is executed.</li>
10989
10990    <li>correct treatment of empty parameter list for some OSC
10991    strings (report by Sami Farin &lt;sfarin@ratol.fi&gt;).</li>
10992  </ul>
10993
10994  <h1><a name="xterm_158" id="xterm_158">Patch #158 - 2001/9/8 -
10995  XFree86 4.1.0</a></h1>
10996
10997  <ul>
10998    <li>augment key translations for scrollbar widget to ensure
10999    that keystrokes intended for the text area are not lost if the
11000    mouse pointer happens to fall on the scrollbar. This can
11001    happen, for instance, if the user's <code>app-defaults</code>
11002    or <code>.Xdefaults</code> file contains a translations
11003    resource, though it may also happen through unrelated resource
11004    settings: probably a bug in libXt (reported by Paul Fox
11005    &lt;pgf@foxharp.boston.ma.us&gt; and Dmitry Yu. Bolkhovityanov
11006    &lt;D.Yu.Bolkhovityanov@inp.nsk.su&gt;).</li>
11007
11008    <li>widen ifdef's in xterm.h to define
11009    <code>__EXTENSIONS__</code> on Solaris, for compilers other
11010    than gcc. This was added along <code>_POSIX_C_SOURCE</code>
11011    with in <a href="#xterm_151">patch #151</a>, but is not
11012    sufficient since Sun's compiler does not define
11013    <code>__STDC__</code> by default (report by Matthias Scheler
11014    &lt;tron@zhadum.de&gt;).</li>
11015
11016    <li>modify xterm to obtain the closest matching color if an
11017    exact color is not available, e.g., on 8-bit displays (patch by
11018    Stephen P Wall)</li>
11019
11020    <li>implement "OverTheSpot" preedit type of XIM input (patch by
11021    Tomohiro Kubota):
11022      <ul>
11023        <li>This preedit type is a reasonable compromise between
11024        simpleness of implementation and usefulness. "Root" preedit
11025        type is easy to implement but not useful; "OnTheSpot"
11026        preedit type is the best in the point of view of user
11027        interface but very complex. And more, "OverTheSpot" is the
11028        preedit type which the most XIM servers support. Thus, to
11029        achieve reasonable usability, support of "OverTheSpot"
11030        preedit type is needed.</li>
11031
11032        <li>In "OverTheSpot" preedit type, the preedit
11033        (preconversion) string is displayed at the position of the
11034        cursor. On the other hand, it is XIM server's
11035        responsibility to display the preedit string. Thus, it is
11036        needed for XIM client (here XTerm) to inform the XIM server
11037        of the cursor position. And more, to achieve good visual
11038        proportion, preedit string must be written using proper
11039        font. Thus, it is XIM client's responsibility to inform the
11040        XIM server of the proper font. The font must be supplied by
11041        "fontset". Fontset is a set of fonts with charsets which
11042        are specified by the current locale. Since XTerm uses
11043        ISO10646 fonts regardless of the current locale, the fonts
11044        for XIM must be prepared separately. It is difficult to
11045        prepare fonts which are similar to XTerm font. Thus, my
11046        patch uses a simple way - the default font is "*" which
11047        matches every fonts and X library will automatically choose
11048        fonts with proper charsets. I added "-fx" command option
11049        and "ximFont" resource to override this default font
11050        setting.</li>
11051
11052        <li>changed the definition of "OverTheSpot" preedit type
11053        from XIMPreeditPosition|XIMStatusArea to
11054        XIMPreeditPosition|XIMStatusNothing. This matches the
11055        behavior of other programs such as Rxvt, Kterm, Gedit.</li>
11056
11057        <li>A tiny XIM bugfix is also included. By calling
11058        XSetLocaleModifiers() with parameter of "", it can consider
11059        XMODIFIERS environmental variable which is a standard way
11060        for users to specify XIM server to be used.</li>
11061      </ul>
11062    </li>
11063
11064    <li>adjust configure script to accommodate repackaging of
11065    keysym2ucs.c as include-file for xutf8.c (patch by Tomohiro
11066    Kubota).</li>
11067
11068    <li>add the <code>UXTerm</code> app-defaults file to makefile
11069    install rules (request by Juliusz Chroboczek).</li>
11070
11071    <li>correct logic in <code>get_termcap()</code>, which returned
11072    false if the <code>tgetent()</code> call indicated that xterm
11073    was linked with terminfo. Although the <code>$TERMCAP</code>
11074    variable cannot be adjusted in this case, xterm still needs
11075    information from this call to extract data to initialize the
11076    erase-mode when the <code>ptyInitialErase</code> resource is
11077    false.</li>
11078
11079    <li>modify <code>ScrollbarReverseVideo()</code> function to
11080    cache the original border color, so it can restore that when an
11081    application flashes the screen (Bugzilla #38872).</li>
11082
11083    <li>resync with XFree86 CVS
11084      <ul>
11085        <li>remove ifdef's for X_NOT_STDC_ENV (patch by David
11086        Dawes).</li>
11087
11088        <li>add Cygwin to special errno handling case in ptydata.c
11089        (Alan Hourihane)</li>
11090
11091        <li>set screen size earlier in initialization, to address a
11092        race with window manager resizing its clients (Keith
11093        Packard).</li>
11094      </ul>
11095    </li>
11096  </ul>
11097
11098  <h1><a name="xterm_157" id="xterm_157">Patch #157 - 2001/6/18 -
11099  XFree86 4.1.0</a></h1>
11100
11101  <ul>
11102    <li>clean up button.c and input.c (patch by Juliusz
11103    Chroboczek). The basic idea is to use a single set of APIs in
11104    the XTerm core, and put a set of workarounds in a separate
11105    file. As you will notice, this drastically simplifies parts of
11106    the code; in particular, the only remaining ifdefs related to
11107    the differences between Xutf8 and legacy systems are related to
11108    the selection provider logic. This defines two new files,
11109    xutf8.h and xutf8.c, provide some half-hearted but fully
11110    portable emulation for the three Xutf8* functions that XTerm
11111    uses. Putting these in a separate file will allow people to
11112    experiment with more complex versions without making the core
11113    of XTerm more difficult to maintain. The functionality of the
11114    emulation is as follows.
11115      <ul>
11116        <li>Xutf8TextListToTextProperty fully handles XStringstyle
11117        and XUTF8StringStyle. It will only generate STRING for
11118        XStdICCTextStyle, and will only generate Latin-1 in
11119        XCompoundTextStyle (but label it as COMPOUND_TEXT, as the
11120        spec requires). (I have hesitated to make this function
11121        fail for XStdICCTextStyle and XCompoundTextStyle; this
11122        might be a smart thing to do, in the hope that the
11123        selection requestor will try UTF8_STRING afterwards;
11124        opinions?)</li>
11125
11126        <li>Xutf8TextPropertyToTextList fully handles STRING and
11127        UTF8_STRING. It systematically fails for
11128        COMPOUND_TEXT.</li>
11129
11130        <li>Xutf8LookupString will properly handle single-keystroke
11131        input for the keysyms covered by Markus' keysym2ucs
11132        function. It will not handle either compose key input or
11133        external input methods.</li>
11134      </ul>
11135    </li>
11136
11137    <li>add an ifdef for <code>SunXK_F36</code>, used in
11138    <code>xtermcapKeycode()</code> (patch by Mark Waggoner
11139    &lt;waggoner@ichips.intel.com&gt;).</li>
11140
11141    <li>modify check for login name to try <code>getlogin()</code>
11142    and $LOGNAME, $USER environment variables to detect if the user
11143    has logged in under an alias, i.e., an account with the same
11144    user id but a different name (Debian bug report #70084).</li>
11145
11146    <li>add resource <code>tiXtraScroll</code>, which can be used
11147    to preserve the screen contents in the scrollback rather than
11148    erasing it when starting a fullscreen application such as
11149    <code>vi</code> (patch by Ken Martin
11150    &lt;fletcher@catsreach.org&gt;).</li>
11151
11152    <li>two patches by Denis Zaitsev &lt;zzz@cd-club.ru&gt;:
11153      <ul>
11154        <li>added <code>forceBoxChars</code> resource to control
11155        the "line-drawing characters" option.</li>
11156
11157        <li>added <code>freeBoldBox</code> resource, which, when
11158        set true, suppresses check in
11159        <code>same_font_size()</code>, so xterm does not attempt to
11160        ensure that the bold font is the same size as the normal
11161        font.</li>
11162      </ul>
11163    </li>
11164
11165    <li>change the color class for ANSI colors and similar ones
11166    such as bold-color, etc., to follow the convention that the
11167    classname is the instance name with a leading capital (e.g.,
11168    <code>color0</code> and <code>Color0</code> rather than
11169    <code>color0</code> and <code>Foreground</code>). There was
11170    little use for Foreground as a class other than to create
11171    occasional confusion and bug reports, most recently by Nelson
11172    Beebe who reports that it disables colors in xterm but not on
11173    Linux, which is probably due to a difference in resource
11174    evaluation order. A configure script option
11175    (--disable-color-class) is provided for anyone who did use the
11176    older behavior.</li>
11177
11178    <li>fix a signal-handling bug. When running xterm with
11179    <code>ksh</code> or similar shell such as bash 2.05, xterm will
11180    hang and not respond to keystrokes after the user types
11181    <code>suspend</code>. Additionally the popup menus do not
11182    respond, so it is not possible to send SIGCONT to the shell.
11183    What is happening is that the shell is sending itself SIGSTOP,
11184    and it is being stopped. Per specification it also means that
11185    the operating system is sending SIGCHLD to parent to the bash
11186    (XTERM). Now the issue is that xterm assumes it cannot happen
11187    and it expects to receive SIGCHLD only upon
11188    <em>termination</em> of its children. This causes a deadlock
11189    with xterm waiting for the child to die, and the child waiting
11190    for SIGCONT. (report/patch by Adam Sulmicki), analysis/testing
11191    by Sven Mascheck
11192    &lt;sven.mascheck@student.uni-ulm.de&gt;).</li>
11193
11194    <li>correct some inconsistent checks for
11195    <code>XtReleaseGC()</code> calls in
11196    <code>xtermLoadFont()</code> (patch by Nam SungHyun
11197    &lt;namsh@lge.com&gt;).</li>
11198
11199    <li>updated wcwidth.c and keysym2ucs.c to versions dated
11200    2001/1/12 and 2001/4/18, respectively from
11201    http://www.cl.cam.ac.uk/~mgk25/ucs/</li>
11202
11203    <li>correction to change from <a href="#xterm_90">patch
11204    #90</a>, which was intended to reset the saved cursor position
11205    for normal/alternate screens on a soft reset, but actually
11206    wiped out all of the saved cursor information. Just reset the
11207    saved position for the current screen (report by Michael
11208    Schroeder).</li>
11209
11210    <li>modify ShowCursor() and HideCursor() so that if the cursor
11211    points to the second part of a wide character, make the
11212    show/hide operate on the first position of the wide character
11213    (patch by Sven Verdoolaege).</li>
11214
11215    <li>scrolling in the alternate screen just before switching
11216    back to the main screen can cause extra blank lines to be
11217    inserted into the scrollback buffer (patch by Paul Vojta
11218    &lt;vojta@math.berkeley.edu&gt;).</li>
11219
11220    <li>resync with XFree86 4.1.0:
11221      <ul>
11222        <li>Use TermcapLibrary as -lncurses instead of -ltermcap,
11223        fixes problem building xterm/resize on Cygwin/XFree86
11224        (Harold Hunt).</li>
11225
11226        <li>Install xterm.termcap and xterm.terminfo when
11227        installing xterm (Torrey T. Lyons).</li>
11228
11229        <li>Fix some build issues on Cygwin/XFree86 (Suhaib
11230        Siddiqi).</li>
11231
11232        <li>Define CBAUD, when it's missing in xterm, on LynxOS
11233        (Stuart Lissaman).</li>
11234      </ul>
11235    </li>
11236  </ul>
11237
11238  <h1><a name="xterm_156" id="xterm_156">Patch #156 - 2001/4/28 -
11239  XFree86 4.0.3</a></h1>
11240
11241  <ul>
11242    <li>change order of selection-target types to make 8-bit xterm
11243    prefer UTF8_STRING to COMPOUND_TEXT (patch by Juliusz
11244    Chroboczek).</li>
11245
11246    <li>document <code>-fa</code>, <code>-fs</code> command-line
11247    options and <code>faceName</code>, <code>faceSize</code>
11248    resources which are used by the freetype library support.</li>
11249
11250    <li>if configure script finds freetype libraries, but imake
11251    definitions do not have the XRENDERFONT definition, define it
11252    anyway.</li>
11253
11254    <li>modify configure script check for freetype libraries to
11255    include <code>&lt;Xlib.h&gt;</code>, since an older version of
11256    the related headers relies on this (patch by Adam
11257    Sulmicki).</li>
11258  </ul>
11259
11260  <h1><a name="xterm_155" id="xterm_155">Patch #155 - 2001/4/20 -
11261  XFree86 4.0.3</a></h1>
11262
11263  <ul>
11264    <li>correct return type of in_put() from <a href=
11265    "#xterm_155">patch #153</a> changes, which left it not wide
11266    enough for UTF-8 (patch by Bruno Haible).</li>
11267  </ul>
11268
11269  <h1><a name="xterm_154" id="xterm_154">Patch #154 - 2001/4/11 -
11270  XFree86 4.0.3</a></h1>
11271
11272  <ul>
11273    <li>undo check for return value from <code>pututline</code>
11274    (used for debugging) since that function does not return a
11275    value on Slackware 3.6.</li>
11276
11277    <li>correct length in ScreenWrite, when rendering invisible
11278    text (patch by Sven Verdoolaege &lt;skimo@kotnet.org&gt;).</li>
11279
11280    <li>fixes/improvements for the <code>i18nSelection</code>
11281    resource from patch #153, by Bruno Haible:
11282      <ul>
11283        <li>add missing initialization for
11284        <code>i18nSelection</code> resource.</li>
11285
11286        <li>split-out the non-ICCM aspect of the
11287        <code>i18nSelection</code> resource as a new resource,
11288        <code>brokenSelections</code>.</li>
11289      </ul>
11290    </li>
11291
11292    <li>add configure check for <code>&lt;time.h&gt;</code> and
11293    <code>&lt;sys/time.h&gt;</code>, to allow for Unixware&nbsp;7,
11294    which requires both. If the configure script is not used, only
11295    <code>&lt;time.h&gt;</code> will be included as before (report
11296    by Thanh Ma).</li>
11297
11298    <li>fix redefinition of <code>dup2</code>,
11299    <code>getutent</code>, <code>getutid</code>,
11300    <code>getutline</code> and <code>sleep</code> functions on
11301    Unixware&nbsp;7 (report by Thanh Ma
11302    &lt;Thanh.Ma@casi-rusco.com&gt;)</li>
11303
11304    <li>add a fall-back definition for <code>__hpux</code>, which
11305    is apparently not defined in some compilers on HPUX 11.0
11306    (reported by Clint Olsen).</li>
11307
11308    <li>change VAL_INITIAL_ERASE, which is used as a fallback for
11309    the <code>"kb"</code> termcap string to 8, since that matches
11310    the xterm terminal description (request by Alexander V
11311    Lukyanov).</li>
11312
11313    <li>correct an off-by-one in <code>ClearInLine</code>, which
11314    caused the erase-characters (ECH) control to display
11315    incorrectly (patch by Alexander V Lukyanov).</li>
11316
11317    <li>correct escape sequences shown in terminfo for shifted
11318    editing keys. The modifier code was for the control key rather
11319    than the shift key.</li>
11320  </ul>
11321
11322  <h1><a name="xterm_153" id="xterm_153">Patch #153 - 2001/3/29 -
11323  XFree86 4.0.3</a></h1>
11324
11325  <ul>
11326    <li>increase PTYCHARLEN to 8 for os390, add some debugging
11327    traces for UTMP functions (patch by Paul Gilmartin).</li>
11328
11329    <li>correct an misplaced brace in
11330    <code>SelectionReceived()</code> (patch by Bruno Haible).</li>
11331
11332    <li>correct an assignment dropped in
11333    <code>SelectionReceived()</code> which made it not compile for
11334    wide-characters combined with debug traces.</li>
11335
11336    <li>correct typo, clarify description of 88- and 256-color
11337    controls (report by Bram Moolenaar).</li>
11338
11339    <li>correct a typo in ctlseqs.ms which caused DEC Locator
11340    control sequences using single quote "'" display grave "`"
11341    instead (reported by Paul Williams, apparently in patch
11342    #114).</li>
11343  </ul>
11344
11345  <h1><a name="xterm_152" id="xterm_152">Patch #152 - 2001/3/13 -
11346  XFree86 4.0.2</a></h1>
11347
11348  <ul>
11349    <li>correct index in inner loop in <code>VTInitI18N()</code>
11350    from patch #151 changes, which resulted in infinite loop under
11351    some conditions (report/analysis by Paul Gilmartin).</li>
11352
11353    <li>remove spurious "%|" from terminfo sgr capabilities
11354    (report/analysis by Adam M Costello, Debian #89222).</li>
11355
11356    <li>add shell script to adjust list of dynamic libraries linked
11357    by <code>resize</code> when building with the standalone
11358    configure script. Otherwise it uses the same list as for xterm,
11359    which is excessive.</li>
11360
11361    <li>fix a few compiler warnings reported by the 20010305 gcc
11362    snapshot.</li>
11363  </ul>
11364
11365  <h1><a name="xterm_151" id="xterm_151">Patch #151 - 2001/3/10 -
11366  XFree86 4.0.2</a></h1>
11367
11368  <ul>
11369    <li>alter the behaviour of selections in XTerm (patch by
11370    Juliusz Chroboczek). It is believed to follow the ICCCM +
11371    UTF8_STRING to the letter, both in UTF-8 and in eight-bit mode.
11372    From his description:
11373      <ul>
11374        <li>When compiled against XFree86 4.0.2, the patched XTerm
11375        will make the selection available as COMPOUND_TEXT, STRING
11376        or UTF8_STRING in both modes. It will request selections in
11377        the following order:
11378          <p>UTF-8 mode: UTF8_STRING, TEXT, COMPOUND_TEXT,
11379          STRING.<br>
11380          eight-bit mode: TEXT, COMPOUND_TEXT, UTF8_STRING,
11381          STRING.</p>
11382        </li>
11383
11384        <li>When compiled against an earlier version of XFree86 (or
11385        compiled with OPT_UTF8_API=0), it will still obey the
11386        ICCCM, but will neither request nor provide UTF8_STRING in
11387        eight-bit mode, and neither TEXT nor COMPOUND_TEXT in UTF-8
11388        mode.</li>
11389
11390        <li>For compatibility with previous versions of XTerm, a
11391        resource <code>i18nSelections</code> is provided, please
11392        see the manpage for details. However, due to an unexpected
11393        combination of ICCCM extensions by various bits and pieces
11394        of the libraries, interacting with previous versions of
11395        XTerm will work in many locales even without this flag.
11396        (Please do not set this resource to true by default, as
11397        this would violate the ICCCM.)</li>
11398      </ul>
11399    </li>
11400
11401    <li>improved error checking/reporting in VTInitI18N(), ensuring
11402    that lack of input method styles is treated distinctly from a
11403    mismatch.</li>
11404
11405    <li>remove an incorrect ifdef from patch #141 which suppressed
11406    overstriking to simulate bold font when xterm was compiled to
11407    support wide characters (report/analysis by Adam M Costello
11408    &lt;amc@cs.berkeley.edu&gt;, Debian #76404, Debian
11409    #77575).</li>
11410
11411    <li>modify <code>RequestResize()</code> function to
11412    save/restore window manager hints. Its call to
11413    <code>XtMakeResizeRequest()</code> had the undesirable
11414    side-effect of clearing window manager hints, e.g., when
11415    switching to 132-columns via DECCOLM escape sequence. Window
11416    manager hints make it simple to resize xterm in terms of
11417    character cells rather than pixels (reports by Christian
11418    Weisgerber, Debian #79939).
11419      <p>This applies to the normal configuration. When built with
11420      toolbar support, the hints are applied to a different widget
11421      level (more work will be needed to make hints work with the
11422      toolbar).</p>
11423    </li>
11424
11425    <li>fix a redefinition warning for resize.c on OpenBSD (patch
11426    by Christian Weisgerber).</li>
11427
11428    <li>change resource corresponding to <code>-T</code> option to
11429    match Xt library's <code>-title</code>, i.e.,
11430    <code>.title</code> rather than <code>*title</code> so the
11431    command-line options are interchangeable as documented (Debian
11432    bug report #68843).</li>
11433
11434    <li>add script used from autoconf'd makefile for installing
11435    manpages, since recent XFree86 changing the way section numbers
11436    are represented makes the install dependent on extra
11437    scripts.</li>
11438
11439    <li>add configure check for freetype libraries and configure
11440    option --disable-freetype to override this feature.</li>
11441
11442    <li>modify some configure script macros to avoid using
11443    changequote(), which has been rendered useless in the latest
11444    autoconf alpha 2.49c</li>
11445
11446    <li>update config.guess, config.sub to 2001-2-13</li>
11447
11448    <li>remove redundant/contradictory __CYGWIN__ definitions from
11449    resize.c</li>
11450
11451    <li>correct manpage typo introduced by X11R6.5 resync.</li>
11452  </ul>
11453
11454  <p>Changes from XFree86 4.0.2:</p>
11455
11456  <ul>
11457    <li>add definition of <code>_POSIX_C_SOURCE</code> for Solaris
11458    to make this compile with <code>gcc -ansi -pedantic</code>
11459    (report by &lt;mark@zang.com&gt;.</li>
11460  </ul>
11461
11462  <h1><a name="xterm_150" id="xterm_150">Patch #150 - 2000/12/29 -
11463  XFree86 4.0.2</a></h1>
11464
11465  <ul>
11466    <li>move the binding for shifted keypad plus/minus, which
11467    invokes the <code>larger-vt-font()</code> and
11468    <code>smaller-vt-font()</code> actions, respectively, into the
11469    translations resource (suggested by Marius Gedminas
11470    &lt;mgedmin@puni.osf.lt&gt;).</li>
11471
11472    <li>modify configure script to support the
11473    <code>--program-prefix</code>, <code>--program-suffix</code>
11474    and <code>--program-transform-name</code> options (request by
11475    Alison Winters &lt;alison@mirrabooka.com&gt;).</li>
11476
11477    <li>fixes for wide/combining characters (Robert Brady):
11478      <ul>
11479        <li>fix a scrolling / combining characters display
11480        anomaly</li>
11481
11482        <li>fix a problem with double-width characters where if the
11483        primary font had no box-drawing characters, the right hand
11484        half of double-width characters was erased (reported by Yao
11485        Zhang &lt;yzhang@sharemedia.com&gt;).</li>
11486
11487        <li>fix special case of null byte for key handling in UTF-8
11488        locales.</li>
11489      </ul>
11490    </li>
11491
11492    <li>modify logic that compares sizes of normal and bold fonts
11493    to be more forgiving of the font server's choice of bold font
11494    which must match the normal font's size. Now
11495    <code>same_font_size()</code> compares the height of the fonts
11496    rather than individually ascent and descent, and allows the
11497    bold font to be one pixel smaller than the normal font
11498    (addresses a report by Alan Citterman &lt;alan@mticket.com&gt;,
11499    who says that something in patches <a href=
11500    "#xterm_146">#146</a> to <a href="#xterm_148">#148</a> made
11501    xterm more likely to overstrike bold fonts, and indirectly
11502    Debian bug report #76404, which reports the opposite).</li>
11503
11504    <li>make configure script use $CFLAGS and $CPPFLAGS
11505    consistently, including removing a chunk from configure.in
11506    which attempted to save/restore $CPPFLAGS while processing
11507    value set by the --x-includes option, but lost values set in an
11508    intervening AC_CHECK_HEADERS. This change modifies macros
11509    CF_ADD_CFLAGS, CF_ANSI_CC_CHECK and CF_X_TOOLKIT, as well as
11510    removing variables IMAKE_CFLAGS and X_CFLAGS from the generated
11511    makefile (the AC_CHECK_HEADERS problem was reported by Albert
11512    Chin-A-Young &lt;china@thewrittenword.com&lt;).</li>
11513
11514    <li>correct a comparison in SELECTWORD case of ComputeSelect(),
11515    which resulted in a word-selection wrapping past the first
11516    column without checking the first column's character class
11517    (reported by Christian Lacunza
11518    &lt;celacunza@netscape.net&gt;</li>
11519
11520    <li>correct a logic in UTF-8 mode for selecting double-width
11521    characters; a combining character was omitted (patch by Markus
11522    Kuhn).</li>
11523
11524    <li>add feature to pop (raise) window when a bell is received
11525    (patch by Gael Roualland
11526    &lt;gael.roualland@dial.oleane.com&gt;).</li>
11527
11528    <li>add __NetBSD__ and __OpenBSD__ to special-case in
11529    xterm_io.h for USE_POSIX_TERMIOS definition (patch by Christian
11530    Weisgerber).</li>
11531
11532    <li>move special-case HPUX include for &lt;sys/bsdtty.h&gt; to
11533    xterm_io.h to define TIOCSLTC, making HAS_LTCHARS defined for
11534    HPUX 10.20 (report by Bruno Betro).</li>
11535  </ul>
11536
11537  <h1><a name="xterm_149" id="xterm_149">Patch #149 - 2000/12/6 -
11538  XFree86 4.0.1h</a></h1>
11539
11540  <ul>
11541    <li>restructured includes for <code>termios.h</code>,
11542    <code>termio.h</code> and related definitions for main.c,
11543    os2main.c, screen.c and resize.c so they will share equivalent
11544    definitions in a new header <code>xterm_io.h</code>. This is
11545    intended to solve some problems mainly for HPUX which appear to
11546    arise from inconsistent definitions for SIGWINCH- and
11547    HAS_LTCHARS-related symbols (reports by Bruno Betro, Jeremie
11548    Petit and Clint Olsen).</li>
11549
11550    <li>improve usability of double-width fonts by allowing normal
11551    fonts to be given as double-width (from a patch by Fabrice
11552    Bellard &lt;bellard@email.enst.fr&gt;).</li>
11553
11554    <li>correct a few compiler warnings in TRACE() macros for
11555    signed/unsigned variable differences (reported by Clint
11556    Olsen).</li>
11557
11558    <li>make configure script use $CFLAGS and $CPPFLAGS more
11559    consistently, i.e., by using CF_ADD_CFLAGS in CF_ANSI_CC
11560    macro.</li>
11561
11562    <li>expanded description of environment variables in
11563    manual-page.</li>
11564
11565    <li>modify OPT_TCAP_QUERY feature to always return the termcap
11566    or terminfo capability string in the response, and to
11567    read/write the names in hexadecimal form to allow for the
11568    special case of termcap's <code>k;</code> name (patch by Bram
11569    Moolenaar).</li>
11570
11571    <li>add OPT_SAME_NAME and OPT_TCAP_QUERY to xtermcfg.hin, so
11572    the corresponding configure options work (patch by Bram
11573    Moolenaar).</li>
11574
11575    <li>resync with XFree86 4.0.1g:
11576      <ul>
11577        <li>Rewrite Xft library for Render extension/core text and
11578        font management Change xterm to use new interface (Keith
11579        Packard).</li>
11580      </ul>
11581    </li>
11582  </ul>
11583
11584  <h1><a name="xterm_148" id="xterm_148">Patch #148 - 2000/10/31 -
11585  XFree86 4.0.1d</a></h1>
11586
11587  <ul>
11588    <li>document logfile options in man-page.</li>
11589
11590    <li>correct spelling of <code>-samename</code> option in help
11591    message.</li>
11592
11593    <li>add configure script option
11594    <code>--enable-tcap-query</code> (request by Bram
11595    Moolenaar).</li>
11596
11597    <li>add a "Co" or "colors" entry to the OPT_TCAP_QUERY feature
11598    (patch by Bram Moolenaar).</li>
11599
11600    <li>patch by Kiyokazu Suto &lt;suto@ks-and-ks.ne.jp&gt;:
11601      <ul>
11602        <li>add support for bold font for double width characters.
11603        The font name may be specified with the command line option
11604        <code>-fwb</code> or with resource
11605        <code>wideBoldFont</code> (class
11606        <code>WideBoldFont</code>).</li>
11607
11608        <li>correct underlining of double width character string,
11609        which was drawn only half width.</li>
11610
11611        <li>correct binary search of precomposed character table,
11612        which may return wrong result when <code>int</code> is just
11613        32 bits.</li>
11614      </ul>
11615    </li>
11616
11617    <li>some changes to align terminfo with ncurses 5.2:
11618      <ul>
11619        <li>remove xtermm description, retaining xterm-mono since
11620        the former conflicts with ncurses.</li>
11621
11622        <li>modify initialization and reset strings to avoid
11623        putting the save/restore cursor operations bracketing
11624        changes to video attributes, since the changes could be
11625        lost when the cursor is restored. This affects xterm-r6 and
11626        xterm-8bit (the xterm-xfree86 entry uses the soft-reset
11627        feature which resets scrolling margins and origin mode
11628        without requiring us to save/restore the cursor
11629        position).</li>
11630
11631        <li>make a few entries explicitly inherit from
11632        xterm-xfree86 rather than xterm: xterm-rep, xterm-xmc,
11633        xterm-nrc</li>
11634      </ul>
11635    </li>
11636
11637    <li>ensure that sign-extension does not affect
11638    <code>ctype</code> macros by using <code>CharOf()</code> macro
11639    to coerce the parameter to an unsigned char.</li>
11640
11641    <li>resync with XFree86 4.0.1d:
11642      <ul>
11643        <li>Add primitive support in xterm for Xft based fonts
11644        (Keith Packard). The changes are ifdef'd with
11645        <code>-DXRENDERFONT</code>.</li>
11646      </ul>
11647    </li>
11648  </ul>
11649
11650  <h1><a name="xterm_147" id="xterm_147">Patch #147 - 2000/10/26 -
11651  XFree86 4.0.1c</a></h1>
11652
11653  <ul>
11654    <li>correct implementation of <code>ptyInitialErase</code>: the
11655    value assigned to <code>initial_erase</code> was for the
11656    control terminal, which is correct as far as it goes. But there
11657    was no following test for the pseudo-terminal's erase value,
11658    which would overwrite the default obtained from the control
11659    terminal (reported by Christian Weisgerber
11660    &lt;naddy@mips.inka.de&gt;).</li>
11661
11662    <li>modify check for printable-characters in OSC string to use
11663    xterm's ansi_table rather than isprint() macro, to isolate this
11664    check from locale settings. This fixes a problem using 8-bit
11665    characters to set the title (reported by Ricardas Cepas
11666    &lt;rch@richard.eu.org&gt;).</li>
11667
11668    <li>modify sample scripts to check for printf before print,
11669    since the latter is not as well standardized (e.g., on
11670    Linux).</li>
11671
11672    <li>updated config.sub, config.guess to reflect changes on
11673    subversions.gnu.org</li>
11674  </ul>
11675
11676  <h1><a name="xterm_146" id="xterm_146">Patch #146 - 2000/9/12 -
11677  XFree86 4.0.1c</a></h1>
11678
11679  <ul>
11680    <li>correct two instances overlooked from patch #141 which
11681    assumed UTF-8 mode without checking, causing a core dump in
11682    non-UTF-8 mode (one instance was reported by Tommi Virtanen
11683    &lt;tv@debian.org&gt;).</li>
11684
11685    <li>correct a problem selecting from the scrollback buffer in
11686    UTF-8 mode by changing remaining getXtermCell() calls to
11687    XTERM_CELL() as in the non-UTF-8 cases (report by Markus Kuhn,
11688    patch by Robert Brady).</li>
11689  </ul>
11690
11691  <h1><a name="xterm_145" id="xterm_145">Patch #145 - 2000/9/11 -
11692  XFree86 4.0.1c</a></h1>
11693
11694  <ul>
11695    <li>changes for UTF-8 configuration (Robert Brady):
11696      <ul>
11697        <li>doublewide characters don't lose their accents when the
11698        cursor moves onto or from them (a visual bug)</li>
11699
11700        <li>fix logic in addXtermCombining, which mean that if the
11701        low byte of a cell's first combining char was 0, a
11702        following combining char would go into combining slot 1,
11703        not 2.</li>
11704
11705        <li>modify logic for cut-buffers so UTF-8 data is first
11706        converted to Latin1.</li>
11707
11708        <li>collapse surrogates, 0xfffe, 0xffff to UCS_REPL.</li>
11709
11710        <li>modify to allow xterm to to show combining characters
11711        attached to doublewidth characters.</li>
11712
11713        <li>correct bug in linewrap with -u8 option (reported by
11714        Andreas Koenig &lt;andreas.koenig@anima.de&gt;).</li>
11715      </ul>
11716    </li>
11717
11718    <li>several changes to PTY logic (based on request by Tim Ryan
11719    &lt;timryan@nortelnetworks.com&gt;).
11720      <ul>
11721        <li>modify treatment of <code>-S</code> option to to make
11722        it work with Unix98 PTY's.</li>
11723
11724        <li>restore sense of IsPts flag in <code>get_pty()</code>,
11725        which was lost in Unix98 changes.</li>
11726
11727        <li>use new functions <code>my_pty_id()</code> and
11728        <code>my_pty_name()</code> to simplify/fix strings used for
11729        utmp, wtmp identifiers.</li>
11730
11731        <li>simplify <code>get_pty()</code> function, making it
11732        have a single return point so its inputs/outputs can be
11733        identified.</li>
11734      </ul>
11735    </li>
11736
11737    <li>update config.guess and config.sub and scripts to my
11738    20000819 patch, adding cases for OS/2 EMX.</li>
11739
11740    <li>add special case for os390 compiler options to configure
11741    script (patch by Paul Gilmartin)</li>
11742
11743    <li>fix some unused-variable compiler warnings (reported by
11744    Zdenek Sekera).</li>
11745
11746    <li>split-out some string functions into xstrings.c, to use
11747    them more consistently among main.c, os2main.c and
11748    resize.c</li>
11749
11750    <li>align termcap/terminfo files, adding entries to make them
11751    match. The termcap entries are necessarily less complete than
11752    the terminfo, to fit within 1023 character per entry.</li>
11753
11754    <li>add terminfo entry for xterm-sco (SCO function keys).</li>
11755
11756    <li>modify <code>same_font_name()</code> to properly handle
11757    wildcard introduced in <code>bold_font_name()</code>, making
11758    comparison for different fonts succeed when only the normal
11759    font is specified. This is needed to decide if 1-pixel offset
11760    should be used. (reported in a newsgroup by Bart Oldeman
11761    &lt;enbeo@enbeo.resnet.bris.ac.uk&gt;)</li>
11762
11763    <li>correct preprocessor line for OPT_WIDE_CHARS in
11764    drawXtermText() from patch #141 which resulted in overstriking
11765    for bold fonts not working.</li>
11766
11767    <li>correct Imakefile from 4.0.1c resync so UTF-8 modules are
11768    in UTF8SRC, UTF8OBJ lists, allowing build without UTF-8
11769    support.</li>
11770  </ul>
11771
11772  <h1><a name="xterm_144" id="xterm_144">Patch #144 - 2000/8/23 -
11773  XFree86 4.0.1b</a></h1>
11774
11775  <ul>
11776    <li>remove a spurious assignment in ScreenWrite() from Robert
11777    Brady's patch which set a null at the "end" of the buffer to be
11778    written. That made the autowrap feature write a blank in the
11779    first column for the non-UTF-8 configuration, rather than the
11780    actual character (reported by Alan Citterman
11781    &lt;alan@mticket.com&gt;).</li>
11782  </ul>
11783
11784  <h1><a name="xterm_143" id="xterm_143">Patch #143 - 2000/8/19 -
11785  XFree86 4.0.1b</a></h1>
11786
11787  <ul>
11788    <li>add a check to ensure that <code>-class</code> command-line
11789    option is not confused with <code>-c</code> (reported by Paul
11790    Townsend &lt;aab@aab.cc.purdue.edu&gt;).</li>
11791  </ul>
11792
11793  <h1><a name="xterm_142" id="xterm_142">Patch #142 - 2000/8/18 -
11794  XFree86 4.0.1b</a></h1>
11795
11796  <ul>
11797    <li>correction to precompose scripts, so 0061 + 0300 will now
11798    be really be displayed as 00C0 (patch by Robert Brady
11799    &lt;robert@susu.org.uk&gt;).</li>
11800
11801    <li>correct macro ClassSelects() in button.c, used to hide
11802    ifdef's for OPT_WIDE_CHARS in patch #141 (reported by Andreas
11803    Paul &lt;paula@informatik.tu-muenchen.de&gt;).</li>
11804
11805    <li>change wcwidth.h to include stddef.h rather than wchar.h,
11806    which is not present on OpenBSD and FreeBSD (reported by
11807    Christian Weisgerber and Bram Moolenaar).</li>
11808
11809    <li>newer config.sub and config.guess, from lynx
11810    2.8.4dev.7</li>
11811  </ul>
11812
11813  <h1><a name="xterm_141" id="xterm_141">Patch #141 - 2000/8/14 -
11814  XFree86 4.0.1b</a></h1>
11815
11816  <ul>
11817    <li>changes for doublewidth and combining characters, from
11818    http://www.ecs.soton.ac.uk/~rwb197/xterm/ (integrated patch by
11819    Robert Brady). In this context, doublewidth refers to 16-bit
11820    character sets which may have glyphs occupying two cells.</li>
11821
11822    <li>add command-line option <code>-class</code>, which allows
11823    one to override xterm's resource class. Also add resource file
11824    <code>UXTerm.ad</code>, which simplifies using xterm for both
11825    8-bit character sets and UTF-8.</li>
11826
11827    <li>fixes/improvements to OPT_TCAP_QUERY logic (patches by Bram
11828    Moolenaar, Stephen P Wall).</li>
11829  </ul>
11830
11831  <h1><a name="xterm_140" id="xterm_140">Patch #140 - 2000/7/23 -
11832  XFree86 4.0.1</a></h1>
11833
11834  <ul>
11835    <li>modify Makefile.in to circumvent GNU make's built-in suffix
11836    rule for ".sh" which confuses install.sh with the "make
11837    install" target (report/patch by Paul Gilmartin).</li>
11838
11839    <li>implement an experimental control sequence which an
11840    application may use to query the terminal to determine what
11841    sequence of characters it would send for a given function key.
11842    This is ifdef'd with OPT_TCAP_QUERY (request by Bram
11843    Moolenaar).</li>
11844
11845    <li>add /usr/local to search path in CF_X_ATHENA configure
11846    macro to build with Xaw3d on OpenBSD (patch by Christian
11847    Weisgerber).</li>
11848
11849    <li>add missing <code>#undef HAVE_TERMIO_C_ISPEED</code> to
11850    xtermcfg.hin, omitted in patch #133 fix for IRIX 6.5 baudrate
11851    (report by Alain Filbois &lt;Alain.Filbois@loria.fr&gt;).</li>
11852
11853    <li>correct a few errors in xterm.man: font in filename example
11854    for Tektronix emulation, and description of -nul/+nul
11855    command-line options (report by Eric Fischer
11856    &lt;enf@pobox.com&gt;).</li>
11857
11858    <li>update config.guess and config.sub, from tin and lynx.</li>
11859  </ul>
11860
11861  <h1><a name="xterm_139" id="xterm_139">Patch #139 - 2000/6/17 -
11862  XFree86 4.0d</a></h1>
11863
11864  <ul>
11865    <li>back out change to <code>-name</code> command-line option,
11866    restoring its original behavior (as noted by David Madore, the
11867    correct interpretation of this option is the application
11868    instance rather than the application class).</li>
11869  </ul>
11870
11871  <h1><a name="xterm_138" id="xterm_138">Patch #138 - 2000/6/15 -
11872  XFree86 4.0c</a></h1>
11873
11874  <ul>
11875    <li>workaround for fixed fonts which are generated from Unicode
11876    fonts: they omit glyphs for some xterm's less-used line-drawing
11877    characters, which caused xterm to set a flag telling it to use
11878    only its internal line-drawing characters. Do not set the flag
11879    (it can be set from the popup menu), and xterm will generate
11880    only the line-drawing glyphs which actually are missing.<br>
11881    Otherwise, when used for large fonts, xterm may generate a
11882    2-pixel wide line, which can leave dots on the screen.</li>
11883
11884    <li>restore first line of 256colres.pl, omitted in 4.0c
11885    diffs.</li>
11886  </ul>
11887
11888  <h1><a name="xterm_137" id="xterm_137">Patch #137 - 2000/6/10 -
11889  XFree86 4.0b</a></h1>
11890
11891  <ul>
11892    <li>make command-line <code>-name</code> option work as
11893    documented. Apparently this was lost in X11R5 when coding to
11894    use <code>XtAppInitialize</code>.</li>
11895
11896    <li>limit numeric parameters of control sequences to 65535 to
11897    simplify checks for numeric overflow.</li>
11898
11899    <li>change index into UDK list to unsigned to guard against
11900    numeric overflow making the index negative (Taneli Huuskonen
11901    &lt;huuskone@cc.helsinki.fi&gt;).</li>
11902
11903    <li>change <code>sun&nbsp;function-keys</code> resource name to
11904    <code>sunFunctionKeys</code> to work around redefinition of the
11905    token <code>sun</code> by xrdb on Solaris. Similarly, renamed
11906    resource <code>sun&nbsp;keyboard</code> to
11907    <code>sunKeyboard</code> (Stephen P Wall).</li>
11908
11909    <li>change similar resource names for HP and SCO to avoid
11910    potential conflict with xrdb symbols on other systems, as well
11911    as for consistency.</li>
11912
11913    <li>reorganized the install targets in the autoconf'd Makefile,
11914    adding install-app, install-bin, install-dirs and install-man.
11915    The app-defaults class can be overridden by setting the make
11916    variable 'CLASS', simplifying customization of xterm as a
11917    Unicode terminal, e.g., CLASS=UXTerm.</li>
11918
11919    <li>add limit checks to <code>ClearInLine()</code>,
11920    <code>ScrnInsertChar()</code>, <code>ScrnDeleteChar()</code> to
11921    correct potential out-of-bounds indexing (prompted by Debian
11922    bug report #64713, which reported a problem with ICH escape
11923    sequences).</li>
11924
11925    <li>updates to config.sub and config.guess Kevin Buettner
11926    &lt;kev@primenet.com&gt; for elf64_ia64 Bernd Kuemmerlen
11927    &lt;bkuemmer@mevis.de&gt; and MacOS X.</li>
11928
11929    <li>for os390, add check for errno set to ENODEV on failure to
11930    open /dev/tty when there is no controlling terminal (patch by
11931    Paul Gilmartin).</li>
11932
11933    <li>fixes for building on Digital Unix 4.0 and AIX 4.2 (patch
11934    from H Merijn Brand &lt;h.m.brand@hccnet.nl&gt;).</li>
11935
11936    <li>modify DECRQSS reply for DECSCL to additionally report if
11937    the terminal is set for 8-bit controls.</li>
11938  </ul>
11939
11940  <h1><a name="xterm_136" id="xterm_136">Patch #136 - 2000/6/3 -
11941  XFree86 4.0b</a></h1>
11942
11943  <ul>
11944    <li>add a resource (<code>limitResize</code>) limiting resizing
11945    via the CSI 4 t and CSI 8 t sequences.</li>
11946
11947    <li>ignore out-of-bounds resize requests, i.e., where
11948    sign-extension or truncation of the parameters would
11949    occur.</li>
11950  </ul>
11951
11952  <h1><a name="xterm_135" id="xterm_135">Patch #135 - 2000/5/29 -
11953  XFree86 4.0b</a></h1>
11954
11955  <ul>
11956    <li>remove code introduced in #134 which made some backgrounds
11957    bold.</li>
11958
11959    <li>minor correction to format of updated $TERMCAP when adding
11960    <code>kb</code> capability for <code>ptyInitialErase</code>
11961    logic.</li>
11962
11963    <li>improved test for SVR4 definition.</li>
11964  </ul>
11965
11966  <h1><a name="xterm_134" id="xterm_134">Patch #134 - 2000/5/28 -
11967  XFree86 4.0b</a></h1>
11968
11969  <ul>
11970    <li>update URL's and mailing addresses, moved to
11971    http://dickey.his.com and dickey@herndon4.his.com</li>
11972
11973    <li>correct missing quotes in CF_TTY_GROUP configure script
11974    macro in case the script is run in batch mode.</li>
11975
11976    <li>modify ownership-check of log file to ignore the group
11977    ownership. Otherwise xterm cannot create logfiles in
11978    directories with set-gid permissions.</li>
11979
11980    <li>simplify the logic that reads termcap data.</li>
11981
11982    <li>add fallback definition for B9600 in case line speed
11983    definition for 38400 is missing (report by Jack J Woehr
11984    &lt;jwoehr@ibm.net&gt;, for OpenBSD 2.6).</li>
11985
11986    <li>fix: Set highlightColor, and select a region containing the
11987    text cursor. If the window loses focus, the cursor becomes
11988    hollow, with the region inside the cursor being
11989    background/foreground, unlike the rest of the selection, which
11990    is foreground/highlight (patch by Ross Paterson
11991    &lt;ross@soi.city.ac.uk&gt;).</li>
11992
11993    <li>add configure script tests to define SVR4, SYSV and
11994    USE_POSIX_WAIT, which enables xterm to compile on Solaris 7 and
11995    SCO Openserver without imake, though there are still a few
11996    features for the latter which require <code>sco</code> to be
11997    predefined.</li>
11998
11999    <li>patches from Stephen P Wall:
12000      <ul>
12001        <li>add support for two Sun-specific function keys. These
12002        keys are labeled F11 and F12 on Sun Type 5 keyboards, but
12003        return SunXK_F36 and SunXK_F37. Support will only be
12004        compiled in if the header file &lt;X11/Sunkeysym.h&gt;
12005        exists and contains the appropriate symbol definitions. The
12006        keycodes for the DEC keycodes were arbitrary unused codes,
12007        but the ones for the Sun keycodes are what cmdtool and
12008        shelltool actually send.</li>
12009
12010        <li>add <code>colorRV</code> and <code>colorRVMode</code>
12011        resources to allow specifying a color to use for reverse
12012        video, similar to the existing UL, BD, and BL modes.</li>
12013
12014        <li>add <code>alwaysUseMods</code> resource, to override
12015        check if <code>alt</code> or <code>meta</code> modifiers
12016        are used in <code>translations</code> resource. Revamped
12017        the code to calculate the modifier value, and included Meta
12018        if alwaysUseMods is TRUE, using values 9-16.</li>
12019      </ul>
12020    </li>
12021
12022    <li>fixes for os390 (Paul Gilmartin):
12023      <ul>
12024        <li>regularize the definition of CONTROL() and remove an
12025        acknowledged "trial and error" table.</li>
12026
12027        <li>translate "^?" into A2E(0177) which is the EBCDIC "DEL"
12028        rather than plain 0177 which is the EBCDIC quotation
12029        mark.</li>
12030
12031        <li>modify <code>xtermMissingChar()</code> so that EBCDIC
12032        codes 128-159 are not rendered as blanks by X server
12033        running on Solaris, which sees those as control
12034        characters.</li>
12035
12036        <li>make debugging traces (configure --enable-trace) work
12037        properly with EBCDIC.</li>
12038      </ul>
12039    </li>
12040  </ul>
12041
12042  <h1><a name="xterm_133" id="xterm_133">Patch #133 - 2000/5/2 -
12043  XFree86 4.0a</a></h1>
12044
12045  <ul>
12046    <li>add substitutions in autoconf'd Makefile for CPPFLAGS,
12047    LDFLAGS and AWK (reported by Neil Bird).</li>
12048
12049    <li>correct uninitialized <code>childstat</code> variable from
12050    patch #131 in <code>creat_as()</code> function, which caused
12051    logging to not work on Solaris, whose <code>waitpid()</code>
12052    function does not initialize its parameter. Add check for EINTR
12053    on return from <code>waitpid()</code> as well (reported by Neil
12054    Bird &lt;neil.bird@rdel.co.uk&gt;).</li>
12055
12056    <li>remove a redundant check for working <code>setuid()</code>
12057    function introduced in patch #132. Greg Smith reports that this
12058    does not work as intended on os390.</li>
12059
12060    <li>change line speed from 9600bd to 38400bd, to accommodate
12061    people who mistakenly use $TERM set to <em>vt100</em>, to
12062    reduce the effect of padding associated with this terminal
12063    type.</li>
12064
12065    <li>add configure script check for IRIX 6.5's redefinition of
12066    baud rates associated with <code>struct termio</code>, to
12067    correct a situation where the baud rate was initialized to zero
12068    (reported by Andrew Isaacson &lt;adi@lcse.umn.edu&gt;).</li>
12069
12070    <li>remove unused configure script check for VDISABLE.</li>
12071  </ul>
12072
12073  <h1><a name="xterm_132" id="xterm_132">Patch #132 - 2000/4/11 -
12074  XFree86 4.0a</a></h1>
12075
12076  <ul>
12077    <li>undo an incorrect change from patch #113 caused the right
12078    scrollbar to be positioned incorrectly when re-enabling it
12079    (analysis by D Roland Walker).</li>
12080
12081    <li>add ctrlFKeys resource, replacing constant for adjusting
12082    control-F1 to control-F12 to VT220-style F10-F20. The resource
12083    changes the constant 12 to a default value of 10 (request by
12084    Jim Knoble &lt;jmknoble@pobox.com&gt;).</li>
12085
12086    <li>correct ifdef'ing for conflict between definitions in AIX's
12087    &lt;sys/select.h&gt; and &lt;X11/Xpoll.h&gt; (reported by Clint
12088    Olsen).</li>
12089
12090    <li>add checks for return-values of getutid(), initgroups() and
12091    setuid() in main.c, as well as modifying ifdef's for __osf__ to
12092    include tty-group and WTMP logic (adapted from patch by Paul
12093    Szabo &lt;psz@maths.usyd.edu.au&gt;)</li>
12094
12095    <li>modify resize.c to build and work on os390 (uses EBCDIC)
12096    (adapted from patch by Phil Sidler
12097    &lt;Phil.Sidler@airborne.com&gt;)</li>
12098
12099    <li>use Ires(), Bres() and Sres() macros to simplify resource
12100    list in charproc.c</li>
12101
12102    <li>resync with XFree86 4.0a:
12103      <ul>
12104        <li>correct a typo in os2main.c (Holger Veit, from
12105        4.0a).</li>
12106      </ul>
12107    </li>
12108  </ul>
12109
12110  <h1><a name="xterm_131" id="xterm_131">Patch #131 - 2000/3/3 -
12111  XFree86 3.9.18b</a></h1>
12112
12113  <ul>
12114    <li>improve logfile security (integrated patch by Branden
12115    Robinson)
12116      <ul>
12117        <li>make the <code>creat_as()</code> function more strict
12118        by using O_EXCL rather than O_APPEND.</li>
12119
12120        <li>fixes to make DEBUG ifdef's compile/run, including
12121        making the debug logfile more unique by appending a
12122        timestamp to its name.</li>
12123
12124        <li>include &lt;term.h&gt; in resize.c, to fix a
12125        missing-prototype warning.</li>
12126      </ul>
12127    </li>
12128
12129    <li>modified <code>creat_as()</code> a little more, retaining
12130    the ability to append to a logfile If the user specifies the
12131    name. Also, check if the opened file (which <a href=
12132    "#xterm_130">patch #130</a> ensures is owned by the effective
12133    user) is not writable by other users.</li>
12134
12135    <li>use <code>creat_as()</code> logic to make tek4014
12136    screen-copy more secure (noted by Branden Robinson).</li>
12137
12138    <li>ifdef'd some of Branden's changes to build/work on older
12139    machines.</li>
12140
12141    <li>correct missing initialization of the <code>.mode</code>
12142    flag in <code>ColorRes</code> struct, from patch #129. This
12143    worked on Linux because <code>malloc()</code> zeroes memory on
12144    that platform (reported by Christian Weisgerber).</li>
12145
12146    <li>modify logic for <code>deleteIsDEL</code> resource so it
12147    has internally 3 states: unspecified, true and false. If
12148    unspecified, the keyboard type determines whether the Delete
12149    key transmits <code>&lt;ESC&gt;[3~</code> or <code>\177</code>,
12150    and the popup menu entry reflects the internal state.
12151    Otherwise, the popup menu entry overrides the keyboard type
12152    (suggested by Dr Werner Fink, to make it simpler to set
12153    resources that imitate the legacy X11R6 xterm).</li>
12154  </ul>
12155
12156  <h1><a name="xterm_130" id="xterm_130">Patch #130 - 2000/3/1 -
12157  XFree86 3.9.18a</a></h1>
12158
12159  <ul>
12160    <li>modify <code>scroll-forw()</code> and
12161    <code>scroll-back()</code> actions, adding a third parameter
12162    which will direct xterm to ignore the action when mouse
12163    reporting is enabled. This is needed for the wheel mouse to be
12164    used to report to the application rather than scroll the
12165    window.</li>
12166
12167    <li>add menu entry and action to allow disabling xterm's
12168    assumption that the current font contains line-drawing
12169    characters if the font cells 1-31 are nonempty. Some fonts may
12170    have other characters (reported by Bruno Betro
12171    &lt;bruno@iami.mi.cnr.it&gt;).</li>
12172
12173    <li>add a check in <code>creat_as()</code> to ensure that the
12174    user really owns the logfile that has been opened.</li>
12175
12176    <li>add logic to implement SCO function-keys. (This is really
12177    incomplete, since I intend to revisit this and make xterm able
12178    to emulate scoansi better than just the function-keys).</li>
12179
12180    <li>add configure script option --enable-sco-fkeys, minor
12181    related fixes (patch by Dr Werner Fink).</li>
12182
12183    <li>fix typos in ctlseqs.ms (reported by Bram Moolenaar)</li>
12184
12185    <li>fix typo in sinstall.sh default for $TST_PROG (reported by
12186    Paul Gilmartin &lt;pg@sweng.stortek.com&gt;)</li>
12187  </ul>
12188
12189  <h1><a name="xterm_129" id="xterm_129">Patch #129 - 2000/2/26 -
12190  XFree86 3.9.18a</a></h1>
12191
12192  <ul>
12193    <li>improve initialization of ANSI colors by delaying
12194    allocation until each color is first used.</li>
12195
12196    <li>remove ifdef that prevented colorBD/colorUL/colorBL
12197    resources from working when 256-color configuration was built
12198    (reported by Todd Larason).</li>
12199
12200    <li>fix some minor inconsistencies in terminfo (Debian
12201    #58530).</li>
12202  </ul>
12203
12204  <h1><a name="xterm_128" id="xterm_128">Patch #128 - 2000/2/17 -
12205  XFree86 3.9.18</a></h1>
12206
12207  <ul>
12208    <li>correct logic for <code>oldXtermFKeys</code> resource,
12209    fixes a core dump when attempting to set it from the
12210    command-line (reported by Dr Werner Fink).</li>
12211
12212    <li>correct ifdef for meta-sends-escap so configure
12213    --disable-num-lock builds.</li>
12214  </ul>
12215
12216  <h1><a name="xterm_127" id="xterm_127">Patch #127 - 2000/2/12 -
12217  XFree86 3.9.17e</a></h1>
12218
12219  <ul>
12220    <li>add resource, popup menu entry and control sequence to
12221    allow changing the Delete key to send either DEL or the
12222    VT220-style Remove escape sequence.</li>
12223
12224    <li>remove logic for metaSendsEscape that would allow xterm to
12225    send <code>&lt;ESC&gt;[3~</code> before a function key that
12226    would begin with <code>&lt;ESC&gt;[3~</code> (request by
12227    Christian Weisgerber).</li>
12228
12229    <li>add missing action and documentation for
12230    meta-sends-escape.</li>
12231
12232    <li>correct a few typos in ctlseqs.ms (incorrect code for Cyan
12233    color)</li>
12234  </ul>
12235
12236  <h1><a name="xterm_126" id="xterm_126">Patch #126 - 2000/2/8 -
12237  XFree86 3.9.17c</a></h1>
12238
12239  <ul>
12240    <li>ensure that xterm will automatically activate the UTF-8
12241    mode whenever the name of the locale environment variable
12242    suggests that a UTF-8 locale is in use (patch by Markus Kuhn).
12243    This will help that by simply setting LC_CTYPE an entire system
12244    can be switched over to UTF-8, without users having to remember
12245    the UTF-8 command line options ("-u8", etc.) of the various
12246    applications. Command line options and X resource entries can
12247    still be used to override this default choice.</li>
12248
12249    <li>add old function-keys control sequences and popup menu
12250    entry, for compatibility with legacy X11R6 xterm.</li>
12251
12252    <li>revert translation of editing keypad "Delete" key to legacy
12253    \177.</li>
12254
12255    <li>simplify the color-resource data expressions with macro
12256    COLOR_RES, for later use in restructuring color
12257    initialization.</li>
12258
12259    <li>change encoding of wheel mouse (buttons 4 and 5) to avoid
12260    conflict with legacy mouse modifiers (suggested by Bram
12261    Moolenaar).</li>
12262  </ul>
12263
12264  <h1><a name="xterm_125" id="xterm_125">Patch #125 - 2000/1/31 -
12265  XFree86 3.9.17c</a></h1>
12266
12267  <ul>
12268    <li>make this work on OpenVMS (integrated patch by David
12269    Mathog).</li>
12270
12271    <li>rename some functions, e.g., <code>Index</code> to
12272    <code>xtermIndex</code> so that ports such as VMS which link
12273    externals ignoring case will not have library conflicts
12274    (reported by David Mathog).</li>
12275
12276    <li>correct logic of <code>do_reversevideo()</code>, which did
12277    not update the corresponding popup menu check mark (reported by
12278    David Mathog, this was a detail overlooked in patch #94).</li>
12279
12280    <li>change TRACE macro so semicolon is not within definition,
12281    making <em>indent</em> and similar programs work better.</li>
12282
12283    <li>add <code>depend</code> rule to Makefile.in</li>
12284
12285    <li>modify logic of boldColors resource to suppress it if an
12286    extended color control has been used, e.g., for 88-color or
12287    256-color mode (patch by Todd Larason).</li>
12288
12289    <li>revise logic that handles menus and input translation for
12290    keyboard type so only one can be selected at a time.</li>
12291
12292    <li>restore kdch1=\177 for the Sun function-key type, and make
12293    the the Delete key send DEL (\177) if the oldXtermFKeys
12294    resource is set.</li>
12295
12296    <li>rephrase logic and ifdef's for POSIX VDISABLE to avoid
12297    preprocessor expression that will not compile on NetBSD/x86
12298    1.4.1 (reported by Takaaki Nomura
12299    &lt;amadeus@yk.rim.or.jp&gt;).</li>
12300  </ul>
12301
12302  <h1><a name="xterm_124" id="xterm_124">Patch #124 - 2000/1/27 -
12303  XFree86 3.9.17b</a></h1>
12304
12305  <ul>
12306    <li>change coding of editing keypad's "Delete" key to
12307    &lt;escape&gt;[3~, in the default (Sun/PC) keyboard mode. This
12308    makes the terminfo kdch1 capability independent of the coding
12309    of the backarrow key, which sends either backspace (8) or DEL
12310    (127). The reason for doing this (compatibility with the
12311    <em>screen</em> program) outweighs the choice of DEL (127)
12312    which was used in X11R5/X11R6 xterms. The <em>screen</em>
12313    program translates whatever matches kdch1 into
12314    &lt;escape&gt;[3~, even if it happens to be the stty erase
12315    character.</li>
12316
12317    <li>add encoding for control/?, to work around xmodmap or key
12318    translations which may confuse backspace and delete. A
12319    control/? will send DEL (127), and a control/H will of course
12320    send backspace (8).</li>
12321
12322    <li>add encoding for kcbt to &lt;escape&gt;[Z (fixes Debian
12323    #54840).</li>
12324
12325    <li>minor correction to logic that encodes Sun and DEC function
12326    keys to avoid sending an escape sequence if the key symbol is
12327    not found in xterm's lookup table.</li>
12328
12329    <li>simplify ifdef's in main.c for POSIX VDISABLE so the "^-"
12330    pattern is more likely to be implemented when <em>imake</em>
12331    configures xterm (fixes Debian #55105).</li>
12332
12333    <li>change manpage to make it clearer what codes are sent by
12334    the backarrow key.</li>
12335  </ul>
12336
12337  <h1><a name="xterm_123" id="xterm_123">Patch #123 - 2000/1/22 -
12338  XFree86 3.9.17a</a></h1>
12339
12340  <ul>
12341    <li>add a note reserving OSC 51 for use in Emacs shell (request
12342    by Rob Mayoff &lt;mayoff@dqd.com&gt;).</li>
12343
12344    <li>correct a missing backslash in xterm-vt220 termcap.</li>
12345
12346    <li>cleanup remaining quoted includes, preferring bracketed
12347    form.</li>
12348
12349    <li>minor configure-script macro updates from tin and
12350    vile.</li>
12351
12352    <li>add configure-script option for using utempter library,
12353    adapted from Redhat 6.1 patch for XFree86 3.3.5</li>
12354
12355    <li>resync with XFree86 3.9.17a:
12356      <ul>
12357        <li>correction to QNX support (Frank Guangxin Liu)</li>
12358
12359        <li>some cosmetic changes that did not correct any reported
12360        problems.</li>
12361      </ul>
12362    </li>
12363  </ul>
12364
12365  <h1><a name="xterm_122" id="xterm_122">Patch #122 - 1999/12/28 -
12366  XFree86 3.9.16f</a></h1>
12367
12368  <ul>
12369    <li>move the suggested wheel-mouse button translations into
12370    charproc.c to simplify customization. Correct some minor logic
12371    errors in the support for buttons 4 and 5, used for wheel mice
12372    (reported by Bram Moolenaar).</li>
12373
12374    <li>implement <em>metaSendsEscape</em> resource, with
12375    corresponding control sequence and menu entry. Like
12376    <em>eightBitInput</em>, this causes xterm to send ESC prefixing
12377    the given key, but applies to all keys and is independent of
12378    the 8-bit/7-bit terminal setting. (requests by Alexander V
12379    Lukyanov and Marc Feeley).</li>
12380
12381    <li>correct potential indexing with negative subscript in
12382    udk_lookup(), (reported by Ian Collier
12383    &lt;Ian.Collier@comlab.ox.ac.uk&gt;).</li>
12384
12385    <li>modify configure script that sets TERMINFO_DIR to use
12386    ${prefix} rather than /usr if the --prefix option was specified
12387    (request by Zdenek Sekera &lt;zs@sgi.com&gt;).</li>
12388
12389    <li>modify checks for repeat-character control sequence to test
12390    the character class against xterm's state table, rather than
12391    the isprint() macro (patch by Alexander V Lukyanov).</li>
12392
12393    <li>change several functions to macros to improve speed</li>
12394
12395    <li>two corrections to simulation of bold font via
12396    overstriking:
12397      <ul>
12398        <li>use clipping to avoid leaving trash at end of the text,
12399        and</li>
12400
12401        <li>add brackets so wide-character logic does not
12402        fall-through into the overstriking logic (reported by Marc
12403        Feeley &lt;feeley@IRO.UMontreal.CA&gt;)</li>
12404      </ul>
12405    </li>
12406
12407    <li>add several entries to termcap file to make it have the
12408    same set of aliases as the terminfo file.</li>
12409
12410    <li>scale the color values used for xterm-256color terminfo
12411    entry to 0..1000, as expected by ncurses.</li>
12412
12413    <li>change xterm-r6 terminfo definitions for F1-F4 to match
12414    program.</li>
12415
12416    <li>Add QNX/Neutrino support (Frank Guangxin Liu
12417    &lt;frank@ctcqnx4.ctc.cummins.com&gt;)</li>
12418  </ul>
12419
12420  <h1><a name="xterm_121" id="xterm_121">Patch #121 - 1999/11/14 -
12421  XFree86 3.9.16c</a></h1>
12422
12423  <ul>
12424    <li>change label on "Sun/PC Keyboard" popup menu entry to
12425    "VT220 Keyboard", since the checked state corresponds to VT220
12426    rather than Sun/PC.</li>
12427
12428    <li>add configure test CF_UTMP_UT_XSTATUS to handle the
12429    variants of utmp exit status (reports by Dave Ellement, Jeremie
12430    Petit, Tomas Vanhala).</li>
12431
12432    <li>amend treatment of ALT key (see <a href="#xterm_94">patch
12433    #94</a>) so that if ALT is used as a modifier in key
12434    translations, then no parameter will be sent in escape
12435    sequences for Sun/PC function keys (request by Dr Werner
12436    Fink).</li>
12437
12438    <li>modify default for OPT_I18N_SUPPORT to assume that
12439    <code>XtSetLanguageProc()</code> is available in X11R5.
12440      <p>Caveat: <code>XtSetLanguageProc()</code> was added fairly
12441      late in the X11R5 patches, and some vendors shipped buggy
12442      versions of this function (request by Tomas Vanhala).</p>
12443    </li>
12444
12445    <li>correct configure macro CF_SYSV_UTMP to test-link with
12446    functions consistent with the header, e.g., getutent() for
12447    utmp.h and getutxent() for utmpx.h (reported by Greg
12448    Smith).</li>
12449
12450    <li>modify terminfo entry for <code>xterm-xfree86</code> to
12451    reflect modifiers for shift and control (from a patch by
12452    Alexander V Lukyanov).</li>
12453
12454    <li>modify terminfo entry for <code>xterm-sun</code> to match
12455    the function-key definitions in ncurses. The pageup/pagedown
12456    and related function keys correspond to the Sun keyboard, which
12457    does not necessarily correspond with X's notion of those
12458    keys.</li>
12459
12460    <li>modify treatment of XK_Delete keysym so it transmits
12461    parameterized VT220-style <code>&lt;ESC&gt;[3~</code> if
12462    modifiers (shift, control alt) are given (request by Alexander
12463    V Lukyanov).</li>
12464
12465    <li>corrected misspelled resource name in command-line option
12466    for HP function keys.</li>
12467  </ul>
12468
12469  <h1><a name="xterm_120" id="xterm_120">Patch #120 - 1999/10/28 -
12470  XFree86 3.9.16c</a></h1>
12471
12472  <ul>
12473    <li>refine the change to <code>SGR_Background()</code> in patch
12474    #119, by not flushing the pending scrolling operation if the
12475    background color is not actually changing. This combination
12476    occurs when using color-ls to display a long listing, since
12477    each line ends with an SGR0 which affects only the foreground
12478    color. The unnecessary flushing made it noticeably slower
12479    (reported by D Roland Walker &lt;walker@pobox.com&gt;).</li>
12480
12481    <li>remove obsolete documentation about modifiers which can be
12482    returned in mouse tracking mode, and modify logic to ignore
12483    modifiers other than the existing ones, e.g., NumLock (prompted
12484    by discussions with Christian Weisgerber and Brad Pepers
12485    &lt;brad@linuxcanada.com&gt;).</li>
12486
12487    <li>use free bit from obsolete shift-modifier coding of mouse
12488    tracking button events to encode buttons 4 and 5, e.g., for a
12489    wheel mouse (requests by Brad Pepers and Bram Moolenaar).</li>
12490
12491    <li>correct a place where the ptyInitialErase logic did not set
12492    the backarrowKey state, and modify it further to use tgetstr()
12493    rather than parse the termcap data returned from tgetent() so
12494    the ptyInitialErase logic will work when xterm is linked with a
12495    terminfo library (based on a patch by Dr Werner Fink
12496    &lt;werner@suse.de&gt;).</li>
12497
12498    <li>fix definition of HAVE_UTMP_UT_HOST for ISC configuration
12499    (patch by Michael Rohleder).</li>
12500
12501    <li>improve configure script's utmp tests (based on reports by
12502    Greg Smith for os390, and David Ellement for HPUX).</li>
12503
12504    <li>modify sinstall.sh to use uid=0 rather than 'root' to
12505    determine if the installer is privileged. This is needed on
12506    some systems since more than one account may be privileged
12507    (report by Greg Smith).</li>
12508
12509    <li>add an application resource, <code>messages</code> (and a
12510    corresponding -/+mesg option) which controls the initial
12511    permission on the terminal: if messages is set to true (the
12512    default), behavior is as without the patch; if it is set to
12513    false (as per -mesg), the terminal is opened in mode 0600, thus
12514    producing the effect of the <code>mesg n</code> command. This
12515    is useful for users who want to redirect all their messages to
12516    one particular xterm: it is more pleasant to do this with xterm
12517    resources than with explicit calls to the <code>mesg</code>
12518    program (patch, description by David Madore
12519    &lt;david.madore@ens.fr&gt;).</li>
12520  </ul>
12521
12522  <h1><a name="xterm_119" id="xterm_119">Patch #119 - 1999/10/16 -
12523  XFree86 3.9.16c</a></h1>
12524
12525  <ul>
12526    <li>add responses (DA and DSR) for DEC locator mode</li>
12527
12528    <li>add coding for ANSI color to DA response</li>
12529
12530    <li>implement UTF-8 translation for Media Copy (print)
12531    operations.</li>
12532
12533    <li>implement vt320 control sequences for Print Composed Main
12534    Display and for Print All Pages. The latter directs xterm to
12535    print the current screen as well as the scrollback buffer.</li>
12536
12537    <li>correct error in _GNU_SOURCE configure test, which left it
12538    always defined.</li>
12539
12540    <li>add more information, i.e., with strerror for some system
12541    calls in the main program which may fail due to insufficient
12542    permissions (prompted by a problem report for <code>-C</code>
12543    by Jeremie Petit &lt;Jeremie.Petit@digital.com&gt;).</li>
12544
12545    <li>add workaround for conflict between &lt;X11/Xpoll.h&gt; and
12546    &lt;sys/select.h&gt; on AIX 4.3 (Richard Griswold
12547    &lt;griswold@acm.org&gt;).</li>
12548
12549    <li>add configure script test to resolve conflict between
12550    between &lt;X11/Xpoll.h&gt; and &lt;sys/select.h&gt;</li>
12551
12552    <li>modify translation of UTF-8 sequences to reject "overly
12553    long" variations (patch by Markus Kuhn).</li>
12554
12555    <li>remove <code>utf8controls</code> resource, since Markus'
12556    change removes the corresponding logic.</li>
12557
12558    <li>correct a case where colors were not rendered properly.
12559    This happened when an application inserted several lines, then
12560    changed colors. If this was done all in one write, then there
12561    would be no intervening refresh, and the new color was applied
12562    to the pending scrolling operation which was awaiting the next
12563    refresh (reported by Stephane Chazelas
12564    &lt;Stephane_Chazelas@Raytheon.com&gt;).</li>
12565  </ul>
12566
12567  <h1><a name="xterm_118" id="xterm_118">Patch #118 - 1999/10/5 -
12568  XFree86 3.9.16b</a></h1>
12569
12570  <ul>
12571    <li>refine configure test for utmp versus utmpx, to build on
12572    HP-UX 10.x (reported by David Ellement).</li>
12573
12574    <li>move the configure check for <code>const</code> after the
12575    check for ANSI C compiler options, since those may be required
12576    to make it work properly on HP-UX.</li>
12577
12578    <li>add configure test for defining
12579    <code>_GNU_SOURCE</code></li>
12580
12581    <li>correction to <em>-hold</em> option, ensure that if data is
12582    already in the output buffer that it will be displayed before
12583    closing the PTY.</li>
12584
12585    <li>move the configure checks for setuid install of xterm into
12586    a script to avoid installing it setuid'd to a non-root user
12587    (reported by Adam Sulmicki &lt;adam@cfar.umd.edu&gt;).</li>
12588
12589    <li>correct configure script's check for termcap.h to avoid
12590    using ncurses' version of it on systems that have a working
12591    <code>tgetent()</code> function. This is needed to make
12592    <code>resize</code> work properly.</li>
12593
12594    <li>fix some typography in ctlseqs.ms description of DEC
12595    locator events (reported by Stephen P Wall).</li>
12596  </ul>
12597
12598  <h1><a name="xterm_117" id="xterm_117">Patch #117 - 1999/9/29 -
12599  XFree86 3.9.16b</a></h1>
12600
12601  <ul>
12602    <li>change order of tests in configure script for utmp and
12603    utmpx to test utmpx first, to compile on Solaris (reported by
12604    Leena Heino &lt;liinu@uta.fi&gt; and Patrik Hagglund
12605    &lt;patha@ida.liu.se&gt;).</li>
12606
12607    <li>add a configure test for utmp.ut_xtime, needed for SCO
12608    Openserver, and for lastlog, needed for Redhat 6.0, to refine
12609    the utmp/utmpx auto-configure.</li>
12610
12611    <li>remove a spurious comma in an #undef (reported by David
12612    Green &lt;greendjf@cvhp152.marconicomms.com&gt; and David
12613    Ellement &lt;ellement@sdd.hp.com&gt; both on HP-UX, whose
12614    compiler does care about syntax).</li>
12615
12616    <li>change ifdef's using __CYGWIN32__ to __CYGWIN__ (reported
12617    by Suhaib M. Siddiqi &lt;Ssiddiqi@InspirePharm.Com&gt;, who is
12618    told that the next Cygnus release will drop that symbol in
12619    their next release).</li>
12620
12621    <li>minor cleanup of ifdef's for makeColorPair (patch by
12622    Stephen P Wall).</li>
12623
12624    <li>work around problem observed in XFree86 3.3.5 (patch by
12625    Alexander V Lukyanov, Redhat #5419). From the problem report:
12626      <blockquote>
12627        <p>xterm consumes cpu when selecting text with mouse
12628        (holding down left mouse button) and when a program working
12629        under the xterm outputs something to stdout.</p>
12630
12631        <p>Easy way to reproduce:<br>
12632        <code>while :; do echo aaa; sleep 1; done</code><br>
12633        (while this runs, select text and hold down left mouse
12634        button) watch cpu load.<br>
12635        release left mouse button - spinning stops.</p>
12636      </blockquote>
12637    </li>
12638  </ul>
12639
12640  <h1><a name="xterm_116" id="xterm_116">Patch #116 - 1999/9/25 -
12641  XFree86 3.9.16a</a></h1>
12642
12643  <ul>
12644    <li>modify warning if change-ownership of PTY fails; some
12645    configurations may not happen to have old-style pty's (reported
12646    by Bob Maynard).</li>
12647
12648    <li>improve check in configure script for group ownership of
12649    installed xterm; some platforms use the -g option of ls to
12650    toggle group off rather than on (reported by Greg Smith).</li>
12651
12652    <li>minor improvement to toolbar geometry, to make it not
12653    resizable. This still is not satisfactory (but is usable) since
12654    the toolbar overlaps the xterm widget if the window is resized
12655    to make it smaller. It appears that some work is needed for the
12656    xterm widget's geometry management to make it function
12657    properly.</li>
12658
12659    <li>implement configure script tests for utmp, tty group.</li>
12660
12661    <li>implement <em>-hold</em> option, allowing users to retain
12662    the window after a shell has exited (this is recently an FAQ,
12663    but prompted by a comment by Joachim Plaettner-Hochwarth
12664    &lt;plaettner@aem.umn.edu&gt; in comp.unix.programmer, that the
12665    IRIX winterm provides this option).</li>
12666
12667    <li>add support for DEC Locator control sequences for xterm
12668    (integrated patch by Stephen P Wall):
12669
12670      <pre>
12671                DECEFR, "Enable Filter Rectangle"
12672                DECELR, "Enable Locator Reports"
12673                DECSLE, "Select Locator Events"
12674                DECRQLP, "Request Locator Position"
12675</pre>
12676      <p>This allows the xterm mouse to be used with applications
12677      that use the DEC Locator sequences, such as VAX Tpu, or SMG$
12678      based applications.</p>
12679    </li>
12680
12681    <li>improve print action (patch by Matthias Baake). From his
12682    notes,
12683      <ul>
12684        <li>Bug 1<br>
12685        Underlined text is preceded by ESC&nbsp;[0;2m . This should
12686        be ESC&nbsp;[0;4m&nbsp;, ESC&nbsp;[2m doesn't seem to have
12687        any effect. (print.c/send_SGR)</li>
12688
12689        <li>Bug 2<br>
12690        The check for the last non-empty column (while (last &gt;
12691        0) ... in print.c/printLine) omits the rightmost column of
12692        the screen, the loop must start with last =
12693        screen-&gt;max_col+1 instead of last =
12694        screen-&gt;max_col.</li>
12695
12696        <li>Bug 3<br>
12697        Any attributes of the first character (and of all
12698        immediately following characters with the same attributes)
12699        are ignored. The variable attr (print.c/printLine) should
12700        be initialized with 0, not with *a &amp; SGR_MASK.</li>
12701      </ul>
12702    </li>
12703  </ul>
12704
12705  <h1><a name="xterm_115" id="xterm_115">Patch #115 - 1999/9/18 -
12706  XFree86 3.9.16a</a></h1>
12707
12708  <ul>
12709    <li>integrated changes by Stephen P Wall to implement an
12710    88-color model for systems where 256-colors cannot be
12711    allocated.</li>
12712
12713    <li>when 256-color configuration is compiled, colored bold and
12714    underlining is not available; ifdef'd to avoid possible odd
12715    effects in this case (reported by Stephen P Wall).</li>
12716
12717    <li>add resource <em>cacheDoublesize</em>, to limit the caching
12718    of font information for double-sized characters. This addresses
12719    a problem reported by Aryeh Koenigsberg for X terminals with
12720    limited font memory.</li>
12721
12722    <li>modify treatment of line-drawing characters in UTF-8 mode
12723    so that the Unicode values are used rather than the C0 codes
12724    for storing the translated characters (request by Markus
12725    Kuhn).</li>
12726  </ul>
12727
12728  <h1><a name="xterm_114" id="xterm_114">Patch #114 - 1999/9/15 -
12729  XFree86 3.9.16</a></h1>
12730
12731  <ul>
12732    <li>add configure script checks for Athena headers and
12733    libraries under /usr/contrib to work on HPUX (reported by
12734    several people: David Nixon &lt;djn@csc.liv.ac.uk&gt; Aryeh
12735    Koenigsberg &lt;aryeh.koenigsberg@telrad.co.il&gt; Johannes
12736    M&auml;hner &lt;johanm@camline.com&gt; Andrew Gaylard
12737    &lt;andrew.gaylard@bsw.co.za&gt;).</li>
12738
12739    <li>add check to configure script if xterm is installed setgid
12740    rather than setuid, since wtmp and utmp may be installed with
12741    group-writable permissions other than root (based on Debian bug
12742    report #7112 by Bo Branten &lt;bosse@ing.umu.se&gt;).</li>
12743
12744    <li>rewrote logic that removes data from termcap entry, e.g.,
12745    for titeInhibit, to make it less likely to remove the wrong
12746    data.</li>
12747
12748    <li>correct logic which checks for missing characters used for
12749    line drawing. The 0 character was tested unnecessarily, leading
12750    to some inefficiency when rendering.</li>
12751
12752    <li>change termcap capability which is used as input or output
12753    of ptyInitialErase logic from <em>kD</em> to <em>kb</em>.
12754    Christian Weisgerber &lt;naddy@mips.rhein-neckar.de&gt; pointed
12755    out in effect that <em>kD</em> (in terminfo <em>kdch1</em>)
12756    should correspond to the control sequence for <em>dch1</em>,
12757    which deletes from the current position toward the right.</li>
12758
12759    <li>check for failure to change ownership of the PTY device and
12760    warn when xterm is running setuid'd to root. This was reported
12761    to happen on the FreeBSD/NetBSD/OpenBSD systems as a result of
12762    the chflags() call.</li>
12763
12764    <li>add xterm-noapp terminfo entry to illustate a nominally
12765    bash-compatible terminal description.</li>
12766  </ul>
12767
12768  <h1><a name="xterm_113" id="xterm_113">Patch #113 - 1999/8/15 -
12769  XFree86 3.9.15b</a></h1>
12770
12771  <p>Several fixes. The main one is a first draft of pulldown
12772  menus. It's not complete (I have some minor/annoying geometry
12773  problems to correct), but is usable. Once it's complete I plan to
12774  add a menu to support additional selections that won't fit on the
12775  current popup menus. Also, this fits into my longterm plan to
12776  allow configuring with Motif libraries.</p>
12777
12778  <ul>
12779    <li>correct error in input conversion for NRC mode (reported by
12780    Stefan Traby &lt;stefan@sime.com&gt;).</li>
12781
12782    <li>fix initialization of num_lock data in Misc struct (since
12783    those fields of the reference widget aren't initialized), and
12784    add logic to deal with XVision whose NumLock key does not
12785    transmit but does alter keypad state.</li>
12786
12787    <li>correct a missing return-value in get_pty(), for SCO</li>
12788
12789    <li>add E2A fix for backspace (patch by Greg Smith), i.e.,<br>
12790    #define VAL_INITIAL_ERASE A2E(127)</li>
12791
12792    <li>correct foreground color within cursor outline when the
12793    window is unfocused (reported by Stephane Chazelas).</li>
12794
12795    <li>corrected position of scrollbar set in ResizeScrollBar(),
12796    which left it positioned incorrectly if the right scrollbar
12797    were enabled from the popup menu but was not initially enabled.
12798      <p>I have noticed some additional problems with
12799      right-scrollbar on X11R5 which I will correct later.</p>
12800    </li>
12801
12802    <li>integrate changes by Jean-Claude Michot for QNX from
12803    XFree86 3.3.4c</li>
12804
12805    <li>add resources menuBar/MenuBar, menuHeight/MenuHeight for
12806    later use in toolbar geometry.</li>
12807
12808    <li>add configure option --enable-toolbar</li>
12809
12810    <li>add missing definition to make ziconbeep logic not
12811    compile-in when configure script disables it.</li>
12812
12813    <li>add configure-check for input-method support in X
12814    libraries</li>
12815  </ul>
12816
12817  <h1><a name="xterm_112" id="xterm_112">Patch #112 - 1999/7/17 -
12818  XFree86 3.9Pw</a></h1>
12819
12820  <ul>
12821    <li>add null-pointer check to FlushLog(), fixes a core dump
12822    when both -l and -lf options are used when xterm is configured
12823    with wide-character support.</li>
12824
12825    <li>remove "ISO" case for SD, which was due to a typographical
12826    error in ECMA-48 (reported by Paul Williams
12827    &lt;paul@celigne.co.uk&gt; for vttest).</li>
12828
12829    <li>add "FILES" section to manpage.</li>
12830
12831    <li>generate header file to initialize default resources for
12832    colors 16-255.</li>
12833
12834    <li>fixes for os390 (Greg Smith):
12835      <ul>
12836        <li>add README.os390</li>
12837
12838        <li>use the pty_search() function to find an available
12839        pty/tty pair.</li>
12840
12841        <li>move E2A() call out of getXtermCell() to SaveText()
12842        function so it will be available in all
12843        configurations.</li>
12844      </ul>
12845    </li>
12846
12847    <li>patches by Todd Larason:
12848      <ul>
12849        <li>enable SGR 48 5 in ISO color mode, not just 256 color
12850        mode</li>
12851
12852        <li>change configure's --disable-256-color option to
12853        --enable-256-color, to match its effect</li>
12854
12855        <li>fix OSC 4 xx ? (report ansi color) to report a string
12856        which can actually be used to set the color back</li>
12857
12858        <li>fix OSC 4 xx yy (change ansi color) to not allow
12859        setting colors &gt; 15 in 16 color mode</li>
12860
12861        <li>simplify the COLOR_ settings a bit in ptyx.h, along
12862        with setting NUM_ANSI_COLORS needed for #1 and #4
12863        above</li>
12864
12865        <li>correct string-terminator code passed for reference to
12866        OSC responses; when in 7-bit mode, only the final byte of
12867        ST was seen.</li>
12868
12869        <li>Allow multiple color #;name pairs in OSC 4, and
12870        document changes to match.</li>
12871      </ul>
12872    </li>
12873  </ul>
12874
12875  <h1><a name="xterm_111" id="xterm_111">Patch #111 - 1999/7/10 -
12876  XFree86 3.9Pw</a></h1>
12877
12878  <ul>
12879    <li>add control sequences for specifying the RGB value of the
12880    ANSI colors, and for configuring with 256 colors (patch by Todd
12881    Larason &lt;jtl@molehill.org&gt;). I made the default
12882    configuration to 16-colors, because xterm uses the default
12883    color map (which has only 256 colors).</li>
12884
12885    <li>correct an error in DCS $ q m reporting for colors 8-15
12886    (Todd Larason).</li>
12887
12888    <li>add test/demo script for double size characters. Used this
12889    to test/correct display of double size characters that should
12890    wrap, underlined double size characters.</li>
12891
12892    <li>increased cache size for double size fonts to 8, to allow
12893    for both normal and bold fonts (discussion with Aryeh
12894    Koenigsberg &lt;aryeh.koenigsberg@telrad.co.il&gt;).</li>
12895
12896    <li>add fixes for port to OS390 aka MVS (integrated patch from
12897    Greg Smith &lt;rys@epaibm.rtpnc.epa.gov&gt;). OS390 uses EBCDIC
12898    rather than ASCII.</li>
12899
12900    <li>correct an off-by-one in binary search limits in
12901    keysym2ucs.c (Markus Kuhn).</li>
12902
12903    <li>implement logging for UTF-8 mode. The output is written in
12904    UTF-8 form.</li>
12905  </ul>
12906
12907  <h1><a name="xterm_110" id="xterm_110">Patch #110 - 1999/6/29 -
12908  XFree86 3.9Pu</a></h1>
12909
12910  <ul>
12911    <li>If colorMode is enabled by default, compile-in default
12912    resources to match the colors listed in XTerm-col.ad (this
12913    should fix a longstanding FAQ).</li>
12914
12915    <li>added new OSC&nbsp;3&nbsp;;&nbsp;PROPNAME=VALUE&nbsp;ST
12916    escape sequence to set an arbitrary X property on the top level
12917    xterm X11 window. Omit "=VALUE" to delete the X property (patch
12918    by Greg Badros &lt;gjb@cs.washington.edu&gt;).</li>
12919
12920    <li>change internal flag used for <em>utf8controls</em>
12921    resource so we allow 31-bit range of characters (suggested by
12922    Thomas Wolff).</li>
12923
12924    <li>add check for 16-bit characters in OSC strings, change them
12925    to '?' (reported by Thomas Wolff).</li>
12926
12927    <li>modify logic of same_font_name() to avoid trying to
12928    interpret both parameters as wildcard patterns. That does not
12929    (cannot) work, and in some instances the font server will
12930    return unresolved wildcards for the normal or bold fontnames,
12931    making them match inadvertently, triggering the fallback
12932    overstrike logic (reported by Tim Adye).</li>
12933  </ul>
12934
12935  <h1><a name="xterm_109" id="xterm_109">Patch #109 - 1999/6/23 -
12936  XFree86 3.9Pt</a></h1>
12937
12938  <ul>
12939    <li>correct range-check from patch #108, which resulted in not
12940    being able to select from the scrollback buffer (reported by
12941    Tim Adye &lt;T.J.Adye@rl.ac.uk&gt;)</li>
12942
12943    <li>correct "no available ptys" problem with Cygwin B20.1
12944    (patch by Tim Adye).</li>
12945
12946    <li>modified install-ti rule in Makefile.in to allow override
12947    of the terminfo directory when doing a "make install", i.e., by
12948    assigning to TERMINFO_DIR (request by Zdenek Sekera
12949    &lt;zs@sgi.com&gt;).</li>
12950
12951    <li>added install-full rule to Makefile.in</li>
12952
12953    <li>resync mkdirs.sh and install.sh scripts against current
12954    autoconf</li>
12955
12956    <li>implement $(DESTDIR) in Makefile.in, making it simple to
12957    install xterm and associated files into a directory just for
12958    packaging a binary release (suggested by CaT
12959    &lt;cat@zip.com.au&gt;).</li>
12960
12961    <li>change IChar type to unsigned, rather than unsigned short,
12962    making room for a flag to keep with 16-bit characters to
12963    prevent them from being interpreted as C0 or C1 controls
12964    (reported by Thomas Wolff).</li>
12965
12966    <li>correct a typo from patch #107, incorrect array name, in
12967    the filterUTF8 function (patch by Bruno Haible
12968    &lt;haible@ilog.fr&gt;)</li>
12969
12970    <li>add <em>utf8controls</em> resource to specify whether xterm
12971    should interpret 16-bit characters unpacked from UTF-8 form as
12972    control characters if they happen to fall into that range. This
12973    behavior is left unspecified by the Unicode standard (request
12974    by Thomas Wolff).</li>
12975
12976    <li>modify handling of OSC to recover if application sends
12977    16-bit characters with codes above 255. We cannot display them
12978    as is, but translate out-of-range characters to a '?' (reported
12979    by Thomas Wolff).</li>
12980  </ul>
12981
12982  <h1><a name="xterm_108" id="xterm_108">Patch #108 - 1999/6/19 -
12983  XFree86 3.9Ps</a></h1>
12984
12985  <ul>
12986    <li>add a range-check to LastTextCol(), to guard against
12987    indexing before the beginning of the scrollback buffer. This
12988    appears to happen with certain fonts under X11R5 (reported by
12989    Stephane Chazelas &lt;Stephane_Chazelas@Raytheon.com&gt;).</li>
12990
12991    <li>implement resource <em>boldMode</em>, to allow disabling
12992    the simulation of bold fonts when the bold and normal fonts are
12993    not different (requested by Will Day
12994    &lt;willday@rom.oit.gatech.edu&gt;).</li>
12995
12996    <li>change the atom "UTF-8" to "UTF8_STRING", and fixes a few
12997    bugs in the UTF-8 selection (patch by Juliusz Chroboczek).</li>
12998
12999    <li>correct logic of binary-search in keysym2ucs.c (patch by
13000    Markus Kuhn).</li>
13001
13002    <li>add special interpretation of keysym codes above 0x1000000
13003    as the corresponding UCS value plus 0x1000000 (patch by Markus
13004    Kuhn).</li>
13005  </ul>
13006
13007  <h1><a name="xterm_107" id="xterm_107">Patch #107 - 1999/6/12 -
13008  XFree86 3.9Pq</a></h1>
13009
13010  <ul>
13011    <li>Two changes from Stephen P Wall. From his description:
13012      <blockquote>
13013        <p>The first change is simple - I added ESC[3J to erase the
13014        stored lines above the screen. That's what the changes to
13015        util.c and ctlseqs.ms are.</p>
13016
13017        <p>The second change is to get the blinking cursor working.
13018        I took out the cursorBlinkTime resource, and put in
13019        cursorBlink (Boolean), cursorOnTime (time cursor is on in
13020        msecs) and cursorOffTime, and added a cursorblink item to
13021        the vtMenu to enable/disable it.</p>
13022      </blockquote>
13023    </li>
13024
13025    <li>improve selection (integrated patch by Juliusz Chroboczek).
13026    From his description:
13027      <blockquote>
13028        <p>With this patch, selection conversion works
13029        properly:</p>
13030
13031        <pre>
13032        ISO 8859-1 xterm -&gt; ISO 8859-1 xterm (transferred as STRING);
13033        ISO 8859-1 xterm -&gt; UTF-8 xterm (transferred as STRING);
13034        UTF-8 xterm -&gt; ISO 8859-1 xterm (transferred as STRING);
13035        UTF-8 xterm -&gt; UTF-8 xterm (transferred as UTF-8).
13036</pre>
13037        <p>It will not work properly if one xterm is in, say, ISO
13038        8859-2. Actually, for this case xterm breaks the ICCCM
13039        routinely (sending ISO 8859-2 data as STRING), so I
13040        wouldn't worry too much about it. I have not changed the
13041        behaviour in eight-bit mode in any way.</p>
13042      </blockquote>
13043    </li>
13044  </ul>
13045
13046  <h1><a name="xterm_106" id="xterm_106">Patch #106 - 1999/6/9 -
13047  XFree86 3.9Pq</a></h1>
13048
13049  <ul>
13050    <li>remove duplicate fix for OpenBSD in resize.c</li>
13051
13052    <li>correct logic in ScreenWrite, which did not reset the high
13053    bytes of 16-bit characters when overwriting them with a 8-bit
13054    character string (reported by Thomas Wolff).</li>
13055
13056    <li>provide limited support for input of UTF-8 16-bit data by a
13057    lookup table (integrated patch by Markus Kuhn).</li>
13058
13059    <li>correct check in non_blank_line to ensure we're in
13060    wide-character mode before looking at the high bytes, for
13061    InsertChar.</li>
13062  </ul>
13063
13064  <h1><a name="xterm_105" id="xterm_105">Patch #105 - 1999/6/5 -
13065  XFree86 3.9Pp</a></h1>
13066
13067  <ul>
13068    <li>implement new resource <em>trimSelection</em>, which allows
13069    xterm to trim trailing blanks from selected lines. This does
13070    not affect the highlighting. (reported by several people using
13071    <em>mutt</em>, including Hans Morten Kind &lt;edphk@uib.no&gt;,
13072    Jeremy &lt;jeremy@exit109.com&gt; and (Michael Fuller
13073    &lt;msf@mds.rmit.edu.au&gt;).</li>
13074
13075    <li>include term.h in resize for OpenBSD (patch by Matthieu
13076    Herrb).</li>
13077
13078    <li>correct logic for UTF-8 in functions that hide and show the
13079    cursor; it was displaying a space whenever the low byte of the
13080    character at the cursor position was zero (reported by Thomas
13081    Wolff &lt;Thomas.Wolff@icn.siemens.de&gt;).</li>
13082  </ul>
13083
13084  <h1><a name="xterm_104" id="xterm_104">Patch #104 - 1999/5/30 -
13085  XFree86 3.9Pn</a></h1>
13086
13087  <p>This is a resync patch against XFree86 3.9Pn, reflecting
13088  changes which were submitted by Branden Robinson, who worked with
13089  Wichert Akkerman &lt;wichert@cs.leidenuniv.nl&gt; to set up
13090  ifdef's to handle GNU libc 2.1, and use getpt() which lets xterm
13091  avoid having to know the actual PTY name.</p>
13092
13093  <p>I have also added a few fixes for signed/unsigned mismatches,
13094  and corrected a problem in the configure script (the UTF-8 code
13095  was always configured since the Imakefile defines this).</p>
13096
13097  <h1><a name="xterm_103" id="xterm_103">Patch #103 - 1999/5/14 -
13098  XFree86 3.9Pm</a></h1>
13099
13100  <ul>
13101    <li>correct selection logic: I omitted an offset that accounts
13102    for the distance into the scrollback buffer when rewriting this
13103    for <a href="#xterm_101">patch #101</a>. Also fixed a similar
13104    problem for selecting double size characters from the
13105    scrollback buffer (first was reported by D Roland Walker
13106    &lt;walker@pobox.com&gt;).</li>
13107
13108    <li>improved support for Unix98 PTY's, using patch in Debian
13109    bug report #35650, by J.H.M. Dassen
13110    &lt;jdassen@wi.leidenuniv.nl&gt;. From the patch description:
13111      <blockquote>
13112        <ul>
13113          <li>No longer links xterm against libutil on a glibc2.1
13114          system. libutil is a compatibility library and should
13115          only be used when necessary. Rather than having get_pty()
13116          use openpty() from this compatibility library, use the
13117          real UNIX98 pty support in get_pty() (open()ing the
13118          master pty, through getpt() if available (glibc
13119          extension)). Use openpty() only under glibc2.0.</li>
13120
13121          <li>GNU libc2 is not Linux-specific; already it runs on
13122          the Hurd. It provides the UNIX98 pty functions (plus the
13123          getpt() extension), regardless of the underlying OS.
13124          Changed two constructs to look for GNU libc2 only, not
13125          GNU libc2 on Linux.</li>
13126        </ul>
13127      </blockquote>
13128    </li>
13129
13130    <li>improve font configuration, by checking if the user's
13131    resource settings for normal and bold fonts give the same font
13132    sizes (fixes problem reported by Peter Waltenberg
13133    &lt;peterw@dascom.com&gt;).</li>
13134  </ul>
13135
13136  <h1><a name="xterm_102" id="xterm_102">Patch #102 - 1999/5/12 -
13137  XFree86 3.9Pm</a></h1>
13138
13139  <ul>
13140    <li>revert change to openpty call in <a href="#xterm_101">patch
13141    #101</a>; this causes xterm to fail on DEC-Alpha OSF/1 4.0B
13142    (reported by H Merijn Brand).</li>
13143
13144    <li>modify print.c to move include of stdio.h after the
13145    autoconf'd xtermcfg.h since HP's ANSI C compiler otherwise sees
13146    inconsistent prototype for getopt, probably due to problem with
13147    const (reported by H Merijn Brand).</li>
13148  </ul>
13149
13150  <h1><a name="xterm_101" id="xterm_101">Patch #101 - 1999/5/10 -
13151  XFree86 3.9Pm</a></h1>
13152
13153  <ul>
13154    <li>moved includes and definitions for 'select' from data.h to
13155    xterm.h to fix problem introduced by prototype for getPtyData,
13156    part of UTF-8 changes (reported by Jens Schleusener
13157    &lt;Jens.Schleusener@dlr.de&gt;)</li>
13158
13159    <li>added "Meta &lt;Btn2Down&gt;:clear-saved-lines()" default
13160    translation (patch by H Merijn Brand)</li>
13161
13162    <li>fixes to configure script and ifdef's in main.c to build on
13163    a HP9000/D390 (hppa-2.0w) running HP-UX 11.00 (64 bit) with
13164    egcs 1.1.2 and HP's ANSI C compiler (patch by H Merijn Brand
13165    &lt;PROCURA_BV@CompuServe.com&gt;)</li>
13166
13167    <li>add more parentheses in ifdef's (patch by Bob
13168    Maynard).</li>
13169
13170    <li>eliminate conflicting definitions for USE_TERMINFO in
13171    resize.c (reported by Jeremy Buhler).</li>
13172
13173    <li>change openpty call to pass NULL rather than ttydev
13174    parameter, since that was used only to estimate the length of
13175    the corresponding data, and may not really be long enough
13176    (reported by Andreas Jaeger)</li>
13177
13178    <li>update description in xterm manpage for character class
13179    table, which said it handles only 7-bit codes.</li>
13180
13181    <li>correct a typo in ScrnDeleteChar() which made it not clear
13182    the high byte of wide-character data.</li>
13183
13184    <li>add logic to convert selection to UTF-8 form when
13185    appropriate. This makes select/paste "work", but further work
13186    is needed to make UTF-8 recognized as a locale in Xlib.</li>
13187
13188    <li>correct right-limit check when selecting double-width
13189    characters.</li>
13190
13191    <li>change default answerback response to an empty string.</li>
13192  </ul>
13193
13194  <h1><a name="xterm_100" id="xterm_100">Patch #100 - 1999/5/3 -
13195  XFree86 3.9Pl</a></h1>
13196
13197  <ul>
13198    <li>Correct a typo in the default resource value for
13199    backarrowKeyIsErase: it was always true (reported by Bram
13200    Moolenaar).</li>
13201
13202    <li>improve configure script's test if the installed xterm is
13203    setuid, in case that is a symbolic link.</li>
13204
13205    <li>correct "install-ti" rule in Makefile.in, by not setting a
13206    blank $TERMINFO value. That is interpreted as "." by ncurses'
13207    tic.</li>
13208  </ul>
13209
13210  <h1><a name="xterm_99" id="xterm_99">Patch #99 - 1999/5/2 -
13211  XFree86 3.9Pk</a></h1>
13212
13213  <ul>
13214    <li>correct logic that computes num_ptrs count of the number of
13215    indices into the screen buffer. This is the maximum of the
13216    colors and character-set indices; was incorrect in patch
13217    #97.</li>
13218
13219    <li>correct argument type for sigsetjmp, incidental change in
13220    patch #96's Unix88 PTY patch (reported by Bram Moolenaar).</li>
13221
13222    <li>correct description of secondary DA in ctlseqs.ms (reported
13223    by Bram Moolenaar).</li>
13224
13225    <li>decouple the backarrowKey and ptyInitialErase resources by
13226    adding a new resource backarrowKeyIsErase, to accommodate
13227    people using applications which have hardcoded tests for
13228    characters 8 and 127 rather than relying on the stty
13229    settings.</li>
13230
13231    <li>modify the UTF-8 decoder so that all possible illegal UTF-8
13232    sequences are properly represented by U+FFFD. This should be
13233    very helpful for developers of code that output UTF-8 strings
13234    for debugging. See the file utf-8-test.txt in
13235    http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts.tar.gz for a
13236    demonstration text that contains numerous illegal UTF-8 values.
13237    (patch by Markus Kuhn).</li>
13238
13239    <li>correct a place in ScrnRefresh where I was filling the high
13240    byte of a wide character with a space rather than a null
13241    (reported by Markus Kuhn).</li>
13242  </ul>
13243
13244  <h1><a name="xterm_98" id="xterm_98">Patch #98 - 1999/4/26 -
13245  XFree86 3.9Pk</a></h1>
13246
13247  <ul>
13248    <li>correct data manipulation in unparseputc(), broken for
13249    little-endian machines by patch #97's UTF-8 changes. This meant
13250    that keyboard input on SunOS did not work, though Linux i386
13251    was fine.</li>
13252
13253    <li>modify initialization for backarrowKey and logic for
13254    initial-erase to prevent the initial-erase from overriding an
13255    explicitly set backarrowKey resource (reported by Vikas
13256    Agnihotri).</li>
13257
13258    <li>add a missing null-pointer check in ScrnRefresh, for the
13259    wide-characters configuration.</li>
13260  </ul>
13261
13262  <h1><a name="xterm_97" id="xterm_97">Patch #97 - 1999/4/25 -
13263  XFree86 3.9Pk</a></h1>
13264
13265  <ul>
13266    <li>add configure script test for -lutil, needed for openpty
13267    call when configuring xterm for Glibc-2.1 and Unix98 PTY's
13268    (first reported by Martin Lorentz"
13269    &lt;m.lorentz@w12.link-goe.de&gt;).</li>
13270
13271    <li>completely parenthesize ifdef expressions for Glibc
13272    (suggested by Bob Maynard).</li>
13273
13274    <li>add initial-erase options (-ie, +ie) to help message
13275    (reported by Vikas Agnihotri).</li>
13276
13277    <li>remove duplicate definition of USE_USG_PTYS (reported by
13278    Jeremy Buhler).</li>
13279
13280    <li>change termcap <em>kD</em> and terminfo <em>kdch1</em> to a
13281    DEL (\177). I overlooked this when separating the styles of
13282    keyboard with the <em>sunKeyboard</em> resources in patch #94,
13283    so that it normally matches the value of the stty erase
13284    character:
13285      <ul>
13286        <li>Reported by Jae Gangemi
13287        &lt;jgangemi@ccf.rutgers.edu&gt;, this caused emacs to not
13288        process the DEL properly, combining it with succeeding
13289        characters.</li>
13290
13291        <li>This does not appear to be related to a problem which I
13292        have found with <em>screen</em>, which translates the stty
13293        erase into the termcap <em>kD</em> or terminfo
13294        <em>kdch1</em> value (depending on how it is linked) if the
13295        $TERMCAP variable is set when <em>screen</em> is
13296        invoked.</li>
13297      </ul>
13298    </li>
13299
13300    <li>add command-line options for enabling UTF-8 mode: -u8 and
13301    +u8. The more obvious -utf8 and +utf8 would conflict with
13302    xterm's -ut and +ut (utmp) options. The UTF-8 changes were
13303    requested by Markus Kuhn &lt;Markus.Kuhn@cl.cam.ac.uk&gt;. This
13304    patch does not complete UTF-8 implementation, but makes it
13305    usable, i.e., display and refresh work, and I am able to
13306    display the test cases which Markus provides. More work is
13307    needed to complete this feature:
13308      <ul>
13309        <li>the control sequences for switching in/out of UTF-8
13310        mode are partly implemented (don't use them). Similarly,
13311        the switching between vt100 and tek4014 emulations when
13312        UTF-8 mode is enabled will not work properly.
13313          <p>You must use the -u8 command line option to use this
13314          feature, as well as compile with the OPT_WIDE_CHARS
13315          definition.</p>
13316        </li>
13317
13318        <li>cut/paste only copies 8-bit characters.</li>
13319
13320        <li>logging is disabled in the wide-character
13321        configuration</li>
13322
13323        <li>printing only writes 8-bit characters.</li>
13324
13325        <li>input only does 8-bit characters. This is the area that
13326        I know least about.</li>
13327      </ul>
13328    </li>
13329  </ul>
13330
13331  <h1><a name="xterm_96" id="xterm_96">Patch #96 - 1999/4/19 -
13332  XFree86 3.9Pj</a></h1>
13333
13334  <ul>
13335    <li>modify Makefile.in to work with configure script's --srcdir
13336    option. (patch by Jeremy Buhler
13337    &lt;jbuhler@cs.washington.edu&gt;)</li>
13338
13339    <li>add checks for 'echo -n' equivalent for 8colors.sh and
13340    16colors.sh scripts (reported by Vikas Agnihotri).</li>
13341
13342    <li>improve logic that looks for bold fonts to allow for
13343    wildcards in the specification for normal fonts, and to ensure
13344    that if a bold font is specified as normal, that xterm will
13345    simulate a bold version of that using a one-pixel offset
13346    overstrike (reported by Henrik Harmsen
13347    &lt;harmsen@erv.ericsson.se&gt;).</li>
13348
13349    <li>correct horizontal spacing of double width line-drawing
13350    characters that xterm simulates.</li>
13351
13352    <li>improve support for Unix98 PTY's, using patch in Debian bug
13353    report #35650, by Topi Miettinen
13354    &lt;Topi.Miettinen@medialab.sonera.fi&gt;. Andreas Jaeger says
13355    this also corrects a permissions problem reported by
13356    cat@zip.net.au</li>
13357
13358    <li>modify initial-erase logic to ensure that
13359    <code>ttyModes</code> resource overrides it.</li>
13360  </ul>
13361
13362  <h1><a name="xterm_95" id="xterm_95">Patch #95 - 1999/4/5 -
13363  XFree86 3.9Ph</a></h1>
13364
13365  <ul>
13366    <li>modify primary DA response to allow a '1' parameter.</li>
13367
13368    <li>add printer and national replacement character sets to
13369    VT220 primary DA response.</li>
13370
13371    <li>document primary and secondary DA responses in
13372    ctlseqs.ms</li>
13373
13374    <li>use the patch number (e.g., 95) in the secondary DA
13375    response, providing user applications a means of determining
13376    the version of xterm for feature comparison (request by Bram
13377    Moolenaar).</li>
13378
13379    <li>make xterm respond to secondary DA when the decTerminalID
13380    is set for VT100.</li>
13381
13382    <li>limit user-defined keys (DECUDK) to VT220-style keyboard
13383    when sunKeyBoard resource is true.</li>
13384
13385    <li>modify ifdef's for Linux-2.2.x with Glibc-2.1 to work with
13386    Glibc-2.1 and no Unix98 PTY support (patch from Andreas Jaeger
13387    &lt;aj@arthur.rhein-neckar.de&gt;)</li>
13388
13389    <li>add optional feature (resource and command-line options) to
13390    make xterm use the PTY's sense of erase character on startup,
13391    rather than requiring it to be \177, or set the PTY's erase
13392    character to match xterm's configuration. Note that while
13393    $TERMCAP is modified to reflect the actual configuration, the
13394    terminfo kdch1 string is not (request by Dirk H Hohndel
13395    &lt;hohndel@suse.de&gt;)</li>
13396
13397    <li>improve scripts in vttests to work with newer shells that
13398    do not use 'echo -n'.</li>
13399
13400    <li>add fonts.sh example script</li>
13401
13402    <li>correct inequality in handling of "#1" font
13403    specification.</li>
13404
13405    <li>correct call to XGetWMNormalHints() used for computing
13406    maximum screen size; the size hints may not have been set.</li>
13407
13408    <li>begin implementation of support for wide-characters
13409    (configure option --enable-wide-chars defines OPT_WIDE_CHARS,
13410    invoke xterm with -wc option to activate this feature). This
13411    patch optionally widens internal data structures, invokes the
13412    16-bit text output rather than the 8-bit version and adds some
13413    tables.</li>
13414  </ul>
13415
13416  <h1><a name="xterm_94" id="xterm_94">Patch #94 - 1999/3/27 -
13417  XFree86 3.9Pf</a></h1>
13418
13419  <ul>
13420    <li>further fixes for terminfo: ka1, ka3, etc., differ between
13421    the default xterm-xfree86 and xterm-vt220 entries.</li>
13422
13423    <li>change default (with sunKeyboard resource false) behavior
13424    of the editing keypad "Delete" to send a 127, like xterm-r6.
13425    The VT220-style <code>&lt;ESC&gt;[3~</code> is sent when
13426    sunKeyboard is true (reported by Tomas Vanhala).</li>
13427
13428    <li>add parameters to function keys to indicate if shift,
13429    control or alt are set. The codes are based on a description of
13430    a DEC VT510 with a PC keyboard, from Jeffrey Altman
13431    &lt;jaltman@watsun.cc.columbia.edu&gt;.</li>
13432
13433    <li>add control sequence 1035, set-num-lock action and num-lock
13434    menu entry to control the use of the NumLock and Alt keys for
13435    the Sun/PC and VT220 keyboard extensions.</li>
13436
13437    <li>implement DECSET/DECRST numeric keypad (DECNKM) mode.</li>
13438
13439    <li>modify terminfo and termcap to use recommended "X Window"
13440    or "X11" names rather than "X Windows" (reported by Tomas
13441    Vanhala).</li>
13442
13443    <li>suppress translation of shifted keypad "+" when sunKeyboard
13444    is true.</li>
13445
13446    <li>workaround unexpected behavior (perhaps bug) in
13447    XmbLookupString, which returns trash in the string buffer for
13448    numlock and control-key combined with keypad-keys.</li>
13449
13450    <li>modify ScrollBarReverseVideo() to keep scrollbar border
13451    visible when reverse video is toggled.</li>
13452
13453    <li>correct missing case for parameter 17 (set highlight color)
13454    in dynamic colors control sequences.</li>
13455
13456    <li>extend dynamic colors control sequences to allow users to
13457    determine the colors and font which are currently active.</li>
13458
13459    <li>minor tweak to OSC responses, to use BEL if the application
13460    used that to end the request, rather than ST. This works better
13461    with shell scripts, which may not handle an
13462    <code>&lt;ESC&gt;backslash</code> very well.</li>
13463
13464    <li>separate menu settings for reverse video from that done
13465    under program control.</li>
13466
13467    <li>corrected ifdef's for menus, which did not allow tek4014 to
13468    be suppressed properly (reported by Clint Olsen).</li>
13469
13470    <li>changes for Linux-2.2.x with GLibc-2.1 and /dev/ptmx
13471    support (integrated patch from Pavel Roskin):
13472      <ul>
13473        <li>main.c and resize.c were using different rules to
13474        determine whether ATT should be defined (actually
13475        USE_USG_PTYS is more apt).</li>
13476
13477        <li>copy definitions from main.c to resize.c to prevent
13478        sys/stream.h and sys/ptem.h from inclusion when SYSV is not
13479        defined</li>
13480
13481        <li>define CNUL if not already defined like other
13482        variables.</li>
13483
13484        <li>/dev/tty does exist in Linux, but it doesn't mean, it
13485        should be used. Therefore EACCES is now an acceptable
13486        result.</li>
13487
13488        <li>ifdef'd several calls such as <code>ioctl (ptyfd,
13489        I_PUSH, "ptem")</code> to build on Linux (I_PUSH is not
13490        defined when sys/stropts.h is not included).</li>
13491      </ul>
13492    </li>
13493
13494    <li>initialize second "ltc" variable in main.c (reported by
13495    David Dawes).</li>
13496
13497    <li>provide definition for USE_USG_PTYS in screen.c</li>
13498
13499    <li>add resource-files to install rule in standalone
13500    Makefile.in</li>
13501
13502    <li>add sample scripts to illustrate titlebar controls,
13503    resizing and colors.</li>
13504  </ul>
13505
13506  <h1><a name="xterm_93" id="xterm_93">Patch #93 - 1999/3/14 -
13507  XFree86 3.9Pd</a></h1>
13508
13509  <p>Here are several fixes and minor enhancements. The chief ones
13510  are the fixes for NumLock mode and reverse video, since we had
13511  become used to working around the problems.</p>
13512
13513  <ul>
13514    <li>remove kfnd/kll/kslt strings from terminfo, because curses
13515    applications do not necessarily return khome/kend pairs
13516    (reported by Vikas Agnihotri).</li>
13517
13518    <li>implement NumLock resource which overrides the keyboard
13519    tables for the special case of keypad keys. This is a problem
13520    introduced in xterm by X11R6 changes, i.e., an ambiguity which
13521    in effect discarded vt100 keypad support.</li>
13522
13523    <li>modify Sun/PC keyboard mode to extend this (emulation of
13524    DEC vt100 keypad) to the remainder of the numeric keypad. Now,
13525    the default operating mode of xterm uses the keyboard tables
13526    as-is (except if the NumLock mode overrides), but provides good
13527    vt100 keypad compatibility if the Sun/PC keyboard menu item is
13528    checked.</li>
13529
13530    <li>separate command-line settings for reverse video from that
13531    done under program control. This is a problem which was
13532    introduced by X11R6. Though <em>correct</em>, most users are
13533    confused by allowing the reset command to undo the effect of
13534    the command-line <kbd>-rv</kbd> option.</li>
13535
13536    <li>add description of function keys, keypad and cursor keys to
13537    ctlseqs.ms</li>
13538
13539    <li>add terminfo entries for xterm-vt52, xterm-sun and
13540    xterm-hp</li>
13541
13542    <li>correct typo (missing case value) for DECSET 35,
13543    enable/disable shifted keypad action and a few compiler
13544    warnings (reported by Zdenek Sekera &lt;zs@sgi.com&gt;).</li>
13545
13546    <li>correct reporting of color values 8-15 in DECRQSS (reported
13547    by Vikas Agnihotri).</li>
13548
13549    <li>modify parsing of ttyModes resource to recognize "^-" as
13550    "undef" (requested by Tomas Vanhala).</li>
13551
13552    <li>integrate/extend changes to add iconify/maximize actions
13553    (from Edward S. Arthur &lt;eda@ultranet.com&gt;).</li>
13554
13555    <li>add control sequences for maximizing/restoring window, and
13556    for reporting maximum screen size.</li>
13557
13558    <li>add 'interpret' action, to support local function-key
13559    interpretation. Used properly, this makes most of the
13560    specialized actions of xterm redundant.</li>
13561
13562    <li>add control sequence private modes 1051, 1052 and 1052, for
13563    setting the Sun and HP function key modes, and for setting the
13564    Sun/PC keyboard mode.</li>
13565
13566    <li>add configure option --disable-maximize</li>
13567
13568    <li>add configure option --disable-num-lcok</li>
13569
13570    <li>extend descriptions of configure script options in
13571    INSTALL.</li>
13572  </ul>
13573
13574  <h1><a name="xterm_92" id="xterm_92">Patch #92 - 1999/2/5 -
13575  XFree86 3.9Nz</a></h1>
13576
13577  <ul>
13578    <li>increase buffer size for tgetent (i.e., termcap) to 1500.
13579    This fixes a problem where <em>screen</em> is built using
13580    ncurses or GNU termcap and <em>xterm</em> is built using the
13581    standard termcap interface. The former does not limit the
13582    termcap size, while the latter is assumed to be no longer than
13583    1023 characters. The <em>screen</em> program's termcap entry is
13584    about 1200 characters long.</li>
13585
13586    <li>change update_menu_item() to a function, to simplify
13587    debugging. This also reduces the executable by 4Kb.</li>
13588
13589    <li>add control sequences for DECSET 30, 1010, 1011 like rxvt
13590    (enable or disable some features that were only settable via
13591    resources or command line arguments).</li>
13592
13593    <li>add control sequence for DECSET 35, which enables/disables
13594    the shifted keypad functions.</li>
13595
13596    <li>add support for switching font sizes, by stepping through
13597    the font menu using shifted keypad plus and minus.</li>
13598
13599    <li>correct missing initialization of tekInhibit and tekSmall
13600    resources.</li>
13601
13602    <li>correct ifdef's in charproc.c for XtNgeometry and
13603    XtCGeometry (reported by Bram Moolenaar).</li>
13604  </ul>
13605
13606  <h1><a name="xterm_91" id="xterm_91">Patch #91 - 1999/1/21 -
13607  XFree86 3.9Nw</a></h1>
13608
13609  <ul>
13610    <li>Implement logic to translate input characters which are
13611    mapped when in vt220 National Replacement Character mode
13612    (requested by Tomas Vanhala).</li>
13613
13614    <li>Resync configure scripts with my patches to autoconf
13615    2.13</li>
13616
13617    <li>Change order of -lXmu and -lXext to accommodate cygwin32
13618    (reported by Vikas Agnihotri).</li>
13619
13620    <li>Add "-ti" option to set terminal emulation level from
13621    command line rather than via resource.</li>
13622
13623    <li>Simplify some of the preprocessor logic using #elif.</li>
13624  </ul>
13625
13626  <h1><a name="xterm_90" id="xterm_90">Patch #90 - 1998/12/13 -
13627  XFree86 3.9Nq</a></h1>
13628
13629  <p>This implements several small fixes and enhancements. The
13630  chief one implements fallback support for line drawing characters
13631  with fonts that do not include those characters. But I
13632  implemented that last.</p>
13633
13634  <ul>
13635    <li>If any of the glyphs in positions 0-31 (used by xterm to
13636    implement the VT100 alternate character set) are zero-sized
13637    (i.e., missing), xterm will reserve a normal space for the
13638    glyph when drawing. I implemented a simple stroke-drawing
13639    function to draw the line-drawing characters and a couple of
13640    the other (simpler) characters such as diamond. (This was
13641    suggested by Vikas Agnihotri).</li>
13642
13643    <li>Modify the computation of doublesize characters to work
13644    around font servers which shift the scaled characters up/down
13645    or do not give the correct width.</li>
13646
13647    <li>Add popup menu item and corresponding resource settings to
13648    disable the font-scaling logic for doublesize characters to
13649    work around (older) font servers which simply do not draw the
13650    fonts scaled to the size that they said they would. I see this
13651    problem on a SunOS system running X11R5; the X11R6 servers seem
13652    well behaved.</li>
13653
13654    <li>Implement new escape sequence, private mode 1049, which
13655    combines the switch to/from alternate screen mode with screen
13656    clearing and cursor save/restore. Unlike the existing escape
13657    sequence, this clears the alternate screen when switching to it
13658    rather than when switching to the normal screen, thus retaining
13659    the alternate screen contents for select/paste operations.
13660      <p>When I implemented the popup menu entry to toggle between
13661      the normal and alternate screens, I considered only pasting
13662      from the normal screen to the alternate; this improvement
13663      allows either direction.</p>
13664    </li>
13665
13666    <li>Changed the termcap and terminfo for xterm-xfree86 and
13667    xterm-8bit to use the new 1049 private mode.</li>
13668
13669    <li>Modify the logic which switches between normal and
13670    alternate screens so that the save/restore cursor operations
13671    apply only to the current screen. That means that applications
13672    which use the terminfo smcur/rmcur or termcap ti/te
13673    capabilities will restore the cursor to the original position
13674    on the normal screen rather than to the most recent place where
13675    a save-cursor operation was performed.
13676      <p>I note that a real VT100 terminal would not behave in this
13677      way, but it is a moot point since the VT100 does not
13678      implement alternate screen, and therefore the save/restore
13679      cursor sequence would not be used in this context. I reviewed
13680      the logic which switches between normal and alternate screens
13681      based on some recent newsgroup postings as well as a proposed
13682      patch in the Debian group which attempts to do this (the
13683      patch has a bug, however, so I did not use it).</p>
13684    </li>
13685
13686    <li>Add popup menu entry for toggling the titeInhibit
13687    resource.</li>
13688
13689    <li>Add new resource answerbackString, which overrides the
13690    default "xterm" returned by xterm when responding to an ENQ
13691    (control/E) character (request by Rajesh Vaidheeswarran
13692    &lt;rv@fore.com&gt;).</li>
13693
13694    <li>Add new resource keyboardDialect for setting the NRC
13695    display character set (request by Tomas Vanhala, who notes that
13696    I should add logic to translate the keyboard as well).</li>
13697
13698    <li>Add new command-line option and corresponding resources for
13699    making xterm generate escape sequences compatible with HP
13700    terminals. Like the existing Sun escape sequences, this is
13701    available as a popup menu item. It is enabled by the configure
13702    script with the option --enable-hp-fkeys (requested by Toni
13703    Mueller &lt;sales@oeko.net&gt;).</li>
13704
13705    <li>Add configure script option --disable-boxchars to disable
13706    the fallback support for line drawing characters.</li>
13707
13708    <li>Fix ifdef's for configure script --disable-ansi-color, and
13709    reviewed all configure options to ensure that all can be
13710    enabled/disabled appropriately.</li>
13711
13712    <li>Update config.guess and config.sub, from Lynx.</li>
13713  </ul>
13714
13715  <h1><a name="xterm_89" id="xterm_89">Patch #89 - 1998/11/20 -
13716  XFree86 3.9Nm</a></h1>
13717
13718  <p>This patch completes the implementation of double-sized
13719  character support for the VT100 emulation, and fixes a few minor
13720  bugs:</p>
13721
13722  <ul>
13723    <li>corrected the cursor position in HideCursor, which did not
13724    multiply the column by two when in doublesize mode. This bug,
13725    which did not appear in normal use, dates back to my original
13726    <a href="#xterm_44">changes</a> to partly implement
13727    double-sized characters. I noticed it when cat'ing a typescript
13728    from vttest's double-sized character test.</li>
13729
13730    <li>ensure that the current line is repainted when switching
13731    between single and double width characters.</li>
13732
13733    <li>reduce the number of bits used for double-sized character
13734    coding from 3 to 2, to make more room for soft-font codes.</li>
13735
13736    <li>copy newer ifdef's from the XFree86 3.3.3 release's main.c,
13737    which address details of glibc and powerpc.</li>
13738
13739    <li>moved definition of DECL_ERRNO in xterm.h to match XFree86
13740    3.3.3</li>
13741
13742    <li>modify <em>resize</em> to remove the ifdef on SVr4 that
13743    suppressed printing the script for $LINES and $COLUMNS.
13744    Solaris' resize utility does this; suppressing the behavior is
13745    unnecessary.</li>
13746  </ul>
13747
13748  <p>I tested the double-sized characters using vttest and the
13749  xfsft patch. These fonts worked reasonably well:</p>
13750
13751  <pre>
13752        -bitstream-courier-medium-r-normal--0-0-0-0-m-0-iso8859-1
13753        9x15
13754</pre>
13755  <p>The iso8859 font does not include box characters, of course,
13756  but looks good.</p>
13757
13758  <h1><a name="xterm_88" id="xterm_88">Patch #88 - 1998/10/31 -
13759  XFree86 3.9Nk and 3.3.2h</a></h1>
13760
13761  <p>This refines my <a href="#xterm_85">patch #85</a> by checking
13762  for a case where the font server returns a bold font that does
13763  not quite correspond to the normal font. When I asked for a bold
13764  version of the 6x12 font, the font server returned a near
13765  equivalent where the ascent and descent values did not match,
13766  causing xterm to leave lines across the display. This patch makes
13767  xterm reject that type of mismatch, falling back to the old font
13768  behavior.</p>
13769
13770  <h1><a name="xterm_87" id="xterm_87">Patch #87 - 1998/10/21 -
13771  XFree86 3.9Nj and 3.3.2f</a></h1>
13772
13773  <p>This corrects a problem reported by Stefan Dalibor. My table
13774  entries for the <em>printerExtent</em> and
13775  <em>printerFormFeed</em> resources used the wrong types for
13776  sizeof, causing the printer to not work properly on some
13777  platforms because the <em>printAttributes</em> resource was
13778  overwritten (e.g., Digital Unix with DEC Alpha).</p>
13779
13780  <p>I reviewed all of the resource table entries and fixed a
13781  potential problem with <em>resizeGravity</em>, which was typed as
13782  <em>int</em> rather than <em>XtGravity</em>.</p>
13783
13784  <h1><a name="xterm_86" id="xterm_86">Patch #86 - 1998/10/14 -
13785  XFree86 3.9Nj and 3.3.2e</a></h1>
13786
13787  <p>A small fix: when switching to/from the continuous mouse
13788  reporting mode, the event mask was incorrect if xterm was built
13789  under X11R5 because the original data was saved under an ifdef
13790  for active-icon.</p>
13791
13792  <h1><a name="xterm_85" id="xterm_85">Patch #85 - 1998/10/12 -
13793  XFree86 3.9Nj and 3.3.2e</a></h1>
13794
13795  <p>Some cleanup (I noticed the pixel droppings a few months ago
13796  after getting a new 17" monitor):</p>
13797
13798  <ul>
13799    <li>split-out the functions that load/reload fonts for xterm as
13800    new file fontutils.c to extend them to support automatic
13801    loading of bold font corresponding to the normal font. Adapted
13802    logic from EMU 1.3 for this purpose. This fixes most
13803    occurrences of pixel droppings from bold characters.</li>
13804
13805    <li>modified by renaming variables and adding casts to permit
13806    compile with g++.</li>
13807
13808    <li>modify headers so they can all be compiled without order
13809    dependencies, and use bracketed rather than quoting includes to
13810    allow compile from separate directory.</li>
13811
13812    <li>renamed xtermm terminfo entry to xterm-mono, to avoid
13813    conflict with Solaris entry now in ncurses.</li>
13814  </ul>
13815
13816  <h1><a name="xterm_84" id="xterm_84">Patch #84 - 1998/10/9 -
13817  XFree86 3.9Ni and 3.3.2e</a></h1>
13818
13819  <p>Several small fixes and enhancements, including a patch from
13820  Bjorn Helgaas:</p>
13821
13822  <ul>
13823    <li>correct initialization of TERMCAP environment variable,
13824    which was frequently set to garbage on non-Linux systems
13825    because "termcap" and "newtc" contained random data from the
13826    stack.</li>
13827
13828    <li>remove the LINEWRAPPED attribute from lines as they are
13829    cleared. Previously, the attribute was set but never
13830    cleared.</li>
13831
13832    <li>make word and line selections work even when lines are
13833    wrapped by xterm. Previously, selections were limited to one
13834    screen line.</li>
13835  </ul>
13836
13837  <p>as well as</p>
13838
13839  <ul>
13840    <li>modify logic for line-wrapping to reset the associated flag
13841    if the application deletes a character. This fixes a problem
13842    reported by Bjorn Helgaas where word/line selection would still
13843    wrap even after deleting characters from the first line.</li>
13844
13845    <li>add kll/kH capabilities to xterm-xfree86 entries in termcap
13846    and terminfo (request by Michael Schroeder).</li>
13847
13848    <li>shorten descriptions in termcap to make resolved entries
13849    all shorter than 1023 character limit.</li>
13850
13851    <li>use DECSTR control sequence to shorten initialization and
13852    reset strings in xterm-xfree86 termcap and terminfo.</li>
13853
13854    <li>use rmul/smul and rmir/smir in xterm-r5 terminfo to match
13855    termcap.</li>
13856
13857    <li>correct typos in initialization and reset strings in
13858    xterm-r5 termcap and terminfo.</li>
13859
13860    <li>disable special translations of key symbols (the backarrow
13861    key, the editing keypad and the keypad "+") when a modifier
13862    other than shift, control or numlock is used. This makes xterm
13863    handle the meta key as expected by people using emacs (reported
13864    by Pete Harlan &lt;harlan@pointofchoice.com&gt; in
13865    linux.debian.user newsgroup).</li>
13866  </ul>
13867
13868  <h1><a name="sync_83" id="sync_83">Resync #83 - 1998/10/7 -
13869  XFree86 3.3.2e</a></h1>
13870
13871  <p>Merge changes through <a href="#xterm_83">patch #83</a> with
13872  the 3.3.2e version.</p>
13873
13874  <p>This follows a change from XFree86 CVS which adds checks for
13875  non-null return from malloc (patch by Matthieu Herrb).</p>
13876
13877  <h1><a name="xterm_83" id="xterm_83">Patch #83 - 1998/8/25 -
13878  XFree86 3.9Nb</a></h1>
13879
13880  <p>Several small fixes and enhancements:</p>
13881
13882  <ul>
13883    <li>add configure test to infer if xterm should be installed
13884    setuid based on previously installed xterm (reported by Stephen
13885    Marley and Stefan Dalibor).</li>
13886
13887    <li>implement quasi-continuous mouse reporting (integrated
13888    patch by Jason Bacon).</li>
13889
13890    <li>correct control sequences transmitted by function keys F1
13891    to F4 when sunFunctionKeys resource is true (it was still using
13892    the VT100 control sequences).</li>
13893
13894    <li>modify handling of backarrow key so that the control
13895    modifier toggles the backspace/delete interpretation set by the
13896    backarrowKey resource.</li>
13897
13898    <li>limit the row and column values used to report mouse
13899    position.</li>
13900  </ul>
13901
13902  <p>From resync with XFree86 3.9Nb:</p>
13903
13904  <ul>
13905    <li>add support for the VSTATUS control character (patch by
13906    Robert Earl &lt;rearl@teleport.com&gt;).</li>
13907  </ul>
13908
13909  <h1><a name="xterm_82" id="xterm_82">Patch #82 - 1998/7/15 -
13910  XFree86 3.9Aj</a></h1>
13911
13912  <p>Bug fix for <a href="#xterm_81">patch #81</a>:</p>
13913
13914  <ul>
13915    <li>remove an #undef for NBBY, which caused compile problem on
13916    FreeBSD (reported by David Dawes).</li>
13917  </ul>
13918
13919  <h1><a name="xterm_81" id="xterm_81">Patch #81 - 1998/7/14 -
13920  XFree86 3.9Aj</a></h1>
13921
13922  <p>More bug fixes:</p>
13923
13924  <ul>
13925    <li>fix conflicting ifdef's for TIOCSLTC when building with
13926    Linux on AXP aka DEC Alpha (reported by Robin Cutshaw).</li>
13927
13928    <li>correction to patch #79, move assignment for
13929    *utptr-&gt;ut_user = 0; back into non-SVR4 ifdef in main.c,
13930    since this clobbers username on Solaris 2.5.1 (analysis by Will
13931    Day &lt;willday@rom.oit.gatech.edu&gt;).</li>
13932
13933    <li>corrected khome/kend in xterm-8bit terminfo
13934    description.</li>
13935
13936    <li>improve cursor color by making it always the reverse of
13937    fg/bg unless the cursorColor resource is set, i.e., to
13938    something other than the default foreground (reported by Vikas
13939    Agnihotri and Bram Moolenaar).</li>
13940
13941    <li>minor fixes for compiler warnings, including a syntax error
13942    in the AMOEBA ifdef's.</li>
13943  </ul>
13944
13945  <p>From resync with XFree86 3.9Aj:</p>
13946
13947  <ul>
13948    <li>correction to patch #73, supply missing #else for fallback
13949    definitions of size_t, time_t (Robin Cutshaw
13950    &lt;robin@intercore.com&gt;).</li>
13951  </ul>
13952
13953  <h1><a name="xterm_80" id="xterm_80">Patch #80 - 1998/6/29 -
13954  XFree86 3.9Ai</a></h1>
13955
13956  <p>This fixes a couple of items leftover or introduced by patch
13957  79:</p>
13958
13959  <ul>
13960    <li>take out the logic that suppresses editing-keypad in vt100
13961    mode (those keys are too valuable to give up for a fine point
13962    of emulation).</li>
13963
13964    <li>corrected a couple of places in terminfo where I missed
13965    using the vt220-style editing-keypad codes for Find/Select
13966    (mapped to Home/End).</li>
13967
13968    <li>checked termcap file against terminfo, fix several places
13969    where it was inconsistent.</li>
13970  </ul>
13971
13972  <h1><a name="xterm_79" id="xterm_79">Patch #79 - 1998/6/28 -
13973  XFree86 3.9Ai</a></h1>
13974
13975  <p>This patch fixes several small bugs:</p>
13976
13977  <ul>
13978    <li>use X_EXTRA_LIBS in standalone Makefile.in (patch by Tomas
13979    Vanhala).</li>
13980
13981    <li>add new resource 'oldXtermFKeys' which provides backward
13982    compatibility for F1-F4 control sequences with TOG's
13983    xterm.</li>
13984
13985    <li>determine the server's default foreground/background Pixel
13986    values, needed if the -flipPixels X server option is used
13987    (reported by David Dawes).</li>
13988
13989    <li>correct logic for F1-F4 function keys so that they generate
13990    VT100 compatible escape sequences in VT220 mode, since that is
13991    what the numeric keypad is supposed to do (reported by Ron
13992    Johnson, Jr. &lt;ronjohn@communique.net&gt;).</li>
13993
13994    <li>modify logic for editing keypad to work more like VT220:
13995    don't pass those codes in VT100-mode unless oldXtermFKeys mode
13996    is set.</li>
13997
13998    <li>correct an interaction with the editing-keypad logic that
13999    prevented backarrow key from sending a 127 for the delete key
14000    (the 'remove' escape sequence was being sent instead).</li>
14001
14002    <li>use return-value from getuid() rather than the parameter,
14003    to work on systems which do not update the latter (patch by
14004    Kevin Buhr &lt;buhr@mozart.stat.wisc.edu&gt;)</li>
14005
14006    <li>correct scrollbar border color when toggling to/from secure
14007    keyboard mode (patch by Jeff Uphoff
14008    &lt;juphoff@tarsier.cv.nrao.edu&gt;)</li>
14009
14010    <li>modifications to terminfo file:
14011      <ul>
14012        <li>rename description to xterm-xfree86, adding an entry
14013        'xterm' which is derived from xterm-xfree86 to simplify
14014        customization.</li>
14015
14016        <li>change string for kdch1 from \177 to \E[3~, to address
14017        complaints from Debian developers. (This applies to the key
14018        labeled "Delete", and does not affect the backarrow
14019        key).</li>
14020
14021        <li>add user-strings u6, u7, u8, u9 to entries to make them
14022        work with Daniel Weaver's "tack" program.</li>
14023
14024        <li>modify xterm-24, xterm-bold, xterm-boldso entries to
14025        disentangle them from explicit dependency upon
14026        xterm-xfree86.</li>
14027
14028        <li>add generic 'xterm-color' entry.</li>
14029
14030        <li>minor corrections to xterm-xfree86, xterm-8bit,
14031        xterm-r5 and xterm-r6 entries.</li>
14032      </ul>
14033    </li>
14034  </ul>
14035
14036  <h1><a name="xterm_78" id="xterm_78">Patch #78 - 1998/6/3 -
14037  XFree86 3.9Ah and 3.3.2</a></h1>
14038
14039  <p>Again, most of the bulk of this patch is for ANSI conversion.
14040  I used the IRIX compiler's -wlint option to find the remaining
14041  functions that use K&amp;R syntax (since gcc does not do this
14042  properly). Also, I changed the logic in the print code slightly
14043  to close unwanted files before opening a pipe to the printer.
14044  This may help in some configurations where the line printer hangs
14045  until xterm closes the pipe.</p>
14046
14047  <h1><a name="xterm_77" id="xterm_77">Patch #77 - 1998/5/26 -
14048  XFree86 3.9Ah and 3.3.2</a></h1>
14049
14050  <p>Most of the bulk of this patch is to convert the extended C
14051  (K&amp;R functions with prototypes) to ANSI. I verified that on
14052  Linux by comparing object files, to ensure that I did not, for
14053  example, interchange parameters in the function declarations.</p>
14054
14055  <p>The rest of the patch fixes several minor bugs, and adds a few
14056  features:</p>
14057
14058  <ul>
14059    <li>back-out my use of ncurses "captoinfo -f" option
14060    (if/then/else/endif) formatting, since ncurses did not
14061    correctly filter embedded newlines in terminfo capability
14062    strings until _after_ ncurses 4.1, thus corrupting
14063    setf/setb/sgr strings (reported by Darren Hiebert and
14064    others).</li>
14065
14066    <li>document SGR 8, 28 (invisible/visible), add corresponding
14067    capabilities to terminfo description.
14068      <p>I would also add the 'prot protected capability, but the
14069      control sequences for that would not be recognized or
14070      properly ignored by the older xterm programs.</p>
14071    </li>
14072
14073    <li>modify ChangeGroup to not suppress a null-resource, but
14074    treat it as an empty string (recommended by Stefan
14075    Dalibor).</li>
14076
14077    <li>add printerAutoClose resource to control whether printer is
14078    closed when going offline. More than one person reports
14079    problems (on Solaris 2.6 and Digital Unix 4.0) getting the
14080    printer to proceed unless xterm exits; I think that it is a
14081    problem flushing the pipe. Closing it ought to flush it.</li>
14082
14083    <li>adapt TOG fix-3 to in HandleKeymapChange and VTInitI18N
14084    (but adapt XtStackAlloc/XtStackFree for clarity, as well as
14085    fixing memory leak).</li>
14086
14087    <li>change calls on FillCurBackground to ClearCurBackground, in
14088    effect using XClearArea rather than XFillRectangle when
14089    clearing as a side-effect of scrolling and insertion (patch by
14090    Alexander V Lukyanov)</li>
14091
14092    <li>correct some places where insert/delete did not _move_ the
14093    color attributes, using memmove (patch by Alexander V Lukyanov
14094    &lt;lav@long.yar.ru&gt;)</li>
14095
14096    <li>add ifdef's for __CYGWIN32__, for port to cygnus version
14097    B19.1 (patch by Andrew Sumner
14098    &lt;andrew_sumner@hotmail.com&gt;).</li>
14099
14100    <li>remove #define for hpux that turned on USE_SYSV_ENVVARS,
14101    since this causes some applications (such as 'less') to get
14102    incorrect $LINES and $COLUMNS values (reported by Clint
14103    Olsen).</li>
14104
14105    <li>modify behavior for HP-UX, to set the "reserved" process
14106    group controls to _POSIX_VDISABLE so the TIOCSLTC ioctl does
14107    not produce an error (patch by Ben Yoshino
14108    &lt;ben@wiliki.eng.hawaii.edu&gt;).</li>
14109
14110    <li>correct length of underlining, reducing it by one pixel to
14111    avoid leaving a dot when the application does not clear the
14112    whole screen I noticed this only recently myself (and other
14113    people as well); it depends on the font chosen. A 6x10 font
14114    shows it, but the other fonts from XTerm.ad do not. I also see
14115    a similar problem with the emulation of bold fonts. (patch by
14116    Sergei Laskavy &lt;Laskavy@cs.msu.su&gt;).</li>
14117
14118    <li>add include for Xos.h to xterm.h, to ensure proper
14119    definitions (reported by Holger Veit).</li>
14120
14121    <li>update config.guess to recognize Unixware 2.1 and 7 (patch
14122    by Mike Hopkirk &lt;hops@sco.com&gt;).</li>
14123  </ul>
14124
14125  <h1><a name="xterm_76" id="xterm_76">Patch #76 - 1998/5/8 -
14126  XFree86 3.9Ah and 3.3.2</a></h1>
14127
14128  <p>A fix for the print-window function, and some minor
14129  cleanup:</p>
14130
14131  <ul>
14132    <li>modify logic that closes pipe in the print-window function
14133    to not use pclose, which does not work on all systems, since I
14134    did not open the pipe with popen (reported by Stefan
14135    Dalibor).</li>
14136
14137    <li>correct name of $(EXTRA_LOAD_FLAGS) imake variable
14138    (reported by Stefan Dalibor).</li>
14139
14140    <li>guard logic in ChangeGroup() function against null pointer
14141    (reported by Stefan Dalibor).</li>
14142
14143    <li>ensure that menu entry for toggling sunKeyboard resource is
14144    initialized (reported by Branden Robinson
14145    &lt;branden@purdue.edu&gt;).</li>
14146
14147    <li>gcc unused-variable warnings (reported by Bernd Ernesti
14148    &lt;bernd@arresum.inka.de&gt;)</li>
14149
14150    <li>rename global variable 'buffer' to 'VTbuffer'</li>
14151  </ul>
14152
14153  <h1><a name="xterm_75" id="xterm_75">Patch #75 - 1998/5/7 -
14154  XFree86 3.9Ah and 3.3.2</a></h1>
14155
14156  <p>This incorporates fixes from several people, as well as some
14157  improvements that I made based on feedback from users:</p>
14158
14159  <ul>
14160    <li>add option to standalone configure script,
14161    "--with-own-terminfo-dir", which causes xterm to pass a
14162    predefined value of $TERMINFO to the application. Also use this
14163    value in install rule "make install-ti", for the standalone
14164    configure script. (patch &amp; feedback from Tor Lillqvist
14165    &lt;tml@hemuli.tte.vtt.fi&gt;)</li>
14166
14167    <li>change ifdef's for "hpux" to "__hpux" (patch by Tor
14168    Lillqvist). The imake configuration uses the former, but the
14169    latter is predefined by HP's compilers.</li>
14170
14171    <li>define USE_SYSV_ENVVARS for HP-UX, curses does not use
14172    $TERMCAP (patch by Tor Lillqvist).</li>
14173
14174    <li>on HP-UX, use the /dev/ptym/clone device to allocate PTY's.
14175    Works both on HP-UX 9 and 10. (patch by Tor Lillqvist).</li>
14176
14177    <li>modify configure script to obtain the $(EXTRA_LOADFLAGS)
14178    value from imake, needed for compiling under DEC OSF/1
14179    (reported by Stefan Dalibor)</li>
14180
14181    <li>modify print-window action so that the printer is closed
14182    after printing a window, unless the printer was already opened
14183    (i.e., by an application running in the window). This makes the
14184    printing complete without having to exit xterm, since not all
14185    systems treat fflush through a pipe very well (reported by
14186    Stefan Dalibor)</li>
14187
14188    <li>modify printing code so that the ^M's are not printed if
14189    the printAttribute resource is set to zero (request by Stefan
14190    Dalibor).</li>
14191
14192    <li>correct typo in xterm.man, for the default value of
14193    printAttribute (reported by Stefan Dalibor).</li>
14194
14195    <li>correct printing code so that the alternate character set
14196    is printed, like other attributes, with escape sequences.</li>
14197
14198    <li>correct termcap description, removing spurious 'm'
14199    character from the 'op' capability (reported by Greg Woods
14200    &lt;woods@weird.com&gt;).</li>
14201
14202    <li>correct trace code so that the initial timestamp is
14203    set.</li>
14204
14205    <li>correct/modify utmp data for the Linux glibc 2
14206    configuration, so that the ut_line member is set before using
14207    it to update wtmp (patch by Bill Nottingham
14208    &lt;wen1@cec.wustl.edu&gt;).</li>
14209  </ul>
14210
14211  <h1><a name="xterm_74" id="xterm_74">Patch #74 - 1998/4/27 -
14212  XFree86 3.9Ag and 3.3.2</a></h1>
14213
14214  <p>This corrects a couple of recent bugs and adds a new
14215  resource:</p>
14216
14217  <ul>
14218    <li>modify definition of TRACE_CHILD so that it does not
14219    conflict with ifdef's for USE_USG_PTYS in main.c (reported by
14220    Vikas Agnihotri &lt;VikasA@att.com&gt; and Stefan
14221    Dalibor).</li>
14222
14223    <li>correct ownership of file (actually pipe) written by the
14224    print controls. When undoing the setuid changes in patch #69, I
14225    overlooked this. Now xterm forks a process which resets setuid
14226    and routes the printer data as the real user.</li>
14227
14228    <li>add a new resource, "printAttributes", which controls
14229    whether color attributes (or any attributes) are sent to the
14230    printer.</li>
14231  </ul>
14232
14233  <h1><a name="xterm_73" id="xterm_73">Patch #73 - 1998/4/25 -
14234  XFree86 3.9Ag and 3.3.2</a></h1>
14235
14236  <p>This patch does the following:</p>
14237
14238  <ul>
14239    <li>implements a print-window facility for xterm. Though useful
14240    in itself, I added it as part of some debugging which I am
14241    doing. (Occasionally during an exposure event xterm fails to
14242    restore the proper colors for highlighted text, and printing
14243    the screen will show the internal states nicely).
14244      <p>The print facility now also displays the color
14245      information. (I will probably make this a resource).</p>
14246    </li>
14247
14248    <li>modified the xterm-16color terminfo description to use the
14249    setaf and setab strings, which is a little more efficient
14250    (requested by Stephen Marley).</li>
14251
14252    <li>reduced some clutter of the ifdef/includes (e.g., stdlib.h,
14253    unistd.h, errno) making the configure script test for these.
14254      <p>I removed the symbols Size_t and Time_t, since they no
14255      longer serve a useful purpose.</p>
14256    </li>
14257
14258    <li>added some debugging traces to show the initial screen
14259    size, and the success/failure of the ioctl calls pass handle
14260    window resizing events to the application (for Clint Olsen).
14261      <p>I also modified the trace code to produce two files since
14262      some of the information is produced by the child process. So
14263      now they are Trace-parent.out and Trace-child.out</p>
14264    </li>
14265
14266    <li>updated configure test for ANSI compiler options to handle
14267    a special case for HP-UX 10.x (reported by Clint Olsen).</li>
14268  </ul>
14269
14270  <h1><a name="xterm_72" id="xterm_72">Patch #72 - 1998/4/17 -
14271  XFree86 3.9Ag and 3.3.2</a></h1>
14272
14273  <p>This is a patch from Chris Siebenmann
14274  &lt;cks@hawkwind.utcs.toronto.edu&gt;, which I have cleaned up a
14275  little, and integrated into the configure script.</p>
14276
14277  <p>From his description:</p>
14278
14279  <blockquote>
14280    <p>This set of patches is the latest incarnation of patches
14281    originally written by Ian! D Allen, then of the University of
14282    Waterloo and now of who knows where; I have been carrying them
14283    forward from xterm to xterm ever since about X11R4. What they
14284    do is add an option so that when an iconified xterm receives
14285    output it prepends '*** ' to its icon title and (optionally)
14286    beeps the bell; deiconifying the xterm removes the '*** '. Over
14287    the years I've found this to be incredibly convenient for
14288    monitoring all sorts of low-activity things.</p>
14289  </blockquote>
14290
14291  <h1><a name="xterm_71" id="xterm_71">Patch #71 - 1998/4/12 -
14292  XFree86 3.9Ag and 3.3.2</a></h1>
14293
14294  <p>This patch is a slightly modified version of one by Richard
14295  Braakman, which prevents buffer overflow in the input-method and
14296  preedit-type parsing in xterm. I changed a couple of details to
14297  make the code more maintainable, and looked for similar things -
14298  copying into a fixed-size buffer (found none, though I did spot
14299  an unused variable).</p>
14300
14301  <h1><a name="xterm_70" id="xterm_70">Patch #70 - 1998/3/29 -
14302  XFree86 3.9Af and 3.3.2</a></h1>
14303
14304  <p>This patch corrects some minor bugs in xterm, and fills in
14305  some more details in the VT220 emulation:</p>
14306
14307  <ul>
14308    <li>modify Imakefile to use SpecialCObjectRule for menu and
14309    data modules, making xterm build properly if logging is enabled
14310    (patch by Scott Sewall &lt;scott@iprg.nokia.com&gt;).</li>
14311
14312    <li>restore "ich" capability to terminfo entries, since Michael
14313    Schroeder points out that "ich1" is the one which is the
14314    problem in Solaris vi.</li>
14315
14316    <li>correct color of cursor, which would disappear on
14317    inverse-video since the initialization did not compare the
14318    cursor color against both foreground and background (reported
14319    by Olivier Calle).</li>
14320
14321    <li>correct abbreviation-test for -version and -help options,
14322    making command-line option -vb work (reported by Stefan
14323    Dalibor).</li>
14324
14325    <li>correct a dependency between ifdef's for OPT_I18N_SUPPORT
14326    and OPT_INPUT_METHOD (reported by Stefan Dalibor).</li>
14327
14328    <li>split-out character-set translations as new module
14329    charsets.c, to implement VT220 national replacement character
14330    sets (a mode where some of the characters are displayed as
14331    specific European glyphs). This relies on xterm using an ISO
14332    8859-1 font (approach suggested by Kenneth R. Robinette
14333    &lt;zkrr01@mailbox.neosoft.com&gt;).</li>
14334
14335    <li>correct a missing increment, which made SS2 and SS3
14336    controls repeat the shifted character.</li>
14337
14338    <li>add xterm-nrc to terminfo to illustrate the VT220 national
14339    replacement character sets.</li>
14340
14341    <li>reformat terminfo using new ncurses tic option "-f", which
14342    makes if/then/else/endif expressions easier to read.</li>
14343  </ul>
14344
14345  <h1><a name="xterm_69" id="xterm_69">Patch #69 - 1998/3/16 -
14346  XFree86 3.9Ad and 3.3.2</a></h1>
14347
14348  <p>This corrects the problem in xterm with utmp, reported by
14349  Olivier Calle &lt;olivier@tc.fluke.com&gt; as well as some other
14350  people after the XFree86 3.3.2 release.</p>
14351
14352  <p>The error was introduced by my <a href="#xterm_53">patch
14353  #53</a> in XFree86 3.9r (October 1997).</p>
14354
14355  <p>The correction removes the reset of setuid/setgid before the
14356  main event loop, and solves the problem which I had worked around
14357  in a different manner: for some reason, the particular waitpid()
14358  call in creat_as() hangs, does not return when the child process
14359  exits. I changed the ifdef's to force the Linux configuration to
14360  use wait() instead. This call appears to work properly on other
14361  platforms such as SunOS and Solaris.</p>
14362
14363  <p>I also added tests in the standalone configure script to check
14364  for the existence of waitpid().</p>
14365
14366  <h1><a name="xterm_68" id="xterm_68">Patch #68 - 1998/3/4 -
14367  XFree86 3.9Ad and 3.3.1z</a></h1>
14368
14369  <p>This corrects another problem with the logic for
14370  highlightColor resource. As reported by David Dawes:</p>
14371
14372  <blockquote>
14373    <p>I've just noticed a problem with with the "inverse" control
14374    sequence (ESC[7m) with the 3.3.2 xterm. What it does is sets
14375    the background black, and the text the usual foreground colour
14376    rather than simply swapping the foreground/background.</p>
14377  </blockquote>
14378
14379  <p>This appears to be because when I added logic to check that
14380  the highlightColor was distinct from foreground and background
14381  colors, I did not add a further check to see that it was not
14382  black (I would make an explicit check for the resource not being
14383  set, but see nothing definite in the headers that would let me
14384  reference an explicitly-undefined Pixel value, though there are
14385  some implications in xpm.h). But this should work.</p>
14386
14387  <h1><a name="xterm_67" id="xterm_67">Patch #67 - 1998/2/23 -
14388  XFree86 3.9Ad and 3.3.1e</a></h1>
14389
14390  <p>This patch does the following:</p>
14391
14392  <ul>
14393    <li>improve test for highlightColor so that xterm does not
14394    attempt to use that unless it is different from the foreground
14395    and background colors (reported by Stefan Dalibor
14396    &lt;Stefan.Dalibor@informatik.uni-erlangen.de&gt;.
14397      <p>I could not reproduce this until I noticed that the -rev
14398      option exposed it nicely.</p>
14399    </li>
14400
14401    <li>remove ich and ich1 from xterm and xterm-8bit terminfo
14402    descriptions. SVr4 terminfo documents that you must not combine
14403    these with smir/rmir, but ncurses allows it, opening a hole.
14404    Solaris 2.6 vi does not work properly if it is using a terminfo
14405    description when these are combined, since it was written to
14406    accommodate old terminals that required it (reported by Stephen
14407    Marley).</li>
14408
14409    <li>restore 1-pixel overlap of scrollbar border with left edge
14410    of window (reported by Jim Burmeister
14411    &lt;jimb@metrolink.com&gt;).</li>
14412
14413    <li>add a configure option, --enable-logfile-exec, which allows
14414    the user to specify a pipe for logfile. This defines
14415    ALLOWLOGFILEEXEC.</li>
14416
14417    <li>makes the ALLOWLOGFILEEXEC code compile &amp; run, if
14418    configured.</li>
14419
14420    <li>minor documentation nits.</li>
14421  </ul>
14422
14423  <h1><a name="xterm_66" id="xterm_66">Patch #66 - 1998/2/16 -
14424  XFree86 3.9Ad and 3.3.1d</a></h1>
14425
14426  <p>This fixes the problem reported with failure to build the
14427  <em>resize</em> program (BSDI, OSF/1) due to not having
14428  &lt;termcap.h&gt;, by changing the ifdef to one that would be set
14429  only if the file exists (not currently specified, except by the
14430  standalone configure script). We do not really need to include
14431  &lt;termcap.h&gt; to build, but only for a clean compile, since
14432  it may declare the tgetent() prototype. I also updated the
14433  man-page for <em>resize</em>, since I had recently noticed that
14434  it can be used to resize <em>xterm</em> using the "Sun" control
14435  sequences option.</p>
14436
14437  <h1><a name="xterm_65" id="xterm_65">Patch #65 - 1998/2/14 -
14438  XFree86 3.9Ad and 3.3.1c</a></h1>
14439
14440  <p>This is a small patch to xterm's 8-bit terminal description. I
14441  noticed while testing ncurses that I had specified the wrong
14442  (VT100-style) codes for the F1-F4. Xterm only uses VT220-style
14443  function keys in 8-bit mode.</p>
14444
14445  <h1><a name="xterm_64" id="xterm_64">Patch #64 - 1998/2/8 -
14446  XFree86 3.9Ad</a></h1>
14447
14448  <p>This fixes the following problems with xterm:</p>
14449
14450  <ul>
14451    <li>save/restore the ANSI foreground and background colors with
14452    the other visible attributes in the save-cursor and
14453    restore-cursor operations. This works around a problem with
14454    vim, which apparently assumed that switching between the normal
14455    and alternate screens resets the colors (reported by Jim Battle
14456    &lt;jb@chromatic.com&gt;).
14457      <p>It would be nice to implement save/restore cursor as a
14458      stack (and solve this type of problem completely), but that
14459      would lead to incompatibility with applications which assume
14460      they are running with a VT100 or VT220.</p>
14461    </li>
14462
14463    <li>corrects behavior of a restore-cursor operation which does
14464    not follow a save-cursor (it is supposed to set the character
14465    sets to a known initial state).</li>
14466
14467    <li>extends the sunKeyboard resource (and menu toggle) to
14468    modify the home, end and delete keys on a Sun or PC editing
14469    keypad, making them generate codes compatible with DEC VT220's
14470    Find, Select and Remove keys.</li>
14471
14472    <li>corrects a length in checking command-line options, which
14473    caused the "-help" message to not work when X was not
14474    running.</li>
14475
14476    <li>add some detail to the man-page (requested by Jason Bacon
14477    &lt;acadix@execpc.com&gt;)</li>
14478
14479    <li>modify the standalone configure script to ignore the broken
14480    nsl and socket libraries on IRIX 6.2 (the ones on 5.2 also are
14481    broken, so this change just widens the check for the system
14482    version number).</li>
14483  </ul>
14484
14485  <h1><a name="xterm_63" id="xterm_63">Patch #63 - 1998/2/5 -
14486  XFree86 3.9Ad</a></h1>
14487
14488  <p>This is another patch from Bjorn Helgaas
14489  &lt;helgaas@rsn.hp.com&gt;, which I've reviewed (and learned
14490  some). Following are his notes:</p>
14491
14492  <p>I poked around some more and finally got xterm-62 to build and
14493  run cleanly on HP-UX 10.20. Here are the patches. They look sort
14494  of ugly, so here's a little explanation:</p>
14495
14496  <ul>
14497    <li>aclocal.m4: Removed side effects from the AC_CACHE_VAL
14498    commands in CF_FUNC_TGETENT. Previously, LIBS was set inside
14499    AC_CACHE_VAL, which worked fine the first time configure was
14500    run, but failed if there were cached values.</li>
14501
14502    <li>aclocal.m4: Added temporary setting of LIBS before
14503    AC_TRY_LINK in CF_FUNC_TGETENT. Previously, the last value set
14504    by the AC_TRY_RUN loop was used, so only -lcurses was
14505    checked.</li>
14506
14507    <li>configure.in: Added temporary setting of CPPFLAGS before
14508    AC_CHECK_HEADERS for X11 files. Previously
14509    &lt;X11/DECkeysym.h&gt; and &lt;X11/Xpoll.h&gt; were found only
14510    if they were in the compiler's default include directories,
14511    even if `--x-includes=DIR' had been used or AC_PATH_XTRA had
14512    found them elsewhere.</li>
14513  </ul>
14514
14515  <p>The problem on HP-UX was that we were linking with -lcurses
14516  rather than -ltermcap due to the second bullet above, and
14517  apparently something in HP-UX curses is broken. This seems very
14518  strange, because the only thing used is tgetent, which should
14519  affect any tty/pty configuration, but I lost interest in tracking
14520  down the exact problem.</p>
14521
14522  <h1><a name="xterm_62" id="xterm_62">Patch #62 - 1998/1/23 -
14523  XFree86 3.9Ac</a></h1>
14524
14525  <p>This is a patch mostly by Bjorn Helgaas
14526  &lt;helgaas@dhc.net&gt; (I added the os2main.c change, and a
14527  little of the documentation). From Bjorn's description:</p>
14528
14529  <ul>
14530    <li>If you use the "-hc &lt;color&gt;" option or set the
14531    "highlightColor" resource, text is highlighted by changing only
14532    the background color, rather than using reverse video. I find
14533    this easier to read, especially when selecting multi-colored
14534    text, and it is similar to the way Netscape shows
14535    selections.</li>
14536
14537    <li>Most of the code changes are under "#if
14538    OPT_HIGHLIGHT_COLOR". The principal exception is in screen.c,
14539    where I added a couple calls to resetXtermGC(). This seems like
14540    it could be a bug even without the color highlighting changes
14541    (though I don't pretend to understand all the logic).</li>
14542  </ul>
14543
14544  <h1><a name="xterm_61" id="xterm_61">Patch #61 - 1998/1/17 -
14545  XFree86 3.9Ac</a></h1>
14546
14547  <p>This patch modifies the reset behavior of xterm slightly:</p>
14548
14549  <ul>
14550    <li>change the terminfo entry so that rs1 (one of the strings
14551    used by the 'reset' program) does a hard reset rather than
14552    switching character sets. This is more in accord with other
14553    terminal descriptions.</li>
14554
14555    <li>modifies the treatment of hard reset by the xterm program
14556    to reset the saved lines.</li>
14557
14558    <li>corrects hard reset by also resetting user-defined keys,
14559    i.e., DECUDK.</li>
14560  </ul>
14561
14562  <h1><a name="xterm_60" id="xterm_60">Patch #60 - 1998/1/10 -
14563  XFree86 3.9Ab</a></h1>
14564
14565  <p>This fixes some minor bugs and adds new functionality:</p>
14566
14567  <ul>
14568    <li>add support for blinking text.
14569      <ul>
14570        <li>This does not actually cause the text to flash, but
14571        text with the blink attribute can be displayed in color,
14572        using new resources colorBL and colorBLMode.</li>
14573
14574        <li>If colors are not used, the blinking text will be
14575        displayed as before (just like bold). The main purpose of
14576        this is to make applications work properly when they assume
14577        the emulator supports blinking text.</li>
14578
14579        <li>I did this by moving the per-cell LINEWRAPPED flag to a
14580        per-line flag, to make room for the new BLINK flag. There
14581        were no per-line flags, so this changes a lot of
14582        logic.</li>
14583      </ul>
14584    </li>
14585
14586    <li>corrected missing save-cursor logic in the handling of SGR
14587    1048 (the new control sequence I added in patch #54,
14588    1997/10/17). Reported by Darren Hiebert.</li>
14589
14590    <li>flush the output of the transparent printing after each
14591    line Reported by Tomas Vanhala
14592    &lt;vanhala@ling.helsinki.fi&gt;.</li>
14593
14594    <li>correct the modes that are affected by save/restore cursor
14595    by adding WRAPAROUND and PROTECTED.</li>
14596
14597    <li>corrected placement of one of the XSync calls that I added
14598    in patch #51, 1997/9/15, which had the side-effect of writing
14599    on the window border when the xterm was resizing from 132 to 80
14600    columns.</li>
14601
14602    <li>work around an incompatibility of the XKB definition used
14603    in xterm versus that symbol from IRIX 6.2's imake definitions
14604    (by adjusting the standalone configure script).</li>
14605  </ul>
14606
14607  <h1><a name="xterm_59" id="xterm_59">Patch #59 - 1998/1/5 -
14608  XFree86 3.9Ab</a></h1>
14609
14610  <p>My last patch has an off-by-one error in the comparison for
14611  argc. Douglas Kosovic &lt;douglask@dstc.edu.au&gt; showed me
14612  where (he got a core dump). Also, I think this explains Clint
14613  Olsen's problem, but the symptoms were more subtle (EINVAL for a
14614  system call if the -display option is omitted).</p>
14615
14616  <h1><a name="xterm_58" id="xterm_58">Patch #58 - 1998/1/3 -
14617  XFree86 3.9Ab</a></h1>
14618
14619  <p>This patch does the following:</p>
14620
14621  <ul>
14622    <li>implement logic to permit xterm to work with proportional
14623    fonts.
14624      <ul>
14625        <li>Thomas Wolff &lt;Thomas.Wolff@sietec.de&gt; requested
14626        this (but it isn't exactly what he's asking for - that's a
14627        more involved task).</li>
14628
14629        <li>I chose to do this by rendering the characters on a
14630        fixed pitch, because it would not be useful for existing
14631        applications to display varying numbers of characters on
14632        each line.</li>
14633
14634        <li>Except that this forces the display to be wider, it
14635        works reasonably well. A couple of special cases (reverse +
14636        colorBD, for example) do not display with proper colors,
14637        since the inter-character gaps are painted with the
14638        background.</li>
14639      </ul>
14640    </li>
14641
14642    <li>added a version number to the program (several people have
14643    requested this).</li>
14644
14645    <li>make the -version and -help options interpreted before the
14646    program attempts to open the display.</li>
14647
14648    <li>minor reorganization of the man-page (ordered the options,
14649    resources and translations alphabetically - and eliminated some
14650    duplication).</li>
14651
14652    <li>corrected a misspelled filename in Makefile.in, and added a
14653    lint rule.</li>
14654
14655    <li>updated the configure script to correct behavior when it
14656    cannot find imake, as well as to fix the IRIX+gcc build
14657    (conflict with /usr/include).</li>
14658
14659    <li>regenerated the configure script with a newer patch to
14660    autoconf that fixes a problem with environment space vs the
14661    configure --help message.</li>
14662  </ul>
14663
14664  <h1><a name="xterm_57" id="xterm_57">Patch #57 - 1997/12/26 -
14665  XFree86 3.9Aa</a></h1>
14666
14667  <p>This patch is mostly concerned with the standalone configure
14668  script; a few minor corrections are added:</p>
14669
14670  <ul>
14671    <li>add configure option --disable-tek4014, to allow xterm to
14672    be built without the tek4014 emulation.</li>
14673
14674    <li>add configure option --with-terminal-type, to allow xterm
14675    to be compiled with default $TERM value other than "xterm"
14676    (e.g., "xterm-16color") -- requested by Stephen Marley
14677    &lt;stephen@memex.com&gt;.</li>
14678
14679    <li>fix a typo in the configure --help message -- reported by
14680    Darren Hiebert &lt;darren@hmi.com&gt;.</li>
14681
14682    <li>review diffs between main.c and os2main.c, to make them
14683    more alike. (applies some minor bug-fixes to OS/2's
14684    version).</li>
14685
14686    <li>add missing quotes in memmove/bcopy configure test</li>
14687  </ul>
14688
14689  <h1><a name="xterm_56" id="xterm_56">Patch #56 - 1997/11/28 -
14690  XFree86 3.9x</a></h1>
14691
14692  <p>This patch is based on analysis by Arfst Ludwig
14693  &lt;arfst@luxor.IN-Berlin.DE&gt;, who reported:</p>
14694
14695  <blockquote>
14696    <p>Setting the following resources xterm (all current versions)
14697    receives a segmentation fault on &lt;Btn2Up&gt; after
14698    scrolling:</p>
14699
14700    <pre>
14701          *XTerm*VT100*translations:    #override \
14702              ~Shift~Ctrl&lt;Btn2Up&gt;: insert-selection(PRIMARY, CUT_BUFFER0)\n\
14703              Shift~Ctrl&lt;Btn2Up&gt;:  insert-selection(CLIPBOARD, CUT_BUFFER1)\n\
14704              ~Shift&lt;BtnUp&gt;:       select-end(PRIMARY, CUT_BUFFER0)\n\
14705              Shift&lt;BtnUp&gt;:        select-end(CLIPBOARD, CUT_BUFFER1)
14706</pre>
14707    <p>(The above resources intention is to be able to paste the
14708    latest selection even if the xterm was cleared.)</p>
14709
14710    <p>And here is how it works (and a fix!): The widget given to
14711    the action handler as first argument is not guaranteed to be a
14712    XtermWidget (it can be the ScrollbarWidget). Instead of
14713    accessing the widget's member directly XtDisplay gives the
14714    required pointer in a safe way.</p>
14715  </blockquote>
14716
14717  <p>I noticed that this was not the only instance (by reading the
14718  code, and testing with his example), and extended the solution to
14719  check the widget-class to ensure that it is indeed xterm's widget
14720  class before attempting to use it in the context of
14721  translations.</p>
14722
14723  <h1><a name="xterm_55" id="xterm_55">Patch #55 - 1997/11/25 -
14724  XFree86 3.9x</a></h1>
14725
14726  <p>This fixes the segmentation violation noted by Rogier Wolff
14727  about a month ago. He'd set xterm to 400 (rows) by 150 columns,
14728  which broke because there were limited buffers (200 rows) used
14729  for juggling data when adding or deleting lines and for switching
14730  between alternate and normal screens. I replaced this by an
14731  allocated buffer.</p>
14732
14733  <p>The bug is simple to test if you set titeInhibit false.</p>
14734
14735  <h1><a name="xterm_54" id="xterm_54">Patch #54 - 1997/10/17 -
14736  XFree86 3.9s</a></h1>
14737
14738  <p>This patch does the following:</p>
14739
14740  <ul>
14741    <li>correct a minor placement problem with the right
14742    scrollbar.</li>
14743
14744    <li>implement a new set of control sequences for switching
14745    between the normal and alternate VT100 screens. These work
14746    around the older sequences limitation that required
14747    modification of the runtime $TERMCAP to cooperate with the
14748    titeInhibit resource (that can't work with terminfo). I do this
14749    by moving all of the functionality of the rmcur terminfo
14750    capability into the control sequences.</li>
14751
14752    <li>implement the alternate-screen menu entry</li>
14753  </ul>
14754
14755  <h1><a name="xterm_53" id="xterm_53">Patch #53 - 1997/10/12 -
14756  XFree86 3.9r</a></h1>
14757
14758  <p>This patch adds a fix and implements a new feature (as well as
14759  some minor typos):</p>
14760
14761  <ul>
14762    <li>JCHANDRA@Inf.COM (JCHANDRA) noted that there was still a
14763    problem with the wait call with the logging option. It hung
14764    when the logfile was opened as a command-line option. I fixed
14765    this by moving the StartLogging() call down past the place
14766    where I'd reset the setuid mode. So the logfile is opened as
14767    the real user, without having to fork.</li>
14768
14769    <li>improve Rohleder's changes by renaming the command-line
14770    options and reducing the number of ifdef's.</li>
14771
14772    <li>implement right-scrollbars for xterm (patch by Michael
14773    Rohleder &lt;michael.rohleder@stadt-frankfurt.de&gt;).</li>
14774  </ul>
14775
14776  <h1><a name="xterm_52" id="xterm_52">Patch #52 - 1997/9/29 -
14777  XFree86 3.9q</a></h1>
14778
14779  <p>This patch addresses bugs and requests reported by</p>
14780
14781  <ul>
14782    <li>Bob Maynard &lt;rmaynard@montana.com&gt;,</li>
14783
14784    <li>Clint Olsen &lt;olsenc@ichips.intel.com&gt;,</li>
14785
14786    <li>JCHANDRA@Inf.COM (JCHANDRA),</li>
14787
14788    <li>Michael Schroeder
14789    &lt;Michael.Schroeder@informatik.uni-erlangen.de&gt;,</li>
14790
14791    <li>Pablo Ariel Kohan &lt;pablo@memco.co.il&gt;</li>
14792  </ul>
14793
14794  <p>Some of the changes are interrelated (it was an unusually busy
14795  week).</p>
14796
14797  <ul>
14798    <li>change the default resource value for colorMode to true,
14799    matching the Xterm.ad file.</li>
14800
14801    <li>correct behavior of 'ech' control, making the default and 0
14802    parameters erase one character rather than to the end of line
14803    (reported by Michael Schroeder).</li>
14804
14805    <li>add resource boldColors, command-line options +pc and -pc
14806    and configure-script option to specify behavior of xterm's
14807    mapping bold colors 0 through 7 to colors 8 through 15.
14808    (request by Pablo Ariel Kohan).</li>
14809
14810    <li>add resource colorAttrMode to specify whether colorULMode
14811    and colorBDMode can override the ANSI colors (report by Clint
14812    Olsen).</li>
14813
14814    <li>correct a conflict between colorULMode/colorBDMode versus
14815    ANSI colors, where exposure events would occasionally pick up
14816    the former (e.g., colorBD) rather than ANSI colors. Testing the
14817    colorAttrMode made this apparent, though it has been in the
14818    code since 3.2A (<a href="#xterm_35">patch #35</a> in Jan
14819    1997).</li>
14820
14821    <li>correct two problems with the optional logging support. On
14822    Linux at least, the waitpid call in creat_as hangs when the
14823    logging is toggled from the popup menu. Also, the mktemp
14824    template has the wrong number of X's (since X11R5!). Fixed the
14825    waitpid problem by exploiting the fact that the setuid behavior
14826    is reset before the popup menus are available. (reported by
14827    Jayachandran C.).</li>
14828
14829    <li>add configure script options for building with the Xaw3d
14830    and neXtaw libraries.</li>
14831
14832    <li>correct CF_IMAKE_CFLAGS standalone configure script macro,
14833    so that it will pick up $(ALLDEFINES) rather than
14834    $(STD_DEFINES). This is needed to make scrollbars work on
14835    Linux, since that uses narrow prototypes. (reported by Bob
14836    Maynard).</li>
14837
14838    <li>various minor updates to configure-script macros.</li>
14839  </ul>
14840
14841  <h1><a name="xterm_51" id="xterm_51">Patch #51 - 1997/9/15 -
14842  XFree86 3.9p</a></h1>
14843
14844  <p>Most of this patch is related to the standalone configure
14845  script, though there are fixes/enhancements as well:</p>
14846
14847  <ul>
14848    <li>add a new resource sunKeyboard, with associated
14849    command-line option and menu-toggle that allows using a normal
14850    Sun or PC keyboard to generated the complete DEC-style function
14851    keys and keypad.</li>
14852
14853    <li>correct a reversed foreground/background test in the
14854    control sequence that replies with the current SGR
14855    settings.</li>
14856
14857    <li>correct, by invoking XSync, a display problem that caused
14858    the program to not properly update newly exposed areas when a
14859    font change or 80/132 resize request was not completely
14860    accepted.</li>
14861
14862    <li>restructured autoconf macros (I made a library of all of
14863    the macros across the complicated configure scripts I'm working
14864    on).</li>
14865
14866    <li>use the autoconf config.guess and config.sub scripts to
14867    better identify the host-os.</li>
14868
14869    <li>improve the configure script that uses 'imake' as a
14870    fallback for definitions.</li>
14871
14872    <li>correct several instances of unsigned/signed mixed
14873    expressions.</li>
14874  </ul>
14875
14876  <p>I've tested the configure script on Linux, SunOS 4.1.3,
14877  Solaris 2.5.1, IRIX 5.2 and 6.2, AIX 3.2.5 and CLIX 3.1 (all but
14878  the last run properly as well).</p>
14879
14880  <h1><a name="xterm_50" id="xterm_50">Patch #50 - 1997/8/22 -
14881  XFree86 3.9m</a></h1>
14882
14883  <p>This is a collection of small fixes, and a couple of minor
14884  enhancements:</p>
14885
14886  <ul>
14887    <li>plug a security hole in the implementation of Media Copy
14888    (print) by invoking setuid just before the main loop.</li>
14889
14890    <li>add an ifdef'd include for &lt;sys/termio.h&gt; for HP-UX,
14891    which allows the program to process SIGWINCH events (this is a
14892    bug in X11R6.3)</li>
14893
14894    <li>add state-table entries for VT52 emulation to enter/exit
14895    keypad application mode.</li>
14896
14897    <li>disable the popup-menu entry for 8-bit controls when the
14898    terminal-id is less than 200 (e.g., VT52 or VT100).</li>
14899
14900    <li>ensure that the popup-menu entry for 8-bit controls is
14901    updated when the application enables/disables this mode,
14902    including the response to a full-reset.</li>
14903
14904    <li>implement VT300 DECBKM feature: set interpretation of the
14905    backarrow key to either backspace or delete. The initial
14906    setting is via resource; it can also be modified in the main
14907    popup menu.</li>
14908
14909    <li>implement VTxxx KAM (ISO AM), which allows a keyboard to be
14910    locked (i.e., the terminal discards input).</li>
14911
14912    <li>implement VTxxx SRM, which is used to control local echoing
14913    of input on the terminal.</li>
14914
14915    <li>add terminfo and termcap entries for xterm-8bit, a
14916    variation of the xterm description that uses 8-bit control
14917    characters.</li>
14918
14919    <li>add fallback definitions for Imakefile to allow it to work
14920    on some X11R5 systems that have no SpecialCObjectRule or
14921    ProgramTargetName macros.</li>
14922
14923    <li>add .c.o and .c.i rules to standalone Makefile.in</li>
14924
14925    <li>correct order of -lXmu and -lXext in standalone configure
14926    script.</li>
14927
14928    <li>add configure script options to allow selective disabling
14929    of active-icon, input-method and i18n code (mainly for users
14930    with X11R5 or an incomplete X11R6 configuration).</li>
14931
14932    <li>change menu-indices from #define's to enum values, thereby
14933    making it work better with the ifdef's for logging and
14934    active-icon (the X11R6.3 active-icon code is incorrectly
14935    ifdef'd; this corrects an error introduced by incorporating
14936    that code).</li>
14937
14938    <li>correct minor compile errors in the configuration where
14939    active-icon is not used.</li>
14940
14941    <li>add configure option to suppress echoing of long compiler
14942    commands</li>
14943
14944    <li>correct spelling of decTerminalID in configure script help
14945    message</li>
14946
14947    <li>use gcc __attribute__((unused)) to quiet warnings about
14948    unused parameters when compiling with -W (to make it simpler to
14949    find the real problems).</li>
14950  </ul>
14951
14952  <h1><a name="xterm_49" id="xterm_49">Patch #49 - 1997/8/10 -
14953  XFree86 3.9k</a></h1>
14954
14955  <p>This patch implements the VT100/VT220 Media Copy (i.e.,
14956  print-screen) control sequences.</p>
14957
14958  <h1><a name="xterm_48" id="xterm_48">Patch #48 - 1997/7/26 -
14959  XFree86 3.9j</a></h1>
14960
14961  <p>This patch does the following (all but the first affect only
14962  the standalone configure script):</p>
14963
14964  <ul>
14965    <li>minor correction to positioning of underlines for small
14966    (e.g., 5x8) font size.
14967      <p>The existing behavior allowed underlines to be drawn
14968      outside the character-cell, so they weren't cleared properly
14969      under some circumstances.</p>
14970    </li>
14971
14972    <li>adds more special-case tokens to the standalone configure
14973    script's imake-option filter (e.g., "&amp;&amp;", since a "make
14974    -n main.o" on my IRIX system uses that shell construct).</li>
14975
14976    <li>adds a '--enable-logging' option for the standalone
14977    configure script.</li>
14978
14979    <li>adds check and ifdef's for the standalone configure script
14980    to allow for building on platforms with X11R6, which lacks
14981    Xpoll.h (introduced in X11R6.1).</li>
14982  </ul>
14983
14984  <h1><a name="xterm_47" id="xterm_47">Patch #47 - 1997/7/13 -
14985  XFree86 3.9i</a></h1>
14986
14987  <p>This patch does the following</p>
14988
14989  <ul>
14990    <li>corrects an indexing error in the doublesize character
14991    logic (button.c) that caused core dump (this was reported by J.
14992    Wunsch).</li>
14993
14994    <li>corrects the logic of ShowCursor when it is painting in a
14995    doublesize cell (charproc.c).</li>
14996
14997    <li>corrects, according to vttest, the behavior when switching
14998    to doublesize characters and back again (doublechr.c).</li>
14999
15000    <li>adds cbt (back_tab) to the terminfo description (this was
15001    something that I'd overlooked as applicable to curses
15002    optimization last summer).</li>
15003
15004    <li>corrects, for the standalone xmc test, the logic for
15005    disabling xmc.</li>
15006  </ul>
15007
15008  <h1><a name="xterm_46" id="xterm_46">Patch #46 - 1997/7/4 -
15009  XFree86 3.9h</a></h1>
15010
15011  <p>This is a patch to provide test-support for some work I'm
15012  doing on ncurses. It does not modify the normal configuration of
15013  xterm; the code is compiled if the standalone configure option
15014  "--enable-xmc-glitch" is specified.</p>
15015
15016  <h1><a name="xterm_45" id="xterm_45">Patch #45 - 1997/7/2 -
15017  XFree86 3.9h</a></h1>
15018
15019  <p>This fixes the problem reported with xterm's cursor color
15020  versus the background (the second chunk in this patch) and also
15021  removes some duplicate initialization of the cursor GC's. If the
15022  cursor color at startup is the same as the background, then xterm
15023  will use the reverse GC, ignoring the setting of the colorMode
15024  resource.</p>
15025
15026  <h1><a name="xterm_44" id="xterm_44">Patch #44 - 1997/6/22 -
15027  XFree86 3.9g</a></h1>
15028
15029  <p>This implements the first part of the VT100 doublesize
15030  characters for xterm, as well as fixing a handful of bugs:</p>
15031
15032  <ul>
15033    <li>the doublesize character support uses the normal font
15034    (using scaled fonts will be another patch) with blanks to
15035    simulate doublesize characters. This patch does most of the
15036    global changes that'll be required. I've hidden most of the
15037    details in macros and ifdef's so it's easy to configure out
15038    (part of the patch is a configure option for that
15039    purpose).</li>
15040
15041    <li>corrected limits in DeleteChar() function -- it's always
15042    ignored the size of the left border and scrollbar. I noticed
15043    this when working on the doublesize characters since the glitch
15044    was doubled in size (i.e., it wrapped some garbage around the
15045    right margin).</li>
15046
15047    <li>corrected 'memmove()' logic, for standalone builds (it
15048    referenced a malloc wrapper from my development library).</li>
15049
15050    <li>add a check for HideCursor() to prevent repeated screen
15051    updates (which can cause a spurious cursor glitch to appear,
15052    e.g., during scrolling). I noticed this with the 3.2A version
15053    (but only a few weeks ago, when I started working on this
15054    patch).</li>
15055  </ul>
15056
15057  <h1><a name="xterm_43" id="xterm_43">Patch #43 - 1997/6/10 -
15058  XFree86 3.9d</a></h1>
15059
15060  <p>Here's a fix for two problems:</p>
15061
15062  <ul>
15063    <li>modify handling of tgetent results in xterm and resize
15064    programs to make them tolerant of missing termcap file, or
15065    unknown terminal name. In this scheme, an explicit "-tn" option
15066    will succeed, overriding the fallback list.</li>
15067
15068    <li>a nit in the configure script (log extra information to
15069    help diagnose which case of the test-compile of tgetent was
15070    used).</li>
15071  </ul>
15072
15073  <h1><a name="xterm_42" id="xterm_42">Patch #42 - 1997/6/8 -
15074  XFree86 3.2Xl</a></h1>
15075
15076  <p>Bram Moolenaar reported that the cursor color changed
15077  unexpectedly while scrolling. The cause was that it used the same
15078  GC's as the logic that draws the ANSI colors. The bug only
15079  appears if the cursorColor resource isn't set, and has been
15080  present since the initial implementation early last year. (The
15081  same bug also appears in rxvt ;-). Here's a fix.</p>
15082
15083  <h1><a name="xterm_41" id="xterm_41">Patch #41 - 1997/5/28 -
15084  XFree86 3.2Xl</a></h1>
15085
15086  <p>Some nits found by Darren Hiebert (missing part of
15087  install-rule, incorrect assignment for --enable-color-mode
15088  option).</p>
15089
15090  <h1><a name="xterm_40" id="xterm_40">Patch #40 - 1997/5/26 -
15091  XFree86 3.2Xl</a></h1>
15092
15093  <p>Patch for the configure script's logic for obtaining imake
15094  predefined symbols.</p>
15095
15096  <h1><a name="xterm_39" id="xterm_39">Patch #39 - 1997/5/24 -
15097  XFree86 3.2Xl</a></h1>
15098
15099  <p>This patch does the following:</p>
15100
15101  <ul>
15102    <li>integrate the 16-color change for 'xterm'</li>
15103
15104    <li>minor fixes/clarification of tgetent in terminfo vs termcap
15105    to 'resize'</li>
15106  </ul>
15107
15108  <p>(both changes also modify the configure script)</p>
15109
15110  <h1><a name="xterm_38" id="xterm_38">Patch #38 - 1997/5/22 -
15111  XFree86 3.2Xh</a></h1>
15112
15113  <p>This implements a simple configuration script with autoconf
15114  (to which I'll add more options later). It does the
15115  following:</p>
15116
15117  <ul>
15118    <li>configures xterm to build with X11R5 (at least on SunOS
15119    4.1, Solaris 2.4, possibly IRIX - sorry network was down today,
15120    but I did test an earlier version yesterday).</li>
15121
15122    <li>enables/disables the configuration ifdef's for ANSI color
15123    and VT52 emulation.</li>
15124  </ul>
15125
15126  <p>It does not make tests for the things that imake does (that's
15127  another project), instead it uses a hybrid of the autoconf tests
15128  for libraries and adds imake's compiler options (which are
15129  necessary in some cases to get main.c to compile).</p>
15130
15131  <h1><a name="xterm_37" id="xterm_37">Patch #37 - 1997/5/7 -
15132  XFree86 3.9a</a></h1>
15133
15134  <p>This corrects a minor, but annoying error in the vt220
15135  emulation: the DECUDK is only supposed to be interpreted for
15136  _shifted_ function keys.</p>
15137
15138  <h1><a name="xterm_36" id="xterm_36">Patch #36 - 1997/1/16 -
15139  XFree86 3.2r</a></h1>
15140
15141  <p>This corrects something that I overlooked in patch #27
15142  (21-aug-1996), which is that when trimming the region to be
15143  repainted for the highlightSelection resource of xterm, I still
15144  have to paint the background past the highlighted region. This
15145  only happens when I first do a selection in a window that's
15146  partly off-screen, then move the window on-screen.</p>
15147
15148  <h1><a name="xterm_35" id="xterm_35">Patch #35 - 1997/1/7 -
15149  XFree86 3.2o</a></h1>
15150
15151  <p>This patch does the following:</p>
15152
15153  <ul>
15154    <li>combines the coding for foreground and background colors
15155    into a single byte, reducing the memory required to store
15156    saved-lines in color. (I'll take back that byte in a following
15157    patch to use to ensure the character-set, so there's no
15158    long-term decrease in memory use).</li>
15159
15160    <li>modifies the PF1-PF4 coding in termcap/terminfo. Because
15161    xterm is still by default emulating vt100, the function key
15162    codes are vt100-compatible (I overlooked this in patch #31). I
15163    also reformatted the whole terminfo file into a single-column,
15164    for consistency.</li>
15165
15166    <li>adds an interim xterm-vt220 description to accommodate the
15167    old and new styles of function-keys (though probably it'd be
15168    better to drop the old-style altogether).</li>
15169  </ul>
15170
15171  <h1><a name="xterm_34" id="xterm_34">Patch #34 - 1997/1/5 -
15172  XFree86 3.2o</a></h1>
15173
15174  <p>This patch does the following:</p>
15175
15176  <ul>
15177    <li>implement DECSTR (soft terminal reset). The biggest diff is
15178    due to adding another state table (note that there's only one
15179    useful state here, but it's only 256 bytes rather than 1k as it
15180    would have been before I reduced the size of state
15181    entries).</li>
15182
15183    <li>some minor tidying up (e.g., signed/unsigned use bitcpy,
15184    MODE_DECCKM, resetColor, resetCharsets). More is done in
15185    <a href="#xterm_35">patch #35</a>.</li>
15186  </ul>
15187
15188  <p>I got the description of DECSTR from a vt420 user's manual.
15189  I'll do some testing with vttest to ensure that there's nothing
15190  else to do than what was documented.</p>
15191
15192  <h1><a name="xterm_33" id="xterm_33">Patch #33 - 1996/11/24 -
15193  XFree86 3.2</a></h1>
15194
15195  <p>This adds to the reset-fix by Matthieu Herrb
15196  &lt;Mathieu.Herrb@mipnet.fr&gt; a small change to make xterm able
15197  to output 8-bit characters in VT100 mode. Applications that run
15198  on real VT100's don't do that anyway, and this feature should be
15199  removed sometime after finishing off the VT220 emulation (VT220's
15200  can do 8-bit characters). That would be a good time to change the
15201  default terminal-id to 220.</p>
15202
15203  <h1><a name="xterm_32" id="xterm_32">Patch #32 - 1996/11/21 -
15204  XFree86 3.2</a></h1>
15205
15206  <p>This implements the REP (repeat) control for xterm. That isn't
15207  part of the DEC VTxxx series, but is defined in ISO 6429. (Note
15208  that the base xterm terminal description is <em>not</em> changed
15209  -- I added a variant, "xterm-rep").</p>
15210
15211  <h1><a name="xterm_31" id="xterm_31">Patch #31 - 1996/11/16 -
15212  XFree86 3.2</a></h1>
15213
15214  <p>This implements vt52 emulation in xterm (ifdef'd so it can be
15215  removed). I've been using it for testing for the past month or
15216  so.</p>
15217
15218  <h1><a name="xterm_30" id="xterm_30">Patch #30 - 1996/11/16 -
15219  XFree86 3.2</a></h1>
15220
15221  <p>From bug-report by &lt;auroux@clipper.ens.fr&gt; (Denis
15222  Auroux), missing reset to ground state. I checked through the
15223  rest of <em>that</em> table and found another, in the
15224  unimplemented MC (screen print).</p>
15225
15226  <h1><a name="xterm_29" id="xterm_29">Patch #29 - 1996/9/15 -
15227  XFree86 3.1.2Gb</a></h1>
15228
15229  <p>This patch does the following:</p>
15230
15231  <ul>
15232    <li>corrects the restoration of color for bold/underline color
15233    mode</li>
15234
15235    <li>adds a resource 'decTerminalID' to control the reporting
15236    level of xterm (e.g., VT100, VT220).</li>
15237
15238    <li>uses the new resource to implement/correct the DA1, DA2 and
15239    DECRPTUI reports.</li>
15240
15241    <li>change valid-response code in DECRQSS from 0 to 1 (the
15242    manual says 0, but the VT420 terminal I've been testing on says
15243    1).</li>
15244  </ul>
15245
15246  <p>All of these changes are based on vttest 2.6</p>
15247
15248  <p>(Most of the volume in the patch is to add 2 more state tables
15249  for parsing the 2nd/3rd device-attribute controls).</p>
15250
15251  <h1><a name="xterm_28" id="xterm_28">Patch #28 - 1996/8/31 -
15252  XFree86 3.1.2F</a></h1>
15253
15254  <p>This patch corrects the following reported by Roland Rosenfeld
15255  &lt;roland@spinnaker.rhein.de&gt;:</p>
15256
15257  <ul>
15258    <li>handle SGR 22, 24 and 25 in combination with colorUL and
15259    colorBD resources. Also noted &amp; fixed reset of colored
15260    underline/bold with SGR 0.</li>
15261
15262    <li>a typo in the termcap (missing '['), from 3.1.2Dj (my
15263    error)</li>
15264  </ul>
15265
15266  <p>Roland also complained that he couldn't use box characters
15267  with</p>
15268
15269  <pre>
15270        -adobe-courier-bold-r-normal--12-120-75-75-m-70-iso8859-1
15271</pre>
15272  <p>but that's a known xterm limitation (the box characters must
15273  be part of the font, in the first 32 locations).</p>
15274
15275  <h1><a name="xterm_27" id="xterm_27">Patch #27 - 1996/8/21 -
15276  XFree86 3.1.2Ek</a></h1>
15277
15278  <p>This patch fixes one of my long-term gripes: xterm's selection
15279  doesn't clearly show what's being selected (as per David's
15280  request, it's controlled by a resource, which defaults to the
15281  older behavior).</p>
15282
15283  <h1><a name="xterm_26" id="xterm_26">Patch #26 - 1996/8/20 -
15284  XFree86 3.1.2Ei</a></h1>
15285
15286  <p>Here's a patch to fix a problem with xterm's cut/paste and
15287  another to modify the appearance of the highlighting while
15288  selecting. (The changes are independent, so you can see if the
15289  change to screen.c is desirable).</p>
15290
15291  <h1><a name="xterm_25" id="xterm_25">Patch #25 - 1996/8/18 -
15292  XFree86 3.1.2Ei</a></h1>
15293
15294  <p>Here's a correction for two minor bugs that I picked up in
15295  testing, plus some lint (from Solaris 2.5) where NULL was used
15296  incorrectly:</p>
15297
15298  <ul>
15299    <li>make the second alternate font the same as the first
15300    (that's what vt420 and dtterm do)</li>
15301
15302    <li>corrected DECSCL report when DECSCL hasn't been set (i.e.,
15303    don't return a '60').</li>
15304  </ul>
15305
15306  <h1><a name="xterm_24" id="xterm_24">Patch #24 - 1996/8/11 -
15307  XFree86 3.1.2Ee</a></h1>
15308
15309  <p>This patch does several things. In effect, xterm can (I think)
15310  do a reasonably good job of emulating vt220 and vt320 terminals
15311  (as well as it was doing vt100, at any rate ;-).</p>
15312
15313  <p>It does NOT do:</p>
15314
15315  <ul>
15316    <li>soft fonts</li>
15317
15318    <li>rigel or sixel graphics</li>
15319  </ul>
15320
15321  <p>Anyway, I:</p>
15322
15323  <ul>
15324    <li>added ECH, CPL, CNL, SU, SD, CBT, CHT controls</li>
15325
15326    <li>added popup-menu for switching between DEC and Sun function
15327    keys. (corrected alignment err wrt logging entry at that
15328    point).</li>
15329
15330    <li>make xterm recognize both 8-bit and 7-bit controls
15331    (including popup menu for switching modes).</li>
15332
15333    <li>add user-definable function keys (aka DECUDK)</li>
15334
15335    <li>support concealed text</li>
15336
15337    <li>support protected text (both ISO compatible and DEC
15338    compatible - that's not the same thing, btw), with SPA, EPA,
15339    DECSCA, DECSED, DECSEL controls.</li>
15340
15341    <li>implement DECSCL.</li>
15342  </ul>
15343
15344  <p>I'll be continuing to test this patch for a while, but don't
15345  expect to add any new functionality (it passes all of the current
15346  tests I've built in vttest, but I need to make more tests)..</p>
15347
15348  <h1><a name="xterm_23" id="xterm_23">Patch #23 - 1996/7/31 -
15349  XFree86 3.1.2Ec</a></h1>
15350
15351  <p>This removes the blinking cursor I added last week (for
15352  performance reasons). Time-permitting, I'll revisit this after
15353  3.2 is released (there <em>will</em> be more work after XFree86
15354  3.2, I assume).</p>
15355
15356  <h1><a name="xterm_22" id="xterm_22">Patch #22 - 1996/7/26 -
15357  XFree86 3.1.2Ec</a></h1>
15358
15359  <p>I looked more closely at my "double-negative" and realized
15360  that I had been confused by the default color scheme (black on
15361  white) in combination with reverse video. However, I did see that
15362  the original_fg and original_bg data weren't really used - so I
15363  removed that logic.</p>
15364
15365  <p>Also:</p>
15366
15367  <ul>
15368    <li>during initialization, check if ANSI colors are set with
15369    non fg/bg values, disable color mode if not. This makes xterm
15370    tolerant of applications that allocate the whole color
15371    map.</li>
15372
15373    <li>implemented blinking cursor (default is <em>off</em>)</li>
15374  </ul>
15375
15376  <h1><a name="xterm_21" id="xterm_21">Patch #21 - 1996/7/24 -
15377  XFree86 3.1.2Ec</a></h1>
15378
15379  <p>This patch does the following:</p>
15380
15381  <ul>
15382    <li>fixes some minor typography in the control-sequences
15383    documentation (it didn't occur to me til I'd sent the last
15384    patch that I could use ghostview for previewing the troff
15385    output ;-)</li>
15386
15387    <li>adjusts the shell's background color in ReverseVideo so
15388    that flicker in resizing is reduced</li>
15389
15390    <li>adds an ifdef OPT_ISO_COLORS to allow configuring xterm
15391    without the ISO color support (saves a lot of memory)</li>
15392
15393    <li>used that ifdef to isolate/modify logic so that if the user
15394    doesn't have the colorMode enabled, then ISO color support is
15395    disabled (saving memory).
15396      <p>(If anyone needs numbers, I had savedLines set to 2000,
15397      and found a reduction from ~700k to ~400k of allocated
15398      memory, according to Purify).</p>
15399    </li>
15400  </ul>
15401
15402  <h1><a name="xterm_20" id="xterm_20">Patch #20 - 1996/7/24 -
15403  XFree86 3.1.2Ec</a></h1>
15404
15405  <p>This documents the changes in control sequences for window
15406  operations that I added in my previous patch. I'm testing another
15407  patch that allows the user to use less memory if colors aren't
15408  needed.</p>
15409
15410  <h1><a name="xterm_19" id="xterm_19">Patch #19 - 1996/7/21 -
15411  XFree86 3.1.2Ec</a></h1>
15412
15413  <p>This patch does the following:</p>
15414
15415  <ul>
15416    <li>fixes the core dump that I reported on IRIX 5.2 (in main.c)
15417      <p>(it's worth noting that this bug exists in X11R6.1, so I'd
15418      like to assume that someone's already submitted a fix to X
15419      Consortium...)</p>
15420    </li>
15421
15422    <li>change the interpretation of zero rows or columns in a
15423    resize-window request to use the root window's size (looking
15424    more carefully at dtterm, that seems to be what it does).</li>
15425
15426    <li>change some memmove calls to memcpy for slightly better
15427    performance. also, a couple of memset calls to bzero, since
15428    Quantify says bzero runs 20% faster, I assume because there's
15429    one less argument.</li>
15430
15431    <li>interpret character sets 1 and 2 (so that vttest gives a
15432    reasonable result) Both rxvt and dtterm do something
15433    equivalent.</li>
15434
15435    <li>fix a minor memory leak in the logic that retrieves the
15436    window or icon names (Purify found this for me while I ran
15437    vttest).</li>
15438  </ul>
15439
15440  <h1><a name="xterm_18" id="xterm_18">Patch #18 - 1996/7/18 -
15441  XFree86 3.1.2Ec</a></h1>
15442
15443  <p>This implements the following:</p>
15444
15445  <ul>
15446    <li>escape sequences that act like the CDE dtterm's window
15447    operations (though I have implemented the default width and
15448    height -- I've seen a rather buggy dtterm running that seems to
15449    treat width=0 or height=0 literally -- maybe that's a feature,
15450    not a bug?)</li>
15451
15452    <li>minor tweak to the screen-repainting when resizing (I still
15453    cannot entirely get rid of flicker).</li>
15454
15455    <li>still more fixes to terminfo &amp; termcap (I corrected my
15456    error for the hpa code and added some other stuff by comparing
15457    to ncurses' description and rxvt's).</li>
15458
15459    <li>a tweak to the changes by Michael Rohleder for the color
15460    translation</li>
15461
15462    <li>re-order attribute codes to allow later implementation of
15463    protected fields (dtterm supposedly does this; it's probably
15464    more useful than blinking or invisible text -- that uses up all
15465    of the available bits without changing the attribute scheme
15466    radically).</li>
15467  </ul>
15468
15469  <h1><a name="xterm_17" id="xterm_17">Patch #17 - 1996/7/2 -
15470  XFree86 3.1.2Eb</a></h1>
15471
15472  <p>This patch implements for xterm several minor features from
15473  ISO 6429 which are useful for terminfo applications. The HPA and
15474  VPA control sequences allow cursor movement along a row or
15475  column, cutting down a little on the characters transmitted. The
15476  other codes allow resetting specific graphic rendition attributes
15477  without modifying the other attributes. (now if someone just had
15478  time to implement blinking cursors...)</p>
15479
15480  <h1><a name="xterm_16" id="xterm_16">Patch #16 - 1996/6/25 -
15481  XFree86 3.1.2Ea</a></h1>
15482
15483  <p>Adam Tla/lka &lt;atlka@pg.gda.pl&gt; told me a couple of weeks
15484  ago that I'd missed some of the background coloring in xterm. I
15485  investigated, and found that while I'd picked up on the
15486  clear-to-bottom and clear-to-end-of-line operations, I'd
15487  overlooked the insert/delete lines. Just so I wouldn't overlook
15488  any more of these, I updated a copy of vttest to test ISO colors
15489  and bce (background color erase). This patch introduces a new
15490  function, ClearCurBackground, whose calls replace the direct
15491  XClearArea calls that I'd overlooked. (There's also a few
15492  compiler warnings fixed, etc ;-)</p>
15493
15494  <h1><a name="xterm_15" id="xterm_15">Patch #15 - 1996/5/29 -
15495  XFree86 3.1.2E</a></h1>
15496
15497  <p>This fixes the problem reported by David Dawes, by making the
15498  50msec select timeout for the Xaw3d arrow scrollbar a resource.
15499  (I made it a boolean for a variety of reasons -- to make it a
15500  number, you'd need an additional resource, to avoid breaking the
15501  logic).</p>
15502
15503  <h1><a name="xterm_14" id="xterm_14">Patch #14 - 1996/5/12 -
15504  XFree86 3.1.2Dj</a></h1>
15505
15506  <p>This patch brings the termcap and terminfo descriptions for
15507  xterm up to date. I made the following changes:</p>
15508
15509  <ul>
15510    <li>reformatted the terminfo description in a single-column
15511    (this is ok for terminfo, and will simplify future patches --
15512    can't do that for termcap, since it would impact buffer
15513    requirements on some systems).</li>
15514
15515    <li>omitted obsolete features in termcap to save a little space
15516    (bs, pt)</li>
15517
15518    <li>added color capabilities to termcap (ut, Co, NC, op, AB,
15519    AF)</li>
15520
15521    <li>corrected some capabilities (vi, ve)</li>
15522
15523    <li>added 'st' (set tab)</li>
15524
15525    <li>reduced function keys in termcap for 'xterm' to 12 because
15526    color capabilities makes that description larger than 1023
15527    characters.</li>
15528
15529    <li>created new termcap name 'xtermm' (monochrome) to match the
15530    terminfo list, and make that description have 20 function
15531    keys.</li>
15532
15533    <li>added corresponding color capabilities to terminfo (bce,
15534    colors, pairs, op, ncv, setab, setaf)</li>
15535
15536    <li>corrected corresponding capabilities in terminfo (civis,
15537    cnorm, rmcup, smcup)</li>
15538
15539    <li>added capabilities (el1, hts)</li>
15540
15541    <li>in both, corrected home/end keys to match the code
15542    correction made by Thomas Mueller in 3.1.2Bk
15543      <p>=&gt; (I'm still considering modifying the code &amp;
15544      description to match the rxvt program).</p>
15545    </li>
15546  </ul>
15547
15548  <h1><a name="xterm_13" id="xterm_13">Patch #13 - 1996/4/23 -
15549  XFree86 3.1.2Df</a></h1>
15550
15551  <p>This corrects my earlier changes for colors - the inner border
15552  of the xterm was getting painted with the wrong color, since I'd
15553  moved the call to set the background into the logic that tracks
15554  SGR information.</p>
15555
15556  <h1><a name="xterm_12" id="xterm_12">Patch #12 - 1996/3/16 -
15557  XFree86 3.1.2Dc</a></h1>
15558
15559  <p>This corrects a memory leak in xterm that happens whenever one
15560  switches fonts.</p>
15561
15562  <h1><a name="xterm_11" id="xterm_11">Patch #11 - 1996/3/5 -
15563  XFree86 3.1.2Db</a></h1>
15564
15565  <p>This patch corrects the behavior of the ANSI colors in xterm
15566  when reverse video is used, as well as some other lesser
15567  sins:</p>
15568
15569  <ul>
15570    <li>button.c
15571      <ul>
15572        <li>(compiler warnings: shadowing of 'time', redundant
15573        cast)</li>
15574      </ul>
15575    </li>
15576
15577    <li>charproc.c
15578      <ul>
15579        <li>renamed screen.colors[] array to screen.Acolors[] to
15580        more easily distinguish the non-ANSI colors from the ANSI
15581        colors.</li>
15582
15583        <li>moved logic of SGR_Save() into VTInitialize, getting
15584        rid of local private variables original_fg and
15585        original_bg.</li>
15586
15587        <li>moved some logic into getXtermForeground and
15588        getXtermBackground from SGR_Foreground, SGR_Background,
15589        etc.</li>
15590
15591        <li>corrected misleading 'row' to 'col' in case for CUF,
15592        CUB sequences.</li>
15593      </ul>
15594    </li>
15595
15596    <li>ctlseqs.ms</li>
15597
15598    <li>xterm.man
15599      <ul>
15600        <li>(correct a misconception which I'd added that the
15601        color0 through color6 resource values apply to non-ANSI
15602        colors)</li>
15603      </ul>
15604    </li>
15605
15606    <li>ptyx.h
15607      <ul>
15608        <li>added original_fg, original_bg to TScreen
15609        structure.</li>
15610      </ul>
15611    </li>
15612
15613    <li>scrollbar.c
15614      <ul>
15615        <li>(compiler warnings: redundant cast)</li>
15616      </ul>
15617    </li>
15618
15619    <li>util.c
15620      <ul>
15621        <li>new functions getXtermForeground and getXtermBackground
15622        replace the macros GET_FG and GET_BG, with the added
15623        functionality of checking for the reverse-video status of
15624        xterm.</li>
15625
15626        <li>in ReverseVideo, swap the SGR foreground and background
15627        colors also.</li>
15628      </ul>
15629    </li>
15630  </ul>
15631
15632  <h1><a name="xterm_10" id="xterm_10">Patch #10 - 1996/2/14 -
15633  XFree86 3.1.2Cd</a></h1>
15634
15635  <p>I observed an occasional glitch in the xterm's color behavior;
15636  a clear to end of line would get a color that had been used in a
15637  program that supposedly reset colors. I traced this down to the
15638  way xterm was modifying colors of GC's on the fly; it didn't
15639  restore the original color of the GC, even though it would later
15640  be used in functions (such as ClearRight) that assumed (my error)
15641  that the GC would have the current foreground or background
15642  color.</p>
15643
15644  <p>I fixed this by resetting the GC's colors with a new function
15645  'resetXtermGC()', and direct calls on
15646  SGR_Foreground/SGR_Background, as appropriate and using a new
15647  function 'updatedXtermGC()' to encapsulate the logic that
15648  modifies the GC's color. (I also removed some commented-out code
15649  that was trying to do this -- the problem was a little more
15650  obscure).</p>
15651
15652  <h1><a name="xterm_09" id="xterm_09">Patch #9 - 1996/2/10 -
15653  XFree86 3.1.2Cb</a></h1>
15654
15655  <p>This patch fixes the remaining problems that I had making
15656  xterm run with x11r5, as well as a couple of other bugs. It
15657  follows my patch from yesterday, that added ifdef's for some of
15658  the input-method resources.</p>
15659
15660  <ul>
15661    <li>corrected ifdef's that suppress the input-method code
15662    (doesn't exist in my x11r5, and xterm works adequately without
15663    it).</li>
15664
15665    <li>corrected fallback definition for 'Select()' macro (oops:
15666    I'd copied the wrong text...)</li>
15667
15668    <li>moved the declarations for the fd_set variables to
15669    data.[ch]</li>
15670
15671    <li>corrected an ifdef in resize.c (sunos 4.x doesn't have
15672    termcap.h)</li>
15673
15674    <li>corrected (in main.c) some unused/orphaned variables.</li>
15675  </ul>
15676
15677  <h1><a name="xterm_08" id="xterm_08">Patch #8 - 1996/2/9 -
15678  XFree86 3.1.2Cb</a></h1>
15679
15680  <p>This is mostly a documentation patch for xterm. It describes
15681  the color control sequences in more detail, and documents some
15682  other features of xterm that aren't described elsewhere.</p>
15683
15684  <p>I've also added a couple of ifdef's to fix (part of) the
15685  problem that I'm working on (making the program work properly on
15686  x11r5, where I'm doing memory testing -- I have a "good" version
15687  from mid-January, but my resync version doesn't work properly on
15688  x11r5). I'm not done with <em>that</em> yet.</p>
15689
15690  <h1><a name="xterm_07" id="xterm_07">Patch #7 - 1996/1/28 -
15691  XFree86 3.1.2n</a></h1>
15692
15693  <p>I did a (clean) build of 3.1.2n on Linux 1.2.13 (ELF). I've
15694  got an S3 card.</p>
15695
15696  <p>This fixes the following in the 3.1.2n xterm:</p>
15697
15698  <ul>
15699    <li>initialize cur_foreground, cur_background in charproc.c
15700    (Purify told me they weren't initialized).</li>
15701
15702    <li>add interpretation of codes 39, 49, to reset background and
15703    foreground to default value (I'm told that ISO 6429 does this;
15704    but I don't have a written reference -- yet -- can anyone help
15705    here?). Anyway, rxvt does it, and it'll solve my remaining
15706    color management problems.</li>
15707
15708    <li>shadowing of 'time' in menu.c</li>
15709
15710    <li>'Cardinal' vs 'int' in scrollbar.c</li>
15711
15712    <li>several changes to permit compile with X11R5 (the system
15713    that I've got Purify on won't be upgraded to X11R6 for a long
15714    time).</li>
15715  </ul>
15716
15717  <p>I built this version (with a minor nit that I'll patch soon)
15718  on SunOS 4.1.3 so that I can test it some more with Purify.</p>
15719
15720  <p><em>btw</em>: the changes made in Xpoll.h won't work on some
15721  older systems, because fd_set isn't a defined type (I've got one
15722  machine at least that this applies to).</p>
15723
15724  <h1><a name="xterm_06" id="xterm_06">Patch #6 - 1996/1/8</a></h1>
15725
15726  <p>This patch does all of the SGR foreground/background fixes
15727  (i.e., clearing the screen after an SGR color is set causes that
15728  color to be used in the foreground and/or background). If the
15729  FG_COLOR and/or BG_COLOR flags aren't set, then the xterm
15730  foreground and background default to the window's values. This
15731  usage is consistent with various types of hardware (especially
15732  the IBM PC), and is also used in rxvt.</p>
15733
15734  <ul>
15735    <li>charproc.c:
15736      <ul>
15737        <li>add/use new macros GET_FG, GET_BG - n/c.</li>
15738
15739        <li>add/use new functions SGR_Foreground() and
15740        SGR_Background() to set corresponding colors in GC's, and
15741        to retain sense of "original" colors.
15742          <p>=&gt; This makes redundant some of the corresponding
15743          logic in HideCursor to set the foreground and background,
15744          but I left it in since it <em>may</em> be fixing an
15745          unrelated requirement.</p>
15746        </li>
15747
15748        <li>set GC's in LoadNewFont() according to whether the SGR
15749        fg/bg colors are active.
15750          <p>=&gt; This fixes some glitches in the accompanying
15751          resize, that leaves parts of the window in the original
15752          background color.</p>
15753        </li>
15754      </ul>
15755    </li>
15756
15757    <li>screen.c:
15758      <ul>
15759        <li>modified ClearBufRows() to use the SGR fg/bg colors if
15760        they're set.</li>
15761
15762        <li>added function ScrnClearLines(), used this to replace
15763        portions of ScrnInsertLine() and ScrnDeleteLine(). The new
15764        function uses the SGR fg/bg colors if they're set.
15765          <p>=&gt; Otherwise, selection after an index or reverse
15766          index will paint the wrong colors.</p>
15767        </li>
15768
15769        <li>modified ScrnDeleteChar() and ScrnInsertChar() to use
15770        SGR fg/bg colors.</li>
15771      </ul>
15772    </li>
15773
15774    <li>util.c:
15775      <ul>
15776        <li>modified ClearRight() so that if either of the SGR
15777        fg/bg colors is set, we don't bzero the attributes and
15778        color arrays, but instead fill them with the appropriate
15779        codes.</li>
15780
15781        <li>modified ClearLeft to use SGR fg/bg colors.</li>
15782      </ul>
15783    </li>
15784  </ul>
15785
15786  <h1><a name="xterm_05" id="xterm_05">Patch #5 - 1996/1/7</a></h1>
15787
15788  <p>This patch modifies the object code, by replacing indexing
15789  expressions with temporary variables with the full indexing
15790  expression. At first glance, this seems inefficient (it did to me
15791  ;-), until remembering comments made in the compilers newsgroups
15792  that trying to "help" the compiler doesn't really work that well.
15793  A good optimizing compiler can do a better job than the
15794  programmer can. (There's a moral in the use of 'register'
15795  variables also, but I won't fix those...).</p>
15796
15797  <p>Anyway, the revised code generates a smaller object...</p>
15798
15799  <ul>
15800    <li>charproc.c:
15801      <ul>
15802        <li>recode index expressions in ShowCursor() and
15803        HideCursor() using SCRN_BUF_xxxxS macros - changes
15804        object.</li>
15805
15806        <li>replace constant '4' by MAX_PTRS - n/c.</li>
15807      </ul>
15808    </li>
15809
15810    <li>ptyx.h:
15811      <ul>
15812        <li>defined the SCRN_BUF_xxxxS macros in terms of BUF_xxxxS
15813        macros, to pick up references to ScrnBuf data directly, and
15814        added MAX_PTRS symbol to pick up those '4' constants strewn
15815        about the code - n/c.</li>
15816      </ul>
15817    </li>
15818
15819    <li>screen.c:
15820      <ul>
15821        <li>recode index expressions in ScreenWrite() using
15822        SCRN_BUF_xxxxS macros - changes object.</li>
15823
15824        <li>replace constant '4' by MAX_PTRS - n/c.</li>
15825
15826        <li>use macros BUF_CHARS, BUF_ATTRS - n/c.</li>
15827
15828        <li>cast calloc to 'Char *' to fix compiler warning on IRIX
15829        - n/c</li>
15830      </ul>
15831    </li>
15832
15833    <li>scrollbar.c:
15834      <ul>
15835        <li>replace constant '4' by MAX_PTRS - n/c.</li>
15836
15837        <li>cast calloc to 'Char *' to fix compiler warning on IRIX
15838        - n/c</li>
15839      </ul>
15840    </li>
15841  </ul>
15842
15843  <h1><a name="xterm_04" id="xterm_04">Patch #4 - 1996/1/7</a></h1>
15844
15845  <p>When setting up for this phase, I saw that you'd corrected the
15846  bug that I found in ClearLeft. I decided to make this series of
15847  patches anyway, since readability never hurt (and there's the
15848  potential for finding another bug while reviewing this set).</p>
15849
15850  <ul>
15851    <li>button.c:
15852      <ul>
15853        <li>use SCRN_BUF_xxxxS macros - n/c</li>
15854      </ul>
15855    </li>
15856
15857    <li>charproc.c:
15858      <ul>
15859        <li>use SCRN_BUF_xxxxS macros - n/c</li>
15860      </ul>
15861    </li>
15862
15863    <li>ptyx.h:
15864      <ul>
15865        <li>added four macros: SCRN_BUF_CHARS, SCRN_BUF_ATTRS,
15866        SCRN_BUF_FORES, SCRN_BUF_BACKS to represent the four arrays
15867        that are derived from screen-&gt;buf.</li>
15868      </ul>
15869    </li>
15870
15871    <li>screen.c:
15872      <ul>
15873        <li>use SCRN_BUF_xxxxS macros - n/c</li>
15874      </ul>
15875    </li>
15876
15877    <li>util.c:
15878      <ul>
15879        <li>use SCRN_BUF_xxxxS macros - n/c</li>
15880      </ul>
15881    </li>
15882  </ul>
15883
15884  <h1><a name="xterm_03" id="xterm_03">Patch #3 - 1996/1/7</a></h1>
15885
15886  <p>This is my third (and final cleanup) patch for xterm. It gets
15887  rid of the unused stuff, and converts several functions to static
15888  (thereby reducing their scope).</p>
15889
15890  <p>At this point, the only compile warnings I've got (on Linux)
15891  are those about the select arguments (int vs fd_set type), and a
15892  missing declaration for waitpid. Those both are hard to get right
15893  without autoconfigure.</p>
15894
15895  <p>The next patches will address the functional changes...</p>
15896
15897  <ul>
15898    <li>Tekproc.c:
15899      <ul>
15900        <li>changed several functions to 'static' that aren't used
15901        outside this module -- changes object</li>
15902      </ul>
15903    </li>
15904
15905    <li>charproc.c:
15906      <ul>
15907        <li>changed several functions to 'static' that aren't used
15908        outside this module -- changes object</li>
15909
15910        <li>deleted unused function unparsefputs -- changes
15911        object.</li>
15912      </ul>
15913    </li>
15914
15915    <li>main.c:
15916      <ul>
15917        <li>changed several functions to 'static' that aren't used
15918        outside this module -- changes object</li>
15919
15920        <li>ifdef'd out unused function 'consolepr()' -- changes
15921        object</li>
15922
15923        <li>removed unused variable 'dummy_tio' -- changes
15924        object</li>
15925
15926        <li>moved variable 'discipline' to quiet unused-warning --
15927        changes object</li>
15928      </ul>
15929    </li>
15930
15931    <li>main.h:
15932      <ul>
15933        <li>deleted unused definition of DEFBORDERWIDTH - n/c</li>
15934      </ul>
15935    </li>
15936
15937    <li>misc.c:
15938      <ul>
15939        <li>changed several functions to 'static' that aren't used
15940        outside this module -- changes object</li>
15941
15942        <li>provide dummy return statements for xerror and xioerror
15943        to quiet compiler warnings -- changes object</li>
15944      </ul>
15945    </li>
15946
15947    <li>ptyx.h:
15948      <ul>
15949        <li>change sbuf_address and abuf_address to 'Char *' -
15950        n/c</li>
15951      </ul>
15952    </li>
15953
15954    <li>resize.c:
15955      <ul>
15956        <li>changed several functions to 'static' that aren't used
15957        outside this module -- changes object</li>
15958      </ul>
15959    </li>
15960
15961    <li>screen.c:
15962      <ul>
15963        <li>remove unnecessary 'Char **' casts - n/c</li>
15964      </ul>
15965    </li>
15966
15967    <li>util.c:
15968      <ul>
15969        <li>changed several functions to 'static' that aren't used
15970        outside this module -- changes object</li>
15971      </ul>
15972    </li>
15973  </ul>
15974
15975  <h1><a name="xterm_02" id="xterm_02">Patch #2 - 1996/1/7</a></h1>
15976
15977  <p>This is my second patch to xterm. It corrects most of the gcc
15978  warnings (except for some that are due to X header files ;-). I
15979  compared objects to keep track of the changes that don't affect
15980  the object code (n/c) versus those that do.</p>
15981
15982  <p>At this point, I'm compiling (fairly) clean with gcc
15983  options</p>
15984
15985  <pre>
15986        -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wnested-externs
15987</pre>
15988  <p>(I also compiled with -Wshadow, but while that found some
15989  things that I wanted to find, there's far too many warnings from
15990  the X headers to be usable in this context).</p>
15991
15992  <p>The changes:</p>
15993
15994  <ul>
15995    <li>Tekproc.c:
15996      <ul>
15997        <li>parenthesized expression to avoid gcc warning --
15998        n/c.</li>
15999
16000        <li>corrected nested-extern declaration for Bool
16001        waiting_for_initial_map; ourTopLevelShellArgs, and
16002        number_ourTopLevelShellArgs - n/c</li>
16003      </ul>
16004    </li>
16005
16006    <li>charproc.c:
16007      <ul>
16008        <li>corrected potentially-unintialized variables 'scstype',
16009        'xim', and 'input_style' -- changes object.</li>
16010
16011        <li>adjusted logic of VTparse so that gcc won't warn about
16012        setjmp clobbering parsestate -- changes object.</li>
16013
16014        <li>corrected initialization of 'scstype', which could have
16015        been clobbered by setjmp/longjmp - changes object.</li>
16016
16017        <li>corrected nested-extern declaration of 'term',
16018        'ProgramName' - n/c</li>
16019      </ul>
16020    </li>
16021
16022    <li>cursor.c:
16023      <ul>
16024        <li>corrected nested-extern declaration of 'term' --
16025        n/c</li>
16026
16027        <li>renamed 'term' parameters to avoid gcc -Wshadow warning
16028        - n/c</li>
16029      </ul>
16030    </li>
16031
16032    <li>input.c:
16033      <ul>
16034        <li>change interface of StringInput to assume size_t (i.e.,
16035        unsigned) nbytes -- changes object.</li>
16036
16037        <li>change interface of funcvalue, and sunfuncvalue to use
16038        'KeySym' type instead of 'int' - changes object.</li>
16039      </ul>
16040    </li>
16041
16042    <li>main.c:
16043      <ul>
16044        <li>moved definitions of SIGNAL_T, SIGNAL_RETURN to proto.h
16045        - n/c</li>
16046
16047        <li>corrected missing params of 'do_hangup()' -- changes
16048        object (note: the missing params were not used).</li>
16049
16050        <li>corrected missing param of 'Error()' -- changes
16051        object</li>
16052
16053        <li>corrected nested-extern 'environ' - n/c</li>
16054
16055        <li>adjusted assignments to 'tty_got_hung' and 'no_dev_tty'
16056        so that gcc can see they won't be clobbered by the longjmp
16057        - changes object.</li>
16058
16059        <li>use Size_t type - n/c.</li>
16060      </ul>
16061    </li>
16062
16063    <li>menu.c:
16064      <ul>
16065        <li>removed redundant prototype for 'do_hangup()' --
16066        n/c.</li>
16067
16068        <li>renamed 'time' parameters to avoid gcc -Wshadow warning
16069        - n/c</li>
16070      </ul>
16071    </li>
16072
16073    <li>menu.h:
16074      <ul>
16075        <li>renamed 'time' parameters to avoid gcc -Wshadow warning
16076        - n/c</li>
16077      </ul>
16078    </li>
16079
16080    <li>misc.c:
16081      <ul>
16082        <li>corrected definition of 'HandleFocusChange()' --
16083        changes object</li>
16084
16085        <li>cast parameters in call to 'TekExpose()' -- n/c</li>
16086
16087        <li>corrected nested-extern declarations of 'term',
16088        'toplevel', ProgramName, and 'environ' -- n/c.</li>
16089
16090        <li>use Size_t type - n/c.</li>
16091      </ul>
16092    </li>
16093
16094    <li>proto.h:
16095      <ul>
16096        <li>moved definition of SIGNAL_T (and SIGNAL_RETURN) here
16097        from main.c, resize.c to allow use of this symbol in
16098        prototypes (mostly in xterm.h).</li>
16099
16100        <li>added definition 'Size_t' to use as corrected type for
16101        strncpy, malloc sizes - n/c.</li>
16102      </ul>
16103    </li>
16104
16105    <li>resize.c:
16106      <ul>
16107        <li>moved SIGNAL_T definition to proto.h -- n/c.</li>
16108
16109        <li>use Size_t type - n/c.</li>
16110      </ul>
16111    </li>
16112
16113    <li>screen.c:
16114      <ul>
16115        <li>use Size_t type - n/c.</li>
16116      </ul>
16117    </li>
16118
16119    <li>tabs.c:
16120      <ul>
16121        <li>corrected nested-extern declaration of 'term' --
16122        n/c</li>
16123      </ul>
16124    </li>
16125
16126    <li>util.c:
16127      <ul>
16128        <li>corrected/supplied parameters to 'TekExpose()' --
16129        changes object (note: 'TekExpose()' doesn't use its
16130        parameters).</li>
16131
16132        <li>corrected nested-extern declaration of
16133        'waiting_for_initial_map' -- n/c.</li>
16134
16135        <li>renamed 'term' parameters to avoid gcc -Wshadow warning
16136        - n/c</li>
16137      </ul>
16138    </li>
16139
16140    <li>xterm.h:
16141      <ul>
16142        <li>prototype 'do_hangup()', 'HandleFocusChange()',
16143        'TekExpose()', 'Error()', 'Exit()' - forces changes in
16144        various places.</li>
16145
16146        <li>adjusted prototypes that pass 'Boolean' arguments to
16147        use 'int' (this is the "correct" ANSI approach to extended
16148        compiles; it's worth mentioning that gcc doesn't meet the
16149        ANSI spec here). I used gcc -Wconversion to find these, but
16150        there's a lot of unrelated warnings that are due to setting
16151        NARROWPROTO in the config - n/c.</li>
16152
16153        <li>renamed 'term' parameters to avoid gcc -Wshadow warning
16154        - n/c</li>
16155      </ul>
16156    </li>
16157  </ul>
16158
16159  <h1><a name="xterm_01" id="xterm_01">Patch #1 - 1996/1/6</a></h1>
16160
16161  <p>This is my first cleanup patch for xterm. It addresses all of
16162  the gcc warnings for -Wall, -Wmissing-prototypes and
16163  -Wstrict-prototypes that I can change without modifying the
16164  object code. (I'm compiling this with gcc 2.7.0 for an aout
16165  target, which makes it simple to compare objects. When I do
16166  ELF-only, I've got a tool that compares that sort of thing as
16167  well).</p>
16168
16169  <p>Briefly, this patch adds (and uses) two header files in the
16170  xterm directory:</p>
16171
16172  <pre>
16173        proto.h
16174        xterm.h
16175</pre>
16176  <p>I expect this to be the biggest patch by far. However (barring
16177  a misplaced prototype), it shouldn't break anything, since the
16178  intent of the patch is to provide missing declarations.</p>
16179</body>
16180</html>
16181