xterm.log.html revision ad37e533
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.2326 2021/03/26 23:02:54 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_367">Patch #367 - 2021/03/26</a></li>
74
75    <li><a href="#xterm_366">Patch #366 - 2021/02/10</a></li>
76
77    <li><a href="#xterm_365">Patch #365 - 2021/02/03</a></li>
78
79    <li><a href="#xterm_364">Patch #364 - 2021/02/02</a></li>
80
81    <li><a href="#xterm_363">Patch #363 - 2020/12/26</a></li>
82
83    <li><a href="#xterm_362">Patch #362 - 2020/11/11</a></li>
84
85    <li><a href="#xterm_361">Patch #361 - 2020/10/14</a></li>
86
87    <li><a href="#xterm_360">Patch #360 - 2020/09/20</a></li>
88
89    <li><a href="#xterm_359">Patch #359 - 2020/08/17</a></li>
90
91    <li><a href="#xterm_358">Patch #358 - 2020/07/12</a></li>
92
93    <li><a href="#xterm_357">Patch #357 - 2020/07/05</a></li>
94
95    <li><a href="#xterm_356">Patch #356 - 2020/05/02</a></li>
96
97    <li><a href="#xterm_355">Patch #355 - 2020/05/01</a></li>
98
99    <li><a href="#xterm_354">Patch #354 - 2020/04/26</a></li>
100
101    <li><a href="#xterm_353">Patch #353 - 2020/02/01</a></li>
102
103    <li><a href="#xterm_352">Patch #352 - 2020/01/16</a></li>
104
105    <li><a href="#xterm_351">Patch #351 - 2019/11/17</a></li>
106
107    <li><a href="#xterm_350">Patch #350 - 2019/11/02</a></li>
108
109    <li><a href="#xterm_349">Patch #349 - 2019/09/22</a></li>
110
111    <li><a href="#xterm_348">Patch #348 - 2019/07/22</a></li>
112
113    <li><a href="#xterm_347">Patch #347 - 2019/06/30</a></li>
114
115    <li><a href="#xterm_346">Patch #346 - 2019/05/27</a></li>
116
117    <li><a href="#xterm_345">Patch #345 - 2019/05/14</a></li>
118
119    <li><a href="#xterm_344">Patch #344 - 2019/02/12</a></li>
120
121    <li><a href="#xterm_343">Patch #343 - 2019/01/13</a></li>
122
123    <li><a href="#xterm_342">Patch #342 - 2019/01/03</a></li>
124
125    <li><a href="#xterm_341">Patch #341 - 2018/12/24</a></li>
126
127    <li><a href="#xterm_340">Patch #340 - 2018/12/16</a></li>
128
129    <li><a href="#xterm_339">Patch #339 - 2018/12/12</a></li>
130
131    <li><a href="#xterm_338">Patch #338 - 2018/12/09</a></li>
132
133    <li><a href="#xterm_337">Patch #337 - 2018/09/21</a></li>
134
135    <li><a href="#xterm_336">Patch #336 - 2018/09/19</a></li>
136
137    <li><a href="#xterm_335">Patch #335 - 2018/08/14</a></li>
138
139    <li><a href="#xterm_334">Patch #334 - 2018/08/12</a></li>
140
141    <li><a href="#xterm_333">Patch #333 - 2018/05/03</a></li>
142
143    <li><a href="#xterm_332">Patch #332 - 2018/04/15</a></li>
144
145    <li><a href="#xterm_331">Patch #331 - 2017/12/30</a></li>
146
147    <li><a href="#xterm_330">Patch #330 - 2017/06/20</a></li>
148
149    <li><a href="#xterm_329">Patch #329 - 2017/06/12</a></li>
150
151    <li><a href="#xterm_328">Patch #328 - 2017/06/01</a></li>
152
153    <li><a href="#xterm_327">Patch #327 - 2016/10/07</a></li>
154
155    <li><a href="#xterm_326">Patch #326 - 2016/09/25</a></li>
156
157    <li><a href="#xterm_325">Patch #325 - 2016/06/05</a></li>
158
159    <li><a href="#xterm_324">Patch #324 - 2016/03/10</a></li>
160
161    <li><a href="#xterm_323">Patch #323 - 2016/03/07</a></li>
162
163    <li><a href="#xterm_322">Patch #322 - 2016/01/02</a></li>
164
165    <li><a href="#xterm_321">Patch #321 - 2015/12/31</a></li>
166
167    <li><a href="#xterm_320">Patch #320 - 2015/08/28</a></li>
168
169    <li><a href="#xterm_319">Patch #319 - 2015/08/19</a></li>
170
171    <li><a href="#xterm_318">Patch #318 - 2015/04/12</a></li>
172
173    <li><a href="#xterm_317">Patch #317 - 2015/03/27</a></li>
174
175    <li><a href="#xterm_316">Patch #316 - 2015/03/07</a></li>
176
177    <li><a href="#xterm_315">Patch #315 - 2015/03/02</a></li>
178
179    <li><a href="#xterm_314">Patch #314 - 2014/12/28</a></li>
180
181    <li><a href="#xterm_313">Patch #313 - 2014/11/28</a></li>
182
183    <li><a href="#xterm_312">Patch #312 - 2014/09/28</a></li>
184
185    <li><a href="#xterm_311">Patch #311 - 2014/09/18</a></li>
186
187    <li><a href="#xterm_310">Patch #310 - 2014/07/25</a></li>
188
189    <li><a href="#xterm_309">Patch #309 - 2014/07/13</a></li>
190
191    <li><a href="#xterm_308">Patch #308 - 2014/06/19</a></li>
192
193    <li><a href="#xterm_307">Patch #307 - 2014/06/17</a></li>
194
195    <li><a href="#xterm_306">Patch #306 - 2014/06/03</a></li>
196
197    <li><a href="#xterm_305">Patch #305 - 2014/06/02</a></li>
198
199    <li><a href="#xterm_304">Patch #304 - 2014/05/03</a></li>
200
201    <li><a href="#xterm_303">Patch #303 - 2014/03/06</a></li>
202
203    <li><a href="#xterm_302">Patch #302 - 2014/03/02</a></li>
204
205    <li><a href="#xterm_301">Patch #301 - 2014/01/19</a></li>
206
207    <li><a href="#xterm_300">Patch #300 - 2013/12/03</a></li>
208
209    <li><a href="#xterm_299">Patch #299 - 2013/12/01</a></li>
210
211    <li><a href="#xterm_298">Patch #298 - 2013/11/27</a></li>
212
213    <li><a href="#xterm_297">Patch #297 - 2013/09/10</a></li>
214
215    <li><a href="#xterm_296">Patch #296 - 2013/07/10</a></li>
216
217    <li><a href="#xterm_295">Patch #295 - 2013/07/06</a></li>
218
219    <li><a href="#xterm_294">Patch #294 - 2013/07/05</a></li>
220
221    <li><a href="#xterm_293">Patch #293 - 2013/05/27</a></li>
222
223    <li><a href="#xterm_292">Patch #292 - 2013/04/25</a></li>
224
225    <li><a href="#xterm_291">Patch #291 - 2013/02/26</a></li>
226
227    <li><a href="#xterm_290">Patch #290 - 2013/02/12</a></li>
228
229    <li><a href="#xterm_289">Patch #289 - 2013/02/08</a></li>
230
231    <li><a href="#xterm_288">Patch #288 - 2013/01/09</a></li>
232
233    <li><a href="#xterm_287">Patch #287 - 2012/11/25</a></li>
234
235    <li><a href="#xterm_286">Patch #286 - 2012/10/29</a></li>
236
237    <li><a href="#xterm_285">Patch #285 - 2012/10/23</a></li>
238
239    <li><a href="#xterm_284">Patch #284 - 2012/10/14</a></li>
240
241    <li><a href="#xterm_283">Patch #283 - 2012/10/09</a></li>
242
243    <li><a href="#xterm_282">Patch #282 - 2012/09/28</a></li>
244
245    <li><a href="#xterm_281">Patch #281 - 2012/06/26</a></li>
246
247    <li><a href="#xterm_280">Patch #280 - 2012/06/24</a></li>
248
249    <li><a href="#xterm_279">Patch #279 - 2012/05/10</a></li>
250
251    <li><a href="#xterm_278">Patch #278 - 2012/01/18</a></li>
252
253    <li><a href="#xterm_277">Patch #277 - 2012/01/07</a></li>
254
255    <li><a href="#xterm_276">Patch #276 - 2011/10/10</a></li>
256
257    <li><a href="#xterm_275">Patch #275 - 2011/09/11</a></li>
258
259    <li><a href="#xterm_274">Patch #274 - 2011/09/05</a></li>
260
261    <li><a href="#xterm_273">Patch #273 - 2011/08/25</a></li>
262
263    <li><a href="#xterm_272">Patch #272 - 2011/08/24</a></li>
264
265    <li><a href="#xterm_271">Patch #271 - 2011/07/14</a></li>
266
267    <li><a href="#xterm_270">Patch #270 - 2011/04/26</a></li>
268
269    <li><a href="#xterm_269">Patch #269 - 2011/02/19</a></li>
270
271    <li><a href="#xterm_268">Patch #268 - 2011/02/10</a></li>
272
273    <li><a href="#xterm_267">Patch #267 - 2010/11/20</a></li>
274
275    <li><a href="#xterm_266">Patch #266 - 2010/10/24</a></li>
276
277    <li><a href="#xterm_265">Patch #265 - 2010/10/22</a></li>
278
279    <li><a href="#xterm_264">Patch #264 - 2010/10/14</a></li>
280
281    <li><a href="#xterm_263">Patch #263 - 2010/10/13</a></li>
282
283    <li><a href="#xterm_262">Patch #262 - 2010/8/30</a></li>
284
285    <li><a href="#xterm_261">Patch #261 - 2010/6/28</a></li>
286
287    <li><a href="#xterm_260">Patch #260 - 2010/6/20</a></li>
288
289    <li><a href="#xterm_259">Patch #259 - 2010/6/5</a></li>
290
291    <li><a href="#xterm_258">Patch #258 - 2010/5/1</a></li>
292
293    <li><a href="#xterm_257">Patch #257 - 2010/4/22</a></li>
294
295    <li><a href="#xterm_256">Patch #256 - 2010/3/6</a></li>
296
297    <li><a href="#xterm_255">Patch #255 - 2010/1/21</a></li>
298
299    <li><a href="#xterm_254">Patch #254 - 2010/1/6</a></li>
300
301    <li><a href="#xterm_253">Patch #253 - 2009/12/10</a></li>
302
303    <li><a href="#xterm_252">Patch #252 - 2009/12/7</a></li>
304
305    <li><a href="#xterm_251">Patch #251 - 2009/11/11</a></li>
306
307    <li><a href="#xterm_250">Patch #250 - 2009/10/13</a></li>
308
309    <li><a href="#xterm_249">Patch #249 - 2009/10/1</a></li>
310
311    <li><a href="#xterm_248">Patch #248 - 2009/9/11</a></li>
312
313    <li><a href="#xterm_247">Patch #247 - 2009/8/30</a></li>
314
315    <li><a href="#xterm_246">Patch #246 - 2009/8/16</a></li>
316
317    <li><a href="#xterm_245">Patch #245 - 2009/8/12</a></li>
318
319    <li><a href="#xterm_244">Patch #244 - 2009/8/9</a></li>
320
321    <li><a href="#xterm_243">Patch #243 - 2009/3/28</a></li>
322
323    <li><a href="#xterm_242">Patch #242 - 2009/2/15</a></li>
324
325    <li><a href="#xterm_241">Patch #241 - 2009/1/26</a></li>
326
327    <li><a href="#xterm_240">Patch #240 - 2009/1/25</a></li>
328
329    <li><a href="#xterm_239">Patch #239 - 2009/1/8</a></li>
330
331    <li><a href="#xterm_238">Patch #238 - 2008/12/30</a></li>
332
333    <li><a href="#xterm_237">Patch #237 - 2008/09/14</a></li>
334
335    <li><a href="#xterm_236">Patch #236 - 2008/07/27</a></li>
336
337    <li><a href="#xterm_235">Patch #235 - 2008/04/20</a></li>
338
339    <li><a href="#xterm_234">Patch #234 - 2008/03/02</a></li>
340
341    <li><a href="#xterm_233">Patch #233 - 2008/02/24</a></li>
342
343    <li><a href="#xterm_232">Patch #232 - 2008/01/30</a></li>
344
345    <li><a href="#xterm_231">Patch #231 - 2008/01/05</a></li>
346
347    <li><a href="#xterm_230">Patch #230 - 2007/12/31</a></li>
348
349    <li><a href="#xterm_229">Patch #229 - 2007/8/12</a></li>
350
351    <li><a href="#xterm_228">Patch #228 - 2007/7/22</a></li>
352
353    <li><a href="#xterm_227">Patch #227 - 2007/6/27</a></li>
354
355    <li><a href="#xterm_226">Patch #226 - 2007/6/17</a></li>
356
357    <li><a href="#xterm_225">Patch #225 - 2007/3/24</a></li>
358
359    <li><a href="#xterm_224">Patch #224 - 2007/2/11</a></li>
360
361    <li><a href="#xterm_223">Patch #223 - 2006/11/30</a></li>
362
363    <li><a href="#xterm_222">Patch #222 - 2006/10/17</a></li>
364
365    <li><a href="#xterm_221">Patch #221 - 2006/10/1</a></li>
366
367    <li><a href="#xterm_220">Patch #220 - 2006/9/10</a></li>
368
369    <li><a href="#xterm_219">Patch #219 - 2006/9/4</a></li>
370
371    <li><a href="#xterm_218">Patch #218 - 2006/8/27</a></li>
372
373    <li><a href="#xterm_217">Patch #217 - 2006/8/20</a></li>
374
375    <li><a href="#xterm_216">Patch #216 - 2006/8/3</a></li>
376
377    <li><a href="#xterm_215">Patch #215 - 2006/6/19 - XFree86
378    4.6.99.2</a></li>
379
380    <li><a href="#xterm_214">Patch #214 - 2006/6/18 - XFree86
381    4.6.99.2</a></li>
382
383    <li><a href="#xterm_213">Patch #213 - 2006/4/30 - XFree86
384    4.5.99.905</a></li>
385
386    <li><a href="#xterm_212">Patch #212 - 2006/4/9 - XFree86
387    4.5.99.904</a></li>
388
389    <li><a href="#xterm_211">Patch #211 - 2006/3/19 - XFree86
390    4.5.99.902</a></li>
391
392    <li><a href="#xterm_210">Patch #210 - 2006/3/12 - XFree86
393    4.5.99.902</a></li>
394
395    <li><a href="#xterm_209">Patch #209 - 2006/2/12 - XFree86
396    4.5.99.22</a></li>
397
398    <li><a href="#xterm_208">Patch #208 - 2006/1/3 - XFree86
399    4.5.99.19</a></li>
400
401    <li><a href="#xterm_207">Patch #207 - 2005/11/13 - XFree86
402    4.5.99.16</a></li>
403
404    <li><a href="#xterm_206">Patch #206 - 2005/11/3 - XFree86
405    4.5.99.15</a></li>
406
407    <li><a href="#xterm_205">Patch #205 - 2005/9/18 - XFree86
408    4.5.99.12</a></li>
409
410    <li><a href="#xterm_204">Patch #204 - 2005/8/4 - XFree86
411    4.5.99.9</a></li>
412
413    <li><a href="#xterm_203">Patch #203 - 2005/7/6 - XFree86
414    4.5.99.7</a></li>
415
416    <li><a href="#xterm_202">Patch #202 - 2005/5/2 - XFree86
417    4.5.99.3</a></li>
418
419    <li><a href="#xterm_201">Patch #201 - 2005/4/21 - XFree86
420    4.5.99.2</a></li>
421
422    <li><a href="#xterm_200">Patch #200 - 2005/2/6 - XFree86
423    4.4.99.23</a></li>
424
425    <li><a href="#xterm_199">Patch #199 - 2005/1/17 - XFree86
426    4.4.99.22</a></li>
427
428    <li><a href="#xterm_198">Patch #198 - 2005/1/13 - XFree86
429    4.4.99.21</a></li>
430
431    <li><a href="#xterm_197">Patch #197 - 2004/11/30 - XFree86
432    4.4.99.19</a></li>
433
434    <li><a href="#xterm_196">Patch #196 - 2004/8/15 - XFree86
435    4.4.99.12</a></li>
436
437    <li><a href="#xterm_195">Patch #195 - 2004/8/8 - XFree86
438    4.4.99.11</a></li>
439
440    <li><a href="#xterm_194">Patch #194 - 2004/7/27 - XFree86
441    4.4.99.11</a></li>
442
443    <li><a href="#xterm_193">Patch #193 - 2004/7/19 - XFree86
444    4.4.99.10</a></li>
445
446    <li><a href="#xterm_192">Patch #192 - 2004/7/12 - XFree86
447    4.4.99.9</a></li>
448
449    <li><a href="#xterm_191">Patch #191 - 2004/6/6 - XFree86
450    4.4.99.7</a></li>
451
452    <li><a href="#xterm_190">Patch #190 - 2004/5/25 - XFree86
453    4.4.99.6</a></li>
454
455    <li><a href="#xterm_189">Patch #189 - 2004/5/16 - XFree86
456    4.4.99.6</a></li>
457
458    <li><a href="#xterm_188">Patch #188 - 2004/5/12 - XFree86
459    4.4.99.6</a></li>
460
461    <li><a href="#xterm_187">Patch #187 - 2004/4/27 - XFree86
462    4.4.99.4</a></li>
463
464    <li><a href="#xterm_186">Patch #186 - 2004/4/18 - XFree86
465    4.4.99.4</a></li>
466
467    <li><a href="#xterm_185">Patch #185 - 2004/3/3 - XFree86
468    4.4</a></li>
469
470    <li><a href="#xterm_184">Patch #184 - 2003/12/31 - XFree86
471    4.3.99.903</a></li>
472
473    <li><a href="#xterm_183">Patch #183 - 2003/12/26 - XFree86
474    4.3.99.903</a></li>
475
476    <li><a href="#xterm_182">Patch #182 - 2003/12/2 - XFree86
477    4.3.99.901</a></li>
478
479    <li><a href="#xterm_181">Patch #181 - 2003/10/26 - XFree86
480    4.3.99.15</a></li>
481
482    <li><a href="#xterm_180">Patch #180 - 2003/10/12 - XFree86
483    4.3.99.15</a></li>
484
485    <li><a href="#xterm_179">Patch #179 - 2003/5/21 - XFree86
486    4.3.99.5</a></li>
487
488    <li><a href="#xterm_178">Patch #178 - 2003/5/18 - XFree86
489    4.3.99.5</a></li>
490
491    <li><a href="#xterm_177">Patch #177 - 2003/3/23 - XFree86
492    4.3.0</a></li>
493
494    <li><a href="#xterm_176">Patch #176 - 2003/3/22 - XFree86
495    4.3.0</a></li>
496
497    <li><a href="#xterm_175">Patch #175 - 2003/3/9 - XFree86
498    4.3.0</a></li>
499
500    <li><a href="#xterm_174">Patch #174 - 2003/2/25 - XFree86
501    4.2.99.903</a></li>
502
503    <li><a href="#xterm_173">Patch #173 - 2003/2/6 - XFree86
504    4.2.99.902</a></li>
505
506    <li><a href="#xterm_172">Patch #172 - 2002/12/27 - XFree86
507    4.2.99.3</a></li>
508
509    <li><a href="#xterm_171">Patch #171 - 2002/12/12 - XFree86
510    4.2.99.3</a></li>
511
512    <li><a href="#xterm_170">Patch #170 - 2002/10/13 - XFree86
513    4.2.1</a></li>
514
515    <li><a href="#xterm_169">Patch #169 - 2002/10/5 - XFree86
516    4.2.1</a></li>
517
518    <li><a href="#xterm_168">Patch #168 - 2002/9/29 - XFree86
519    4.2.1</a></li>
520
521    <li><a href="#xterm_167">Patch #167 - 2002/8/24 - XFree86
522    4.2.0</a></li>
523
524    <li><a href="#xterm_166">Patch #166 - 2002/3/25 - XFree86
525    4.2.0</a></li>
526
527    <li><a href="#xterm_165">Patch #165 - 2002/1/5 - XFree86
528    4.1.0</a></li>
529
530    <li><a href="#xterm_164">Patch #164 - 2001/11/13 - XFree86
531    4.1.0</a></li>
532
533    <li><a href="#xterm_163">Patch #163 - 2001/11/04 - XFree86
534    4.1.0</a></li>
535
536    <li><a href="#xterm_162">Patch #162 - 2001/10/23 - XFree86
537    4.1.0</a></li>
538
539    <li><a href="#xterm_161">Patch #161 - 2001/10/10 - XFree86
540    4.1.0</a></li>
541
542    <li><a href="#xterm_160">Patch #160 - 2001/10/7 - XFree86
543    4.1.0</a></li>
544
545    <li><a href="#xterm_159">Patch #159 - 2001/9/19 - XFree86
546    4.1.0</a></li>
547
548    <li><a href="#xterm_158">Patch #158 - 2001/9/8 - XFree86
549    4.1.0</a></li>
550
551    <li><a href="#xterm_157">Patch #157 - 2001/6/18 - XFree86
552    4.1.0</a></li>
553
554    <li><a href="#xterm_156">Patch #156 - 2001/4/28 - XFree86
555    4.0.3</a></li>
556
557    <li><a href="#xterm_155">Patch #155 - 2001/4/20 - XFree86
558    4.0.3</a></li>
559
560    <li><a href="#xterm_154">Patch #154 - 2001/4/11 - XFree86
561    4.0.3</a></li>
562
563    <li><a href="#xterm_153">Patch #153 - 2001/3/29 - XFree86
564    4.0.3</a></li>
565
566    <li><a href="#xterm_152">Patch #152 - 2001/3/13 - XFree86
567    4.0.2</a></li>
568
569    <li><a href="#xterm_151">Patch #151 - 2001/3/10 - XFree86
570    4.0.2</a></li>
571
572    <li><a href="#xterm_150">Patch #150 - 2000/12/29 - XFree86
573    4.0.2</a></li>
574
575    <li><a href="#xterm_149">Patch #149 - 2000/12/6 - XFree86
576    4.0.1h</a></li>
577
578    <li><a href="#xterm_148">Patch #148 - 2000/10/31 - XFree86
579    4.0.1d</a></li>
580
581    <li><a href="#xterm_147">Patch #147 - 2000/10/26 - XFree86
582    4.0.1c</a></li>
583
584    <li><a href="#xterm_146">Patch #146 - 2000/9/12 - XFree86
585    4.0.1c</a></li>
586
587    <li><a href="#xterm_145">Patch #145 - 2000/9/11 - XFree86
588    4.0.1c</a></li>
589
590    <li><a href="#xterm_144">Patch #144 - 2000/8/23 - XFree86
591    4.0.1b</a></li>
592
593    <li><a href="#xterm_143">Patch #143 - 2000/8/19 - XFree86
594    4.0.1b</a></li>
595
596    <li><a href="#xterm_142">Patch #142 - 2000/8/18 - XFree86
597    4.0.1b</a></li>
598
599    <li><a href="#xterm_141">Patch #141 - 2000/8/14 - XFree86
600    4.0.1b</a></li>
601
602    <li><a href="#xterm_140">Patch #140 - 2000/7/23 - XFree86
603    4.0.1</a></li>
604
605    <li><a href="#xterm_139">Patch #139 - 2000/6/17 - XFree86
606    4.0d</a></li>
607
608    <li><a href="#xterm_138">Patch #138 - 2000/6/15 - XFree86
609    4.0c</a></li>
610
611    <li><a href="#xterm_137">Patch #137 - 2000/6/10 - XFree86
612    4.0b</a></li>
613
614    <li><a href="#xterm_136">Patch #136 - 2000/6/3 - XFree86
615    4.0b</a></li>
616
617    <li><a href="#xterm_135">Patch #135 - 2000/5/29 - XFree86
618    4.0b</a></li>
619
620    <li><a href="#xterm_134">Patch #134 - 2000/5/28 - XFree86
621    4.0b</a></li>
622
623    <li><a href="#xterm_133">Patch #133 - 2000/5/2 - XFree86
624    4.0a</a></li>
625
626    <li><a href="#xterm_132">Patch #132 - 2000/4/11 - XFree86
627    4.0a</a></li>
628
629    <li><a href="#xterm_131">Patch #131 - 2000/3/3 - XFree86
630    3.9.18b</a></li>
631
632    <li><a href="#xterm_130">Patch #130 - 2000/3/1 - XFree86
633    3.9.18a</a></li>
634
635    <li><a href="#xterm_129">Patch #129 - 2000/2/26 - XFree86
636    3.9.18a</a></li>
637
638    <li><a href="#xterm_128">Patch #128 - 2000/2/17 - XFree86
639    3.9.18</a></li>
640
641    <li><a href="#xterm_127">Patch #127 - 2000/2/12 - XFree86
642    3.9.17e</a></li>
643
644    <li><a href="#xterm_126">Patch #126 - 2000/2/8 - XFree86
645    3.9.17c</a></li>
646
647    <li><a href="#xterm_125">Patch #125 - 2000/1/31 - XFree86
648    3.9.17c</a></li>
649
650    <li><a href="#xterm_124">Patch #124 - 2000/1/27 - XFree86
651    3.9.17b</a></li>
652
653    <li><a href="#xterm_123">Patch #123 - 2000/1/22 - XFree86
654    3.9.17a</a></li>
655
656    <li><a href="#xterm_122">Patch #122 - 1999/12/28 - XFree86
657    3.9.16f</a></li>
658
659    <li><a href="#xterm_121">Patch #121 - 1999/11/14 - XFree86
660    3.9.16c</a></li>
661
662    <li><a href="#xterm_120">Patch #120 - 1999/10/28 - XFree86
663    3.9.16c</a></li>
664
665    <li><a href="#xterm_119">Patch #119 - 1999/10/16 - XFree86
666    3.9.16c</a></li>
667
668    <li><a href="#xterm_118">Patch #118 - 1999/10/5 - XFree86
669    3.9.16b</a></li>
670
671    <li><a href="#xterm_117">Patch #117 - 1999/9/29 - XFree86
672    3.9.16b</a></li>
673
674    <li><a href="#xterm_116">Patch #116 - 1999/9/25 - XFree86
675    3.9.16a</a></li>
676
677    <li><a href="#xterm_115">Patch #115 - 1999/9/18 - XFree86
678    3.9.16a</a></li>
679
680    <li><a href="#xterm_114">Patch #114 - 1999/9/15 - XFree86
681    3.9.16</a></li>
682
683    <li><a href="#xterm_113">Patch #113 - 1999/8/15 - XFree86
684    3.9.15b</a></li>
685
686    <li><a href="#xterm_112">Patch #112 - 1999/7/17 - XFree86
687    3.9Pw</a></li>
688
689    <li><a href="#xterm_111">Patch #111 - 1999/7/10 - XFree86
690    3.9Pw</a></li>
691
692    <li><a href="#xterm_110">Patch #110 - 1999/6/29 - XFree86
693    3.9Pu</a></li>
694
695    <li><a href="#xterm_109">Patch #109 - 1999/6/23 - XFree86
696    3.9Pt</a></li>
697
698    <li><a href="#xterm_108">Patch #108 - 1999/6/19 - XFree86
699    3.9Ps</a></li>
700
701    <li><a href="#xterm_107">Patch #107 - 1999/6/12 - XFree86
702    3.9Pq</a></li>
703
704    <li><a href="#xterm_106">Patch #106 - 1999/6/9 - XFree86
705    3.9Pq</a></li>
706
707    <li><a href="#xterm_105">Patch #105 - 1999/6/5 - XFree86
708    3.9Pp</a></li>
709
710    <li><a href="#xterm_104">Patch #104 - 1999/5/30 - XFree86
711    3.9Pn</a></li>
712
713    <li><a href="#xterm_103">Patch #103 - 1999/5/14 - XFree86
714    3.9Pm</a></li>
715
716    <li><a href="#xterm_102">Patch #102 - 1999/5/12 - XFree86
717    3.9Pm</a></li>
718
719    <li><a href="#xterm_101">Patch #101 - 1999/5/10 - XFree86
720    3.9Pm</a></li>
721
722    <li><a href="#xterm_100">Patch #100 - 1999/5/3 - XFree86
723    3.9Pl</a></li>
724
725    <li><a href="#xterm_99">Patch #99 - 1999/5/2 - XFree86
726    3.9Pk</a></li>
727
728    <li><a href="#xterm_98">Patch #98 - 1999/4/26 - XFree86
729    3.9Pk</a></li>
730
731    <li><a href="#xterm_97">Patch #97 - 1999/4/25 - XFree86
732    3.9Pk</a></li>
733
734    <li><a href="#xterm_96">Patch #96 - 1999/4/19 - XFree86
735    3.9Pj</a></li>
736
737    <li><a href="#xterm_95">Patch #95 - 1999/4/5 - XFree86
738    3.9Ph</a></li>
739
740    <li><a href="#xterm_94">Patch #94 - 1999/3/27 - XFree86
741    3.9Pf</a></li>
742
743    <li><a href="#xterm_93">Patch #93 - 1999/3/14 - XFree86
744    3.9Pd</a></li>
745
746    <li><a href="#xterm_92">Patch #92 - 1999/2/5 - XFree86
747    3.9Nz</a></li>
748
749    <li><a href="#xterm_91">Patch #91 - 1999/1/21 - XFree86
750    3.9Nw</a></li>
751
752    <li><a href="#xterm_90">Patch #90 - 1998/12/13 - XFree86
753    3.9Nq</a></li>
754
755    <li><a href="#xterm_89">Patch #89 - 1998/11/20 - XFree86
756    3.9Nm</a></li>
757
758    <li><a href="#xterm_88">Patch #88 - 1998/10/31 - XFree86 3.9Nk
759    and 3.3.2h</a></li>
760
761    <li><a href="#xterm_87">Patch #87 - 1998/10/21 - XFree86 3.9Nj
762    and 3.3.2f</a></li>
763
764    <li><a href="#xterm_86">Patch #86 - 1998/10/14 - XFree86 3.9Nj
765    and 3.3.2e</a></li>
766
767    <li><a href="#xterm_85">Patch #85 - 1998/10/12 - XFree86 3.9Nj
768    and 3.3.2e</a></li>
769
770    <li><a href="#xterm_84">Patch #84 - 1998/10/9 - XFree86 3.9Ni
771    and 3.3.2e</a></li>
772
773    <li><a href="#sync_83">Resync #83 - 1998/10/7 - XFree86
774    3.3.2e</a></li>
775
776    <li><a href="#xterm_83">Patch #83 - 1998/8/25 - XFree86
777    3.9Nb</a></li>
778
779    <li><a href="#xterm_82">Patch #82 - 1998/7/15 - XFree86
780    3.9Aj</a></li>
781
782    <li><a href="#xterm_81">Patch #81 - 1998/7/14 - XFree86
783    3.9Aj</a></li>
784
785    <li><a href="#xterm_80">Patch #80 - 1998/6/29 - XFree86
786    3.9Ai</a></li>
787
788    <li><a href="#xterm_79">Patch #79 - 1998/6/28 - XFree86
789    3.9Ai</a></li>
790
791    <li><a href="#xterm_78">Patch #78 - 1998/6/3 - XFree86 3.9Ah
792    and 3.3.2</a></li>
793
794    <li><a href="#xterm_77">Patch #77 - 1998/5/26 - XFree86 3.9Ah
795    and 3.3.2</a></li>
796
797    <li><a href="#xterm_76">Patch #76 - 1998/5/8 - XFree86 3.9Ah
798    and 3.3.2</a></li>
799
800    <li><a href="#xterm_75">Patch #75 - 1998/5/7 - XFree86 3.9Ah
801    and 3.3.2</a></li>
802
803    <li><a href="#xterm_74">Patch #74 - 1998/4/27 - XFree86 3.9Ag
804    and 3.3.2</a></li>
805
806    <li><a href="#xterm_73">Patch #73 - 1998/4/25 - XFree86 3.9Ag
807    and 3.3.2</a></li>
808
809    <li><a href="#xterm_72">Patch #72 - 1998/4/17 - XFree86 3.9Ag
810    and 3.3.2</a></li>
811
812    <li><a href="#xterm_71">Patch #71 - 1998/4/12 - XFree86 3.9Ag
813    and 3.3.2</a></li>
814
815    <li><a href="#xterm_70">Patch #70 - 1998/3/29 - XFree86 3.9Af
816    and 3.3.2</a></li>
817
818    <li><a href="#xterm_69">Patch #69 - 1998/3/16 - XFree86 3.9Ad
819    and 3.3.2</a></li>
820
821    <li><a href="#xterm_68">Patch #68 - 1998/3/4 - XFree86 3.9Ad
822    and 3.3.1z</a></li>
823
824    <li><a href="#xterm_67">Patch #67 - 1998/2/23 - XFree86 3.9Ad
825    and 3.3.1e</a></li>
826
827    <li><a href="#xterm_66">Patch #66 - 1998/2/16 - XFree86 3.9Ad
828    and 3.3.1d</a></li>
829
830    <li><a href="#xterm_65">Patch #65 - 1998/2/14 - XFree86 3.9Ad
831    and 3.3.1c</a></li>
832
833    <li><a href="#xterm_64">Patch #64 - 1998/2/8 - XFree86
834    3.9Ad</a></li>
835
836    <li><a href="#xterm_63">Patch #63 - 1998/2/5 - XFree86
837    3.9Ad</a></li>
838
839    <li><a href="#xterm_62">Patch #62 - 1998/1/23 - XFree86
840    3.9Ac</a></li>
841
842    <li><a href="#xterm_61">Patch #61 - 1998/1/17 - XFree86
843    3.9Ac</a></li>
844
845    <li><a href="#xterm_60">Patch #60 - 1998/1/10 - XFree86
846    3.9Ab</a></li>
847
848    <li><a href="#xterm_59">Patch #59 - 1998/1/5 - XFree86
849    3.9Ab</a></li>
850
851    <li><a href="#xterm_58">Patch #58 - 1998/1/3 - XFree86
852    3.9Ab</a></li>
853
854    <li><a href="#xterm_57">Patch #57 - 1997/12/26 - XFree86
855    3.9Aa</a></li>
856
857    <li><a href="#xterm_56">Patch #56 - 1997/11/28 - XFree86
858    3.9x</a></li>
859
860    <li><a href="#xterm_55">Patch #55 - 1997/11/25 - XFree86
861    3.9x</a></li>
862
863    <li><a href="#xterm_54">Patch #54 - 1997/10/17 - XFree86
864    3.9s</a></li>
865
866    <li><a href="#xterm_53">Patch #53 - 1997/10/12 - XFree86
867    3.9r</a></li>
868
869    <li><a href="#xterm_52">Patch #52 - 1997/9/29 - XFree86
870    3.9q</a></li>
871
872    <li><a href="#xterm_51">Patch #51 - 1997/9/15 - XFree86
873    3.9p</a></li>
874
875    <li><a href="#xterm_50">Patch #50 - 1997/8/22 - XFree86
876    3.9m</a></li>
877
878    <li><a href="#xterm_49">Patch #49 - 1997/8/10 - XFree86
879    3.9k</a></li>
880
881    <li><a href="#xterm_48">Patch #48 - 1997/7/26 - XFree86
882    3.9j</a></li>
883
884    <li><a href="#xterm_47">Patch #47 - 1997/7/13 - XFree86
885    3.9i</a></li>
886
887    <li><a href="#xterm_46">Patch #46 - 1997/7/4 - XFree86 3.9h</a></li>
888
889    <li><a href="#xterm_45">Patch #45 - 1997/7/2 - XFree86 3.9h</a></li>
890
891    <li><a href="#xterm_44">Patch #44 - 1997/6/22 - XFree86
892    3.9g</a></li>
893
894    <li><a href="#xterm_43">Patch #43 - 1997/6/10 - XFree86
895    3.9d</a></li>
896
897    <li><a href="#xterm_42">Patch #42 - 1997/6/8 - XFree86
898    3.2Xl</a></li>
899
900    <li><a href="#xterm_41">Patch #41 - 1997/5/28 - XFree86
901    3.2Xl</a></li>
902
903    <li><a href="#xterm_40">Patch #40 - 1997/5/26 - XFree86
904    3.2Xl</a></li>
905
906    <li><a href="#xterm_39">Patch #39 - 1997/5/24 - XFree86
907    3.2Xl</a></li>
908
909    <li><a href="#xterm_38">Patch #38 - 1997/5/22 - XFree86
910    3.2Xh</a></li>
911
912    <li><a href="#xterm_37">Patch #37 - 1997/5/7 - XFree86 3.9a</a></li>
913
914    <li><a href="#xterm_36">Patch #36 - 1997/1/16 - XFree86
915    3.2r</a></li>
916
917    <li><a href="#xterm_35">Patch #35 - 1997/1/7 - XFree86 3.2o</a></li>
918
919    <li><a href="#xterm_34">Patch #34 - 1997/1/5 - XFree86 3.2o</a></li>
920
921    <li><a href="#xterm_33">Patch #33 - 1996/11/24 - XFree86
922    3.2</a></li>
923
924    <li><a href="#xterm_32">Patch #32 - 1996/11/21 - XFree86
925    3.2</a></li>
926
927    <li><a href="#xterm_31">Patch #31 - 1996/11/16 - XFree86
928    3.2</a></li>
929
930    <li><a href="#xterm_30">Patch #30 - 1996/11/16 - XFree86
931    3.2</a></li>
932
933    <li><a href="#xterm_29">Patch #29 - 1996/9/15 - XFree86
934    3.1.2Gb</a></li>
935
936    <li><a href="#xterm_28">Patch #28 - 1996/8/31 - XFree86
937    3.1.2F</a></li>
938
939    <li><a href="#xterm_27">Patch #27 - 1996/8/21 - XFree86
940    3.1.2Ek</a></li>
941
942    <li><a href="#xterm_26">Patch #26 - 1996/8/20 - XFree86
943    3.1.2Ei</a></li>
944
945    <li><a href="#xterm_25">Patch #25 - 1996/8/18 - XFree86
946    3.1.2Ei</a></li>
947
948    <li><a href="#xterm_24">Patch #24 - 1996/8/11 - XFree86
949    3.1.2Ee</a></li>
950
951    <li><a href="#xterm_23">Patch #23 - 1996/7/31 - XFree86
952    3.1.2Ec</a></li>
953
954    <li><a href="#xterm_22">Patch #22 - 1996/7/26 - XFree86
955    3.1.2Ec</a></li>
956
957    <li><a href="#xterm_21">Patch #21 - 1996/7/24 - XFree86
958    3.1.2Ec</a></li>
959
960    <li><a href="#xterm_20">Patch #20 - 1996/7/24 - XFree86
961    3.1.2Ec</a></li>
962
963    <li><a href="#xterm_19">Patch #19 - 1996/7/21 - XFree86
964    3.1.2Ec</a></li>
965
966    <li><a href="#xterm_18">Patch #18 - 1996/7/18 - XFree86
967    3.1.2Ec</a></li>
968
969    <li><a href="#xterm_17">Patch #17 - 1996/7/2 - XFree86
970    3.1.2Eb</a></li>
971
972    <li><a href="#xterm_16">Patch #16 - 1996/6/25 - XFree86
973    3.1.2Ea</a></li>
974
975    <li><a href="#xterm_15">Patch #15 - 1996/5/29 - XFree86
976    3.1.2E</a></li>
977
978    <li><a href="#xterm_14">Patch #14 - 1996/5/12 - XFree86
979    3.1.2Dj</a></li>
980
981    <li><a href="#xterm_13">Patch #13 - 1996/4/23 - XFree86
982    3.1.2Df</a></li>
983
984    <li><a href="#xterm_12">Patch #12 - 1996/3/16 - XFree86
985    3.1.2Dc</a></li>
986
987    <li><a href="#xterm_11">Patch #11 - 1996/3/5 - XFree86
988    3.1.2Db</a></li>
989
990    <li><a href="#xterm_10">Patch #10 - 1996/2/14 - XFree86
991    3.1.2Cd</a></li>
992
993    <li><a href="#xterm_09">Patch #9 - 1996/2/10 - XFree86
994    3.1.2Cb</a></li>
995
996    <li><a href="#xterm_08">Patch #8 - 1996/2/9 - XFree86
997    3.1.2Cb</a></li>
998
999    <li><a href="#xterm_07">Patch #7 - 1996/1/28 - XFree86
1000    3.1.2n</a></li>
1001
1002    <li><a href="#xterm_06">Patch #6 - 1996/1/8</a></li>
1003
1004    <li><a href="#xterm_05">Patch #5 - 1996/1/7</a></li>
1005
1006    <li><a href="#xterm_04">Patch #4 - 1996/1/7</a></li>
1007
1008    <li><a href="#xterm_03">Patch #3 - 1996/1/7</a></li>
1009
1010    <li><a href="#xterm_02">Patch #2 - 1996/1/7</a></li>
1011
1012    <li><a href="#xterm_01">Patch #1 - 1996/1/6</a></li>
1013  </ul>
1014
1015  <h1><a name="xterm_367" id="xterm_367">Patch #367 -
1016  2021/03/26</a></h1>
1017
1018  <ul>
1019    <li>add <code>OSC&nbsp;22</code> to allow programs to select
1020    different pointer cursor at runtime.</li>
1021
1022    <li>change configuration for <em>no-return</em> functions to
1023    use <code>_Noreturn</code> when it is available, because
1024    <code>clang --analyze</code> does not properly handle the gcc
1025    noreturn attribute.</li>
1026
1027    <li>add <code>cursorTheme</code> resource to provide a way to
1028    enable or disable the cursor theme feature.</li>
1029
1030    <li>modified <code>CopyWait</code> event retries to use shorter
1031    sleeps, to improve responsiveness (tmux #2556).</li>
1032
1033    <li>improve quoting/escaping in demo-scripts per
1034    shellcheck.</li>
1035
1036    <li>add <code>resizeByPixel</code> resource, to permit
1037    disabling window manager resizing-hints (patch by Tim
1038    Oehl).</li>
1039
1040    <li>corrected <code>printOptsImmediate</code> handling of
1041    alternate-screen (report by Abhijit Dasgupta).</li>
1042
1043    <li>update sample terminfo to more closely match ncurses.</li>
1044
1045    <li>add/improve limit-checks for Xlib calls (report by Roman
1046    Fiedler).</li>
1047
1048    <li>fix a typo in the help-message (report by Tomas
1049    Korbar).</li>
1050  </ul>
1051
1052  <h1><a name="xterm_366" id="xterm_366">Patch #366 -
1053  2021/02/10</a></h1>
1054
1055  <ul>
1056    <li>correct a compiler-warning fix in <a href=
1057    "#xterm_352">patch #352</a> which allowed sign-extension of
1058    coordinate values (report by "CismonX").</li>
1059
1060    <li>correct upper-limit for selection buffer, accounting for
1061    combining characters (report/testcase by Tavis Ormandy).</li>
1062
1063    <li>with <code>alwaysHighlight</code> true, xterm does not
1064    properly track focus. The <em>screen-&gt;select</em>
1065    <code>FOCUS</code> flag remains always on, which prevents
1066    <code>bellIsUrgent</code> from working, as the urgent
1067    <code>WM_HINT</code> flag is only set in
1068    <code>setXUrgency()</code> when the window is not focused. Fix
1069    this by updating <em>screen-&gt;select</em> in
1070    <code>unselectwindow()</code> regardless of the value of
1071    <code>always_highlight</code> (patch by Jiri Bohac).</li>
1072
1073    <li>improve fix for interaction between SRM and ENQ (report by
1074    Grant Taylor).</li>
1075
1076    <li>build-fix for <code>--with-Xaw3dxft</code>, needed when
1077    <code>--with-toolbar</code> is omitted (report by Jimmy Olgeni,
1078    Emanuel Haupt).</li>
1079  </ul>
1080
1081  <h1><a name="xterm_365" id="xterm_365">Patch #365 -
1082  2021/02/03</a></h1>
1083
1084  <ul>
1085    <li>amend fix for &ldquo;word&rdquo; selection in <a href=
1086    "#xterm_364">patch #364</a> to limit that to the
1087    <code>insert-selectable</code> <em>action</em>, which reads
1088    data from the screen. This restores the interactive behavior
1089    where double-clicking on a &ldquo;word&rdquo; would make
1090    subsequent selection extensions by words as well as suppressing
1091    some boundary-checks (report by David Wolfskill, FreeBSD
1092    #253225).</li>
1093  </ul>
1094
1095  <h1><a name="xterm_364" id="xterm_364">Patch #364 -
1096  2021/02/02</a></h1>
1097
1098  <ul>
1099    <li>add <code>-fc</code> option.</li>
1100
1101    <li>correct/improve limit-checks for SRM versus ENQ from
1102    <a href="#xterm_344">patch #344</a> (report by Tom
1103    Szilagyi).</li>
1104
1105    <li>enable <code>XftFont</code> resource in Xaw3dxft
1106    configuration (patch by Tavis Ormandy).</li>
1107
1108    <li>improve quoting/escaping in build-scripts per
1109    shellcheck.</li>
1110
1111    <li>add <code>libpcre2-posix</code> to the packages tested for
1112    <code>--with-pcre2</code> option, needed with Fedora (report by
1113    Tomas Korbar).</li>
1114
1115    <li>correct a typo in manual page, and note that
1116    <code>KeepClipboard</code> may not be compiled-in (report/patch
1117    by Sean C Farley).</li>
1118
1119    <li>corrected boundary-checks for &ldquo;word&rdquo; selection
1120    used in <code>on<em>N</em>Clicks</code> resources (report by
1121    Tavis Ormandy).</li>
1122
1123    <li>update to autoconf-2.52-20210101, to improve shellcheck
1124    warnings.</li>
1125
1126    <li>improve configure check for desktop categories.</li>
1127  </ul>
1128
1129  <h1><a name="xterm_363" id="xterm_363">Patch #363 -
1130  2020/12/26</a></h1>
1131
1132  <ul>
1133    <li>disable groff hyphenation in generated html when using
1134    man2html.</li>
1135
1136    <li>change SCS &ldquo;<code>&amp;4</code>&rdquo; Cyrillic to
1137    non-NRCS, per VT520 manual.</li>
1138
1139    <li>amend fix for SCS in <a href="#xterm_198">patch #198</a> to
1140    remove <code>DEL</code> rather than converting it to a space
1141    (report by Thomas Wolff).</li>
1142
1143    <li>modify state transitions for selecting character sets to
1144    eliminate an ambiguity between the &ldquo;A&rdquo; used in
1145    VT220 versus VT320.</li>
1146
1147    <li>improve error recovery when selecting characters by
1148    resetting to US ASCII when no suitable encoding is found, e.g.,
1149    attempting to use an NRCS sequence when NRCS is not
1150    enabled.</li>
1151
1152    <li>turn off hyphenation in &ldquo;<code>.txt</code>&rdquo;
1153    conversion, prompted by groff changes.</li>
1154
1155    <li>add VT5xx ISO Latin-2 (prompted by discussion with Thomas
1156    Wolff).</li>
1157
1158    <li>amend change from <a href="#xterm_361">patch #361</a> to
1159    event-handling in <code>CopyWait</code> to handle active-icon
1160    as a special case (Debian #975687).</li>
1161
1162    <li>add call to <code>loadColorTable</code> to get the visual
1163    information needed to decode BE RGBA32 color format (patch by
1164    Leandro Lupori).</li>
1165
1166    <li>modify the resource-parsing for
1167    <code>disallowedPasteControls</code> and similar lists of
1168    names/numbers to recognize &ldquo;~;&rdquo; (tilde) for
1169    cancelling a given name/number.</li>
1170
1171    <li>add ENQ, EOT and NUL to default for
1172    <code>disallowedPasteControls</code>.</li>
1173
1174    <li>change default for <code>disallowedPasteControls</code> to
1175    omit the tab character (suggested by Harald Dunkel).</li>
1176
1177    <li>fix swapped height/width in <code>regisScreenSize</code>
1178    and <code>maxGraphicSize</code> resources using "auto" value,
1179    from <a href="#xterm_314">patch #314</a> (report by Anton
1180    Lavrentiev)</li>
1181
1182    <li>revise <a href="#xterm_362">patch #362</a> change for
1183    shift-modifier versus mouse protocol and select/paste by adding
1184    resource <code>shiftEscape</code>, which can be enabled via a
1185    control sequence (prompted by discussion with Matthijs van
1186    Duin).</li>
1187
1188    <li>simplify/improve ifdef in trace code for using a separate
1189    set of files for each run of xterm.</li>
1190
1191    <li>add options <code>-r</code> and <code>-t</code> to
1192    <code>vttests/query-color.pl</code> to show the 6-digit RGB
1193    code and actual colors.</li>
1194
1195    <li>add <code>nel</code> to <code>xterm-basic</code>
1196    terminfo.</li>
1197
1198    <li>alter <code>vttests/modify-keys.pl</code> to omit HTML
1199    reference links to the modified-keys table where no keycode was
1200    available.</li>
1201  </ul>
1202
1203  <h1><a name="xterm_362" id="xterm_362">Patch #362 -
1204  2020/11/11</a></h1>
1205
1206  <ul>
1207    <li>cleanup of calls to <code>free</code>, removing checks for
1208    null (Walter Harms).</li>
1209
1210    <li>improved mouse-button reporting (prompted by discussion
1211    with Stephane Chazelas)
1212      <ul>
1213        <li>narrow the scope of the change for shift-key in
1214        <a href="#xterm_361">patch #361</a> to make it apply only
1215        when the <code>modifyOtherKeys</code> resource is set to 2
1216        (i.e., &ldquo;program mode&rdquo;). Also, when checking the
1217        shift-key, ignore modifiers other than shift, control and
1218        &ldquo;meta&rdquo;</li>
1219
1220        <li>use the alt/meta modifier information obtained in
1221        <code>VTInitModifiers</code> to replace a hard-coded
1222        <em>mod1</em> used to detect &ldquo;Meta&rdquo; for
1223        mouse-button responses.</li>
1224      </ul>
1225    </li>
1226
1227    <li>reduce <code>SIGWINCH</code>'s sent to the client by
1228    filtering out duplicates.</li>
1229
1230    <li>improve display when <code>scaleHeight</code> is greater
1231    than 1:
1232      <ul>
1233        <li>the text-cursor is vertically-centered on the current
1234        line, rather than only extending below the current line
1235        (report by Manu Chaturvedi).</li>
1236
1237        <li>the built-in line-drawing characters extend to the
1238        scaled cell-height.</li>
1239      </ul>
1240    </li>
1241
1242    <li>fill-in special case for motion-events to match the changes
1243    for shift-key in pointer-button events from <a href=
1244    "#xterm_361">patch #361</a>.</li>
1245  </ul>
1246
1247  <h1><a name="xterm_361" id="xterm_361">Patch #361 -
1248  2020/10/14</a></h1>
1249
1250  <ul>
1251    <li>treat the return value of <code>strerror</code> as readonly
1252    (patch by Philipp Klaus Krause).</li>
1253
1254    <li>modify event-handling in <code>CopyWait</code> to work
1255    around hanging while writing large amounts of text to an active
1256    icon and at the same time iconifying/deiconifying (report by
1257    Dave Kemper).</li>
1258
1259    <li>initialize double-buffer for active-icon window.</li>
1260
1261    <li>improve manual page description of scrollbar resources
1262    (report by Brian Lindholm).</li>
1263
1264    <li>correct ifdef for menu entry for active-icon, when
1265    initializing it with toolbar configuration.</li>
1266
1267    <li>add preprocessor option to makefile to set internal
1268    definition of pixmaps directory to match the
1269    install-configuration (FreeBSD #250036).</li>
1270
1271    <li>cleanup of calls to <code>free</code>, removing checks for
1272    null (Walter Harms).</li>
1273
1274    <li>add fallback actions <code>pointer-button</code> and
1275    <code>pointer-motion</code> which handle events for the mouse
1276    control-sequences protocol if the <em>select</em>-related
1277    translations are omitted with
1278    <code>*omitTranslation:select</code> (prompted by discussion
1279    with "Ergus")</li>
1280
1281    <li>amend rule for using shift-key to override mouse-protocol
1282    for select/paste to limit that feature to mouse-buttons which
1283    are actually bound to select/paste actions (prompted by
1284    discussion with "Ergus").</li>
1285
1286    <li>corrected mapping in special case for repainting wrap-marks
1287    when viewing the scrollback area.</li>
1288
1289    <li>use separate <em>GCs</em> for <code>showWrapMarks</code>
1290    feature, to work around cursor coloring change in <a href=
1291    "#xterm_345">patch #345</a> (report by Paulo Silva de
1292    Al&iacute;bano).</li>
1293  </ul>
1294
1295  <h1><a name="xterm_360" id="xterm_360">Patch #360 -
1296  2020/09/20</a></h1>
1297
1298  <ul>
1299    <li>mention <code>decGraphicsID</code> in
1300    <code>ctlseqs.ms</code> (suggested by Thomas Wolff).</li>
1301
1302    <li>modify pixel-coordinate mouse response to use as origin the
1303    VT100-window rather than the underlying widget, which includes
1304    the scrollbar (report by Thomas Wolff).</li>
1305
1306    <li>add configure option <code>--disable-print-graphics</code>
1307    (Ross Combs).</li>
1308
1309    <li>add <code>test_ptydata</code> to &ldquo;make check&rdquo;
1310    rule.</li>
1311
1312    <li>minor fixes for <code>ctlseqs.ms</code> (report by
1313    Jean-Marc Bourguet).</li>
1314
1315    <li>minor fixes for manpage style (report/patch by
1316    "a1346054").</li>
1317
1318    <li>correct cleanup from switch between italics/normal font in
1319    the show/hide cursor functions (report/testcase by Peter
1320    Fabinski).</li>
1321
1322    <li>integrated patch by Ross Combs:
1323      <ul>
1324        <li>internal renaming of GraphicsID symbols, for
1325        readability.</li>
1326
1327        <li>adjust logic for VT125, treating it as a ReGIS
1328        terminal.</li>
1329      </ul>
1330    </li>
1331
1332    <li>update configure macros, for compiler-warning fixes.</li>
1333
1334    <li>integrated patch by Ross Combs:
1335      <ul>
1336        <li>add control sequence modes for graphics printing.</li>
1337
1338        <li>improve conversion to bitmaps for TrueType fonts in
1339        ReGIS</li>
1340
1341        <li>add <code>font7</code> resource, for an
1342        &ldquo;enormous&rdquo; bitmap font.</li>
1343
1344        <li>do not reset graphics in a soft-reset.</li>
1345
1346        <li>add <code>pointerFont</code> resource, and
1347        <code>-pf</code> command-line option.</li>
1348      </ul>
1349    </li>
1350
1351    <li>improve typography of manual page (patch by Branden
1352    Robinson).</li>
1353
1354    <li>amend <a href="#xterm_359">patch #359</a> change to
1355    <code>df-install.in</code> to ignore a command-line assignment
1356    to <code>DESTDIR</code> if followed by an explicit
1357    <code>--dir</code> (report by Sven Joachim).</li>
1358  </ul>
1359
1360  <h1><a name="xterm_359" id="xterm_359">Patch #359 -
1361  2020/08/17</a></h1>
1362
1363  <ul>
1364    <li>add special case in <code>WriteText</code> to allow colors
1365    8-15 to override <code>colorBDMode</code> (patch by Ingo
1366    Br&uuml;ckl).</li>
1367
1368    <li>add <code>utf8Weblike</code> resource, to provide an
1369    alternate scheme for handling ill-formed UTF-8 sequences
1370    (adapted from patch by Dan Gohman).</li>
1371
1372    <li>improve computation for the number of lines needed to
1373    scroll-up a SIXEL graphic (report/patch by Ben Wong).</li>
1374
1375    <li>correct manpage description for default value of
1376    <code>disallowWindowOps</code> from changes in <a href=
1377    "#xterm_331">xterm #331</a> (patch by Ben Wong).</li>
1378
1379    <li>correct a loop starting-point in
1380    <code>refresh_graphics</code> from optimization in <a href=
1381    "#xterm_358">patch #358</a> changes (report by Ben Wong).</li>
1382
1383    <li>add a new mouse mode 1016, which uses the same format as
1384    mode 1006, but sends the mouse's position in pixels (suggested
1385    by Igor van den Hoven).</li>
1386
1387    <li>fix an issue from <a href="#xterm_338">patch #338</a>
1388    changes where only the first selection buffer specified in the
1389    request would be updated using OSC 52 (patch by Michael
1390    Gulick).</li>
1391
1392    <li>modify makefile/scripts to allow <code>DESTDIR</code> to
1393    prefix the target directory for desktop-file-install (report by
1394    Fred Heitkamp).</li>
1395
1396    <li>enable SIXEL feature by default.</li>
1397
1398    <li>update config.guess, config.sub</li>
1399  </ul>
1400
1401  <h1><a name="xterm_358" id="xterm_358">Patch #358 -
1402  2020/07/12</a></h1>
1403
1404  <ul>
1405    <li>correct logic for decodeTerminalID changes in <a href=
1406    "#xterm_357">patch #357</a> (report by "Chartreuse").</li>
1407
1408    <li>modify makefile to use <code>plink.sh</code> when linking
1409    test-programs, to fix build when using pcre (report by H Merijn
1410    Brand)</li>
1411
1412    <li>build-fix for test_ptydata program (patch by H Merijn
1413    Brand)</li>
1414  </ul>
1415
1416  <h1><a name="xterm_357" id="xterm_357">Patch #357 -
1417  2020/07/05</a></h1>
1418
1419  <ul>
1420    <li>several minor optimizations for the ReGIS and SIXEL
1421    features, improving performance by 10%.</li>
1422
1423    <li>add resource <code>decGraphicsID</code> to allow displaying
1424    graphics when the emulation level would ordinarily disallow
1425    this (prompted by discussion with Thomas Wolff).</li>
1426
1427    <li>add control sequences for fast switching of color palettes:
1428    <code>XTPUSHCOLORS</code>, <code>XTPOPCOLORS</code>,
1429    <code>XTREPORTCOLORS</code></li>
1430
1431    <li>amend change for soft-hyphen from <a href=
1432    "#xterm_328">patch #328</a> to avoid stripping
1433    replacement-characters which would be shown with malformed or
1434    overlong UTF-8 input.</li>
1435
1436    <li>corrected an error-handling case in
1437    <code>decodeUtf8</code>, matching a similar fix in <a href=
1438    "#xterm_268">patch #268</a> (report/patch by Dan Gohman).</li>
1439
1440    <li>add a test-driver for <code>ptydata.c</code></li>
1441
1442    <li>minor cleanup of macros (adapted from patch by Walter
1443    Harms).</li>
1444
1445    <li>fix some errata in <code>ctlseqs.ms</code> (report by
1446    Thomas Wolff).</li>
1447
1448    <li>allow immediate repaint-on-palette-changed if
1449    double-buffering is enabled.</li>
1450
1451    <li>deprecate codes 10/11 in sgr push controls, changing those
1452    to 30/31, to avoid confusion with sgr 10-19.</li>
1453
1454    <li>modify <code>SGR</code> parameter handling to stop if an
1455    unrecognized parameter is encountered, to guard against
1456    malformed or nonstandard sequences (report by Bram
1457    Moolenaar).</li>
1458
1459    <li>modify <code>DECERA</code> color for consistency with other
1460    erasures/clearing (report by Thomas Wolff).</li>
1461
1462    <li><code>ECH</code> should not be masked by
1463    <code>DECSCA</code> (report by Thomas Wolff).</li>
1464
1465    <li>extend <code>DECFRA</code> and <code>REP</code> to accept
1466    any &ldquo;graphic&rdquo; character rather than just Latin1,
1467    etc. (report by Thomas Wolff).</li>
1468
1469    <li>add <code>-C</code> option to 256colors2.pl and
1470    88colors2.pl, to demonstrate mixed semicolon/colon separators
1471    which are implied by ECMA-48.</li>
1472
1473    <li>update sample terminfo to reflect the documentation
1474    improvements.</li>
1475
1476    <li>update description of 88/256/direct color in
1477    <code>ctlseqs.ms</code> to point out that using semicolons is a
1478    deprecated legacy feature, and standard terminal applications
1479    should use colons (prompted by discussion with Bram
1480    Moolenaar).</li>
1481
1482    <li>modify configure-check for <code>tgetent</code> to
1483    conditionally include <code>termcap.h</code>, enabling
1484    configuration using <code>clang</code>'s pedantic-errors option
1485    (report by Dennis Clarke). See <a href=
1486    "https://invisible-island.net/ncurses/man/curs_termcap.3x.html#h3-Other-Compatibility">
1487    <em>Other Compatibility</em></a> in ncurses'
1488    <em>curs_termcap(3X)</em>.</li>
1489
1490    <li>remove some unnecessary pointer checks (patch by Walter
1491    Harms).</li>
1492
1493    <li>accept terminal-id and add DA response for VT131,
1494    VT132.</li>
1495  </ul>
1496
1497  <h1><a name="xterm_356" id="xterm_356">Patch #356 -
1498  2020/05/02</a></h1>
1499
1500  <ul>
1501    <li>revise fix for Debian #954730, which interfered with wheel
1502    mouse events (report by Gabriele Balducci).</li>
1503  </ul>
1504
1505  <h1><a name="xterm_355" id="xterm_355">Patch #355 -
1506  2020/05/01</a></h1>
1507
1508  <ul>
1509    <li>revise fix for Debian #954730, which interfered with wheel
1510    mouse events (report by Henri Menke).</li>
1511
1512    <li>fix typos in documentation (reports by Stephen Hurd, Stefan
1513    Assmann).</li>
1514
1515    <li>add mapping for <code>decTerminalID</code> for
1516    &ldquo;100&rdquo; overlooked in <a href="#xterm_354">patch
1517    #354</a>.</li>
1518
1519    <li>update tables in wcwidth.c based on Unicode 13.0.0</li>
1520
1521    <li>build-fix for &ldquo;make check&rdquo; when building
1522    out-of-tree (report by Sven Joachim).</li>
1523  </ul>
1524
1525  <h1><a name="xterm_354" id="xterm_354">Patch #354 -
1526  2020/04/26</a></h1>
1527
1528  <ul>
1529    <li>work around performance problems of
1530    <code>XDrawImageString</code> and
1531    <code>XDrawImageString16</code> functions (Debian
1532    #954845).</li>
1533
1534    <li>add a control sequence which reports xterm's version (patch
1535    by Nicholas Marriott, mintty #881).</li>
1536
1537    <li>temporarily set numeric locale category to "C" when parsing
1538    resources, so that <code>scaleHeight</code> and
1539    <code>faceSize</code> settings do not depend on locale (Debian
1540    #820803).</li>
1541
1542    <li>improve DA/DA2 response by ensuring that the
1543    <code>decTerminalID</code> maps to one of the known
1544    identifiers, as well as providing DA2 response for VT241 and
1545    VT382.</li>
1546
1547    <li>terminfo improvements:
1548      <ul>
1549        <li>add (my) comments from ncurses which explain the keypad
1550        layouts.</li>
1551
1552        <li>add <code>vt52+keypad</code> from ncurses</li>
1553
1554        <li>use improved <code>xm</code> example for
1555        <code>xterm+x11mouse</code>, <code>xterm+sm+1006</code>
1556        from ncurses 6.2 terminfo.src</li>
1557      </ul>
1558    </li>
1559
1560    <li>two fixes for left/right wheel mouse event reporting
1561    (Debian #954730):
1562      <ul>
1563        <li>filter identical button-events</li>
1564
1565        <li>correct order of button-range versus protocol type (see
1566        <a href="#xterm_345">patch #345</a>)</li>
1567      </ul>
1568    </li>
1569
1570    <li>change &ldquo;make check&rdquo; makefile-rule to use
1571    test-drivers for charclass and wcwidth data.</li>
1572
1573    <li>quiet &ldquo;did not find a usable <em>xxx</em> TrueType
1574    font&rdquo; warnings by making <code>fontWarnings</code> apply
1575    to these messages (report by Jim Rees).</li>
1576
1577    <li>improve reinitialization of parameter list (report/testcase
1578    by James Holderness).</li>
1579
1580    <li>temporarily set numeric locale category to "C" when
1581    formatting SVG or XHTML screendumps, to make the radix
1582    separator used in RGB values consistent (adapted from patch by
1583    George Kouryachy).</li>
1584
1585    <li>add resource <code>forceXftHeight</code> to control whether
1586    workaround from Debian #880407 is used.</li>
1587
1588    <li>apply updated ascent/descent in workaround from Debian
1589    #880407 to fix a 1-pixel gap in built-in vertical lines
1590    (report/testcase by Stefan Assmann).</li>
1591
1592    <li>improve round-off of scaling for built-in line-drawing
1593    (prompted by discussion with Stefan Assmann).</li>
1594
1595    <li>adjust fonts in svg-icon files to accommodate reduced
1596    functionality of new pango (report/analysis by YOKOTA
1597    Hiroshi).</li>
1598
1599    <li>improve configure check for X Toolkit library.</li>
1600
1601    <li>correct Y-coordinate transformation in
1602    <code>ClearCurBackground</code>, overlooked in changes for
1603    <a href="#xterm_334">patch #334</a> (report/analysis by Chuck
1604    Silvers).</li>
1605
1606    <li>remove <code>--vendor</code> option from test-packages'
1607    install of desktop files; the feature is badly broken in
1608    <em>gnome-shell</em>.</li>
1609
1610    <li>modify <code>uxterm</code> to make it possible to select
1611    nonstandard locale <em>C.UTF-8</em>, e.g, if the user's locale
1612    is set to &ldquo;C&rdquo; (Debian #940626).</li>
1613
1614    <li>re-save/tweak &ldquo;.svg&rdquo; icon-files to work around
1615    breakage in toolset since the files were created in <a href=
1616    "#xterm_283">patch #283</a>.</li>
1617  </ul>
1618
1619  <h1><a name="xterm_353" id="xterm_353">Patch #353 -
1620  2020/02/01</a></h1>
1621
1622  <ul>
1623    <li>amend change in <a href="#xterm_352">patch #352</a> for
1624    button-events to fix a case where some followup events were not
1625    processed soon enough (report/patch by Jimmy Aguilar
1626    Mena).</li>
1627
1628    <li>handle <em>MappingNotify</em> X event, to improve recovery
1629    when switching keyboard configurations using
1630    <code>xkbcomp</code> (prompted by discussion with Frank Mosch,
1631    Debian #661295). There is more work needed here, possibly in
1632    the X libraries.</li>
1633
1634    <li>improve discussion of mouse-mode in <code>ctlseqs.ms</code>
1635    (suggested by Igor van den Hoven).</li>
1636
1637    <li>further improve checks for Xft <em>max-advance-width</em>
1638    to take into account fonts which use two cells for ambiguous
1639    width characters. Also improve the time used for these checks
1640    (reports by Yuri Pankov, Frank Mosch).</li>
1641
1642    <li>fix a few spelling errors reported by codespell (report by
1643    Jens Schleusener).</li>
1644
1645    <li>modify <code>run-tic.sh</code> to prefer development
1646    version of ncurses since changes to terminfo file in <a href=
1647    "#xterm_345">patch #345</a> rely upon bug-fixes in ncurses
1648    (prompted by discussion with Will Senn).</li>
1649  </ul>
1650
1651  <h1><a name="xterm_352" id="xterm_352">Patch #352 -
1652  2020/01/16</a></h1>
1653
1654  <ul>
1655    <li>adjust fontsize data to handle a minor inconsistency from
1656    recent Xft versions (Debian #880407, adapted from patch by
1657    Vincent Lef&egrave;vre).</li>
1658
1659    <li>add a table to the manual page description of
1660    <code>forceBoxChars</code> to alert the reader to the special
1661    characters aside from &ldquo;line-drawing&rdquo; which are
1662    drawn directly when this resource is set (Debian #931305).</li>
1663
1664    <li>improve <code>checkXft</code> logic which attempts to
1665    detect fonts whose <em>max-advance-width</em> is inconsistent
1666    with the actual glyph widths. For some fonts, it is necessary
1667    to check additional characters (report/analysis by Jan
1668    Engelhardt).</li>
1669
1670    <li>improve configure-checks for X headers and libraries on
1671    recent MacOS, which has moved those files under
1672    <code>/usr/X11</code>.</li>
1673
1674    <li>improve portability of iconify/deiconify feature by taking
1675    into account some window managers which manipulate the EWMH
1676    <code>_NET_WM_STATE</code> property, adding/removing
1677    <code>_NET_WM_STATE_HIDDEN</code> rather than actually
1678    <em>minimizing</em> the window (prompted by discussion with
1679    J&ouml;rg Breitbart).</li>
1680
1681    <li>improve workaround from <a href="#xterm_287">patch #287</a>
1682    for the <code>-iconic</code> option when configured with
1683    toolbar by postponing the extra request for minimizing the
1684    window to the end of menu-initialization.</li>
1685
1686    <li>modify <code>xevents</code> special-case for mouse-events
1687    to include button-events so that the meta key by itself can
1688    generate button-events (report/analysis by Mattias
1689    Engdeg&aring;rd).</li>
1690
1691    <li>amend SGR-stack change from <a href="#xterm_348">patch
1692    #348</a> to not associate bold attribute with background color
1693    (report by Nicholas Marriott).</li>
1694
1695    <li>fix copy/paste error in manual page (patch by Larry
1696    Hynes).</li>
1697
1698    <li>add definitions in <code>xterm_io.h</code> so that GNU/Hurd
1699    will use <code>posix_openpty</code> (patch by Samuel
1700    Thibault).</li>
1701
1702    <li>build-fix in debug-tracing, for <code>esctest</code>.</li>
1703
1704    <li>updated autoconf macros</li>
1705
1706    <li>update config.guess</li>
1707  </ul>
1708
1709  <h1><a name="xterm_351" id="xterm_351">Patch #351 -
1710  2019/11/17</a></h1>
1711
1712  <ul>
1713    <li>correct logic in <code>property_to_string</code> for
1714    deciding when to fallback from UTF-8 decoding to ISO-8859-1
1715    decoding, broken in <a href="#xterm_350">xterm #350</a>
1716    (FreeBSD #241961).</li>
1717
1718    <li>add <code>-report-icons</code> to help-message.</li>
1719
1720    <li>improved autoconf macros:
1721      <ul>
1722        <li><code>CF_ADD_LIBS</code>: the change to filter out
1723        duplicates caused this to append rather than prepend.
1724        revise to fix that.</li>
1725
1726        <li><code>CF_GCC_VERSION</code> and
1727        <code>CF_GCC_WARNINGS</code>: move checks to distinguish
1728        icc/clang from gcc from the macro which handles the
1729        --enable-warnings option, to make this work
1730        without-warnings for the inline-checks.</li>
1731      </ul>
1732    </li>
1733
1734    <li>update config.guess, config.sub</li>
1735
1736    <li>correct status in <code>XTGETXRES</code> replies when the
1737    resource was not found.</li>
1738
1739    <li>fix some gcc, cppcheck, clang and coverity warnings.</li>
1740
1741    <li>guard call to <code>RequestResize</code> from the
1742    struct-notify event handler to prevent recursion in the
1743    Xft+buffered workaround in some cases when doing manual
1744    resizing rather than resizing via escape sequences (reports by
1745    Stefan Assmann, Mike Thornburg).</li>
1746
1747    <li>amend the workaround for Xft+buffered blanking by moving
1748    the switch to bitmap-fonts to account for differences in font
1749    metrics between bitmap- and TrueType-fonts (report by Stefan
1750    Assmann).</li>
1751
1752    <li>improve the note on the <code>xterm-rep</code> terminfo
1753    entry (prompted by discussion with Sven Joachim).</li>
1754  </ul>
1755
1756  <h1><a name="xterm_350" id="xterm_350">Patch #350 -
1757  2019/11/02</a></h1>
1758
1759  <ul>
1760    <li>modify html/svg dump to not ignore zero'd/blank cells.</li>
1761
1762    <li>align terminfo file with ncurses, e.g., add
1763    <code>xterm+osc104</code> block.</li>
1764
1765    <li>improve discussion of <code>modifyOtherKeys</code> in
1766    manual page and in <code>ctlseqs.ms</code>.</li>
1767
1768    <li>add <code>vttests/modify-keys.pl</code> script to
1769    illustrate the <code>modifyOtherKeys</code> resource (prompted
1770    by discussion with Bram Moolenaar).</li>
1771
1772    <li>various improvements to <code>ctlseqs.ms</code>, as part of
1773    autogenerating links for the website.</li>
1774
1775    <li>update manual page default for <code>saveLines</code>
1776    resource default value (Branden Robinson, Debian #913815).</li>
1777
1778    <li>add command-line option <code>-report-xres</code> to show
1779    the values of the VT100 widget X resources when initialization
1780    is complete.</li>
1781
1782    <li>add a control sequence which, like tcap-query, allows an
1783    application to inspect most X resource settings of the VT100
1784    widget.</li>
1785
1786    <li>adjust some optional features to enable them in the imake
1787    configuration as they would be by default via the configure
1788    script.</li>
1789
1790    <li>add null-pointer checks to improve error recovery when
1791    bitmap fonts are missing or corrupt (report by Jonne
1792    Ransijn).</li>
1793
1794    <li>correct the condition for deleting the EWMH window-title
1795    property, i.e., if UTF-8 titles are disabled, rather than if an
1796    update to the EWHM property found no change (report by Sven
1797    Joachim).</li>
1798
1799    <li>build-fix for the case when configure
1800    <code>--enable-trace</code> is used without
1801    <code>--enable-warnings</code> (report by Sven Joachim).</li>
1802
1803    <li>fix a few minor bugs found with Coverity.</li>
1804
1805    <li>add a check in <code>property_to_string</code> to avoid
1806    translating <code>UTF8_STRING</code> or
1807    <code>COMPOUND_TEXT</code> into Latin-1 when UTF-8 encoding is
1808    active, e.g., when pushing onto the title-stack while switching
1809    to the alternate screen.</li>
1810
1811    <li>build-fix for the <code>--disable-doublechars</code>
1812    configure option (report by Brian Lindholm).</li>
1813  </ul>
1814
1815  <h1><a name="xterm_349" id="xterm_349">Patch #349 -
1816  2019/09/22</a></h1>
1817
1818  <ul>
1819    <li>add graphic context to support bold+italics (patch by Quinn
1820    Strahl).</li>
1821
1822    <li>document window properties in the manual page.</li>
1823
1824    <li>improve title-string feature:
1825      <ul>
1826        <li>if any of <code>allowC1Printable</code>,
1827        <code>utf8Title</code> or <code>titleModes</code> hint that
1828        an application might send a title-string encoded in UTF-8,
1829        check if that is the case, and if it is recodable into
1830        ISO-8859-1, use that for the ICCCM-style title.</li>
1831
1832        <li>check if the title given by a control sequence happens
1833        to be already encoded in UTF-8, to avoid double-encoding
1834        (FreeBSD #240393).</li>
1835
1836        <li>Make <code>sameName</code> resource work for the EWMH
1837        titles.</li>
1838
1839        <li>Modify menu-state of <code>utf8Title</code> to be
1840        consistent with the <code>utf8</code> source, i.e., setting
1841        the EWMH properties automatically when UTF-8 is
1842        active.</li>
1843      </ul>
1844    </li>
1845
1846    <li>reorganize text-drawing to make it possible to investigate
1847    using Xft to implement VT100-style double-sized characters.
1848    While doing this, made a workaround for apparent Xft bug which
1849    loses its drawable state when switching from 132 to 80
1850    columns.</li>
1851
1852    <li>improve font-warning messages by showing which are
1853    <em>derived</em> rather than directly from resource settings
1854    (suggested by Tomas Korbar). Also filter repeated font-warning
1855    messages, to accommodate broken X configurations.</li>
1856
1857    <li>fix an inconsistency between failure to load derived wide
1858    font versus failure to load derived wide-bold font (Redhat
1859    #1679790). That relies upon the &ldquo;:unscaled&rdquo;
1860    property which is broken in some distributions (however, recent
1861    Debian and the BSDs such as MacOS work).</li>
1862
1863    <li>updated autoconf-252 to check X11R7 include/lib directories
1864    found on some older configurations.</li>
1865
1866    <li>set a graphic-context for border when double-buffering is
1867    active; to prevent the border color from changing when
1868    switching to reverse-video.</li>
1869
1870    <li>build-fix for <code>--disable-ziconbeep</code>, which
1871    conflicted with the new double-buffer configuration (report by
1872    Brian Lindholm).</li>
1873
1874    <li>fix loop-limit for lookup of <code>fullscreen</code>
1875    resource broken in <a href="#xterm_347">xterm #347</a> (report
1876    by Scott Bertilson).</li>
1877  </ul>
1878
1879  <h1><a name="xterm_348" id="xterm_348">Patch #348 -
1880  2019/07/22</a></h1>
1881
1882  <ul>
1883    <li>update window-manager hints when exiting Tek4014 mode
1884    (Debian #932569, patch by Jonathan Irwin).</li>
1885
1886    <li>fix a misformatted printf in
1887    <code>report-sgr.pl</code>.</li>
1888
1889    <li>add configure check for termios types, to improve
1890    compiler-warnings.</li>
1891
1892    <li>ensure that when resetting margins, to also reset
1893    <code>DECLRMM</code>. This affects <code>DECCOLM</code>,
1894    <code>DECALN</code> (although DEC STD 070 mentions only
1895    top/bottom margins), and <code>DECSTR</code>.</li>
1896
1897    <li>corrected order of reset/move when setting
1898    <code>DECCOLM</code>, and make it more consistent by always
1899    resetting margins, rather than only when the mode is changed
1900    (report by James Holderness).</li>
1901
1902    <li>compile-in double-buffer support by default, changing the
1903    configure option to set the default resource value for
1904    <code>buffered</code> to true or false.</li>
1905
1906    <li>take in account the reverse-video state when computing the
1907    filler-color used when clearing the screen in double-buffering
1908    configuration.</li>
1909
1910    <li>correct logic for filtering scrollbar-updates when
1911    <code>buffered</code> resource is compiled-in but not enabled
1912    (report by Paul Lampert).</li>
1913
1914    <li>improve state saved/restored for cursor-save and SGR stack
1915    features.</li>
1916
1917    <li>improve description of 1006 and 1005 mouse modes, to avoid
1918    implying that they use character-parameters (report by Bryan
1919    Christ).</li>
1920
1921    <li>explain in <code>ctlseqs.ms</code> that some of the numeric
1922    keypad keys were xterm extensions rather than VT100/VT220
1923    terminal features (prompted by discussion with Thomas
1924    Wolff).</li>
1925
1926    <li>explain in <code>ctlseqs.ms</code> how the DEC windowing
1927    extension is supported by xterm.</li>
1928
1929    <li>add 28 rectangular editing to the primary response
1930    (suggested by Thomas Wolff).</li>
1931
1932    <li>fix a typo, improve wording in <code>ctlseqs.ms</code>
1933    (Thomas Wolff).</li>
1934
1935    <li>fix internal column-parameter when <code>SL</code> or
1936    <code>SR</code> is used with left/right margins (patch by
1937    Thomas Wolff).</li>
1938
1939    <li>fix off-by-one in VT52 graphics character mapping (patch by
1940    Thomas Wolff).</li>
1941
1942    <li>use <code>_X_UNUSED</code>, etc., when available as a
1943    fallback for <code>GCC_UNUSED</code>, etc., to reduce compiler
1944    warnings when building with <code><em>imake</em></code>.</li>
1945
1946    <li>update config.sub</li>
1947  </ul>
1948
1949  <h1><a name="xterm_347" id="xterm_347">Patch #347 -
1950  2019/06/30</a></h1>
1951
1952  <ul>
1953    <li>fix a few minor bugs found with Coverity.</li>
1954
1955    <li>improve double-buffering for scrollbars combined with
1956    scrolled text; add <code>bufferedFPS</code> resource to control
1957    the maximum rate of screen updates (report by Mike
1958    Thornburg).</li>
1959
1960    <li>improve fixes for <code>DECCRA</code> handling of
1961    double-width characters (patch by Martin Hostettler).</li>
1962
1963    <li>improve discussion of ECMA-48's typographical error for
1964    <code>SD</code> in <code>ctlseqs.ms</code> (prompted by report
1965    by Martin Hostettler).</li>
1966
1967    <li>correct off-by-one in parameter limit-check for
1968    <code>DECCRA</code> (report by Martin Hostettler).</li>
1969
1970    <li>modify <code>saveCellData</code> to handle case where
1971    double-width character is partially copied; that should be
1972    blanked (report/testcase by Thomas Wolff).</li>
1973
1974    <li>add resource <code>buffered</code> to allow
1975    enabling/disabling double-buffered mode.</li>
1976
1977    <li>two fixes for the double-buffer configuration, prompted by
1978    MacPorts' switch to double-buffering (patch by Mike Thornburg,
1979    MacPorts #58313):
1980      <ul>
1981        <li>ensure that the needSwap flag is set after drawing
1982        TrueType text</li>
1983
1984        <li>corrected the drawable-parameter used for the
1985        bar-cursor</li>
1986      </ul>
1987    </li>
1988
1989    <li>modify <code>ScrnRefresh</code> to ignore a case where the
1990    left/right halves of a double-width character have been set to
1991    different video attributes. The attribute to use is in the
1992    left-half (report/testcase by Thomas Wolff).</li>
1993
1994    <li>correct a limit-check for <code>DECCRA</code> in case the
1995    target lies off-screen (report/testcase by Thomas Wolff).</li>
1996
1997    <li>documentation errata (report by Thomas Wolff).</li>
1998
1999    <li>reset flags including wraparound and reverse-wrap when
2000    switching to VT52 mode, while noting that DEC's standard
2001    documentation leaves that behavior <em>undefined</em> (report
2002    by Thomas Wolff).</li>
2003
2004    <li>ensure that italic font is turned off on hard/soft resets
2005    (report by Martin Hostettler).</li>
2006
2007    <li>improve responsiveness to X events while processing HTML or
2008    SVG dumps (report by Martin Hostettler).</li>
2009
2010    <li>replace logic in <code>wcwidth.c</code> for detecting
2011    double-width characters with binary-search table generated
2012    using updated <code>uniset</code> (report by Robert Ross).</li>
2013
2014    <li>add test-driver for <code>wcwidth.c</code> to simplify
2015    comparison with system's <code>wcwidth</code>.</li>
2016
2017    <li>ensure that window-manager name comparisons work when
2018    active-icon is enabled, since <code><em>CSI</em>13t</code> uses
2019    the window-manager name (report by Glenn Golden, Arch
2020    #62818).</li>
2021
2022    <li>trim a stray &ldquo;experimental&rdquo; in one of the
2023    comments about the tcap-query feature, which has been a
2024    supported feature since 2008 (see <a href="#xterm_238">patch
2025    #238</a>).</li>
2026  </ul>
2027
2028  <h1><a name="xterm_346" id="xterm_346">Patch #346 -
2029  2019/05/27</a></h1>
2030
2031  <ul>
2032    <li>update description of the &ldquo;default&rdquo; setting for
2033    the <code>renderFont</code> resource to match the behavior in
2034    <a href="#xterm_261">patch #261</a> (Debian #862042).</li>
2035
2036    <li>account for <code>internalBorder</code> in
2037    <code>useBorderClipping</code> (report by Robert Ross).</li>
2038
2039    <li>update table of unknown-width characters in wcwidth.c based
2040    on Unicode 12.1.0 (prompted by discussion with Robert
2041    Ross).</li>
2042
2043    <li>improve description of DECSCL versus S7C1T and S8C1T in
2044    <code>ctlseqs.ms</code>.</li>
2045
2046    <li>improve consistency between <code><em>CSI</em>3t</code> and
2047    <code><em>CSI</em>13t</code>, accounting for differences
2048    between some window managers' handling of EMWH extents (report
2049    by Bram Moolenaar).</li>
2050
2051    <li>fix a sign-extension when reporting offscreen window
2052    position (report by Bram Moolenaar).</li>
2053  </ul>
2054
2055  <h1><a name="xterm_345" id="xterm_345">Patch #345 -
2056  2019/05/14</a></h1>
2057
2058  <ul>
2059    <li>updated FreeBSD test-package from recent /usr/ports
2060    scripts.</li>
2061
2062    <li>workaround in <code>run-tic.sh</code> for HPUX, whose
2063    <code>mktemp</code> prints the name of a temporary directory
2064    without creating it.</li>
2065
2066    <li>add left/right margin capabilities to terminfo, since the
2067    default terminal emulation is VT420 (suggested by Thomas
2068    Wolff).</li>
2069
2070    <li>modify treatment of <code>reverseVideo</code> for dynamic
2071    colors to make text foreground/background consistent with the
2072    cursor color (prompted by discussion with Ben Wong, lsix
2073    #20).</li>
2074
2075    <li>modify button-handling to make SGR button-release distinct
2076    from button-press for button-codes starting with 8 (patch by
2077    Mikulas Patocka).</li>
2078
2079    <li>add aliases for the sgr push/pop controls to work around
2080    language limitations of C# (request by Dan Thompson).</li>
2081
2082    <li>correct a typo in <code>setDirectFG</code>, which could
2083    cause setting of indexed-color after a direct-color to be
2084    ignored.</li>
2085
2086    <li>add resource <code>useBorderClipping</code> as an
2087    alternative to <code>useClipping</code> (request by Robert
2088    Ross).</li>
2089
2090    <li>improve logic for displaying xterm's built-in line-drawing
2091    characters vs missing glyphs, e.g., for U+2409 to U+240D (patch
2092    by Robert Ross).</li>
2093
2094    <li>add <code>vttests/sgrPushPop2.pl</code> to illustrate how
2095    selective pushes work, as well as to demonstrate push/pop of
2096    the various color types supported by xterm.</li>
2097
2098    <li>fix a special case in <code>XTPOPSGR</code> where
2099    direct-colors were not checked as a dependency of
2100    indexed-colors, contrary to documentation.</li>
2101
2102    <li>reduce buffer-flushes for <code>OSC&nbsp;4</code> and
2103    <code>OSC&nbsp;5</code> color-queries, as well as in the
2104    queries for dynamic colors.<br>
2105    <strong>Note:</strong> this change makes the reply for
2106    <code>OSC&nbsp;5</code> use the &ldquo;5&rdquo; in the
2107    response; formerly it was mapped to &rdquo;4&rdquo; after
2108    adding the maximum number of colors.</li>
2109
2110    <li>modify <code>vttests/query-color.pl</code> to demonstrate
2111    multiple queries in one request.</li>
2112
2113    <li>update tables of combining and unknown-width characters in
2114    wcwidth.c based on Unicode 12.0.0.</li>
2115
2116    <li>modify response for <code>OSC&nbsp;5</code> to be
2117    consistent with documentation.</li>
2118
2119    <li>add <code>vttests/query-dynamic.pl</code></li>
2120
2121    <li>modify <code>vttests/query-color.pl</code> to accept bold,
2122    underline, etc., keywords to decide whether to use
2123    <code>OSC&nbsp;5</code> rather than
2124    <code>OSC&nbsp;4</code>.</li>
2125
2126    <li>modify cursor coloring to avoid a case where the cursor
2127    matched the foreground color while the text was displayed in
2128    reverse-video (report by Nuno Silva).</li>
2129
2130    <li>fix an inconsistency in X10 mouse responses from <a href=
2131    "#xterm_342">patch #342</a> changes; the legacy protocol
2132    supports only buttons 1-3.</li>
2133
2134    <li>reduce the number of buffer-flushes for tcap-query
2135    batches.</li>
2136
2137    <li>modify <code>tcapquery.pl</code> to demonstrate batch
2138    queries with <code>-q</code> option.</li>
2139
2140    <li>increase response-buffer size, and make it configurable as
2141    <code>limitResponse</code> (prompted by discussion with Stephen
2142    P Wall).</li>
2143
2144    <li>modified configure script:
2145      <ul>
2146        <li>check/workaround for non-POSIX manipulation of
2147        predefined symbols</li>
2148
2149        <li>check for updated X Toolkit, which uses
2150        <code>const</code>.</li>
2151      </ul>
2152    </li>
2153
2154    <li>update config.guess, config.sub</li>
2155
2156    <li>provide for secondary-selection, overlooked in <a href=
2157    "#xterm_338">patch #338</a> (report by Emile LeBlanc).</li>
2158
2159    <li>documentation errata (patch by Larry Hynes).</li>
2160
2161    <li>improve pointer-checks in <code>Tekproc.c</code></li>
2162
2163    <li>revise solution for Debian #919475, to allow for
2164    struct-notify events occurring as a side-effect of toggling
2165    to/from full-screen mode.</li>
2166
2167    <li>window's border-size was incorrectly added to position when
2168    maximizing window (report by Gary Langshaw).</li>
2169  </ul>
2170
2171  <h1><a name="xterm_344" id="xterm_344">Patch #344 -
2172  2019/02/12</a></h1>
2173
2174  <ul>
2175    <li>add ASCII escape to default for
2176    <code>disallowedPasteControls</code> (prompted by discussion
2177    with Martin Hostettler).</li>
2178
2179    <li>fix typo in <code>ctlseqs.ms</code> (Robert Ross).</li>
2180
2181    <li>implement DEC Cyrillic NRCS (based on screenshots of vttest
2182    provided by Markus Schmidt).</li>
2183
2184    <li>correct control returning sixel geometry maximum versus
2185    actual size (patch by Ben Wong).</li>
2186
2187    <li>improve manual page for <code>resize</code> to clarify that
2188    <code>resize</code> does not execute the shell commands which
2189    it generates for setting environment variables.</li>
2190
2191    <li>improve memory-management for parser, to handle response
2192    strings that might occur with <code>ENQ</code> or when
2193    <code>SRM</code> mode is active (patch by Martin
2194    Hostettler).</li>
2195
2196    <li>change <code>Comment</code> text in uxterm's desktop file
2197    to work around a limitation of GNOME's GIO application
2198      (<a href="https://gitlab.gnome.org/GNOME/gnome-shell/issues/940#note_427334">issue
2199      #940</a>). The <a href=
2200      "https://developer.gnome.org/gio/stable/gio-Desktop-file-based-GAppInfo.html#g-desktop-app-info-search">
2201      documentation</a> reads:
2202      <blockquote>
2203        <p>Searches desktop files for ones that match
2204        <em><code>search_string</code></em>.</p>
2205
2206        <p>The return value is an array of <em>strv</em>s. Each
2207        <em>strv</em> contains a list of applications that matched
2208        search_string with an equal score. The outer list is sorted
2209        by score so that the first <em>strv</em> contains the
2210        best-matching applications, and so on. The algorithm for
2211        determining matches is undefined and may change at any
2212        time.</p>
2213      </blockquote>
2214    </li>
2215
2216    <li>a check of <code>zIconBeep</code> resource was removed in
2217    double-buffer fix in <a href="#xterm_334">patch #334</a>. That
2218    is used to decide whether to handle struct-notify events. When
2219    xterm does handle the events, it may negotiate a new
2220    window-size with the window manager. In that case, the
2221    <code>limitResize</code> resource setting limited the new
2222    window-size to the screen-size. Amended that by eliminating the
2223    limit for this special case when double-buffer is configured,
2224    and restoring the check for <code>zIconBeep</code> when
2225    double-buffer is not configured (Debian #919475).</li>
2226
2227    <li>disallow recursion which could happen if a user configures
2228    the <code>answerbackString</code> resource with the
2229    <code>ENQ</code> code and experiments with that code when
2230    <code>SRM</code> is enabled (report by by Martin
2231    Hostettler).</li>
2232
2233    <li>add remaining credits in <code>COPYING</code> file.</li>
2234
2235    <li>modify <code>run-tic.sh</code> to check if it is using an
2236    older version of ncurses which does not support large terminal
2237    descriptions, and if so, remove a non-essential feature to keep
2238    within the 4096-byte legacy limit.</li>
2239  </ul>
2240
2241  <h1><a name="xterm_343" id="xterm_343">Patch #343 -
2242  2019/01/13</a></h1>
2243
2244  <ul>
2245    <li>modify <code>run-tic.sh</code> to prefer ncurses6 over
2246    ncurses5, when available.</li>
2247
2248    <li>add <code>COPYING</code> file, and dummy "check" makefile
2249    rule for testing Arch packages.</li>
2250
2251    <li>add/update package scripts for FreeBSD and NetBSD, for
2252    testing.</li>
2253
2254    <li>update tables of combining and ambiguous-width characters
2255    in wcwidth.c based on Unicode 11.0.0.</li>
2256
2257    <li>modify <code>xterm-new</code> sample terminfo entry to
2258    correspond to ncurses 6.1, using the SGR 1006 mouse
2259    protocol.</li>
2260
2261    <li>improve manual page discussion of selection ownership
2262    versus highlighting (prompted by discussion with Martin
2263    Hostettler).</li>
2264
2265    <li>restore/repair <code>keepClipboard</code> feature which was
2266    broken by changes in <a href="#xterm_338">patch #338</a>
2267    (report by Martin Hostettler).</li>
2268
2269    <li>improve documentation for <code>deleteIsDEL</code>
2270    resource.</li>
2271
2272    <li>modify DECRQM response for private mode 1037 to account for
2273    cases where the resource <code>deleteIsDEL</code> is initially
2274    neither true nor false, but dependent upon the keyboard type
2275    (report/analysis by Martin Hostettler).</li>
2276
2277    <li>clear pointers for pattern/fontset after destroying their
2278    data when switching facename with an escape sequence (report by
2279    Robert Ross).</li>
2280
2281    <li>modify logic for TrueType fallback fonts to match the
2282    sort-order used by <code>fc-match</code> (report by Robert
2283    Ross).</li>
2284
2285    <li>add resource setting <code>limitFontsets</code> which can
2286    be used to limit or disable the new TrueType fontset feature
2287    (request by Robert Ross).</li>
2288  </ul>
2289
2290  <h1><a name="xterm_342" id="xterm_342">Patch #342 -
2291  2019/01/03</a></h1>
2292
2293  <ul>
2294    <li>limit mouse-button events to 11 buttons in the original
2295    protocol, and 15 in the extended mouse-protocol (patch by
2296    Martin Hostettler).</li>
2297
2298    <li>correct calculation for buttons past 11 in
2299    <code>mouse-codes</code> sample script (patch by Martin
2300    Hostettler).</li>
2301
2302    <li>disable a supplementary check added in <a href=
2303    "#xterm_341">patch #341</a> which interferes with using
2304    fontconfig to select different-sized bitmap fonts (Arch
2305    #61237).</li>
2306  </ul>
2307
2308  <h1><a name="xterm_341" id="xterm_341">Patch #341 -
2309  2018/12/24</a></h1>
2310
2311  <ul>
2312    <li>add options to <code>mouse-codes</code> script to
2313    demonstrate that the encoding used for mouse events limits
2314    button numbers to 11.</li>
2315
2316    <li>allow mouse button numbers up to 11 using an offset of 128
2317    for button numbers 8-11 rather than the offset of 64 used for
2318    wheel-mouse, etc., buttons 4-7 in <a href="#xterm_338">patch
2319    #338</a> (adapted from patch by Martin Hostettler).</li>
2320
2321    <li>correct off-by-one right-margin checks for double-width
2322    character adjustments in DECERA/DECFRA (patch by Martin
2323    Hostettler).</li>
2324
2325    <li>allocated size of selection buffer was not reset when
2326    freeing the buffer in <a href="#xterm_338">patch #338</a>
2327    (report/analysis by Stefan Assmann).</li>
2328
2329    <li>modify the initial pattern passed to fontconfig to disallow
2330    color bitmap fonts.</li>
2331
2332    <li>improve error recovery for a case where fontconfig ignores
2333    the requested pattern due to override in the user's font
2334    configuration (report/testcase by Stefan Assmann).</li>
2335  </ul>
2336
2337  <h1><a name="xterm_340" id="xterm_340">Patch #340 -
2338  2018/12/16</a></h1>
2339
2340  <ul>
2341    <li>suppress a spurious warning about fontsets when
2342    initializing menus for the toolbar configuration.</li>
2343
2344    <li>fix some strict compiler warnings.</li>
2345
2346    <li>improve checks for TrueType font, to help with the case of
2347    color bitmap fonts, which fontconfig misrepresents (Arch Linux
2348    #58706).</li>
2349  </ul>
2350
2351  <h1><a name="xterm_339" id="xterm_339">Patch #339 -
2352  2018/12/12</a></h1>
2353
2354  <ul>
2355    <li>modify <code>CF_GNU_SOURCE</code> macro to treat
2356    <em>newlib</em> as similar to <em>glibc</em>, fixing a problem
2357    with the configure checks for pseudoterminals in Cygwin
2358    overlooked in <a href="#xterm_334">patch #334</a> updates for
2359    configure-macros.</li>
2360  </ul>
2361
2362  <h1><a name="xterm_338" id="xterm_338">Patch #338 -
2363  2018/12/09</a></h1>
2364
2365  <ul>
2366    <li>ignore <code>$TERMINFO</code> in the configure script if it
2367    is set to a non-directory value.</li>
2368
2369    <li>updated configure macros:
2370      <ul>
2371        <li><code>CF_WITH_PCRE2</code>, modified to work with
2372        Debian's (mis-numbered) pcre3 package.</li>
2373
2374        <li><code>CF_CC_ENV_FLAGS</code> , report preprocessor
2375        options in <code>CFLAGS</code></li>
2376
2377        <li><code>CF_LD_RPATH_OPT</code> , suppress check if
2378        <code>--disable-rpath</code> option was given.</li>
2379
2380        <li><code>CF_XOPEN_SOURCE</code>, add case for
2381        midnightbsd</li>
2382      </ul>
2383    </li>
2384
2385    <li>update config.guess, config.sub</li>
2386
2387    <li>add a check to ensure that the filename parameter passed to
2388    <code>XpmReadFileToPixmap</code> is actually a file, since that
2389    function does not check (report by Ben Nott).</li>
2390
2391    <li>amend solution for Debian #758633 to ensure that replies
2392    for bracketed paste are not sent while processing a selection
2393    for <code>exec-formatted</code> (Debian #913237).</li>
2394
2395    <li>improve adjustments/clearing for double-width characters in
2396    <code>DECERA</code>, <code>DECFRA</code>,
2397    <code>DECSERA</code>.</li>
2398
2399    <li>improve adjustments/clearing for double-width characters
2400    when doing vertical scrolling within left/right margins (patch
2401    by Martin Hostettler).</li>
2402
2403    <li>modify wcwidth to encode a few spacing combining marks as
2404    regular combining characters.</li>
2405
2406    <li>change compiled-in default for <code>saveLines</code> to
2407    match the resource-file changed in <a href="#xterm_192">patch
2408    #192</a> (Debian #913815).</li>
2409
2410    <li>change default <code>faceSize</code> to 8.0, to simplify
2411    switching back/forth between bitmap fonts and TrueType. This
2412    was originally (mis)set to 14.0 in <a href="#xterm_148">patch
2413    #148</a>.</li>
2414
2415    <li>add fallback support in Xft configuration for missing
2416    glyphs (prompted by discussion with Mike Burns).</li>
2417
2418    <li>fix a problem with using direct-colors for the background
2419    color when clearing/scrolling (report by Nicholas
2420    Marriott).</li>
2421
2422    <li>add a "sources" rule for the makefile's generated
2423    source.</li>
2424
2425    <li>add a short explanation in <code>ctlseqs.ms</code>
2426    discussing the differences in error-recovery for malformed
2427    sequences versus unimplemented features, and amend one case for
2428    consistency (prompted by discussion with Martin
2429    Hostettler).</li>
2430
2431    <li>adjusted ifdef's so that the paste64 configure option does
2432    not automatically enable the readline-mouse configure
2433    option.</li>
2434
2435    <li>revert the change which prevented concurrent ownership of
2436    different selection targets, and instead modify selection
2437    storage so that different concurrent requests for different
2438    selection targets will be stored/retrieved independently
2439    (Debian #901249).</li>
2440
2441    <li>remove a check which prevented returning button-codes past
2442    the documented 4/5 for wheel mouse, and add a script
2443    <code>mouse-codes</code> which makes a report showing the
2444    various mouse codes for different button/modifier combinations
2445    (discussion with P&#345;emysl Janouch).</li>
2446
2447    <li>improve display and checksum for DEC Special Graphics by
2448    mapping 0x5f to 0.</li>
2449
2450    <li>add a null-pointer check for table-ending in the
2451    extended-boolean resource-handling (report by Felix von
2452    Leitner).</li>
2453
2454    <li>remove stray <code>]</code>'s from INSTALL-file (Larry
2455    Hynes).</li>
2456  </ul>
2457
2458  <h1><a name="xterm_337" id="xterm_337">Patch #337 -
2459  2018/09/21</a></h1>
2460
2461  <ul>
2462    <li>regenerated configure script (report by Sven Joachim).</li>
2463
2464    <li>revise/improve fix for scrolling in margins
2465    (report/analysis by Martin Hostettler):</li>
2466
2467    <li>amend change to default-translations "select" subset to
2468    ensure that specific key-press actions are listed before
2469    generic key-press actions (reports by H Merijn Brand, Sven
2470    Joachim).</li>
2471  </ul>
2472
2473  <h1><a name="xterm_336" id="xterm_336">Patch #336 -
2474  2018/09/19</a></h1>
2475
2476  <ul>
2477    <li>ensure that only one of PRIMARY and CLIPBOARD is owned by
2478    xterm at a given time (Debian #901249).</li>
2479
2480    <li>documentation fixes (report by Lars Krueger):
2481      <ul>
2482        <li>document <code>SL</code> and <code>SR</code>.</li>
2483
2484        <li>document <code>DECRPTUI</code>, change number of digits
2485        to match VT420.</li>
2486      </ul>
2487    </li>
2488
2489    <li>revise <code>omitTranslation</code> resource, e.g.,
2490    splitting &ldquo;default&rdquo; into several more useful
2491    categories.</li>
2492
2493    <li>modify mask-logic to permit <em>control-</em> and
2494    <em>meta-</em> modifiers to be used in mouse protocol.</li>
2495
2496    <li>several fixes for parsing/state (report/testcases by Martin
2497    Hostettler):
2498      <ul>
2499        <li>remove an old/unimplemented entry for xterm-title from
2500        state table.</li>
2501
2502        <li>save/restore wrap-flag when scrolling, to fix an
2503        inconsistency between jump-scrolling and
2504        normal-scrolling.</li>
2505
2506        <li>improve a special case of wrapping where the cursor
2507        starts beyond the right-margin, and wraps at the terminal's
2508        last-column before the settable-margins can take
2509        effect.</li>
2510
2511        <li>if origin mode is set, adjust a restored cursor column
2512        relative to the left margin.</li>
2513
2514        <li>when scrolling a line within left/right margins,
2515        correct order of the fixups needed when a double-width
2516        character crosses the margin boundary.</li>
2517      </ul>
2518    </li>
2519
2520    <li>review/fix a few cases where the parsing state was not
2521    reset after completing a control sequence (prompted by report
2522    by Martin Hostettler).</li>
2523
2524    <li>disallow <code>XTCHECKSUM</code> if the corresponding
2525    window-ops "SetChecksum" is unset.</li>
2526
2527    <li>add <code>print-vt-chars.pl</code> script to illustrate the
2528    NRCS and codepages supported by xterm.</li>
2529
2530    <li>add <code>other-sgr.sh</code> script to demonstrate the
2531    non-VT100 video attributes implemented in <a href=
2532    "#xterm_305">patch #305</a>, and added a summary of their
2533    introduction in ECMA-48 to the control sequences document.</li>
2534
2535    <li>add <code>tabs</code> and <code>-tabs</code> keywords to
2536    <code>ttyModes</code> resource to simplify workaround for
2537    terminal drivers which are not aware of UTF-8 (FreeBSD
2538    #229682).</li>
2539
2540    <li>add VT5xx NRCS 7-bit Turkish and DEC Turkish.</li>
2541
2542    <li>add VT5xx NRCS 7-bit Hebrew and DEC Hebrew.</li>
2543
2544    <li>add VT5xx NRCS 7-bit Greek and DEC Greek.</li>
2545
2546    <li>correct a few post-VT220 codepages to make them display
2547    without setting the NRCS state.</li>
2548
2549    <li>extend <code>vt100Graphics</code> resource to include other
2550    character-sets such as the VT500 codepages in UTF-8 mode.</li>
2551
2552    <li>add some VT5xx codepages to help with the discussion of
2553    96-character sets: <em>ISO Greek Supplemental</em>, <em>ISO
2554    Hebrew Supplemental</em>, <em>ISO Latin&ndash;5
2555    Supplemental</em>, and <em>ISO Latin&ndash;Cyrillic</em>.</li>
2556
2557    <li>improve description of the VT300-controls for designating
2558    character sets, and fix a typo which indicated that some were
2559    used for 94-character sets (prompted by discussion with Lars
2560    Krueger).</li>
2561
2562    <li>add private control <code>XTCHECKSUM</code> for modifying
2563    <code>checksumExtension</code>.</li>
2564
2565    <li>factor out xterm's <code>DECRQCRA</code> checksum
2566    extensions as a resource setting
2567    <code>checksumExtension</code>.</li>
2568
2569    <li>revise calculation of checksum for <code>DECRQCRA</code> to
2570    match DEC's terminals (using screenshots of vttest provided by
2571    Markus Schmidt).</li>
2572
2573    <li>restore a fix for memory-checksum setup of
2574    <code>DECCKSR</code> from <a href="#xterm_315">patch #315</a>
2575    incorrectly reverted in <a href="#xterm_334">patch #334</a> as
2576    part of fix for <code>DECRQCRA</code>.</li>
2577  </ul>
2578
2579  <h1><a name="xterm_335" id="xterm_335">Patch #335 -
2580  2018/08/14</a></h1>
2581
2582  <ul>
2583    <li>add <code>colorInnerBorder</code> resource to make a change
2584    from <a href="#xterm_334">patch #334</a> configurable (reports
2585    by H Merijn Brand, Gabriele Balducci).</li>
2586  </ul>
2587
2588  <h1><a name="xterm_334" id="xterm_334">Patch #334 -
2589  2018/08/12</a></h1>
2590
2591  <ul>
2592    <li>modify <code>Imakefile</code> to reflect the fact that
2593    NetBSD no longer has a working termcap emulation.</li>
2594
2595    <li>add resource-setting <code>validShells</code> which can be
2596    used to augment the system's <code>/etc/shell</code> (prompted
2597    by discussion with Paul Lampert).</li>
2598
2599    <li>stifle some useless warnings from lintian in
2600    test-packages.</li>
2601
2602    <li>add the ncurses extension &ldquo;RGB&rdquo; to the
2603    responses for the termcap-query feature.</li>
2604
2605    <li>improved getopts-handling in sample scripts.</li>
2606
2607    <li>fix some warnings from gcc8 and clang --analyze.</li>
2608
2609    <li>update note about incorrect documentation for
2610    <code>DECRQSS</code> to include VT525 (report by Markus
2611    Schmidt).</li>
2612
2613    <li>correct check for default-values in rectangular parsing; a
2614    zero counts as a missing or default parameter (report/testcase
2615    by Markus Schmidt).</li>
2616
2617    <li>correct some ranges in the <code>ambiguous[]</code> table
2618    in wcwidth (adapted from patch by KUGA Tsutomu).</li>
2619
2620    <li>fix a special case with faint video attribute incorrectly
2621    combined with default color.</li>
2622
2623    <li>add private control <code>XTREPORTSGR</code> for reporting
2624    video-attributes and color on a rectangle, and script
2625    <code>report-sgr.pl</code> to demonstrate it.</li>
2626
2627    <li>modify some of the markup in <code>ctlseqs.ms</code> to
2628    work around groff's reassignment of ASCII punctuation
2629    characters as documented in <em>groff_char(7)</em>.</li>
2630
2631    <li>treat ECMA-48 SGR 6 the same as SGR 5.</li>
2632
2633    <li>add private controls <code>XTPUSHSGR</code> and
2634    <code>XTPOPSGR</code> for saving/restoring the current
2635    video-attributes on a stack (adapted from patch by Dan
2636    Thompson).</li>
2637
2638    <li>modify <code>DECRPM</code> response for logging enable to
2639    indicate its state even when enabling/disabling it is not
2640    allowed.</li>
2641
2642    <li>implement <code>DECSNLS</code></li>
2643
2644    <li>implement <code>DECRSPS</code></li>
2645
2646    <li>improve fill-color for double-buffer configuration, which
2647    was sharing a graphic context with the cursor.</li>
2648
2649    <li>fix a couple of cases where double-sized VT100 characters
2650    were not clipped, seen in Joe Smith's <a href=
2651    "http://www.inwap.com/pdp10/#Tymnet">VT100 torture
2652    test</a>.</li>
2653
2654    <li>color the inner border using the same
2655    <code>borderColor</code> as the outer border, rather than
2656    filling with the VT100's default background.</li>
2657
2658    <li>change encoding of &ldquo;THANKS&rdquo; to UTF-8.</li>
2659
2660    <li>modify handling of <code>DECELR</code> to recognize
2661    <code>MotionNotify</code> events again, amending a check for
2662    <code>allowMouseOps</code> which limited that to button-events
2663    in <a href="#xterm_328">patch #328</a> (Olaf Rogalsky).</li>
2664
2665    <li>fix some screen-painting problems with left/right margins
2666    when using insert-line or delete-line (report/testcase by
2667    Martin Hostettler). also fix similar case with
2668    index/reverse-index.</li>
2669
2670    <li>several minor performance improvements using macros, e.g.,
2671    inline checks for character width.</li>
2672
2673    <li>add <code>DECSCPP</code> and <code>DECSLPP</code> to
2674    <code>DECRQSS</code>.</li>
2675
2676    <li>implement <code>DECSCPP</code>.</li>
2677
2678    <li>implement <code>DECCIR</code> and <code>DECTABSR</code>
2679    presentation reports.</li>
2680
2681    <li>modify checksum computation for <code>DECRQCRA</code> to
2682    treat uninitialized cells as blanks rather than nulls.</li>
2683
2684    <li>drop custom-entity from HTML-dump, use UTF-8 for &amp;nbsp;
2685    (Debian #902381).</li>
2686
2687    <li>modify display of non-BMP characters when using bitmap
2688    fonts to show a null/empty box rather than the replacement
2689    character which was used in cleanup changes for <a href=
2690    "#xterm_233">patch #233</a> (report by Christian
2691    Weisgerber).</li>
2692
2693    <li>when setting up clipping rectangle for Xft, allow for the
2694    case where xterm is only displaying a combining character,
2695    where the base was already written (report by Joshua
2696    Crowgey).</li>
2697
2698    <li>allow reset Xft's state if switching font-sizes when
2699    double-buffering is used.</li>
2700
2701    <li>fix repainting, e.g., on resize, when double-buffering is
2702    used with Xft (patch by Daniel Colascione).</li>
2703
2704    <li>correct some interchanged pairs of symbols in
2705    <code>unicode/keysym.map</code> (Brad Town).</li>
2706
2707    <li>improve configure macros CF_GCC_WARNINGS, CF_GNU_SOURCE,
2708    CF_POSIX_C_SOURCE, CF_TRY_XOPEN_SOURCE, CF_XOPEN_SOURCE,
2709    CF_X_ATHENA_CPPFLAGS.</li>
2710
2711    <li>modify <code>logFile</code> resource to interpret
2712    &ldquo;<code>-</code>&rdquo; as the standard output (adapted
2713    patch by Colum Paget).</li>
2714
2715    <li>improve documentation of Tek4014 menu options; fix a case
2716    where the Tek4014 window was not displayed before switching
2717    modes.</li>
2718
2719    <li>re-correct parameter for <em>pid</em> used for DECCKSR,
2720    DECRQCSR (see <a href="#xterm_315">xterm #315</a>).</li>
2721
2722    <li>hard/soft reset now resets the cursor-blinking state that
2723    may have been set via escape sequences; the cursor-blinking
2724    menu-entry feature is unmodified (report by Matthieu
2725    Herrb).</li>
2726
2727    <li>update config.guess, config.sub</li>
2728  </ul>
2729
2730  <h1><a name="xterm_333" id="xterm_333">Patch #333 -
2731  2018/05/03</a></h1>
2732
2733  <ul>
2734    <li>ensure that i18n is enabled if input-method is
2735    enabled.</li>
2736
2737    <li>modify logic for pre-edit to update spot-location while the
2738    cursor is invisible (Kakoune #1940).</li>
2739
2740    <li>change default icon to newer one, "mini.xterm".</li>
2741
2742    <li>install a complete set of icons, to simplify post-install
2743    customization.</li>
2744
2745    <li>add resource <code>disallowedPasteControls</code> to extend
2746    filtering of control characters from pastes.</li>
2747
2748    <li>add <code>print-on-error</code> action-hook, and document
2749    action-hooks for dump-html, dump-svg.</li>
2750
2751    <li>provide action-hook for <code>print-immediate</code>, which
2752    was available only as a menu-item (report by Rastislav
2753    Barlik).</li>
2754
2755    <li>continue to improve notes in <code>ctlseqs.ms</code> which
2756    mention where various controls originated.</li>
2757
2758    <li>add case to accept ECMA-48's bogus <code>SD</code>, but
2759    document the issue in <code>ctlseqs.ms</code>.</li>
2760
2761    <li>add control sequence for loading XPM-icon file, using the
2762    analogous control sequence from shelltool/dtterm.</li>
2763
2764    <li>add <code>-report-icons</code> option, to report on
2765    XPM-icon and title-bar updates.</li>
2766
2767    <li>correct a discrepancy between locator-reports for VT220 vs
2768    VT330.</li>
2769
2770    <li>add window-ops control sequences to complement existing
2771    ones for reporting window-position and text-area size with
2772    reports for text-area position and window-size.</li>
2773
2774    <li>display vt52 graphics mode characters.</li>
2775
2776    <li>correct case-statement for window-ops 10, overlooked since
2777    some window managers equate vertical-maximize and
2778    horizontal-maximize window hints with full-screen
2779    maximize.</li>
2780  </ul>
2781
2782  <h1><a name="xterm_332" id="xterm_332">Patch #332 -
2783  2018/04/15</a></h1>
2784
2785  <ul>
2786    <li>add a <code>GetChecksum</code> item to
2787    <code>disallowedWindowOps</code></li>
2788
2789    <li>improve notes in <code>ctlseqs.ms</code> which mention
2790    where various controls originated.</li>
2791
2792    <li>add control sequences for querying the X display size and
2793    the character size, both in pixels to help eliminate some of
2794    the constants in <code>esctest</code>.</li>
2795
2796    <li>fixes prompted by review of George Nachman's
2797    <code>esctest</code> script:
2798      <ul>
2799        <li>add a null-pointer check and a limit-check in
2800        <code>xtermCheckRect</code>.</li>
2801
2802        <li>correct limit-check for right-margin when processing
2803        autowrapping if xterm is not built for
2804        wide-characters.</li>
2805
2806        <li>repair logic in <code>RIS</code> to reset 132-column
2807        mode when an escape sequence is used to enable
2808        80/132-column switching.</li>
2809
2810        <li>correct array-limit for EWMH working state.</li>
2811
2812        <li>further improve limit-checks versus assert's (see
2813        <a href="#xterm_315">patch #315</a>).</li>
2814
2815        <li>correct order of check-margins and move-to-left margin
2816        for <code>DL</code> and <code>IL</code>.</li>
2817
2818        <li>modify reverse-wrap to pay attention to top/bottom
2819        margins as it has done for left/right margins since
2820        <a href="#xterm_279">patch #279</a>.</li>
2821
2822        <li>modify behavior of <code>DECFI</code> and
2823        <code>DECBI</code> to not index the screen at the
2824        left/right edge of the display unless those happen to be
2825        the left/right margins.</li>
2826
2827        <li>add case for VT320 DSR response for keyboard
2828        status.</li>
2829      </ul>
2830    </li>
2831
2832    <li>improve check for valid shell path using
2833    <code>getusershell</code> and <code>endusershell</code> if
2834    available, in case <code>/etc/shells</code> does not exist
2835    (suggested by Rainer Orth).</li>
2836
2837    <li>modified configure checks for groff and man2html, to use
2838    the latter by default, but allowing mandoc as a partial
2839    replacement for former.</li>
2840
2841    <li>revisited the inconsistent copyright notices mentioned in
2842    <a href="#xterm_165">patch #165</a>, and eliminate the issue as
2843    mentioned in this <a href=
2844    "https://invisible-island.net/personal/copyrights.html">copyright
2845    discussion</a>.</li>
2846
2847    <li>fix typo in this change-log (report by Sven Joachim)</li>
2848
2849    <li>update config.guess, config.sub</li>
2850  </ul>
2851
2852  <h1><a name="xterm_331" id="xterm_331">Patch #331 -
2853  2017/12/30</a></h1>
2854
2855  <ul>
2856    <li>add workaround for improper grayscale adjustments made in
2857    FreeType library, exposed by changes to rounding in 2.8.1,
2858    which shows up as a gap in line-drawing characters (Debian
2859    #880407).</li>
2860
2861    <li>improve a special case where a non-Unicode font's
2862    line-drawing characters were not used, when specifying it via
2863    the <code>utf8Fonts</code> resource, e.g.,
2864      <blockquote>
2865        <pre>
2866        -fs 15 \
2867        -xrm '*VT100.font:12x24' \
2868        -xrm '*VT100.boldFont:12x24' \
2869        -xrm '*VT100.utf8Fonts.font: 12x24' \
2870        -xrm '*VT100.utf8Fonts.boldFont: 12x24' \
2871</pre>
2872      </blockquote>
2873    </li>
2874
2875    <li>replace constant 10msec delay for next X event with new
2876    resource <code>nextEventDelay</code>, and reduce that to 1msec
2877    to accommodate faster machines than used when
2878    <code>-hold</code> was implemented in <a href=
2879    "#xterm_116">1999</a> (Debian #877628).</li>
2880
2881    <li>add <code>scroll-to</code> action, which simplifies binding
2882    a key to scroll to the beginning or end of the saved-lines
2883    (Debian #880120).</li>
2884
2885    <li>add building blocks for alternate screen and/or title-stack
2886    features in the <code>terminfo</code> file.</li>
2887
2888    <li>improve calculations for cell-data size.</li>
2889
2890    <li>change configure script to enable XHTML/SVG screen dumps by
2891    default.</li>
2892
2893    <li>change configure script to enable 256-colors by
2894    default.</li>
2895
2896    <li>update config.guess, config.sub</li>
2897
2898    <li>change configure script option for
2899    <code>--with-man2html</code> to use improved script by
2900    default.</li>
2901
2902    <li>add case for private mode 1044 in DECRQM, to report the
2903    keepClipboard resource setting and corresponding menu
2904    entry.</li>
2905
2906    <li>fix an inconsistency between private mode 12 (the AT&amp;T
2907    610 cursor blink) and <code>DECSCUSR</code>: the former relied
2908    on having the <code>cursorBlink</code> resource set initially
2909    to enable the escape sequence, while the latter does not.</li>
2910
2911    <li>add private modes 13 and 14, as well as resource
2912    <code>cursorBlinkXOR</code> to allow better control over the
2913    cursor-blinking state (discussion with Bram Moolenaar).</li>
2914
2915    <li>modify the html and svg screen dumps to support direct
2916    color</li>
2917
2918    <li>modify media copy (screen-printing) to support the same SGR
2919    codes as <code>DECRQSS</code>, including 88/256 indexed color
2920    as well as direct color.</li>
2921
2922    <li>improve options-parsing for query-status.pl script.</li>
2923
2924    <li>modify parsing of <code>SGR</code> direct-color control
2925    making <em>color space identitier</em> optional. The
2926    corresponding <code>DECRQSS</code> reply always returns an
2927    empty (default) field for the identifier.</li>
2928
2929    <li>add wide-attributes to <code>DECRQSS</code> reply for
2930    <code>SGR</code>.</li>
2931
2932    <li>add private mode 1046 to help with scripting
2933    applications.</li>
2934
2935    <li>correct expression used for readline-flags in DECRQM; to
2936    test the current flag rather than information <em>stacked</em>
2937    within the same variable.</li>
2938
2939    <li>correct typo in <code>ctlseqs.ms</code> reference to
2940    ISO-8613-6 (patch by Mike Frysinger).</li>
2941
2942    <li>fix lintian warning for test-package.</li>
2943
2944    <li>fix typo in <code>DECRQSS</code> for <code>SGR</code> 48,
2945    which printed the foreground value for colors past 15. Also use
2946    colon delimiter for codes 38/48 in response (report by Paul
2947    LeoNerd Evans).</li>
2948
2949    <li>improve workaround for Debian #542434 by using the font's
2950    maximum width when no ISO-8859-1 glyphs are provided (Debian
2951    #879936).</li>
2952
2953    <li>work around a special case of <em>Xft</em>'s mismanagement
2954    of its cached data by adding a check before the
2955    <code>-report-fonts</code> option to ensure that it does not
2956    use an <code>XftPattern</code> which may have been freed during
2957    a call to <code>XftFontOpenPattern</code>.</li>
2958
2959    <li>improve manual page description of <code>regex</code>
2960    option for <code>on<em>X</em>Clicks</code> resources (report by
2961    Lukas Mai).</li>
2962
2963    <li>add <code>directColor</code> resource.</li>
2964
2965    <li>additional manpage macro cleanup (Branden Robinson, Debian
2966    #880551).</li>
2967
2968    <li>add optional support for direct-colors (adapted from patch
2969    by anonymous &ldquo;Nibby Nebbulous&rdquo;).</li>
2970
2971    <li>improve legacy/NRC character set mapping (patch by Thomas
2972    Wolff), e.g.,
2973      <ul>
2974        <li>enable alternate NRC set designators for French and
2975        French Canadian, &lsquo;9&rsquo; and &lsquo;f&rsquo;
2976        respectively, as documented in ctlseqs. (&lsquo;9&rsquo; is
2977        documented for VT510, &lsquo;f&rsquo; is a Kermit
2978        feature).</li>
2979
2980        <li>correct the Unicode value in the <em>DEC Technical</em>
2981        table to show capital delta.</li>
2982
2983        <li>referring to
2984          <blockquote>
2985            <p><a href=
2986            "http://vt100.net/docs/vt220-rm/table2-3b.html">http://vt100.net/docs/vt220-rm/table2-3b.html</a><br>
2987
2988            <a href=
2989            "http://vt100.net/docs/vt320-uu/appendixe.html">http://vt100.net/docs/vt320-uu/appendixe.html</a></p>
2990          </blockquote>
2991
2992          <p>add entries for the <em>DEC Supplemental Graphics</em>
2993          table to display 0x28/0xa8 as &curren; and 0x5d/0xdd as
2994          &Yuml;.</p>
2995        </li>
2996
2997        <li>referring to
2998          <blockquote>
2999            <p><a href=
3000            "http://www.vt100.net/charsets/technical.html">http://www.vt100.net/charsets/technical.html</a></p>
3001          </blockquote>
3002
3003          <p>alter the Unicode values used for 0x2b through 0x2c to
3004          use <em>curly braces</em> to work with the
3005          &ldquo;middle&rdquo; parts displayed with 0x2f and
3006          0x30.</p>
3007        </li>
3008
3009        <li>modify the VT220 &ldquo;Supplemental&rdquo; table,
3010        giving a hint that it was probably meant to be
3011        &ldquo;Supplemental Graphics&rdquo; and is the same as
3012        VT320's table.</li>
3013      </ul>
3014    </li>
3015
3016    <li>quiet a few font-warnings when a derived fontname cannot be
3017    opened, overlooked in refactoring of font resources in <a href=
3018    "#xterm_328">patch #328</a> (initially reported on <a href=
3019    "https://cygwin.com/ml/cygwin/2017-06/msg00255.html">Cygwin
3020    mailing list</a>, with <a href=
3021    "https://cygwin.com/ml/cygwin/2017-07/msg00216.html">followup</a>).</li>
3022
3023    <li>correct error response for <code>DECRQSS</code> broken in
3024    cleanup of Coverity reports in <a href="#xterm_288">patch
3025    #288</a> (reports by Bram Moolenaar and IWAMOTO Kouichi).</li>
3026
3027    <li>improve <code>DECRPM</code> responses by returning <em>mode
3028    not recognized</em> for modes which may not be settable due to
3029    the selected <code>decTerminalID</code> resource (report by
3030    IWAMOTO Kouichi).</li>
3031
3032    <li>correct logic for <code>print-immediate</code> action, and
3033    enable corresponding menu entry (patch by Lauri
3034    Tirkkonen).</li>
3035
3036    <li>add configure option <code>--with-pcre2</code> (patch by
3037    David Michael).</li>
3038
3039    <li>fix a misspelled subsection title in ctlseqs.ms and add a
3040    note regarding blink which was rendered as bold in X11R6.
3041    Blinking text was implemented in <a href="#xterm_60">Patch
3042    #60</a>.</li>
3043
3044    <li>fix typos in <code>xterm.man</code> (patches by Sven
3045    Joachim, Larry Hynes).</li>
3046
3047    <li>fix typography in <code>xterm.man</code> (patch by Bjarni
3048    Ingi Gislason, Debian #869248).</li>
3049
3050    <li>fix typo in <code>INSTALL</code> (Larry Hynes).</li>
3051
3052    <li>add <code>xterm-direct</code> terminal description based on
3053    changes introduced in <a href="#xterm_277">patch #277</a>, and
3054    relying upon ncurses <code><strong>RGB</strong></code>
3055    extension.</li>
3056
3057    <li>modify <code>xterm-new</code> terminal description to use
3058    ECMA-48 <code>REP</code>, reflecting its use in xterm since
3059    <a href="#xterm_32">patch #32</a> (1996).</li>
3060
3061    <li>clarify comment in ctlseqs.ms regarding blink: it has been
3062    part of xterm since <a href="#xterm_60">patch #60</a>
3063    (1998).</li>
3064
3065    <li>update ftp URLs in documentation.</li>
3066  </ul>
3067
3068  <h1><a name="xterm_330" id="xterm_330">Patch #330 -
3069  2017/06/20</a></h1>
3070
3071  <ul>
3072    <li>updates for ReGIS (Ross Combs):
3073      <ul>
3074        <li>remove redundant text command error check which broke
3075        <code>T(B)</code> and <code>T(E)</code>.</li>
3076
3077        <li>retain the loading alphabet number across multiple
3078        &ldquo;L&rdquo; commands.</li>
3079
3080        <li>add <code>S(T)</code> delay handler.</li>
3081
3082        <li>fix some color handling error messages.</li>
3083
3084        <li>add stubbed-out macrograph handling.</li>
3085
3086        <li>use <code>fragment_remaining()</code> and
3087        <code>fragment_consumed()</code> instead of manually
3088        checking position / length in various places.</li>
3089
3090        <li>rename some local variables in string / extent / option
3091        parsing</li>
3092
3093        <li>wrap some long lines.</li>
3094
3095        <li>move macrograph command handling out of the
3096        top-level.</li>
3097      </ul>
3098    </li>
3099
3100    <li>add a summary of the italic fonts loaded to
3101    <code>-report-fonts</code> option.</li>
3102
3103    <li>modify the font-lookup for italics to allow for
3104    &ldquo;<code>-i-</code>&rdquo; if no match is found with slant
3105    &ldquo;<code>-o-</code>&rdquo; (prompted by patch by Ben
3106    Wong).</li>
3107
3108    <li>change default values for <code>mkSamplePass</code> and
3109    <code>mkSampleSize</code> to reflect generally-improved locale
3110    support in various operating systems (FreeBSD #219800).</li>
3111
3112    <li>modify <code>wcwidth.c</code> to return -1 for non-Unicode
3113    values, and adjust a couple of blocks to better match
3114    assumptions about ambiguous-width characters in other
3115    implementations. Also modify <code>wcwidth.c</code> to support
3116    configurable soft-hyphen, so there is no drawback to using this
3117    version rather than a system <code>wcwidth</code>.</li>
3118
3119    <li>amend change made in <a href="#xterm_328">patch #328</a>
3120    for cursor-visibility to handle case where an application is
3121    updating the reverse-video state (FreeBSD #219800).</li>
3122
3123    <li>update tables of combining and ambiguous-width characters
3124    in wcwidth.c based on Unicode 10.0.0.</li>
3125
3126    <li>build-fix for <code>--enable-sixel-graphics</code> without
3127    <code>--enable-regis-graphics</code> (reports by Sven Joachim,
3128    FreeBSD #219945).</li>
3129  </ul>
3130
3131  <h1><a name="xterm_329" id="xterm_329">Patch #329 -
3132  2017/06/12</a></h1>
3133
3134  <ul>
3135    <li>add control sequences for reading the Sixel and ReGIS
3136    graphics sizes (suggested by Ben Wong).</li>
3137
3138    <li>add a workaround for <code>wcwidth</code> returning -1 for
3139    characters which should have been printable (FreeBSD
3140    #219800).</li>
3141
3142    <li>fix a bug in font initialization from <a href=
3143    "#xterm_328">patch #328</a> (FreeBSD #219800).</li>
3144
3145    <li>fix a special case in <code>HideCursor</code> which
3146    assigned a bold font to the slot used for normal font in
3147    changes for italics in <a href="#xterm_307">patch #307</a>
3148    (Debian #858304).</li>
3149
3150    <li>updates for ReGIS (Ross Combs):
3151      <ul>
3152        <li>Strings specified with no command are used as
3153        "comments". Print these in the log when tracing.</li>
3154
3155        <li>Catch attempts to use "alternate display" mode (AKA
3156        "blink") from the GIGI, but do not implement it.</li>
3157
3158        <li>The <code>T(M)</code> command should only multiply the
3159        height by 10, not 20.</li>
3160
3161        <li>Make the <code>S(E)</code> command reset more state
3162        than just the screen contents.</li>
3163
3164        <li>Remove two rotation variables which were only being
3165        printed.</li>
3166
3167        <li>Numerous minor fixes and comment updates in the
3168        <code>R</code> command.</li>
3169
3170        <li>Unknown <code>R</code> command option names trigger an
3171        empty response.</li>
3172
3173        <li>Fix the output position after printing rotated text (it
3174        was missing the the sign before).</li>
3175
3176        <li>Fix the position change with pixelvectors and rotated
3177        text (the rotation transform was not being applied).</li>
3178
3179        <li>Update the <em>TODO</em> list and remove a verification
3180        <em>FIXME</em> (slanted text positioning is correct as
3181        is).</li>
3182
3183        <li>Emulate the approximately 1.4x enlargement for text
3184        which isn't rotated at right angles.</li>
3185
3186        <li>Only update the color planes specified in the plane
3187        mask (the <code>W</code> command's <code>F</code>
3188        option).</li>
3189      </ul>
3190    </li>
3191
3192    <li>fix a bug introduced by the changes to font information in
3193    <a href="#xterm_328">patch #328</a>. When processing the
3194    "checkfont" option of the <code>locale</code> resource, the
3195    program referred to the <em>request</em> data, to an array
3196    which was only allocated in the <em>new/result</em> widget
3197    (report by H Merijn Brand).</li>
3198
3199    <li>fix a missing assignment initialization to make the
3200    <code>utf8</code> resource control whether escape sequences to
3201    enable/disable UTF-8 mode are allowed.</li>
3202  </ul>
3203
3204  <h1><a name="xterm_328" id="xterm_328">Patch #328 -
3205  2017/06/01</a></h1>
3206
3207  <ul>
3208    <li>revise parser for <code>charClass</code> resource, making
3209    these improvements:
3210      <ul>
3211        <li>accept octal and hexadecimal values</li>
3212
3213        <li>allow embedded whitespace</li>
3214
3215        <li>allow the class after colon to be optional, e.g., to
3216        clear class settings for a range of characters.</li>
3217      </ul>
3218    </li>
3219
3220    <li>add command-line option
3221    <code>-report-charclass</code>.</li>
3222
3223    <li>fix most lintian warnings about test-package</li>
3224
3225    <li>add <code>eraseSavedLines</code> resource.</li>
3226
3227    <li>document <code>DECSED&nbsp;3</code> in
3228    <code>ctlseqs.ms</code> (report by Ben Longmans).</li>
3229
3230    <li>improve integration between configure-events and updates
3231    for reported screensize, in particular when switching between
3232    vt100 and tek4014 modes.</li>
3233
3234    <li>modify selection-highlighting of reverse-video text to keep
3235    that distinct, e.g., by reversing the selection foreground and
3236    background colors as one would expect. This fixes a "useless"
3237    case in the description of
3238    <code>highlightColorMode</code>.</li>
3239
3240    <li>improve fix for Debian #759734, addressing a case where
3241    non-colored cursor would be invisible against reverse-video
3242    (see <a href="#xterm_311">patch #311</a>).</li>
3243
3244    <li>updates for ReGIS (Ross Combs):
3245      <ul>
3246        <li>the "H" option of the "T" command should multiply by
3247        10, not 20.</li>
3248
3249        <li>display unknown glyphs as a solid block.</li>
3250
3251        <li>given a succession of text-direction options, use the
3252        last.</li>
3253
3254        <li>fix the direction of ReGIS slanted text so that
3255        negative values produce oblique output .</li>
3256
3257        <li>fix the ReGIS text direction option to only rotate
3258        characters when no following size option is used.</li>
3259      </ul>
3260    </li>
3261
3262    <li>update terminfo to better match corresponding entries in
3263    ncurses, e.g., <code>u8</code> pattern to match the VT220,
3264    VT420, etc., primary responses, as well as adding
3265    <code>smxx</code> and <code>rmxx</code>.</li>
3266
3267    <li>fixes from J&ouml;rg Sommer:
3268      <ul>
3269        <li>corrected a trace-message regarding maximum
3270        graphics-size; it used the similar ReGIS maximum size which
3271        might not be configured.</li>
3272
3273        <li>in <code>do_select_regex</code>, clear selection if
3274        there is no match. If the regex does not match anything
3275        around the cursor, the selection returned must be empty,
3276        otherwise the whole line is treated as a match. This way
3277        the command defined by <code>exec-selectable</code> will
3278        not be executed if there is no match.</li>
3279
3280        <li>modify limit in <code>do_select_regex</code> to include
3281        the character at the cursor in the match, making it easier
3282        to type something and then hit the key to trigger
3283        <code>exec-selectable</code>.</li>
3284
3285        <li>If <code>exec-selectable</code> or
3286        <code>insert-selection</code> is triggered by a mouse
3287        button click, the position of the mouse pointer should be
3288        used. This makes it easier to address any position on the
3289        window and it makes it possible to use the mouse, e.g., for
3290        applications such as mutt where you cannot move the
3291        cursor.</li>
3292      </ul>
3293    </li>
3294
3295    <li>modify <code>DECRC</code> to save/restore xterm's
3296    last-column flag used to control wrapping behavior rather than
3297    manipulating <code>DECAWM</code> (report/analysis by Mattias
3298    Engdeg&aring;rd).</li>
3299
3300    <li>add configure option <code>--enable-terminfo-env</code> to
3301    use the value set by <code>--with-own-terminfo</code> for the
3302    <code>$TERMINFO</code> environment variable. That variable was
3303    set automatically for HPUX, but would be useful in other
3304    systems, e.g., for Solaris (request by Jeff Wieland).</li>
3305
3306    <li>fix a race condition when setting up a signal handler to
3307    timeout if opening <code>/dev/tty</code> hangs (patch by Tobias
3308    Stoeckmann).</li>
3309
3310    <li>review/cleanup resources which were not in the manual page
3311    (report by Maxwell Anselm):
3312      <ul>
3313        <li>add manual page description as needed.</li>
3314
3315        <li>drop resource name for <code>menuBar</code>, as
3316        unnecessary.</li>
3317
3318        <li>modify fallback numeric value for
3319        <code>regisScreenSize</code> resource to match that for
3320        <code>maxGraphicSize</code>.</li>
3321      </ul>
3322    </li>
3323
3324    <li>updated configure macros <code>CF_ADD_CFLAGS</code>,
3325    <code>CF_CC_ENV_FLAGS</code>, <code>CF_GNU_SOURCE</code>,
3326    <code>CF_MATH_LIB</code>, and <code>CF_XOPEN_SOURCE</code> from
3327    other program-changes.</li>
3328
3329    <li>update config.guess, config.sub</li>
3330
3331    <li>change &ldquo;maximum screensize&rdquo; assumed by
3332    <code>resize</code> to 9999x9999, to accommodate people using
3333    the <em><code>Unreadable</code></em> font.</li>
3334
3335    <li>drop <code>Utility</code> from default value of
3336    <code>--with-desktop-category</code> (Debian #780176).</li>
3337
3338    <li>widen the configure script pattern used for finding related
3339    ".desktop" files, including &ldquo;Terminal&rdquo;</li>
3340
3341    <li>several minor improvements to font utility functions:
3342      <ul>
3343        <li>provide for later modification to implement font-sets
3344        by parsing the font resources as comma-separated
3345        lists.</li>
3346
3347        <li>parse <code>-fn</code> and <code>-fa</code> similarly,
3348        using &ldquo;x:&rdquo; and &ldquo;xft:&rdquo; prefixes for
3349        font name/family strings to distinguish between XLFD and
3350        Xft font specifications.</li>
3351
3352        <li>use loops to iterate over font classes</li>
3353
3354        <li>use getters/setters for font data to allow for
3355        on-demand lookups.</li>
3356
3357        <li>make the debugging trace for missing glyph less verbose
3358        since that interferes with the <code>-report-fonts</code>
3359        option.</li>
3360
3361        <li>refactor <code>xtermLoadFont</code> to make it clearer
3362        how some fonts are derived from others, e.g., bold,
3363        wide.</li>
3364
3365        <li>make the triggering and suppressing of font-warnings
3366        more consistent by storing the last state in the
3367        widget.</li>
3368
3369        <li>reduce font-warnings by checking for repeated
3370        warnings.</li>
3371      </ul>
3372    </li>
3373
3374    <li>add <code>vttests/query-status.pl</code></li>
3375
3376    <li>add <code>vttests/closest-rgb</code></li>
3377
3378    <li>add special case for displaying soft-hyphen if it happens
3379    to fall at the right margin, and omitting similar case such as
3380    the BIDI markers, where a zero-width character is neither a
3381    control character nor a combining character (Debian
3382    #844325).</li>
3383
3384    <li>modify logic for <code>OSC&nbsp;52</code>, <em>manipulate
3385    selection data</em>, to update the selection-time to include
3386    the latest X events. This fixes some cases where the selection
3387    was invalid, e.g., after an event due to focus-follows-mouse
3388    (report/testcase by Stephane Chauveau).</li>
3389
3390    <li>revise macro <code>CastMallocN</code> as new macro
3391    <code>TextAlloc</code> to make explicit use of
3392    <code>sizeof(char)</code> (prompted by patch by Cade
3393    Foster).</li>
3394
3395    <li>add <em>&ldquo;Mouse Ops&rdquo;</em> menu entry and related
3396    resources to allow runtime disabling/enabling of the mouse
3397    protocol escape sequences (discussion with Bob Proulx).</li>
3398
3399    <li>improve discussion of mouse actions versus protocol in the
3400    manual (discussion with Bob Proulx).</li>
3401
3402    <li>improve discussion of environment variables in the manual,
3403    pointing out where some features (such as termcap and the
3404    System5 <code>COLUMNS</code> and <code>LINES</code> variables)
3405    are used rarely, mainly to support legacy applications.</li>
3406
3407    <li>add examples of <code>translations</code> resource for
3408    select/paste, and for font-size changes to the manual.</li>
3409
3410    <li>minor reordering of some entries in <code>ctlseqs.ms</code>
3411    for consistency (report by Arran Ubels).</li>
3412
3413    <li>add <code>-s</code> option to <code>256colors2.pl</code>
3414    and <code>88colors2.pl</code>, to demonstrate modifying the
3415    &ldquo;system&rdquo; colors 0&ndash;15.</li>
3416
3417    <li>omit <code>XFT_SPACING</code> property from call to <code>
3418      XftPatternBuild</code>, to work around a bug in
3419      <em>fontconfig</em> for handling Google Go fonts, whose names
3420      sort in an order not expected by <em>fontconfig</em>, causing
3421      the request for a monospaced font to return <em>italics</em>,
3422      e.g.,
3423      <blockquote>
3424        <pre>
3425$ fc-match 'Go Mono:spacing=monospace'
3426Go-Mono-Italic.ttf: "Go Mono" "Italic"
3427(report by Giacomo Boffi on <a href=
3428"http://unix.stackexchange.com/questions/324941/xterm-displays-an-italic-face-instead-of-regular">Stackoverflow</a>).
3429
3430</pre>
3431      </blockquote>
3432    </li>
3433
3434    <li>modify <code>minstall.in</code> to improve a workaround
3435    added to the manual page in <a href="#xterm_182">patch #182</a>
3436    to avoid having the C preprocessor used in the imake
3437    configuration strip out the comments in the character classes
3438    section (reports by Ted Unangst, Anthony J Bentley).</li>
3439  </ul>
3440
3441  <h1><a name="xterm_327" id="xterm_327">Patch #327 -
3442  2016/10/07</a></h1>
3443
3444  <ul>
3445    <li>add a check in the function which handles end-of-line
3446    wrapping to ensure that C1 controls are allocated one column
3447    when <code>allowC1Printable</code> is set (Debian
3448    #738794).</li>
3449
3450    <li>use consistent error-checking after <code>strtol</code>
3451    calls, fixes a case where a query with OSC 6 did not ensure
3452    there was a valid color number (report by Alex Smith).</li>
3453
3454    <li>add <code>-baudrate</code> option, for testing
3455    ncurses.</li>
3456
3457    <li>always generate the <code>CASE_<em>xxx</em></code> symbols
3458    in <code>VTparse.h</code> and <code>Tekparse.h</code>, as part
3459    of a change to improve debug-logging. This makes the build
3460    always depend upon <code>awk</code>.</li>
3461
3462    <li>modify <code>allowC1Printable</code> to disallow codes
3463    160-254 as being equivalent to codes 32-126 when parsing escape
3464    sequences (Debian #839220).</li>
3465
3466    <li>amend fix from <a href="#xterm_326">patch #326</a> for
3467    TrueType fonts to exclude the hidden character used for
3468    double-width cells (report by Grady Martin).</li>
3469
3470    <li>fix a typo in <code>ctlseqs.ms</code></li>
3471  </ul>
3472
3473  <h1><a name="xterm_326" id="xterm_326">Patch #326 -
3474  2016/09/25</a></h1>
3475
3476  <ul>
3477    <li>updated appdata file (report by Richard Hughes).</li>
3478
3479    <li>improve discussion of the different terminal emulations
3480    provided by xterm in the manual page.</li>
3481
3482    <li>add examples of setting the icon title with/without the
3483    window title in the manual (Debian #833984).</li>
3484
3485    <li>correct a limit-check when using a numeric value for
3486    extended Booleans e.g., <code>*fullscreen:3</code> rather than
3487    a name such as <code>*fullscreen:never</code>.</li>
3488
3489    <li>add action <code>allow-bold-fonts</code></li>
3490
3491    <li>improved formatting fixes for manual page, using script to
3492    find mismatches in spelling of resources, actions and menu
3493    entries.</li>
3494
3495    <li>improve documentation of logging resources.</li>
3496
3497    <li>fix a special case of flickering cursor by adding
3498    <code>GraphicsExpose</code> to the list of event types that
3499    should not trigger making the mouse cursor visible (patch by
3500    Joe Peterson).</li>
3501
3502    <li>correct initialization of line-drawing in VT52-mode,
3503    overlooked in changes for <a href="#xterm_297">patch #297</a>
3504    (report/patch by Ben Wiley Sittler).</li>
3505
3506    <li>minor clarification of form-feed versus line-feed in
3507    <code>ctlseqs.ms</code> (suggested by David Kemper).</li>
3508
3509    <li>amend fix for Debian #738794 to restore a check for missing
3510    characters which are <em>not</em> combining characters. Also
3511    fill in a corresponding special case for TrueType fonts (Debian
3512    #827905).</li>
3513  </ul>
3514
3515  <h1><a name="xterm_325" id="xterm_325">Patch #325 -
3516  2016/06/05</a></h1>
3517
3518  <ul>
3519    <li>improve manual page discussion of function keys (discussion
3520    with Ross Combs).</li>
3521
3522    <li>further improve fix for Debian #545220 in <a href=
3523    "#xterm_248">patch #248</a>, to avoid conflict with combining
3524    characters (Debian #738794).</li>
3525
3526    <li>improve <code>-hold</code> option to avoid 100% CPU usage
3527    with NetBSD after closing the shell, which makes subsequent
3528    checks for X input events fail (prompted by patch by Pierre
3529    Pronchery).</li>
3530
3531    <li>review <code>#ifdef</code> statements, listed those which
3532    do not have a configure option in
3533    <code>xtermcfg.hin</code>.</li>
3534
3535    <li>fixed one case where the menu sensistivity for
3536    <em>Print-All Immediately</em> and <em>Print-All on Error</em>
3537    was not properly ifdef'd.</li>
3538
3539    <li>modify terminfo entries for 16-, 88- and 256-color to reset
3540    palette with <code>rs1</code> capability.</li>
3541
3542    <li>accept <code>legacy</code> value of <code>-kt</code> as
3543    synonym for the <code>oldXtermFKeys</code> resource, and extend
3544    the full-reset logic to use the keyboard type set via
3545    <code>-kt</code>.</li>
3546
3547    <li>modify <code>ioctl</code> calls for <code>I_PUSH</code> to
3548    first check if the module has been added, using
3549    <code>I_FIND</code>. This is needed for newer Solaris libraries
3550    with c11 support (adapted from patch by Alan Coopersmith).</li>
3551
3552    <li>add check in <code>getXtermCombining</code> to ensure that
3553    combining characters were allocated (report by Tor
3554    Andersson).</li>
3555
3556    <li>add configure option <code>--without-xinerama</code> to
3557    allow suppressing the extension (Gentoo #580936).</li>
3558
3559    <li>update keysym2ucs.c based on Unicode 9.0</li>
3560
3561    <li>fixed most <code>cppcheck --enable=all</code> warnings,
3562    including for style (prompted by report by David Binderman).
3563    There was one bug-fix:
3564      <ul>
3565        <li>RGB least-squares computation in
3566        <code>allocateClosestRGB</code> used only one ordinate</li>
3567      </ul>
3568    </li>
3569
3570    <li>add <code>cppcheck</code> to lint-like programs in
3571    configure script and makefile.</li>
3572
3573    <li>fix some const correctness issues and point out an array
3574    lifetime issue (Ross Combs).</li>
3575
3576    <li>updates for SIXEL and ReGIS (Ross Combs):
3577      <ul>
3578        <li>Sixel drawing should still happen after an error if
3579        some commands have been processed</li>
3580
3581        <li>Tiny steps toward reporting ReGIS input</li>
3582      </ul>
3583    </li>
3584  </ul>
3585
3586  <h1><a name="xterm_324" id="xterm_324">Patch #324 -
3587  2016/03/10</a></h1>
3588
3589  <ul>
3590    <li>updated configure macro <code>CF_LD_RPATH_OPT</code> from
3591    ncurses changes.</li>
3592
3593    <li>provide alternate fix for Juha Nurmela's report by turning
3594    on POSIX signals if <code>_POSIX_C_SOURCE</code> is at least
3595    one. This is done to improve the behavior if a direct child
3596    process receives a <code>STOP</code> signal.</li>
3597
3598    <li>revert change to <code>CF_POSIX_C_SOURCE</code> from
3599    <a href="#xterm_323">patch #323</a> (reports by Ashish Shukla,
3600    Christian Weisgerber).</li>
3601  </ul>
3602
3603  <h1><a name="xterm_323" id="xterm_323">Patch #323 -
3604  2016/03/07</a></h1>
3605
3606  <ul>
3607    <li>updated appdata and desktop files to add keywords (report
3608    by Richard Hughes).</li>
3609
3610    <li>modify configure macro <code>CF_POSIX_C_SOURCE</code> to
3611    accommodate some systems, e.g., FreeBSD, which have separated
3612    their implementation specific preprocessor symbols from the
3613    POSIX ones, requiring both to be defined (report by Juha
3614    Nurmela).</li>
3615
3616    <li>change the directory to the current working dir of the
3617    child process in exec-formatted and exec-selectable actions
3618    (patch by Alexander Pohoyda).</li>
3619
3620    <li>correct typo in xterm.man (patch by Larry Hynes).</li>
3621
3622    <li>correct typo in ctlseqs.ms (report by Shriramana
3623    Sharma).</li>
3624
3625    <li>add feature to support XHTML and SVG screen dumps (patch by
3626    Jens Schweikhardt).</li>
3627
3628    <li>correct response to DECRQSS when terminal id is less than
3629    400 (patch by Iwamoto Kouichi).</li>
3630  </ul>
3631
3632  <h1><a name="xterm_322" id="xterm_322">Patch #322 -
3633  2016/01/02</a></h1>
3634
3635  <ul>
3636    <li>fix regression due to incorrect fix for compiler warning
3637    when allocating storage for <code>/etc/shells</code> (reports
3638    by Ashish Shukla, Debian #809646).</li>
3639  </ul>
3640
3641  <h1><a name="xterm_321" id="xterm_321">Patch #321 -
3642  2015/12/31</a></h1>
3643
3644  <ul>
3645    <li>add resource <code>keepClipboard</code>, escape sequence
3646    and action <code>keep-clipboard</code>.</li>
3647
3648    <li>add optional feature to capture text copied to clipboard at
3649    the time of copying rather than at the time the clipboard
3650    contents are requested for pasting (patch by Milan
3651    Mehner).</li>
3652
3653    <li>improve a special case where the <code>-e</code> option was
3654    used to pass a single-quoted command via <code>luit</code>, by
3655    wrapping it in a &ldquo;sh -c&rdquo; (report by Keith
3656    Hedger).</li>
3657
3658    <li>minor fix for type-cleanliness when allocating storage for
3659    <code>/etc/shells</code> (Tobias Stoeckmann).</li>
3660
3661    <li>fix a typo in manual page (Dan Church).</li>
3662
3663    <li>fix minor file-descriptor leak; after calling
3664    <code>openpty</code>, the slave's file descriptor is not needed
3665    (report by Juha Nurmela).</li>
3666
3667    <li>editorial change to ctlseqs.ms (report by David
3668    Gomboc).</li>
3669
3670    <li>minor updates for autoconf macros.</li>
3671
3672    <li>update config.guess, config.sub</li>
3673  </ul>
3674
3675  <h1><a name="xterm_320" id="xterm_320">Patch #320 -
3676  2015/08/28</a></h1>
3677
3678  <ul>
3679    <li>correct documentation for <code>%t</code> format (report by
3680    Martin Tournoij).</li>
3681
3682    <li>add <code>%R</code> for consistency to
3683    <code>exec-formatted()</code> and
3684    <code>insert-formatted()</code> actions.</li>
3685
3686    <li>add <code>%r</code> format to <code>exec-formatted()</code>
3687    and <code>insert-formatted()</code> actions (patch by Martin
3688    Tournoij).</li>
3689
3690    <li>Amend fix for Debian #794201 (report forwarded from
3691    Christian Jachmann by Emanuel Haupt, Debian #797008).</li>
3692  </ul>
3693
3694  <h1><a name="xterm_319" id="xterm_319">Patch #319 -
3695  2015/08/19</a></h1>
3696
3697  <ul>
3698    <li>add a section to <code>ctlseqs.ms</code> discussing control
3699    sequences and ECMA-48, to explain why C1 controls do not occur
3700    in the decoded characters from UTF-8 byte streams (prompted by
3701    discussion with Poul-Henning Kamp).</li>
3702
3703    <li>modify check for cursor-theme from <a href=
3704    "#xterm_301">patch #301</a> to also check if the resource
3705    <code>Xcursor.theme</code> is set to a nonempty value before
3706    fallback to xterm's own dummy theme (request by Robert
3707    Kloefkorn).</li>
3708
3709    <li>explain in <code>ctlseqs.ms</code> that some keys which
3710    normally send SS3-prefixes are changed to CSI-prefixes if
3711    key-modifiers are passed as parameters (report by George
3712    Nachman).</li>
3713
3714    <li>correct double-free of font information when multiple
3715    problems are found, particularly for the wide fonts loaded via
3716    the <code>-wc</code> option (report/testcase by Nelson
3717    Beebe).</li>
3718
3719    <li>make configure option <code>--enable-builtin-xpms</code>
3720    actually work (report by William Bulley).</li>
3721
3722    <li>correct combination of <code>-ls</code> and <code>-e</code>
3723    options for utempter configuration (Debian #794201).</li>
3724
3725    <li>NetBSD build-fix for OPT_RENDERFONT versus OPT_SHIFT_FONTS
3726    (patch by Matthew Green, forwarded by Thomas Klausner).</li>
3727
3728    <li>fix a few minor bugs found with Coverity.</li>
3729
3730    <li>update pixelvector handling (Ross Combs):
3731      <ul>
3732        <li>split pixel-based and coord-based functions with common
3733        parts factored out to a "raw" function</li>
3734
3735        <li>add a "step" variant which loads a single PV digit</li>
3736      </ul>
3737    </li>
3738
3739    <li>make the graphic dirty upon resize or clear, fixing some
3740    missing refreshes (patch by Ross Combs)</li>
3741
3742    <li>fixes scrolling to use user coordinates and move in the
3743    correct direction (patch by Ross Combs)</li>
3744
3745    <li>several fixes/improvements for ReGIS whitespace and
3746    page-handling (patch by Ross Combs).</li>
3747  </ul>
3748
3749  <h1><a name="xterm_318" id="xterm_318">Patch #318 -
3750  2015/04/12</a></h1>
3751
3752  <ul>
3753    <li>rename new(er) configure option
3754    <code>--enable-initial-erase</code> to
3755    <code>--enable-pty-erase</code>, since that conflicted with an
3756    existing option (report by Jens Schweikhardt).</li>
3757
3758    <li>fix cut/paste error in <code>--with-builtin-xpms</code>
3759    configure option (reports by Jens Schweikhardt, Ross
3760    Combs).</li>
3761
3762    <li>fix minor formatting issue in xterm manual (report by Jens
3763    Schweikhardt).</li>
3764
3765    <li>eliminate unnecessary "#(vi" markers in autoconf macros by
3766    using "(" to begin case-statement cases (suggested by Jens
3767    Schweikhardt).</li>
3768
3769    <li>minor fixes to improve <code>const</code> usage (Ross
3770    Combs).</li>
3771  </ul>
3772
3773  <h1><a name="xterm_317" id="xterm_317">Patch #317 -
3774  2015/03/27</a></h1>
3775
3776  <ul>
3777    <li>adapt example for <code>exec-formatted</code> from <a href=
3778    "http://lukas.zapletalovi.com/2013/07/hidden-gems-of-xterm.html">
3779    Luk&aacute;&scaron; Zapletal's</a> webpage to manual (Debian
3780    #780008).</li>
3781
3782    <li>add a short usage section to the xterm manual, including
3783    notes on setting the window title (Debian #742477).</li>
3784
3785    <li>revise a change made to <code>ICH</code> in <a href=
3786    "#xterm_314">patch #314</a> to address limit-checks
3787    (reports/testcases by Zolt&aacute;n K&eacute;ri and Joe
3788    Peterson, also reported by Christian Weisgerber).</li>
3789  </ul>
3790
3791  <h1><a name="xterm_316" id="xterm_316">Patch #316 -
3792  2015/03/07</a></h1>
3793
3794  <ul>
3795    <li>revert change to make <code>DCH</code> honor top/bottom
3796    scrolling margins. For the record, both the VT420 and VT520
3797    reference manuals incorrectly state that <em>"DCH has no effect
3798    outside the scrolling margins."</em></li>
3799
3800    <li>fix regression in <code>DCH</code> introduced in adjustment
3801    for limit-check in <a href="#xterm_314">patch #315</a>
3802    (report/testcase by Zolt&aacute;n K&eacute;ri, also reported by
3803    Christian Weisgerber).</li>
3804
3805    <li>correct default value for configure option
3806    <code>--enable-initial-erase</code>; it should be "False", but
3807    in <a href="#xterm_315">patch #315</a> it was "Maybe", which
3808    differed from default set in <a href="#xterm_192">patch
3809    #192</a>.</li>
3810  </ul>
3811
3812  <h1><a name="xterm_315" id="xterm_315">Patch #315 -
3813  2015/03/02</a></h1>
3814
3815  <ul>
3816    <li>change default for <code>--enable-narrowproto</code> for
3817    Cygwin to "no" to better match contemporary configurations
3818    (report by Jens Schweikhardt, prompted by <a href=
3819    "http://stackoverflow.com/questions/28137618/what-is-a-narrow-prototype-and-why-would-i-need-one/28334574?noredirect=1#comment45022128_28334574">
3820    discussion</a>).</li>
3821
3822    <li>provide <code>OSC&nbsp;106</code> as an alternative to
3823    <code>OSC&nbsp;6</code>, avoiding conflict with one of
3824    Terminal.app's undocumented escape sequences (report by Egmont
3825    Koblinger).</li>
3826
3827    <li>fix an off-by-one in comparison when autowrap and
3828    left/right margins are combined (report by George
3829    Nachman).</li>
3830
3831    <li>modify <code>DECBI</code> and <code>DECFI</code> to work
3832    outside the left/right margins, since the vague VT520 reference
3833    manual could support that interpretation (suggested by George
3834    Nachman).</li>
3835
3836    <li>correct response for <code>DECSCUSR</code> in
3837    <code>DECRQSS</code> (report/analysis by George Nachman).</li>
3838
3839    <li>add <code>DECSLRM</code> to list for <code>DECRQSS</code>
3840    in ctlseqs.ms (report by George Nachman).</li>
3841
3842    <li>improve limit-checks versus assert's in the debugging
3843    version (reports by George Nachman).</li>
3844
3845    <li>correct a problem with multiple writes to the right-margin
3846    when autowrap is turned off (report by George Nachman, also
3847    reported in Gnome #744819 by Ulf Magnusson).</li>
3848
3849    <li>modify <code>DCH</code> to honor top/bottom and left/right
3850    margins (report by George Nachman).</li>
3851
3852    <li>correct off-by-one in comparison so that <code>DL</code>
3853    honors left/right margins (report by George Nachman).</li>
3854
3855    <li>correct logic of <code>DECSCL</code>, which always set
3856    8-bit controls as a side-effect (report by George
3857    Nachman).</li>
3858
3859    <li>correct loop limit for <code>DECSED&nbsp;1</code>, when
3860    <code>DECSCA</code> is enabled (report by George Nachman).</li>
3861
3862    <li>fix a entry in csi_table for &ldquo;<code>$</code>&rdquo;,
3863    needed for <code><em>CSI</em>&nbsp;[&nbsp;$&nbsp;z</code>
3864    (report by George Nachman).</li>
3865
3866    <li>remove restriction from <a href="#xterm_279">patch #279</a>
3867    changes on <code>DECIC</code> and <code>DECDC</code> to
3868    left-right mode (report by George Nachman).</li>
3869
3870    <li>correct PID value returned in response to DECRQCRA
3871    (report/analysis by George Nachman).</li>
3872
3873    <li>fix an ifdef'ing problem, where
3874    <code>--disable-dec-locator</code> would turn off logic needed
3875    for <code>DECIC</code> and <code>DECDC</code> (report by George
3876    Nachman).</li>
3877
3878    <li>correct order of parameters in report for
3879    <code><em>CSI</em>&nbsp;1&nbsp;9&nbsp;t</code>, which gives the
3880    screensize in characters (report by George Nachman).</li>
3881
3882    <li>add null pointer checks for a case in DECCRA where part of
3883    the target rectangle lies outside the screen limits (report by
3884    George Nachman).</li>
3885
3886    <li>remove extra "6" for selective erase from DA1 response
3887    (report by George Nachman).</li>
3888
3889    <li>support Xinerama screen specification in geometry parsing
3890    (patch by Nicolas George).</li>
3891
3892    <li>add configure option <code>--enable-initial-erase</code> to
3893    set <code>ptyInitialErase</code> consistently with manpage, as
3894    well as adding a table in manpage to clarify the relationship
3895    between the resources related to the backarrow key (Debian
3896    #775952).</li>
3897
3898    <li>add configure <code>--enable-builtin-xpms</code> to
3899    simplify compiling-in the icons introduced in <a href=
3900    "#xterm_284">patch #284</a> (prompted by discussion with
3901    William Bulley).</li>
3902
3903    <li>fix/improve autoconf macros:
3904      <ul>
3905        <li>CF_WITH_APP_DEFAULTS, add paths for OSX</li>
3906
3907        <li>CF_WITH_MAN2HTML, configure option "--with-man2html"
3908        provides "man2html" as alternative to groff's man/html
3909        conversion</li>
3910      </ul>
3911    </li>
3912
3913    <li>fix some minor issues in manpage (Jens Schweikhardt).</li>
3914  </ul>
3915
3916  <h1><a name="xterm_314" id="xterm_314">Patch #314 -
3917  2014/12/28</a></h1>
3918
3919  <ul>
3920    <li>fix a minor bug in the termcap-specific version of
3921    <code>resize</code> when the lines or columns values are at the
3922    very end of an incomplete termcap string (prompted by coverity
3923    report).</li>
3924
3925    <li>improve paste64 feature (report by Olaf Rogalsky)
3926      <ul>
3927        <li>fix &ldquo;<code>p</code>;&rdquo; command in
3928        <code>paste64.pl</code> example.</li>
3929
3930        <li>modify <code>_OwnSelection</code> to allow the paste64
3931        control to cause primary/clipboard selections to be
3932        disowned and cleared.</li>
3933
3934        <li>omit an extra "=" used in padding, to make the base64
3935        response a multiple of four characters.</li>
3936
3937        <li>modify <code>_ConvertSelectionHelper</code> to not stop
3938        converting on embedded nulls in the primary or clipboard
3939        selection. That makes the behavior consistent with
3940        cut-buffers. Nulls are not passed on to the application
3941        because they are used for separators in the X library calls
3942        that convert <code>XTextProperty</code> values.</li>
3943      </ul>
3944    </li>
3945
3946    <li>add configure option <code>--with-man2html</code> to allow
3947    an alternative to groff's man/html conversion.</li>
3948
3949    <li>review and modify resource-settings which can be set via
3950    control sequences, etc:
3951      <ul>
3952        <li>add <code>OSC&nbsp;6</code>, to enable/disable colors
3953        set via <code>OSC&nbsp;5</code>, without changing the color
3954        assignments (prompted by patch by Ingo Br&uuml;ckl).</li>
3955
3956        <li>add command-line option <code>-itc</code> for
3957        italics.</li>
3958
3959        <li>add <code>colorIT</code> and <code>colorITMode</code>
3960        for italics, like <code>colorBD</code>, etc.</li>
3961
3962        <li>guard <code>allowPasteControls</code> against
3963        modification by <code>editres</code>.</li>
3964      </ul>
3965    </li>
3966
3967    <li>change <code>passedPty</code> from fixed-length to
3968    allocated to ensure that it is long enough to hold the
3969    <code>-S</code> option value (report by Ben Longbons).</li>
3970
3971    <li>improve ReGIS graphics initialization (Ross Combs):
3972      <ul>
3973        <li>add a new string resource to set the default ReGIS
3974        font.</li>
3975
3976        <li>fix a caching problem where the font name wasn't taken
3977        into consideration when looking up cached metrics.</li>
3978
3979        <li>enables use of fractional values in coordinates (which
3980        in turn allows setting the coordinates to something like
3981        [0,1][1,0])</li>
3982
3983        <li>doubles the minimum ReGIS graphic to 200x200</li>
3984
3985        <li>set the default ReGIS image size to "auto"</li>
3986
3987        <li>fix some swapped width/height parameters in TRACE
3988        messages</li>
3989
3990        <li>add support for scaling and mirrored coordinate systems
3991        to the screen address command</li>
3992
3993        <li>sets a minimum ReGIS graphics size of 100x100 --
3994        smaller address ranges will be scaled up</li>
3995
3996        <li>reset the image if either the width or height is zero
3997        (which should happen together or not at all, but switching
3998        the logic gets rid of some parentheses)</li>
3999
4000        <li>adds support for alternate screen coordinates (just
4001        offsets, not inverted coordinates or scaling)</li>
4002
4003        <li>keeps the graphics state across ReGIS calls unless P1
4004        or P3 entry codes are used</li>
4005
4006        <li>changes loops to continue after parsing whitespace to
4007        allow trailing whitespace</li>
4008
4009        <li>fixes some incorrect character casts</li>
4010      </ul>
4011    </li>
4012  </ul>
4013
4014  <h1><a name="xterm_313" id="xterm_313">Patch #313 -
4015  2014/11/28</a></h1>
4016
4017  <ul>
4018    <li>add <code>regisScreenSize</code> resource setting to allow
4019    custom screensizes for ReGIS graphics (prompted by discussion
4020    with Scott Froebe).</li>
4021
4022    <li>fix some minor issues in manpage (Jens Schweikhardt).</li>
4023
4024    <li>improve ReGIS font-handling (Ross Combs):
4025      <ul>
4026        <li>remove "random junk" generation for unknown
4027        characters</li>
4028
4029        <li>add xterm extension to load user glyphs for alphabet
4030        0</li>
4031
4032        <li>add xterm extension to specify loading an alphabet from
4033        a font by name</li>
4034
4035        <li>fix bug with use of empty alphabet slots which caused
4036        slot 0 to be clobbered</li>
4037
4038        <li>update/clarify ReGIS-related comments</li>
4039
4040        <li>add DECprint extension for printing/clearing the screen
4041        (only clearing is performed)</li>
4042      </ul>
4043    </li>
4044
4045    <li>improve ReGIS colorspec conversion (Ross Combs):
4046      <ul>
4047        <li>avoid some floating point math for colorspace
4048        conversion</li>
4049
4050        <li>move two copies of colorspec parsing to a single
4051        function</li>
4052
4053        <li>change colorspec parsing to handle components being out
4054        of order or with spaces and commas between them</li>
4055
4056        <li>add support for an extension where RGB components can
4057        be given instead of HLS</li>
4058      </ul>
4059    </li>
4060
4061    <li>improve use of const, e.g., for the <code>LineData</code>
4062    pointers (patch by Ross Combs).</li>
4063
4064    <li>clip of graphics that overlap the scrollback buffer and alt
4065    screen (patch by Ross Combs).</li>
4066
4067    <li>amend change to focus-change events in <a href=
4068    "#xterm_287">patch #287</a> to limit it to suppressing the
4069    reset of the urgency-hint, because some useful
4070    <code>FocusOut</code> events were lost (report by Joe
4071    Peterson).</li>
4072
4073    <li>modify dpkg build-script to configure xterm-dev as an
4074    <code>x-terminal-emulator</code> alternative.</li>
4075
4076    <li>extend the <code>--with-xterm-symlink</code> feature to
4077    make symbolic links for the other programs and scripts.</li>
4078
4079    <li>minor fix to <code>vttests/resize.pl</code> to avoid
4080    undefined variable when receiving broken/missing response,
4081    e.g., from mrxvt.</li>
4082
4083    <li>change the way that ReGIS graphics are refreshed (patch by
4084    Ross Combs):
4085      <ul>
4086        <li>it pre-composes any overlapping graphics to avoid
4087        unnecessary and flickering draws</li>
4088
4089        <li>it adds a three-dimensional lookup table for RGB -&gt;
4090        pixel values and uses this across all graphics</li>
4091
4092        <li>it draws in line segments when there is a run of the
4093        same color</li>
4094
4095        <li>in cases where there are no transparent parts, it uses
4096        an XImage to draw</li>
4097
4098        <li>it hooks into the double-buffering support if it is
4099        enabled (though this doesn't seem to get rid of all
4100        flicker).</li>
4101      </ul>
4102      This has the effect of reducing flicker and speeding up
4103      redraws.
4104    </li>
4105  </ul>
4106
4107  <h1><a name="xterm_312" id="xterm_312">Patch #312 -
4108  2014/09/28</a></h1>
4109
4110  <ul>
4111    <li>undo change to <code>do_select_regex()</code> in <a href=
4112    "#xterm_311">patch #311</a> (reports by H Merijn Brand,
4113    Sven-Haegar Koch, Debian #762978).</li>
4114  </ul>
4115
4116  <h1><a name="xterm_311" id="xterm_311">Patch #311 -
4117  2014/09/18</a></h1>
4118
4119  <ul>
4120    <li>mention <code>xclip</code> in manpage as an alternative
4121    workaround for copying clipboard data, noting that
4122    <code>selectToClipboard</code> (see <a href="#xterm_209">patch
4123    #209</a>) is the recommended approach (Debian #639094).</li>
4124
4125    <li>correct comparison in do_select_regex() of working position
4126    against starting column.</li>
4127
4128    <li>correct initialization for regular-expression feature of
4129    <code>exec-selectable</code> and <code>insert-selectable</code>
4130    actions (Debian #758633).</li>
4131
4132    <li>modify logic for <code>exec-formatted</code> and
4133    <code>insert-formatted</code> actions to ensure that the
4134    formatting occurs just after the selection is received (Debian
4135    #758633).</li>
4136
4137    <li>account for state of reverse-video in special case of
4138    cursor coloring (Debian #759734).</li>
4139
4140    <li>fix a sign-extension problem in ReGIS support, as well as
4141    correcting a case where ignored-characters were not really
4142    ignored (patch by Ross Combs).</li>
4143
4144    <li>Enable the "Escape Sequence" menu entry when an OSC&nbsp;50
4145    is received. Also disable it if the escape sequence specifies
4146    no font (Debian #760208).</li>
4147
4148    <li>improve fix for the <code>fontsel</code> menu entry from
4149    <a href="#xterm_304">patch #304</a>: because the recovery used
4150    the "current font", it would fail if one first selected a valid
4151    font, then an invalid font (Debian #760207).</li>
4152
4153    <li>correct an off-by-one in limit-check for
4154    <code>ScrnLimitChar</code> function (report by Egmont
4155    Koblinger).</li>
4156  </ul>
4157
4158  <h1><a name="xterm_310" id="xterm_310">Patch #310 -
4159  2014/07/25</a></h1>
4160
4161  <ul>
4162    <li>update package/freebsd files based on xterm #309 port.</li>
4163
4164    <li>adapt changes from Minux3.2 which ported <a href=
4165    "#xterm_197">xterm #197</a>, to allow building on that platform
4166    both using <code>imake</code> as well as using the configure
4167    script.</li>
4168
4169    <li>update precompose.c based on Unicode 7.0</li>
4170
4171    <li>build-fix for <code>--with-Xaw3dxft</code> option (report
4172    by Emanuel Haupt).</li>
4173  </ul>
4174
4175  <h1><a name="xterm_309" id="xterm_309">Patch #309 -
4176  2014/07/13</a></h1>
4177
4178  <ul>
4179    <li>modify configure script to work around debris left by
4180    XQuartz upgrades.</li>
4181
4182    <li>modify test-package scripts to enable ReGIS graphics.</li>
4183
4184    <li>improvements/additions to ReGIS graphics, e.g., drawing
4185    text (Ross Combs).</li>
4186
4187    <li>add <code>--with-Xaw3dxft</code>, to link with Xaw 3d xft
4188    library (Stephen P Wall).</li>
4189
4190    <li>amend reset for cursor-shape to take into account
4191    <code>cursorUnderline</code> resource (report by Christian
4192    Weisgerber).</li>
4193
4194    <li>update config.guess, config.sub</li>
4195  </ul>
4196
4197  <h1><a name="xterm_308" id="xterm_308">Patch #308 -
4198  2014/06/19</a></h1>
4199
4200  <ul>
4201    <li>corrected font used for clipping double-width bitmap fonts
4202    from <a href="#xterm_307">patch #307</a> changes to work around
4203    mis-scaled fonts (Debian #752947).</li>
4204
4205    <li>improve wording of a warning message.</li>
4206  </ul>
4207
4208  <h1><a name="xterm_307" id="xterm_307">Patch #307 -
4209  2014/06/17</a></h1>
4210
4211  <ul>
4212    <li>fill background for top/bottom parts of
4213    double-width/double-height characters, to cover occasional gaps
4214    due to bitmap font-scaling (report by Egmont Koblinger).</li>
4215
4216    <li>amend resets for keyboard-type, pointer-mode and
4217    title-modes from <a href="#xterm_305">xterm #305</a> changes to
4218    account for resource settings (Debian #751351).</li>
4219
4220    <li>modify <em>printAttributes</em> feature to include new SGR
4221    codes.</li>
4222
4223    <li>modify cursor show/hide logic to work with italic
4224    fonts.</li>
4225
4226    <li>do clipping and filling for a case with bitmap-fonts and
4227    italics when the font server returns only a "close" match
4228    (report/testcase by Egmont Koblinger).</li>
4229
4230    <li>adjust loop comparison for underlining to display
4231    underlines on 5x8 font as in <a href="#xterm_304">patch
4232    #304</a> (Debian #750733).</li>
4233
4234    <li>amend fix for Freedesktop #15979 (Debian #750733).</li>
4235
4236    <li>amend xterm.appdata.xml, making it validate with current
4237    schema.</li>
4238  </ul>
4239
4240  <h1><a name="xterm_306" id="xterm_306">Patch #306 -
4241  2014/06/03</a></h1>
4242
4243  <ul>
4244    <li>fixes for display-errors in new SGR codes (report by Egmont
4245    Koblinger).</li>
4246  </ul>
4247
4248  <h1><a name="xterm_305" id="xterm_305">Patch #305 -
4249  2014/06/02</a></h1>
4250
4251  <ul>
4252    <li>add <code>xterm.appdata.xml</code> (request by Richard
4253    Hughes). By the way, none of the <em>released</em> validators
4254    yet handle <code>&lt;licence&gt;</code> tags (or
4255    <code>&lt;metadata_license&gt;</code>, etc).</li>
4256
4257    <li>fix memory leaks in bitmap font-name caching.</li>
4258
4259    <li>other changes to hard-reset behavior:
4260      <ul>
4261        <li>reset keyboard-type on hard-reset.</li>
4262
4263        <li>reset pointer-mode (<code>pointerMode</code>) on
4264        hard-reset</li>
4265
4266        <li>reset title-modes (<code>titleModes</code>) on
4267        hard-reset</li>
4268
4269        <li>reset cursor-shape on hard or soft-reset</li>
4270
4271        <li>reset LEDs on hard-reset.</li>
4272
4273        <li>reset DECSACE on hard-reset.</li>
4274      </ul>
4275    </li>
4276
4277    <li>reset bracketed-paste mode on hard-reset (suggested by
4278    Egmont Koblinger).</li>
4279
4280    <li>modify UTF-8 decoder to account for
4281    <code>allowC1Printable</code> resource.</li>
4282
4283    <li>revise <code>getXftColor</code> to ensure that its sequence
4284    number will not overflow in long-running sessions.</li>
4285
4286    <li>minor fix to selection to prevent hidden character from
4287    being returned in selection data (report by Egmont
4288    Koblinger).</li>
4289
4290    <li>add <code>-sh</code> to help-message.</li>
4291
4292    <li>amend check for incomplete fonts to always decide that a
4293    character is missing if the font lacks per-character metrics
4294    (prompted by Freedesktop #15979).</li>
4295
4296    <li>minor reorganization to implement &ldquo;filler&rdquo; SGR
4297    features. There are no established applications which rely upon
4298    these; some people find them amusing.
4299      <ul>
4300        <li>separate bits used to manage drawing state from
4301        attribute-bits.</li>
4302
4303        <li>implement SGR codes 2, 3, 9, 21 and their corresponding
4304        resets.</li>
4305
4306        <li>add configure option <code>--disable-wide-attrs</code>
4307        to disable the feature.</li>
4308      </ul>
4309    </li>
4310
4311    <li>additional changes for ReGIS support (Ross Combs):
4312      <ul>
4313        <li>fix some arc drawing bugs and add support for pattern
4314        shading.</li>
4315      </ul>
4316    </li>
4317  </ul>
4318
4319  <h1><a name="xterm_304" id="xterm_304">Patch #304 -
4320  2014/05/03</a></h1>
4321
4322  <ul>
4323    <li>add debugging check for parsing table entries, fixed a few
4324    inconsistencies.</li>
4325
4326    <li>handle utmp/utmpx strings consistently with new function
4327    that null-pads unused locations.</li>
4328
4329    <li>build-fix for imake configuration with FreeBSD 9 and later,
4330    to account for replacing <code>utmp</code> with
4331    <code>utmpx</code>.</li>
4332
4333    <li>improve handling of the <code>fontsel</code>
4334    (font-selection) menu item:
4335      <ul>
4336        <li>initialize the menu entry differently if the toolbar
4337        configuration is used, i.e., enabling it without attempting
4338        to use the current selection as a font name. Because of the
4339        way in which the toolbar is setup, this attempt usually
4340        failed, and would result in a warning.</li>
4341
4342        <li>if the menu action fails, e.g., no font can be loaded
4343        for the given selected name, then recover by resuming with
4344        the current font. Before, the recovery went to the default
4345        font. That was done to work around missing bitmap font in
4346        <a href="#xterm_276">patch #276</a>.</li>
4347      </ul>
4348    </li>
4349
4350    <li>document OSC&nbsp;119 in the control sequences listing
4351    (report by Egmont Koblinger).</li>
4352
4353    <li>modify special handling of <code>XF86Paste</code> or
4354    <code>SunPaste</code> keysyms (see <a href="#xterm_227">patch
4355    #227</a>) to use the standard shift/lock modifiers in case
4356    those are, for example, used in level 3 in an XKB file (patch
4357    by Matthieu Herrb).</li>
4358
4359    <li>configure macro updates:
4360      <ul>
4361        <li>drop the <code>-no-gcc</code> option from
4362        CF_INTEL_COMPILER</li>
4363
4364        <li>modify CF_XOPEN_SOURCE to suppress the check for
4365        defining _XOPEN_SOURCE on Solaris</li>
4366      </ul>
4367    </li>
4368
4369    <li>reduce bss storage used for ReGIS/Sixel modules, as well as
4370    cleanup storage usage in other modules.</li>
4371
4372    <li>initial changes for ReGIS support (Ross Combs):
4373      <ul>
4374        <li>document control-sequences</li>
4375
4376        <li>separate ifdef's for sixel and color-register
4377        features</li>
4378
4379        <li>add configuration for VT382</li>
4380      </ul>
4381    </li>
4382  </ul>
4383
4384  <h1><a name="xterm_303" id="xterm_303">Patch #303 -
4385  2014/03/06</a></h1>
4386
4387  <ul>
4388    <li>improve check for <code>/etc/shells</code> to allow its
4389    entries to be symbolic links.</li>
4390
4391    <li>fix a regression in <a href="#xterm_302">patch #302</a>
4392    fixes relating to interaction of <code>SHELL</code> and
4393    <code>XTERM_SHELL</code> variables (Debian #740919).</li>
4394
4395    <li>improve manpage discussion of use of
4396    <code>/etc/shells</code> for validating the <code>SHELL</code>
4397    environment variable.</li>
4398
4399    <li>further improve the approximation for color map by ignoring
4400    bits which would not be applied by the rgb masks for the
4401    current visual (report by Joe Peterson).</li>
4402
4403    <li>add <code>-report-colors</code> to usage-message (report by
4404    Joe Peterson).</li>
4405  </ul>
4406
4407  <h1><a name="xterm_302" id="xterm_302">Patch #302 -
4408  2014/03/02</a></h1>
4409
4410  <ul>
4411    <li>amend approximation for color map introduced in <a href=
4412    "#xterm_277">patch #277</a> to make that apply only to
4413    <code>TrueColor</code> (adapted from patch by Joe
4414    Peterson).</li>
4415
4416    <li>add <code>-report-colors</code> option, to show colors as
4417    they are allocated.</li>
4418
4419    <li>fix some gcc <code>-Wcast-qual</code> warnings.</li>
4420
4421    <li>correct app-defaults location for CentOS-4 in
4422    xterm.spec</li>
4423
4424    <li>improve check in <code>minstall.sh</code> for X manpage's
4425    section number; add sample dependencies for the relevant
4426    documentation package to packaging test-scripts (prompted by
4427    Novell #779474).</li>
4428
4429    <li>modify sample build-scripts for dpkg and rpm to ensure that
4430    <code>vttests</code> scripts are uncompressed and
4431    executable.</li>
4432
4433    <li>modify Perl scripts in <code>vttests</code> to use
4434    <code>env</code> to find Perl rather than relying on
4435    <code>/usr/bin/perl</code> This makes the sample scripts usable
4436    with NetBSD and other systems using <em>pkgsrc</em>.</li>
4437
4438    <li>amend check from <a href="#xterm_301">patch #301</a> for
4439    valid shell to permit existing <code>SHELL</code> value to
4440    specify the shell; clarify the behavior in the manpage (report
4441    by Emmanuel Thom&eacute;).</li>
4442
4443    <li>amend change to wide-character processing from <a href=
4444    "#xterm_257">patch #257</a> to allow switching to/from UTF-8
4445    encoding if the <code>utf8</code> resource was not set to
4446    &ldquo;always&rdquo; (report by Honza Maly).</li>
4447
4448    <li>fix incorrect free from <a href="#xterm_301">patch #301</a>
4449    changes, if explicit program without <code>-e</code> option is
4450    a valid shell (patch by Romain Francoise).</li>
4451  </ul>
4452
4453  <h1><a name="xterm_301" id="xterm_301">Patch #301 -
4454  2014/01/19</a></h1>
4455
4456  <ul>
4457    <li>OSC&nbsp;104 and 105 did not accept parameter to reset a
4458    specific color (patch by Egmont Koblinger).</li>
4459
4460    <li>add configure check for <code>initgroups</code>, and use
4461    that function to complement its use of <code>setgid</code>
4462    (prompted by patch by Miroslav Lichvar).</li>
4463
4464    <li>improve manpage description of scrollbar translations
4465    versus the vt100 translations (Debian #723573).</li>
4466
4467    <li>add a few paragraphs to manpage explaining the implications
4468    of xterm's reliance on X Toolkit for command-line parsing.</li>
4469
4470    <li>modify cursor-theme logic to check if the environment
4471    variable <code>XCURSOR_THEME</code> is set to a nonempty value
4472    before constructing a dummy them (prompted by similar check
4473    added in OpenBSD CVS).</li>
4474
4475    <li>add check for a case where TrueType bold font is missing a
4476    glyph where the non-bold font has it. Temporarily switch to the
4477    non-bold font to draw the glyph (report by David
4478    Demelier).</li>
4479
4480    <li>minor documentation fixes for ctlseqs.ms</li>
4481
4482    <li>only set <code>SHELL</code> environment variable to
4483    programs found in <code>/etc/shells</code> (prompted by
4484    patch/report by Al Poole).</li>
4485
4486    <li>build-fix, when <code>--disable-wide-chars</code>
4487    <code>--disable-boxchar</code> is used (prompted by patch by
4488    Andrey Panov).</li>
4489  </ul>
4490
4491  <h1><a name="xterm_300" id="xterm_300">Patch #300 -
4492  2013/12/03</a></h1>
4493
4494  <ul>
4495    <li>amend workaround for <code>Xcursor</code> library from
4496    <a href="#xterm_298">patch #298</a>; the suggested solution for
4497    Debian #466704 fell afoul of a bug in <code>Xcursor</code>
4498    which treated an empty value for <code>Inherits=</code> as a
4499    valid theme&mdash;and resulted in a stack overflow due to
4500    unbounded recursion. Certain environments such as XFCE4 exposed
4501    the bug. A related report in Debian #531679 was closed without
4502    following the recommendation to limit stack recursion in this
4503    library (reported by Sergey V Dyatko, Debian #731269).</li>
4504  </ul>
4505
4506  <h1><a name="xterm_299" id="xterm_299">Patch #299 -
4507  2013/12/01</a></h1>
4508
4509  <ul>
4510    <li>fix regression in line-drawing from <a href=
4511    "#xterm_297">patch #297</a> changes for NRCS exposed by change
4512    to <code>assumeAllChars</code> resource in <a href=
4513    "#xterm_298">patch #298</a> (report by Markus Waldeck).</li>
4514  </ul>
4515
4516  <h1><a name="xterm_298" id="xterm_298">Patch #298 -
4517  2013/11/27</a></h1>
4518
4519  <ul>
4520    <li>quiet a warning about ambiguity when <code>-h</code>
4521    command-line option is parsed, since <code>-help</code> is used
4522    rather than the options mentioned in the message. This warning
4523    was caused by fixes in <a href="#xterm_272">patch
4524    #272</a>.</li>
4525
4526    <li>remove an extra check for keypad-mode which interfered with
4527    the <a href="#xterm_280">patch #280</a>
4528    <code>modifyKeyboard</code> feature for the numeric keypad
4529    (report by David Conners).</li>
4530
4531    <li>change default for <code>assumeAllChars</code> resource
4532    (Debian #725682). There are unresolved issues with Terminus
4533    fonts, e.g., Debian #722017.</li>
4534
4535    <li>add <code>-report-fonts</code> command-line option and
4536    <code>reportFonts</code> resource to optionally report the
4537    fonts which are loaded, and their metrics such as the number of
4538    missing glyphs.</li>
4539
4540    <li>work around <code>Xcursor</code> library to make
4541    <code>pointerColor</code> resource work as documented (Debian
4542    #466704, analysis by Vincent Lef&egrave;vre).</li>
4543
4544    <li>amend change from <a href="#xterm_297">patch #297</a> for
4545    ASCII-equivalents to ensure that missing characters which
4546    happen to be double-width are padded to the expected number of
4547    columns. Also, correct the choice between normal/wide Xft fonts
4548    used when checking for missing characters (reported by WU Yue,
4549    Debian #728949, Gentoo #491334).</li>
4550
4551    <li>modify sixel-graphics drawing to account for scrollbar
4552    width (report by Mario Edelmann).</li>
4553
4554    <li>fix remaining issue with <code>DECNRCM</code>; the British
4555    character set was confused with ISO Latin-1 (report by Hayaki
4556    Saito).</li>
4557
4558    <li>build-fix for <code>--disable-boxchars</code> configure
4559    option.</li>
4560
4561    <li>updated configure macros, from ongoing work on lynx and
4562    ncurses.</li>
4563
4564    <li>update config.guess, config.sub</li>
4565  </ul>
4566
4567  <h1><a name="xterm_297" id="xterm_297">Patch #297 -
4568  2013/09/10</a></h1>
4569
4570  <ul>
4571    <li>modify check for missing cells in bitmap font to work
4572    around terminus 10646 encoding, which is mostly missing, add
4573    <code>assumeAllChars</code> resource to provide the older
4574    behavior.</li>
4575
4576    <li>modify macros used to check for missing cells in bitmap
4577    fonts to pick up a long-overlooked improvement made to xfd in
4578    XFree86.</li>
4579
4580    <li>improve workaround for groff versus ASCII-equivalents;
4581    <a href="#xterm_185">patch #185</a> had overlooked Xft
4582    configuration (reported by anonymous user on Arch Linux
4583    forum).</li>
4584
4585    <li>review/extend <code>DECNRCM</code> support (prompted by
4586    report by Hayaki Saito asking about the two "A" codes).
4587      <ul>
4588        <li>make pasting of DECNRCM data work by translating the
4589        pasted data into the selected encoding.</li>
4590
4591        <li>limit mode changes to VT220 and up.</li>
4592
4593        <li>ignore SCS for National Replacement Characters if
4594        <code>DECNRCM</code> is not set.</li>
4595
4596        <li>add tables and logic to decode SCS controls ending with
4597        "%" and one additional character. This expects the parsing
4598        of SCS to VT320.</li>
4599
4600        <li>also added parsing for SCS of DEC Supplemental and DEC
4601        Technical, which are for VT2xx and VT3xx respectively.</li>
4602
4603        <li>implement VT220 Multinational character set "GR" aka
4604        "DEC Supplemental Graphic".</li>
4605
4606        <li>DEC Technical character set based on <a href=
4607        "http://www.vt100.net/charsets/technical.html">vt100.net
4608        description</a>.</li>
4609
4610        <li>implement Portuguese NRC.</li>
4611
4612        <li>provide for temporarily switching to/from NRC mode from
4613        UTF-8 mode when <code>DECNRCM</code> is set or reset.</li>
4614      </ul>
4615    </li>
4616
4617    <li>minor fix to assert's found while testing examples from
4618    <a href="https://gist.github.com/ttdoda">ttdoda's
4619    slrm-test1.txt</a>.</li>
4620
4621    <li>modify <code>DECLRMM</code> to not update the cursor
4622    position (report by Iwamoto Kouichi forwarded by Hayaki
4623    Saito).</li>
4624
4625    <li>modify cursor-position report to take origin-mode into
4626    account (report by Hayaki Saito, see also <a href=
4627    "https://github.com/gnachman/iTerm2/pull/129">iTerm2 pull
4628    request 129</a>).</li>
4629
4630    <li>correct off-by-one comparison in when handling
4631    carriage-return at left margin (patch by Iwamoto Kouichi,
4632    forwarded by Hayaki Saito).</li>
4633
4634    <li>improve handling of <code>faceName</code> resource when a
4635    "size=" property is embedded in it, by using that size to
4636    replace the default <code>faceSize</code> resource. This lets
4637    xterm honor the other faceSize resources (report by Jens
4638    Schweikhardt).</li>
4639
4640    <li>improve OSC&nbsp;52 selection-data by setting its timestamp
4641    to correspond to the most-recent event received by xterm, to
4642    ensure that calls to <code>XtOwnSelect</code> succeed even if
4643    the selection is manipulated solely through the keyboard
4644    (prompted by patch by Richard Tollerton).</li>
4645
4646    <li>change configure-script defaults for "luit" and
4647    "wide-chars" options to match the values used in the imake
4648    configuration, to lessen user surprise if they are accustomed
4649    to building xterm using imake(report by Andries E
4650    Brouwer).</li>
4651
4652    <li>improve the imake-related configuration's check if xterm is
4653    started in a locale that uses UTF-8 encoding. Before, this
4654    checked the locale settings only for "UTF-8", now it checks
4655    ignoring case for "UTF-8" and "UTF-8" (report by Andries E
4656    Brouwer).</li>
4657  </ul>
4658
4659  <h1><a name="xterm_296" id="xterm_296">Patch #296 -
4660  2013/07/10</a></h1>
4661
4662  <ul>
4663    <li>improve experimental sixel feature (Ross Combs).</li>
4664
4665    <li>modify delimiter in configure macro used to add a library
4666    after a given library to avoid confusion with <code>-Wl</code>
4667    pass-through options to linker (NetBSD #48031).</li>
4668
4669    <li>fix quoting in expression used to trim extra libraries from
4670    <a href="#xterm_295">patch #295</a> changes (report by Thomas
4671    Klausner).</li>
4672  </ul>
4673
4674  <h1><a name="xterm_295" id="xterm_295">Patch #295 -
4675  2013/07/06</a></h1>
4676
4677  <ul>
4678    <li>adjust order of libraries to work around incomplete symbol
4679    resolution when using <code>--as-needed</code> option
4680    (ArchLinux #36047).</li>
4681
4682    <li>minor fix for <code>plink.sh</code>, for IRIX64.</li>
4683  </ul>
4684
4685  <h1><a name="xterm_294" id="xterm_294">Patch #294 -
4686  2013/07/05</a></h1>
4687
4688  <ul>
4689    <li>add note in ctlseqs.ms for CPR response pointing out a
4690    potential point of confusion with the string sent by a modified
4691    F1 key (suggested by Bram Moolenaar).</li>
4692
4693    <li>improve <code>plink.sh</code> by checking if the linker
4694    supports the <code>--as-needed</code> option (suggested by
4695    David Philippi).</li>
4696
4697    <li>improve clearing for private mode 1049 when switching to
4698    the alternate screen (Debian #711758).</li>
4699
4700    <li>amend fix from <a href="#xterm_292">patch #292</a> by
4701    removing now-unneeded chunk which introduced problem in
4702    selection (Debian #714527).</li>
4703
4704    <li>add definition to optionally override compiled-in class for
4705    xterm from makefile, needed for test-packages.</li>
4706
4707    <li>add configure option
4708    <code>--enable-sixel-graphics</code></li>
4709
4710    <li>add experimental support for sixel graphics (Ross
4711    Combs).</li>
4712  </ul>
4713
4714  <h1><a name="xterm_293" id="xterm_293">Patch #293 -
4715  2013/05/27</a></h1>
4716
4717  <ul>
4718    <li>modify sample xterm.spec to use newer icon</li>
4719
4720    <li>add configure option <code>--with-icon-symlink</code> to
4721    work around systems which map icon requests for to a single
4722    "xterm" icon, but neglect to install the icon needed for window
4723    decorations (report by H Merijn Brand).</li>
4724
4725    <li>improve parameterizing of sample xterm.spec</li>
4726
4727    <li>amend fix for printer from <a href="#xterm_280">patch
4728    #280</a>, removing a reset of the signal handler for
4729    <code>SIGCHLD</code> (report by Joe Julian).</li>
4730
4731    <li>set environment variable <code>XTERM_FILTER</code> if a
4732    locale-filter is used.</li>
4733
4734    <li>enable <code>DEBUG</code> logic when
4735    <code>--enable-trace</code> configure option is given.</li>
4736
4737    <li>improve description of <code>initialFont</code>,
4738    <code>set-vt-font</code> and <code>set-tex-text</code> in
4739    manpage (Debian #707899).</li>
4740
4741    <li>fix regression from <a href="#xterm_292">patch #292</a>;
4742    selecting a word that ended at the right margin without
4743    wrapping would not select the last cell (report by Christian
4744    Weisgerber).</li>
4745  </ul>
4746
4747  <h1><a name="xterm_292" id="xterm_292">Patch #292 -
4748  2013/04/25</a></h1>
4749
4750  <ul>
4751    <li>add limit-check when double-click selects a word; if the
4752    saved-lines were scrolled back and the word selected wrapped at
4753    the screen's lower right corner, an assertion was triggered
4754    (patch by Taketo Kabe).</li>
4755
4756    <li>correct limit-check in <code>unsaveEditBufLines</code>,
4757    fixing a case where enlarging the terminal size could show a
4758    blank line where there actually is available text (patch by
4759    Bertram Felgenhauer).</li>
4760
4761    <li>add <code>PasteControls</code> feature to
4762    <code>allowWindowOps</code> which by default disallows pasting
4763    control characters other than formatting such as carriage
4764    return (discussion with Hayaki Saito).</li>
4765
4766    <li>fix typo in ctlseqs.ms for DECRQM response (patch by
4767    Emanuele Giaquinta).</li>
4768
4769    <li>update default shown in configure <code>--help</code>
4770    message for <code>--with-terminal-id</code> option (patch by
4771    Andres Perera).</li>
4772
4773    <li>rename script/preprocessor variables used for substituting
4774    the <code>backarrowKey</code> default value for consistency
4775    (patch by Andres Perera).</li>
4776
4777    <li>set umask to 077 before creating debugging-trace
4778    files.</li>
4779
4780    <li>add configure option <code>--disable-openpty</code> to
4781    control whether openpty() may be used in preference to
4782    posix_openpt().</li>
4783
4784    <li>improve workaround from <a href="#xterm_279">patch #279</a>
4785    for BSD systems which do not complete initialization until both
4786    sides of the pseudoterminal are opened, by preferring openpty()
4787    function over posix_openpt() when available (report by
4788    Christian Weisgerber).</li>
4789  </ul>
4790
4791  <h1><a name="xterm_291" id="xterm_291">Patch #291 -
4792  2013/02/26</a></h1>
4793
4794  <ul>
4795    <li>add validity check for xterm widget parameter to
4796    <code>AlternateScroll</code> function, needed to handle wheel
4797    mouse events in the scrollbar area since <a href=
4798    "#xterm_282">patch #282</a> changes which introduced
4799    <code>alternateScroll</code> feature (Redhat #874327).</li>
4800  </ul>
4801
4802  <h1><a name="xterm_290" id="xterm_290">Patch #290 -
4803  2013/02/12</a></h1>
4804
4805  <ul>
4806    <li>revert of <a href="#xterm_282">patch #282</a> change was
4807    incomplete (report by Jim Reisert).</li>
4808
4809    <li>fix typo in manpage (report by Vincent
4810    Lef&egrave;vre).</li>
4811  </ul>
4812
4813  <h1><a name="xterm_289" id="xterm_289">Patch #289 -
4814  2013/02/08</a></h1>
4815
4816  <ul>
4817    <li>revert the <a href="#xterm_282">patch #282</a> change which
4818    restored "lost" text after shrinking/growing the screen size.
4819    If the screen was updated between the two resizing operations,
4820    unexpected text might be shown at the end (report/testcase by
4821    Joe Peterson).</li>
4822
4823    <li>reverse the arrow-keys sent for
4824    <code>alternateScroll</code> to match the usage in browsers
4825    (suggested by Dieter Roelants).</li>
4826
4827    <li>modify mouse reports to consistently indicate motion events
4828    whether or not a button is pressed. Old behavior (since
4829    <a href="#xterm_127">patch #127</a> modified encoding for wheel
4830    mouse) showed only that the button was released if no button
4831    had been pressed (report by Andy Koppe).</li>
4832
4833    <li>correct and improve behavior for SGR 1006 mouse protocol on
4834    button release in any-event mode. Initial implementation in
4835    <a href="#xterm_277">patch #277</a> left internal state showing
4836    the last button pressed when reporting motion events. It now
4837    keeps track of all buttons which have been pressed and
4838    released, showing the lowest remaining button by number in the
4839    response (reports by Hayaki Saito, Andy Koppe).</li>
4840
4841    <li>fix inconsistency between <code>TermColors</code> and
4842    <code>OscTextColors</code> enums which interchanged values for
4843    tektronix cursor color and highlight foreground in control
4844    sequences in <a href="#xterm_225">patch #225</a> (report/patch
4845    by Peder Stray).</li>
4846
4847    <li>fix inconsistent use of noreturn-attribute in
4848    <code>Exit</code> function which interfered with clang
4849    --analyze.</li>
4850
4851    <li>remove incorrect <code>free</code> used in computation of
4852    <code>XTERM_SHELL</code> variable, from Coverity fixes in
4853    <a href="#xterm_288">patch #288</a> (FreeBSD #175782).</li>
4854
4855    <li>add <code>--with-valgrind</code> option to configure script
4856    for consistency with my other programs.</li>
4857
4858    <li>update table of ambiguous width characters in wcwidth.c
4859    based on Unicode 6.2.0</li>
4860
4861    <li>update table of combining characters in wcwidth.c based on
4862    Unicode 6.2.0</li>
4863
4864    <li>update precompose.c based on Unicode 6.2.0</li>
4865  </ul>
4866
4867  <h1><a name="xterm_288" id="xterm_288">Patch #288 -
4868  2013/01/09</a></h1>
4869
4870  <ul>
4871    <li>fix a special case in <code>ShowCursor</code> where the
4872    foreground and background colors of the current position are
4873    the same. In that case, choose the further of the window's
4874    foreground and background colors for the cursor color.</li>
4875
4876    <li>modify <code>alternateScroll</code> feature added in
4877    <a href="#xterm_282">patch #282</a> to use either
4878    <code>CSI</code> or <code>SS3</code> according to the cursor
4879    keys application mode setting, to simplify using it in vi, etc.
4880    (suggested by Dietar Roelants).</li>
4881
4882    <li>revise manpage for <code>resize</code> to clarify the
4883    changes which <code>resize</code> may make to the terminal
4884    settings as well as to the terminal itself.</li>
4885
4886    <li>remove code such as <code>struct ttysize</code>, used for
4887    SunOS 3 and 4.</li>
4888
4889    <li>modify configure script and makefile to check for
4890    <code>groff</code> and suppress groff-specific rules if groff
4891    is not found.</li>
4892
4893    <li>modify ctlseqs.ms and makefile to work around bugs in
4894    <code>grohtml</code> which cause ".png" files to be truncated
4895    when producing html documentation.</li>
4896
4897    <li>modify suffix rules for "make docs" to make the names of
4898    the generated ".png" files predictable, helping to work around
4899    longstanding problems with this feature of groff&mdash;none of
4900    its releases work for <em>all</em> of xterm's tables..</li>
4901
4902    <li>correct typo in ctlseqs.ms for DECIC and DECDC; the
4903    character preceding the final "<code>~</code>" is an ASCII
4904    single-quote "<code>'</code>" rather than a space (report by
4905    Paul LeoNerd Evans).</li>
4906
4907    <li>update CF_GCC_VERSION macro, handling both Debian and
4908    Darwin.</li>
4909
4910    <li>improve configure script checks for the
4911    <code>--with-desktop-category</code> option. After <a href=
4912    "#xterm_280">patch #280</a> changes, if no value was given for
4913    this option, and no existing desktop files found for
4914    comparison, the incorrect "auto" value was passed into the
4915    generated desktop file (report by Julien Cristau).</li>
4916
4917    <li>modify sample build-scripts to disable check for
4918    <code>imake</code> due to code-rot in Xorg.</li>
4919
4920    <li>add <code>-v</code> command-line option to
4921    <code>resize</code>, reporting the same version string as
4922    <code>xterm</code> and the two shell-wrappers.</li>
4923
4924    <li>make name-transformation apply to other occurrences of
4925    <code>resize</code>, other manpages.</li>
4926
4927    <li>special-case the name-transformation in xterm's manpage in
4928    the NAME section so that the result works with
4929    <code>makewhatis</code> (report by Julien Cristau).</li>
4930
4931    <li>modify install-rules for manpages to put each program's
4932    respective transformed name into the header rather than
4933    xterm's.</li>
4934
4935    <li>remove deprecated files: proto.h, os2main.c</li>
4936
4937    <li>minor fixes based on Coverity scan, including:
4938      <ul>
4939        <li>correct caching of Atom value for the font menu's
4940        "Selection" entry.</li>
4941
4942        <li>ensure that utmp/utmpx calls do not depend upon
4943        trailing nulls in the <code>ut_id</code> and
4944        <code>ut_line</code> values.</li>
4945      </ul>
4946    </li>
4947  </ul>
4948
4949  <h1><a name="xterm_287" id="xterm_287">Patch #287 -
4950  2012/11/25</a></h1>
4951
4952  <ul>
4953    <li>fix a case where in_put() loop could continue when it has
4954    found an X event rather than the pty, causing the pty-read to
4955    be delayed (patch by Balazs Kezes).</li>
4956
4957    <li>add option to <code>pointerMode</code> resource and
4958    corresponding control sequences to allow text-cursor to remain
4959    hidden if the pointer leaves/enters the window via accelerator
4960    keys. Ordinary motion within the window restores the pointer
4961    (prompted by patch by Balazs Kezes).</li>
4962
4963    <li>remove special case of modifiers for the
4964    <code>Mode_switch</code> and <code>XK_ISO_Level3_Shift</code>
4965    from <a href="#xterm_223">patch #223</a>. Verified that the
4966    conflict which this was intended to resolve does not happen for
4967    normal compose- or modeswitch-handling (prompted by patch by
4968    Balazs Kezes, Debian #638694).</li>
4969
4970    <li>modify the handling of focus-change events to ignore those
4971    whose detail is <code>NotifyPointer</code>, since those are
4972    sent in addition to focus-change events directed to the old/new
4973    windows having focus. In particular, this prevents the
4974    urgency-hint from being reset inadvertently (prompted by patch
4975    by Balazs Kezes).</li>
4976
4977    <li>modify description of <code>iconName</code> in manpage to
4978    make it clearer that this resource does not specify the
4979    filename of an icon (discussion with Ian Collier).</li>
4980
4981    <li>modify <code>iconHint</code> resource to allow suppressing
4982    the built-in icon by setting this to "none" (discussion with
4983    Ian Collier).</li>
4984
4985    <li>make <code>-iconic</code> option work with the toolbar
4986    configuration.</li>
4987
4988    <li>correct initialization of window manager hints used to set
4989    the icon-pixmap. That detail from <a href="#xterm_282">patch
4990    #282</a> overwrote state used to control the
4991    <code>-iconic</code> command-line option (report by Ian
4992    Collier).</li>
4993
4994    <li>fix paste64 feature for the case where the selection comes
4995    from the current terminal. The selection callback can happen
4996    after the reply is partly built, making it necessary to flush
4997    the reply-buffer to keep things in the proper order (report by
4998    Ailin Nemui).</li>
4999
5000    <li>reject command-line options which are longer than the
5001    options in xterm's table, to avoid mismatches (Redhat
5002    #875305).</li>
5003
5004    <li>correct attribution for <a href="#xterm_282">patch #282</a>
5005    changes.</li>
5006  </ul>
5007
5008  <h1><a name="xterm_286" id="xterm_286">Patch #286 -
5009  2012/10/29</a></h1>
5010
5011  <ul>
5012    <li>fix <code>minstall.in</code> to work with "make docs" rule,
5013    so that patch number appears in the corresponding generated
5014    documentation.</li>
5015
5016    <li>modify <code>minstall.in</code> to keep the name shown in
5017    the heading consistent with any renaming, e.g., for
5018    test-builds.</li>
5019
5020    <li>check for misconfigured <code>printerCommand</code>
5021    resource on the first use, warn and disable it if it does not
5022    specify an executable command (Debian #691642).</li>
5023
5024    <li>improve check for window-manager name needed to establish
5025    usable default for activeIcon resource. This works around a
5026    scenario where <code>gdm</code> does incomplete cleanup,
5027    leaving window properties that refer to windows which no longer
5028    exist (Redhat #869959).</li>
5029  </ul>
5030
5031  <h1><a name="xterm_285" id="xterm_285">Patch #285 -
5032  2012/10/23</a></h1>
5033
5034  <ul>
5035    <li>add/adapt FreeBSD ports files for test-building.</li>
5036
5037    <li>modify <code>minstall.sh</code> to use the patch-number and
5038    date in the manpage footer.</li>
5039
5040    <li>add check for failure to allocate the fg/bg colors at
5041    startup, e.g., misconfiguration. Work around by setting both to
5042    the default colors (suggested by Scott Bertilson).</li>
5043
5044    <li>amend change for <a href="#xterm_280">patch #280</a> which
5045    added <code>modifyKeyboard</code>, to make
5046    <code>modifyOtherKeys</code> work (report by Ailin Nemui).</li>
5047
5048    <li>add <code>query-colors.pl</code> example for
5049    OSC&nbsp;4.</li>
5050
5051    <li>correct mis-applied fix for minstall.sh (report by Miroslav
5052    Lichvar).</li>
5053  </ul>
5054
5055  <h1><a name="xterm_284" id="xterm_284">Patch #284 -
5056  2012/10/14</a></h1>
5057
5058  <ul>
5059    <li>amend configurability changes for icons from <a href=
5060    "#xterm_283">patch #283</a>, moving the new functionality to
5061    the <code>iconHint</code> resource to avoid conflict with
5062    existing uses of the <code>iconName</code> resource in the
5063    <code>Shell</code> widget (report by Emanuel Haupt).</li>
5064
5065    <li>fix documentation errata reported by Miroslav Lichvar:
5066      <ul>
5067        <li>correct manpage default for <code>allowTcapOps</code>
5068        (see <a href="#xterm_243">patch #243</a></li>
5069
5070        <li>modify documentation for configure
5071        <code>--enable-backarrow-key</code> to match the script
5072        (see <a href="#xterm_280">patch #280</a>).</li>
5073
5074        <li>fix typo in <code>minstall.sh</code> in <a href=
5075        "#xterm_283">patch #283</a>, which made the leading-cap
5076        "Xterm" become "xterm" (patch by Miroslav).</li>
5077      </ul>
5078    </li>
5079
5080    <li>fix two typos in configure.in from <a href=
5081    "#xterm_283">patch #283</a> changes; one broke the
5082    <code>--regex</code> configure option (report by H Merijn
5083    Brand).</li>
5084  </ul>
5085
5086  <h1><a name="xterm_283" id="xterm_283">Patch #283 -
5087  2012/10/09</a></h1>
5088
5089  <ul>
5090    <li>modify makefile and script to generate appropriate renaming
5091    s/xterm/xterm-dev/ for test-package's manpage.</li>
5092
5093    <li>improve makefile rules for installing/uninstalling pixmap
5094    files, to include the newer mini- and filled- variants.</li>
5095
5096    <li>clarify change in manpage regarding <a href=
5097    "#xterm_282">patch #282</a> change to always set a
5098    window-decoration icon, even if <code>iconName</code> is not
5099    set.</li>
5100
5101    <li>add a fourth flavor of window-decoration icons,
5102    "filled-xterm" for a monochrome xterm with filled
5103    interior.</li>
5104
5105    <li>use shape-mask to improve contrast of the window-decoration
5106    icons.</li>
5107
5108    <li>minor changes to icon colors to improve contrast on
5109    bright-mud backgrounds.</li>
5110
5111    <li>drop configure checks for memmove versus bcopy, and
5112    strerror function; all currently tested platforms support
5113    these.</li>
5114
5115    <li>cleanup configure macros, as done in byacc 20121003.</li>
5116
5117    <li>improve configurability of the built-in icon selectable via
5118    the <code>iconName</code> resource.</li>
5119
5120    <li>update config.guess, config.sub</li>
5121  </ul>
5122
5123  <h1><a name="xterm_282" id="xterm_282">Patch #282 -
5124  2012/09/28</a></h1>
5125
5126  <ul>
5127    <li>improve configure check for
5128    <code>XkbKeycodeToKeysym</code>, fixing a regression on some
5129    older systems in the <a href="#xterm_280">patch #280</a>
5130    changes.</li>
5131
5132    <li>add clarification in manpage for
5133    <code>alwaysBoldMode</code> and <code>veryBoldColors</code>
5134    resources (prompted by Derek Martin question about using the
5135    former with TrueType fonts).</li>
5136
5137    <li>add <code>alternateScroll</code> resource and corresponding
5138    control sequences which modify the <code>scroll-forw</code> and
5139    <code>scroll-back</code> actions: when the alternate screen is
5140    displayed, wheel mouse up/down will send cursor keys (Debian
5141    #683942).</li>
5142
5143    <li>improve rendering for the case when a Unicode character is
5144    absent in the bold font but present in the normal font by
5145    temporarily falling back to the normal font (Debian #359006,
5146    Debian #408666).</li>
5147
5148    <li>provide configure option
5149    <code>--enable-double-buffer</code> and ifdef's to allow
5150    comparisons with/without double-buffering. The default uses
5151    normal buffering.</li>
5152
5153    <li>add feature to optionally scroll current page before
5154    clearing, controlled by resource setting
5155    <code>cdXtraScroll</code> (prompted by patch by Balazs
5156    Kezes):</li>
5157
5158    <li>integrated patches from Arch Linux forum posting (patches
5159    by Balazs Kezes):
5160      <ul>
5161        <li>modify reallocation limit of line-data when resizing
5162        screen so that "lost" text will be restored if the screen
5163        is first shrunk and then grown.</li>
5164
5165        <li>modify output to use double-buffering to reduce
5166        flicker.</li>
5167      </ul>
5168    </li>
5169
5170    <li>modify <code>scroll-lock</code> action to handle
5171    on/off/toggle keywords like other actions. Previously the
5172    optional parameter was interpreted as an integer.</li>
5173
5174    <li>extend <code>DECSCUSR</code> to provide a way to set the
5175    cursor to a vertical bar (patch by Paul Bolle).</li>
5176
5177    <li>add <code>-8</code>, <code>-c</code>, <code>-d</code> and
5178    <code>-u</code> options to <code>88colors2.pl</code> and
5179    <code>256colors2.pl</code> scripts. No current terminal
5180    emulator recognizes C1 controls while handling UTF-8
5181    encoding&mdash;see notes in <a href="#xterm_119">patch #119</a>
5182    and <a href="#xterm_109">patch #109</a> regarding
5183    <code>utf8controls</code>&mdash;but the <code>-u</code> and
5184    <code>-8</code> options are useful for demonstrating this
5185    point.</li>
5186
5187    <li>improve speed when changing color palettes using OSC
5188    controls by deferring repaint while followup controls might be
5189    additional color palette changes.</li>
5190
5191    <li>modify <code>SGR&nbsp;38</code> and
5192    <code>SGR&nbsp;48</code> to accept RGB index, matching the
5193    closest entry in xterm's palette.</li>
5194
5195    <li>extend <code>SGR&nbsp;38</code> and
5196    <code>SGR&nbsp;48</code> to accept colon as parameter separator
5197    (request by Paul LeoNerd Evans).</li>
5198
5199    <li>modify <code>fullscreen</code> action to allow it to toggle
5200    the full-screen mode rather than only set or unset it (prompted
5201    by Eeri Kask's suggestion to support
5202    <code>_NET_WM_TOGGLE</code>). This implementation does not yet
5203    use <code>_NET_WM_TOGGLE</code>.</li>
5204
5205    <li>add support for <code>_NET_WM_STATE_MAXIMIZED_VERT</code>
5206    and <code>_NET_WM_STATE_MAXIMIZED_HORZ</code> EWMH properties
5207    (suggested by Eeri Kask).</li>
5208
5209    <li>make fullscreen mode work with the tek4014 window. This
5210    change makes only the currently active window to be changed to
5211    fullscreen rather than changing both windows.</li>
5212
5213    <li>modify <code>TekClear</code> function to discard pending
5214    output before clearing the tek4014 display (patch by Kevin
5215    Ryde).</li>
5216
5217    <li>fix <code>deleteIsDEL</code> feature, broken in <a href=
5218    "#xterm_280">patch #280</a> changes (report by Mike Thornburg,
5219    forwarded by Jeremy Huddleston).</li>
5220
5221    <li>fix a special case of wrapping double-width characters
5222    (report/test-case by Ken Winstein).</li>
5223
5224    <li>add <code>E3</code> extended capability to
5225    <code>xterm-basic</code> to match ncurses <a href=
5226    "https://invisible-island.net/ncurses/NEWS.html#t20120728">20120728</a>
5227    patch.</li>
5228
5229    <li>fix incorrect transformation of row-parameter for
5230    <code>ClearCurBackground</code> in <a href="#xterm_279">patch
5231    #279</a> which caused incorrect painting in some scrolling
5232    scenarios (report by Chuck Silvers).</li>
5233
5234    <li>fix typo in manpage description of <code>+maximized</code>
5235    option (Paul Maier).</li>
5236
5237    <li>change default for configure option
5238    <code>--with-xpm</code>, turning it on unless requested
5239    otherwise.</li>
5240
5241    <li>add configure option <code>--with-icon-name</code> which
5242    can be used to override the default icon used in
5243    icon-themes.</li>
5244
5245    <li>extend <code>activeIcon</code> resource to provide
5246    <code>default</code> value which tells xterm to determine the
5247    window manager's name and automatically enable the feature for
5248    fvwm and window maker. The explicit true/false values can be
5249    used to override this behavior.</li>
5250
5251    <li>add "mini" xterm icon, which scales better than the
5252    standard xterm icon, e.g., for the gnome/kde "panel"
5253    feature.</li>
5254
5255    <li>extend <code>iconName</code> resource to search for icon
5256    named according to resource value and use that if found. If not
5257    found, use compiled-in pixmap. Both set the WM_ICON_NAME
5258    property which is used by various window managers, usually for
5259    window decoration.</li>
5260
5261    <li>updated autoconf patch, adding support for --datarootdir,
5262    which changes the default location of manpages.</li>
5263
5264    <li>further improved autoconf macros for configuring icons,
5265    from vile 9.8h</li>
5266  </ul>
5267
5268  <h1><a name="xterm_281" id="xterm_281">Patch #281 -
5269  2012/06/26</a></h1>
5270
5271  <ul>
5272    <li>remove "$(srcdir)/" from install-icon rule to fix builds
5273    when --srcdir configuration option is used.</li>
5274
5275    <li>fix for configure script's search for icon file when it is
5276    not found in the current directory, e.g., when building out of
5277    tree (patch by Thierry Reding).</li>
5278
5279    <li>undo the XK_Home / XK_End change from <a href=
5280    "#xterm_280">patch #280</a> which broke the non-VT220 keyboard
5281    for those keys (report by H Merijn Brand).</li>
5282  </ul>
5283
5284  <h1><a name="xterm_280" id="xterm_280">Patch #280 -
5285  2012/06/24</a></h1>
5286
5287  <ul>
5288    <li>add configure check to work around warning from
5289    desktop-file-install for "Encoding", noting that it emits
5290    deprecation warnings without providing its version
5291    information.</li>
5292
5293    <li>add configure option <code>--with-icon-theme</code> to tell
5294    xterm whether to install into an icon theme, defaulting to
5295    "hicolor" (Redhat #755206, Redhat #799614 and Redhat
5296    #804279).</li>
5297
5298    <li>change <code>--with-icondir</code> to look for "icons"
5299    directory rather than "pixmaps" by default. Add new option
5300    <code>--with-pixmapdir</code> to allow these two uses to be
5301    installed concurrently.</li>
5302
5303    <li>modify configure options <code>--with-app-defaults</code>
5304    and <code>--with-icondir</code> to accept "auto" as value to
5305    look for existing directory from well-known locations.</li>
5306
5307    <li>add missing codes for secondary DA response which tell the
5308    type of terminal as in the primary DA response.</li>
5309
5310    <li>update primary DA response for VT420 to include user
5311    windows and horizontal scrolling.</li>
5312
5313    <li>add <code>modifyKeyboard</code> resource to support
5314    keypad-modifier changes per request by Thomas Wolff.</li>
5315
5316    <li>add XK_Home / XK_End to editing-keypad checks</li>
5317
5318    <li>add back-tab key <code>kB</code> to termcap entries to
5319    match the terminfo.</li>
5320
5321    <li>update terminfo to match corresponding entries in ncurses,
5322    e.g., add <code>XT</code> and adjust <code>sgr</code> string
5323    for xterm-bold entry.</li>
5324
5325    <li>add configure options to predefine the most commonly
5326    customized resources for terminal-settings, use those to
5327    substitute into the manpage the corresponding compiled-in
5328    values: <code>altSendsEscape</code>, <code>backarrowKey</code>,
5329    <code>backarrowKeyIsErase</code>, <code>deleteIsDEL</code>,
5330    <code>metaSendsEscape</code> (Redhat #819588).</li>
5331
5332    <li>change default emulation level to VT420 (discussion with
5333    Ailin Nemui).</li>
5334
5335    <li>improve logic for DECSCL; <a href="#xterm_279">patch
5336    279</a> partly enforced limitation of this to higher-level
5337    emulations. This patch finishes that change.</li>
5338
5339    <li>improve check for base of combining characters, preventing
5340    combination when cursor movement has intervened. Mosh's webpage
5341    gives two different examples of this, with other causes
5342    ascribed to the behavior.</li>
5343
5344    <li>modify IL/DL to set cursor to first column on row for
5345    better VT102/VT220 compatibility (prompted by code review of
5346    mosh).</li>
5347
5348    <li>separate state-table entries for DECSC/DECRC from the
5349    ANSI.SYS save/restore cursor, since the latter conflicts with
5350    DECSLRM when DECLRMM is enabled since <a href=
5351    "#xterm_279">patch #279</a> (report/analysis by Ailin
5352    Nemui).</li>
5353
5354    <li>fixes to avoid using <code>SIGCHLD</code> handler of main
5355    program in printer's subprocess (report by Joe Julian).</li>
5356
5357    <li>correct restore-parameter for mouse-modes from <a href=
5358    "#xterm_279">patch #279</a> changes.</li>
5359
5360    <li>add null-pointer checks to input-method caching added in
5361    <a href="#xterm_277">patch #277</a> to fix a problem in the
5362    exposure code, when deselecting a window (report by Kriston
5363    Rehberg).</li>
5364
5365    <li>unset <code>DESKTOP_STARTUP_ID</code> environment variable
5366    to lessen confusion on the part of GTK applications which use
5367    the variable without checking it (report by John Little).</li>
5368  </ul>
5369
5370  <h1><a name="xterm_279" id="xterm_279">Patch #279 -
5371  2012/05/10</a></h1>
5372
5373  <ul>
5374    <li>fill in missing cases in the save/restore modes feature
5375    (report by Thomas Wolff).</li>
5376
5377    <li>add check to ensure that combining characters are
5378    precomposed in the order given (report/analysis by Andries E
5379    Brouwer).</li>
5380
5381    <li>improve workability check for posix_openpt(), to take into
5382    account BSD systems which do not complete initialization until
5383    both sides of the pseudoterminal are opened (report by
5384    Christian Weisgerber).</li>
5385
5386    <li>amend fix for Debian #650291 in <a href="#xterm_277">patch
5387    #277</a> changes to account for different data returned by
5388    vnc4server (Debian #670638).</li>
5389
5390    <li>add check in DECCRA operation to make copies of blinking
5391    text also blink by updating a line-level flag.</li>
5392
5393    <li>modify rectangle operations to work with DECOM.</li>
5394
5395    <li>modify DECSERA to use the current protected state rather
5396    than preserving it.</li>
5397
5398    <li>add <code>precompose</code> resource to allow storing
5399    character data in Normalized Form D as described in <a href=
5400    "http://unicode.org/reports/tr15/">http://unicode.org/reports/tr15/</a>
5401    (report/discussion with Andries E Brouwer).</li>
5402
5403    <li>modify CBT, other ISO-6429 controls which are used by VT520
5404    to work with DECOM.</li>
5405
5406    <li>add HPR and VPR controls, ISO 6429 cursor movement used in
5407    VT520.</li>
5408
5409    <li>remove "linux" restriction for IUTF8 ifdef in main.c
5410    (prompted by Matthew Dempsky posting on
5411    mailing.openbsd.tech).</li>
5412
5413    <li>implement the remaining VT420-level device status
5414    reports.</li>
5415
5416    <li>change DECXCPR to return page 1, rather than 0.</li>
5417
5418    <li>improve VT-level checks on reporting functions, such as
5419    DECXCPR.</li>
5420
5421    <li>change limit on <code>decTerminalID</code> to 525.</li>
5422
5423    <li>fixes to improve vttest vt52 screen when running as a
5424    VT420:
5425      <ul>
5426        <li>add checks for some VT2xx and up controls for
5427        consistency: DECSCL, S1C8T, S1C7T.</li>
5428
5429        <li>modify DECRQSS return for DECSCL to only return that
5430        when running as VT2xx and up.</li>
5431
5432        <li>when exiting from VT52-mode, resume in VT100 level
5433        rather than the level before starting VT52-mode.</li>
5434      </ul>
5435    </li>
5436
5437    <li>implement DECLRMM, DECSLRMM and DECNCSM (prompted by
5438    discussions with Ailin Nemui and Paul LeoNerd Evans). This
5439    modifies several controls to obey top/bottom and left/right
5440    margins.</li>
5441
5442    <li>correct macro definition used for testing modes used in
5443    ANSI/DEC request-mode controls introduced in <a href=
5444    "#xterm_262">patch #262</a>.</li>
5445
5446    <li>modify <code>x_getlogin</code> to check $LOGNAME and $USER
5447    before fallback to <code>getlogin</code>, so that user's choice
5448    for these variables can be carried forward to the xterm process
5449    (Debian #611487).</li>
5450
5451    <li>document DECSCUSR response for DECRQSS in ctlseqs.ms</li>
5452
5453    <li>add <code>zIconTitleFormat</code> resource to allow
5454    customizing the "***&nbsp;" prefixed to the icon title when the
5455    <code>zIconBeep</code> feature is activated (request by Thomas
5456    Adam).</li>
5457
5458    <li>modify DECSCUSR to update the same internal variable as
5459    RM/SM 12, and document in manpage the two variables used for
5460    controlling blinking cursor (report by Paul LeoNerd
5461    Evans).</li>
5462
5463    <li>correct response data for DECSCUSR in reply for DECRQSS
5464    response, which had inverted the blink-value (reports by Ailin
5465    Nemui, Paul LeoNerd Evans).</li>
5466
5467    <li>add a null-pointer check in <code>OkPasswd</code> macro to
5468    fix a problem in <code>resize</code> with Fedora 17 and a
5469    serial console (report/patch by Daniel Drake).</li>
5470
5471    <li>add workaround for Mac OS X, which loses the window size of
5472    a pseudo-terminal when the tty device is opened
5473    (report/analysis by Egmont Koblinger).</li>
5474
5475    <li>updated configure check for workable
5476    <code>posix_openpt</code> versus <code>grantpt</code>, from
5477    <code>luit</code> fixes.</li>
5478
5479    <li>modify DECIC/DECDC/DECBI/DECFI implemented in <a href=
5480    "#xterm_277">patch #277</a> to enable them only in VT4xx mode
5481    and up (report by Ailin Nemui).</li>
5482
5483    <li>update config.guess, config.sub</li>
5484  </ul>
5485
5486  <h1><a name="xterm_278" id="xterm_278">Patch #278 -
5487  2012/01/18</a></h1>
5488
5489  <ul>
5490    <li>correct initialization for <code>eightBitMeta</code>
5491    resource (FreeBSD #164101).</li>
5492
5493    <li>make special check for Darwin 9 (and lower) to <em>not</em>
5494    use <code>posix_openpt</code> (report by Christian Ebert).</li>
5495
5496    <li>minor fixes (adding ".ne" directives) to reduce the cases
5497    where groff's utility for generating images for tables dumps
5498    core. Most versions of groff (I've found 1.19.2 to be the most
5499    stable) dump core when attempting to report that there are too
5500    few lines on a page for a table to be shown.</li>
5501  </ul>
5502
5503  <h1><a name="xterm_277" id="xterm_277">Patch #277 -
5504  2012/01/07</a></h1>
5505
5506  <ul>
5507    <li>remove special case for ISC pseudo-terminals which attempts
5508    to open the pty in two different ways.</li>
5509
5510    <li>move call to <code>grantpt</code> before asking utempter to
5511    add a record, to work with kFreeBSD which does not update the
5512    terminal's ownership until this point (Debian #652907).</li>
5513
5514    <li>document limitation of XIM interface in manpage (Debian
5515    #230787).</li>
5516
5517    <li>cleanup error reporting with new xtermWarning
5518    function.</li>
5519
5520    <li>add configure option <code>--disable-selection-ops</code>
5521    to make the new actions optional.</li>
5522
5523    <li>add four new actions for making the selection or data
5524    directly copied from the screen (prompted by discussion in
5525    Debian #637001, as well as report by Arjen van Tol):
5526      <ul>
5527        <li>exec-formatted</li>
5528
5529        <li>exec-selectable</li>
5530
5531        <li>insert-formatted</li>
5532
5533        <li>insert-selectable</li>
5534      </ul>
5535    </li>
5536
5537    <li>add <code>visualBellLine</code> resource to allow
5538    <code>visualBell</code> to flash only the current line
5539    (prompted by patch by Gertjan Halkes).</li>
5540
5541    <li>add <code>eightBitMeta</code> resource to control the
5542    features which modify or interpret the eighth bit of a key when
5543    the meta modifier key is pressed (prompted by Debian
5544    #326200).</li>
5545
5546    <li>improve discussion of <code>eightBitInput</code> in the
5547    manpage (prompted by Debian #326200).</li>
5548
5549    <li>correct logic for <code>alt-sends-escape</code> action,
5550    overlooked when implementing <code>altSendsEscape</code>
5551    resource, which still used <code>eightBitInput</code> resource
5552    value.</li>
5553
5554    <li>add a workaround for <code>XAllocColor()</code>, which does
5555    not actually allocate "a read-only colormap entry corresponding
5556    to the closest RGB value supported by the hardware", but rather
5557    a rough approximation (Debian #650291).</li>
5558
5559    <li>undo parameter checks for <code>RequestResize()</code>
5560    added in <a href="#xterm_251">patch #251</a> and amended in
5561    <a href="#xterm_270">patch #270</a>, because zeros also are
5562    special cases (report by John S Urban).</li>
5563
5564    <li>modify some test-scripts to use <code>/bin/echo</code>
5565    rather than the shell's possibly-builtin <code>echo</code>, to
5566    work around broken configuration on Mac OS X, i.e., neither
5567    honoring the option nor flagging an error.</li>
5568
5569    <li>add SGR 1006, as a better technical solution than SGR 1015:
5570      <ul>
5571        <li>the responses will not be confused with line-deletion
5572        and scrolling controls.</li>
5573
5574        <li>the button encoding is a little simpler, since it does
5575        not add an unnecessary 32 because the integer parameter
5576        does not have to be represented as a printable
5577        character.</li>
5578
5579        <li>the control responses for pressing and releasing a
5580        mouse button differ, allowing an application to tell which
5581        button was released.</li>
5582      </ul>
5583
5584      <p>Besides these improvements, in discussion, it was noted
5585      that urxvt's implementation of 1005 is incorrect, relying
5586      upon a locale that provides UTF-8 encoding. In contrast,
5587      vttest demonstrates a correct decoding, independent of
5588      locale.</p>
5589    </li>
5590
5591    <li>add support for urxvt SGR 1015 to address shortcoming of
5592    SGR 1005 with luit (patch by Egmont Koblinger).</li>
5593
5594    <li>add ISO and DEC controls useful for left/right
5595    scrolling.</li>
5596
5597    <li>add some changes for OpenBSD and MirBSD (adapted from patch
5598    by Thorsten Glaser):
5599      <ul>
5600        <li>disable search for non-Unix96 ptys.</li>
5601
5602        <li>fix a gcc warning in
5603        <code>timestamp_filename</code></li>
5604
5605        <li>modify <code>Imakefile</code> to install xterm setgid
5606        to utmp.</li>
5607      </ul>
5608    </li>
5609
5610    <li>add/use/prefer <code>posix_openpt()</code> for opening
5611    pseudo-terminal.</li>
5612
5613    <li>modify special errno handling case in ptydata.c from
5614    <a href="#xterm_158">patch #158</a> to allow for the
5615    possibility that any platform may have special cases where
5616    "/dev/tty" is absent. For example, this can happen in a FreeBSD
5617    jail (patch by David Wolfskill).</li>
5618
5619    <li>add keyboard logic to map shift-tab into XK_ISO_Left_Tab,
5620    which is usually, not always, done by the X keyboard
5621    configuration.</li>
5622
5623    <li>portability fixes for some configure macros:
5624    <code>CF_XOPEN_SOURCE</code></li>
5625  </ul>
5626
5627  <h1><a name="xterm_276" id="xterm_276">Patch #276 -
5628  2011/10/10</a></h1>
5629
5630  <ul>
5631    <li>modify clipping limits for TrueType fonts to account for
5632    the <code>scaleHeight</code> resource setting, to work around
5633    another problem due to recent FreeType changes. In this case,
5634    the <code>DejaVu Sans Mono</code> set to pixelsize=13.5 is
5635    truncated because the font descent is reduced by FreeType to
5636    match an incorrect height metric (report by Adam Lee).</li>
5637
5638    <li>improve recovery when bitmap fonts are not installed, e.g.,
5639    so that switching font-sizes works for TrueType fonts.</li>
5640
5641    <li>modify lookup for <code>XTERM_SHELL</code> feature to allow
5642    relative pathnames.</li>
5643
5644    <li>modify abbreviation disambiguation check for command-line
5645    parameters to account for <code>-geometry</code>, whose
5646    parameter may begin with "+" or "-" (report by Scott
5647    Bertilson).</li>
5648  </ul>
5649
5650  <h1><a name="xterm_275" id="xterm_275">Patch #275 -
5651  2011/09/11</a></h1>
5652
5653  <ul>
5654    <li>add <code>ash</code>, <code>zsh</code> to known shells for
5655    <code>resize</code>.</li>
5656
5657    <li>modify <code>resize</code> to reuse the logic from
5658    <code>xterm</code> which determines the actual logon-user's
5659    shell if <code>$SHELL</code> is not set.</li>
5660
5661    <li>revert the <code>unsetenv("SHELL")</code> added in <a href=
5662    "#xterm_272">patch #272</a>.</li>
5663
5664    <li>an <code>unsetenv("SHELL")</code> added in <a href=
5665    "#xterm_272">patch #272</a> to help ensure that
5666    <code>luit</code> would get the user's shell consistently did
5667    not work as expected for cases where multiple names are in the
5668    password-file for a given uid. That was because changes in
5669    <a href="#xterm_157">patch #157</a> to handle this situation
5670    did not take into account that repeated calls to
5671    <code>getpwnam</code> and <code>getpwuid</code> return a
5672    pointer to the same static buffer. Fixed the older logic to
5673    work as intended, by ensuring that the passwd-data from each
5674    call is stored separately (report by Paul Keusemann).</li>
5675
5676    <li>adjust ifdef's for <code>putenv</code> and
5677    <code>unsetenv</code> in case only one of those is provided on
5678    a given platform.</li>
5679
5680    <li>correct comparison used in <code>ExposeContains</code>
5681    macro from <a href="#xterm_274">patch #274</a> changes, to
5682    handle window-dragging (patch by Todd Eigenschink).</li>
5683  </ul>
5684
5685  <h1><a name="xterm_274" id="xterm_274">Patch #274 -
5686  2011/09/05</a></h1>
5687
5688  <ul>
5689    <li>portability fixes for cygwin: do not define
5690    <code>SVR4</code>, and work around nonstandard header
5691    location.</li>
5692
5693    <li>ifdef'd use of <code>unsetenv</code> from <a href=
5694    "#xterm_273">patch #273</a> changes to work with Solaris 9
5695    (report by Waldemar Rachwal).</li>
5696
5697    <li>modify logic for <code>XtAppPending</code> to merge
5698    adjacent <code>Expose</code> and <code>ConfigureNotify</code>
5699    events which are redundant (report by Edward McGuire).</li>
5700
5701    <li>fix an unneeded warning message when <code>-r</code> option
5702    is given.</li>
5703
5704    <li>remove a few redundant entries from table used for helping
5705    abbreviation-checking of command-line options, makes
5706    <code>-geom</code> work again after <a href="#xterm_272">patch
5707    #272</a> changes as an abbreviation of
5708    <code>-geometry</code>.</li>
5709
5710    <li>add <code>scaleHeight</code> resource and command-line
5711    option <code>-sh</code> as workaround for some
5712    font-configurations broken by changes in FreeType 2.4.6 (report
5713    by Miroslav Hodak).</li>
5714
5715    <li>portability fixes for some configure macros:
5716    <code>CF_FUNC_TGETENT</code>, <code>CF_XOPEN_SOURCE</code>,
5717    <code>CF_X_ATHENA_LIBS</code>.</li>
5718
5719    <li>add configure option <code>--with-freetype-config</code> to
5720    improve selection over the plethora of configuration options
5721    which freetype has so far provided.</li>
5722
5723    <li>build-fix for configure <code>--enable-load-vt-fonts</code>
5724    when <code>--enable-widec</code> is not specified.</li>
5725
5726    <li>build-fixes for suppressing various features, needed after
5727    changes in patches 270, 271 and 272 (report by Brian
5728    Lindholm)</li>
5729  </ul>
5730
5731  <h1><a name="xterm_273" id="xterm_273">Patch #273 -
5732  2011/08/25</a></h1>
5733
5734  <ul>
5735    <li>build-fix for out-of-tree "make docs" rule.</li>
5736
5737    <li>correct a typo in <code>x_strdup</code>, from <a href=
5738    "#xterm_198">patch #198</a> changes.</li>
5739
5740    <li>correct initialization for <code>-e</code> option, broken
5741    in <a href="#xterm_272">patch #272</a> changes (report by
5742    Gabriele Balducci).</li>
5743
5744    <li>build-fix for out-of-tree builds to address
5745    <code>minstall</code> script changes in <a href=
5746    "#xterm_272">patch #272</a> (patch by Thierry Reding).</li>
5747  </ul>
5748
5749  <h1><a name="xterm_272" id="xterm_272">Patch #272 -
5750  2011/08/24</a></h1>
5751
5752  <ul>
5753    <li>document limitation of <code>Gtk</code> in connection with
5754    xterm's <code>-into</code> option, in the manpage (Ubuntu
5755    #806969).</li>
5756
5757    <li>improve <code>-into</code> by checking for and using the
5758    size of the window within which xterm is embedded, overriding
5759    other clues.</li>
5760
5761    <li>modify logic for <code>localeFilter</code> resource to
5762    allow that to include command-line options of luit.</li>
5763
5764    <li>improve <code>-into</code> by checking for invalid
5765    window-id, and allowing hexadecimal/decimal/octal values.</li>
5766
5767    <li>improve <code>keepSelection</code>, adding the case where
5768    the highlighting is cleared, overlooked in <a href=
5769    "#xterm_230">patch #230</a> (patch by Marco Peereboom).</li>
5770
5771    <li>improve command-line parsing to make abbreviate options
5772    work consistently across xterm-specific versus standard X
5773    toolkit options, and report cases where an abbreviated option
5774    happens to be ambiguous. In particular, <code>-d</code> now
5775    works as an abbreviation for <code>-display</code>.</li>
5776
5777    <li>fix regression in command-line parsing introduced in
5778    <a href="#xterm_271">patch #271</a> changes for Debian #629358,
5779    (Debian #637910).</li>
5780
5781    <li>split-out new termcap/terminfo building block
5782    <code>xterm+kbs</code> for configurability.</li>
5783
5784    <li>modify <code>terminfo</code> file to reflect changes in
5785    ncurses for <code>xterm-16color</code> and
5786    <code>xterm-256color</code>.</li>
5787
5788    <li>modify <code>minstall.sh</code>, etc., to reflect the
5789    default default class, <code>$TERM</code> and
5790    <code>decTerminalID</code> values.</li>
5791
5792    <li>reword <code>resize</code> manpage to reflect the fact that
5793    <code>$TERMCAP</code> is not set on all systems (patch by Alan
5794    Coopersmith).</li>
5795
5796    <li>work around combined Xaw6/Xaw7 package in DragonFlyBSD
5797    which omits the usual symbolic link to the preferred library
5798    name.</li>
5799
5800    <li>further improve build-fix for termcap systems by checking
5801    for some which are only partial implementations, e.g., termcap
5802    2.08 in CentOS 5.2</li>
5803  </ul>
5804
5805  <h1><a name="xterm_271" id="xterm_271">Patch #271 -
5806  2011/07/14</a></h1>
5807
5808  <ul>
5809    <li>omit permissions adjustments to pty on exit except for
5810    pre-Unix98 ptys, since modern implementations handle this
5811    (report by Sean C Farley).</li>
5812
5813    <li>modify logic for switching fonts between UTF-8 and
5814    non-UTF-8 encoding to not merge the derivable bold-, wide- and
5815    widebold values from the VT100 fonts. Also suppress warning
5816    when not using UTF-8 fonts if wide- and widebold-fonts cannot
5817    be derived or otherwise loaded (report by Werner
5818    Scheinast).</li>
5819
5820    <li>modify menu-creation to suppress entries which will never
5821    be used in the current configuration, rather than simply
5822    disabling them.</li>
5823
5824    <li>add resource <code>printModeImmediate</code> and menu item
5825    to allow print of screen plus saved lines to a file.</li>
5826
5827    <li>add menu item to allow runtime enable/disable of the
5828    <code>printFileOnXError</code> feature.</li>
5829
5830    <li>append a timestamp to filename used in
5831    <code>printFileOnXError</code> feature, and restrict its
5832    permissions (request by Vincent Lef&egrave;vre).</li>
5833
5834    <li>add a check when cancelling cursor-blinking, in case the
5835    cursor is blinked off. Fix so that the cursor is repainted
5836    without waiting for other events, e.g., keypress (report by
5837    Ailin Nemui).</li>
5838
5839    <li>add configure <code>--with-app-class</code> option, to
5840    simplify building "xterm-dev" packages with filenames that do
5841    not conflict with conventional "xterm" packages.</li>
5842
5843    <li>corrected logic flow for DECSCL, which prevented the
5844    updated operating level from being reported via DECRQSS (report
5845    by Ailin Nemui).</li>
5846
5847    <li>corrected default for <code>brokenStringTerm</code>
5848    resource to match manpage.</li>
5849
5850    <li>add vttests/dynamic.pl</li>
5851
5852    <li>add runtime check for locale not supported by X libraries,
5853    and fallback to XA_STRING in this case (request by Bryan
5854    Henderson).</li>
5855
5856    <li>fix a special case in configure script after no FreeType
5857    libraries are found. The script was proceeding to check for a
5858    usable configuration.</li>
5859
5860    <li>add <code>xterm+tmux</code> building block to terminfo
5861    (adapted from changes proposed by Ailin Nemui and Nicholas
5862    Marriott).</li>
5863
5864    <li>improve discussion of <code>faceName</code> resource in
5865    manpage (adapted from suggestions by Jens Schweikhardt).</li>
5866
5867    <li>correct mapping of shifted up/down cursor-keys in termcap
5868    function-keys mode, i.e., resource
5869    <code>tcapFunctionKeys</code> (patch by Gertjan Halkes).</li>
5870
5871    <li>update AIX case in <code>CF_XOPEN_SOURCE</code> configure
5872    macro to add release 7.x.</li>
5873
5874    <li>modify ifdef's in <code>xterm_io.h</code> for
5875    <code>__hpux</code> to force that to use the hacked SYSV
5876    support in that file. This fixes a problem with a non-blocking
5877    socket call (patch by Paul Lampert).</li>
5878
5879    <li>improve filtering of desktop category scanning, to exclude
5880    XFCE.</li>
5881
5882    <li>modify configure script to work with systems that have both
5883    ncurses (or other terminfo) as well as a real termcap library,
5884    e.g., Slackware (report by Andrew Watts).</li>
5885
5886    <li>modify configure script to work around special case where
5887    user's environment adds compiler flags to the <code>CC</code>
5888    variable (prompted by report by Paul Lampert).</li>
5889
5890    <li>amend change for Debian #110226 so that "-h" or "-v"
5891    options cause an exit, rather than simply printing to stdout
5892    while the window is displayed (Debian #629358).</li>
5893
5894    <li>add response for <code>DECRQSS</code> which gives the
5895    setting for <code>DECSCUSR</code>.</li>
5896
5897    <li>modify AllocateTermColor() to handle
5898    <code>XtDefaultForeground</code> and
5899    <code>XtDefaultBackground</code>, which are not recognized by
5900    <code>XParseColor</code>. For example, this fixes the use of
5901    OSC&nbsp;112 when no explicit cursor color was set (report by
5902    Ailin Nemui).</li>
5903
5904    <li>handle special-case of <code>KeyPress</code> translated to
5905    <code>popup-menu</code> action (Ubuntu #756273).</li>
5906  </ul>
5907
5908  <h1><a name="xterm_270" id="xterm_270">Patch #270 -
5909  2011/04/26</a></h1>
5910
5911  <ul>
5912    <li>build-fix, e.g., for using <code>imake</code> on platforms
5913    which use the termcap library.</li>
5914
5915    <li>modify <code>utf8</code> resource to accept a name.</li>
5916
5917    <li>mention default for <code>fontWarnings</code> in manpage
5918    (report by Werner Scheinast).</li>
5919
5920    <li>split "UTF-8" menu entry into "UTF-8 Encoding" and "UTF-8
5921    Fonts" (prompted by discussion with Werner Scheinast).</li>
5922
5923    <li>gray-out font-menu entries when a font fails to load, e.g.,
5924    a bitmap font is not installed.</li>
5925
5926    <li>improve behavior when there is no app-defaults file:
5927      <ul>
5928        <li>set the <code>toolBar</code> resource to false</li>
5929
5930        <li>gray-out the font menu entries where no resource is
5931        found.</li>
5932      </ul>
5933    </li>
5934
5935    <li>add configure option <code>--with-desktop-category</code>
5936    to allow customization of the ".desktop" files.</li>
5937
5938    <li>build-fix for the <code>install-desktop</code>
5939    makefile-rule, when the source/build directories differ (patch
5940    by Lo&iuml;c Minier).</li>
5941
5942    <li>add menu entry and corresponding resource which can be used
5943    to suppress all bold-fonts (discussion with Jan
5944    Engelhardt).</li>
5945
5946    <li>make internal line-size value consistent with allocated
5947    sizes of character and related arrays to ensure that bulk
5948    copying of line data, e.g., in scrolling, accounts for the
5949    padding used for pointer alignment (adapted from patch by
5950    Rajesh Mandalemula, also reported by Ali Bahar).</li>
5951
5952    <li>widen ifdef for screen-resizing logic from <a href=
5953    "#xterm_176">patch #176</a> changes to send
5954    <code>SIGWINCH</code> to process group to include any system
5955    supporting <code>ioctl(*,TIOCGPGRP,*)</code> (prompted by
5956    linux-specific patch in OpenSUSE rpm package).</li>
5957
5958    <li>add <code>printModeOnXError</code> and
5959    <code>printFileOnXError</code> resources, which allow the user
5960    to specify that xterm will write the contents of its screen to
5961    a file if it is exiting due to an X error (Debian
5962    #280457).</li>
5963
5964    <li>restore logic that made reverse-video apply to the
5965    scrollbar's foreground/background, broken in <a href=
5966    "#xterm_158">patch #158</a> (report by Bryan Ischo).</li>
5967
5968    <li>amend some of the window operations parameter-checks added
5969    in <a href="#xterm_251">patch #251</a> for the push/pop title
5970    feature, to allow the parameters used for window resizing to be
5971    -1's, which makes the corresponding values ignored rather than
5972    using the window's maximum width/height (report by Noah
5973    Friedman).</li>
5974
5975    <li>correct order of initialization for
5976    <code>translations</code> vs <code>fullscreen</code> resources
5977    to enable a special case which omits the Alt-Enter translation
5978    when <code>fullscreen</code> is disabled (Debian #612978).</li>
5979
5980    <li>update config.guess, config.sub</li>
5981  </ul>
5982
5983  <h1><a name="xterm_269" id="xterm_269">Patch #269 -
5984  2011/02/19</a></h1>
5985
5986  <ul>
5987    <li>build-fixes for <code>imake</code> (report by Heiko
5988    Berges).</li>
5989
5990    <li>modify autoconf macro CF_PKG_CONFIG to work with
5991    cross-compile environments (patch by Thierry Reding).</li>
5992
5993    <li>modify <code>MapToColorMode()</code> to favor bold over
5994    underline, matching the precedence used before <a href=
5995    "#xterm_252">patch #252</a> (report/analysis by Nicolas
5996    George).</li>
5997
5998    <li>add <code>omitTranslation</code> resource, which can be
5999    used to suppress the default translations for these features:
6000      <ul>
6001        <li>fullscreen</li>
6002
6003        <li>scroll-lock</li>
6004
6005        <li>shift-fonts</li>
6006
6007        <li>wheel-mouse</li>
6008      </ul>
6009    </li>
6010
6011    <li>make the fullscreen feature configurable (Debian #612978)
6012      <ul>
6013        <li>add it to the configurable list
6014        <code>disallowedWindowOps</code>.</li>
6015
6016        <li>add command-line option <code>-fullscreen</code> to
6017        allow the feature to be enabled at startup.</li>
6018
6019        <li>add resource <code>fullscreen</code> to control whether
6020        the feature is active or may be enabled.</li>
6021      </ul>
6022    </li>
6023
6024    <li>modify <code>probe_netwm_fullscreen_capability</code> for
6025    64-bit machines. Contrary to <code>XGetWindowProperty</code>
6026    manpage, that function returns 32-bit data packed as
6027    <code>long</code>'s.</li>
6028
6029    <li>eliminate copy of <code>name</code> resource, which was
6030    otherwise used only to give the terminal-description name for
6031    the tcap-query feature. Use the actual <code>$TERM</code> value
6032    instead, as derived from <code>termName</code> resource,
6033    etc.</li>
6034
6035    <li>eliminate an old inconsistency with error messages, some
6036    used the <code>-name</code> option, while others used
6037    <code>argv[0]</code>. The latter is now used consistently.</li>
6038
6039    <li>improve configure check for rpath-hack, to improve builds
6040    on systems where gcc will not search /usr/local/lib, etc.</li>
6041
6042    <li>build-fix for Xaw3d configuration (report by H Merijn
6043    Brand).</li>
6044
6045    <li>update config.guess, config.sub</li>
6046  </ul>
6047
6048  <h1><a name="xterm_268" id="xterm_268">Patch #268 -
6049  2011/02/10</a></h1>
6050
6051  <ul>
6052    <li>fix an inconsistency of the "Enable Reverse Video" checkbox
6053    in the VT Options menu. This also removes a special case added
6054    in <a href="#xterm_217">patch #217</a> which limited the effect
6055    of the <code>reverseVideo</code> resource (Debian
6056    #603808).</li>
6057
6058    <li>amend decoding of misformed UTF-8 sequences to avoid
6059    absorbing valid characters as documented in Unicode 6.0 section
6060    3.9 (report by Keith Winstein).</li>
6061
6062    <li>do not set urgency hint when window already has focus
6063    (patch by Dimitrios Christidis).</li>
6064
6065    <li>amend extended mouse-coordinate mode from <a href=
6066    "#xterm_262">patch #262</a> changes to include the <em>Cb</em>
6067    button-code, which also may be greater than 127 (report by
6068    Ailin Nemui).</li>
6069
6070    <li>ensure that underline-cursor is visible when an application
6071    happens to set the background color (report by Christian
6072    Weisgerber).</li>
6073
6074    <li>add feature for <a href=
6075    "http://www.davidsimmons.com/soft/xtermhacks/xterm-fullscreen.patch">
6076    full-screen toggling</a> using either Alt-Enter or a menu
6077    selection (integrated patch by Dave Simmons).</li>
6078
6079    <li>add missing logic to handle reallocation of FIFO index for
6080    the "UTF-8" menu entry (report by David Holland, NetBSD
6081    #44344).</li>
6082
6083    <li>add makefile rules <code>docs-ctlseqs</code>,
6084    <code>docs-xterm</code>, etc.</li>
6085
6086    <li>correct typo in description of DECRPM in control sequences
6087    document (report by Ailin Nemui).</li>
6088  </ul>
6089
6090  <h1><a name="xterm_267" id="xterm_267">Patch #267 -
6091  2010/11/20</a></h1>
6092
6093  <ul>
6094    <li>minor formatting changes to ctlseqs.ms to simplify a script
6095    which extracts the feature information. See the results in
6096    <a href=
6097    "https://invisible-island.net/xterm/xterm.faq.html#compare_versions">
6098    Comparing versions, by counting controls</a> in the xterm
6099    FAQ.</li>
6100
6101    <li>add <code>docs-clean</code> makefile rule.</li>
6102
6103    <li>add <code>copy-selection</code> action (request by Timo
6104    Juhani Lindfors, Debian #588785).</li>
6105
6106    <li>trim leading/trailing blanks from string used for
6107    "Selection" font-menu data.</li>
6108
6109    <li>trim leading/trailing blanks from color resource
6110    values.</li>
6111
6112    <li>configure script improvements:
6113      <ul>
6114        <li>add workaround for removal of X11 dependency from Xt's
6115        package file (report by Robert Hooker).</li>
6116
6117        <li>add workaround for removal of fontconfig dependency
6118        from Xft's package file (report by Jeremy Huddleston).</li>
6119
6120        <li>add workaround for removal of Xmu dependency from Xaw's
6121        package file (report by Jeremy Huddleston).</li>
6122
6123        <li>improve workaround in <code>CF_X_TOOLKIT</code> macro,
6124        checking for other possible packages where Xt's
6125        dependencies may be given.</li>
6126
6127        <li>prefer <code>${name:=value}</code> to
6128        <code>${name-value}</code>, since recent bash changes break
6129        legacy support for that feature.</li>
6130      </ul>
6131    </li>
6132  </ul>
6133
6134  <h1><a name="xterm_266" id="xterm_266">Patch #266 -
6135  2010/10/24</a></h1>
6136
6137  <ul>
6138    <li>add rpm and dpkg scripts, for testing.</li>
6139
6140    <li>more fixes for Debian #600707 (report by Cyril
6141    Brulebois).</li>
6142  </ul>
6143
6144  <h1><a name="xterm_265" id="xterm_265">Patch #265 -
6145  2010/10/22</a></h1>
6146
6147  <ul>
6148    <li>fix a regression in fontname logic from <a href=
6149    "#xterm_263">patch #263</a> changes (Debian #600707, reported
6150    by Vincent Lef&egrave;vre).</li>
6151
6152    <li>revert modification of any-event/any-button protocol from
6153    <a href="#xterm_263">patch #263</a> changes. It interferes with
6154    selection using a shifted mouse button (reports by Neil Bird,
6155    Bram Moolenaar).</li>
6156  </ul>
6157
6158  <h1><a name="xterm_264" id="xterm_264">Patch #264 -
6159  2010/10/14</a></h1>
6160
6161  <ul>
6162    <li>replace a null-pointer check with check for empty string in
6163    <code>xtermOpenFont</code>, to eliminate a warning message from
6164    <a href="#xterm_263">patch #263</a> changes.</li>
6165
6166    <li>build-fix for <a href="#xterm_263">patch #263</a> when
6167    toolbar is not configured (patch by Chris Clayton) (reports by
6168    Robby Workman, David Wood).</li>
6169  </ul>
6170
6171  <h1><a name="xterm_263" id="xterm_263">Patch #263 -
6172  2010/10/13</a></h1>
6173
6174  <ul>
6175    <li>corrected initialization of "misc" resource values, to
6176    ensure that xterm has allocated a copy of strings which may not
6177    have been malloc'd by the X library (Debian #600129).</li>
6178
6179    <li>modify handling of any-event/any-button mouse protocol; it
6180    now is active with any combination of key-modifiers.</li>
6181
6182    <li>add debugging feature <code>showWrapMarks</code>, which
6183    marks lines which xterm knows are wrapped, showing where a
6184    double-click will select past the end of a line.</li>
6185
6186    <li>build-fix to address change in include-guards for
6187    <code>Xlib.h</code> in ongoing Xorg edits (patch by Jeremy
6188    Huddleston).</li>
6189
6190    <li>improve <code>pointerMode</code> by continuing to watch for
6191    motion events after mouse tracking is disabled if the pointer
6192    is hidden (Debian #594856).</li>
6193
6194    <li>further extend initialization for active-icon font to check
6195    if the font was not loaded successfully, to retry with
6196    <code>font1</code>, or as even (if TrueType fonts are used) to
6197    use a TrueType font. The retries are to help with cases as in
6198    <a href="#xterm_241">patch #241</a> where the bitmap fonts are
6199    not available.</li>
6200
6201    <li>fix special case of active-icon used when TrueType font is
6202    specified for the xterm window, from <a href="#xterm_261">patch
6203    #261</a> change. In that case, the default font's size was used
6204    for layout of the active icon's window (Debian #591265).</li>
6205  </ul>
6206
6207  <h1><a name="xterm_262" id="xterm_262">Patch #262 - 2010/8/30</a></h1>
6208
6209  <ul>
6210    <li>fix a case where changing the cursor color via escape
6211    sequences did not immediately update the screen (report by
6212    Andreas Wagner).</li>
6213
6214    <li>implement ANSI and DEC request-mode control sequences. The
6215    latter includes the xterm-specific private modes such as the
6216    mouse mode. The feature is ifdef'd with the rectangle
6217    operations since its decoding overlaps that feature.</li>
6218
6219    <li>correct typo in ctlseqs.ms for response of OSC 21 (patch by
6220    Kevin Schoedel).</li>
6221
6222    <li>improve discussion of mouse tracking in ctlseqs.ms</li>
6223
6224    <li>increase an array limit used in reporting mouse events
6225    (report by Ryan Johnson).</li>
6226
6227    <li>add extended mouse-coordinates mode, allowing up to
6228    2015x2015 windows, using UTF-8 encoding (patch by Ryan
6229    Johnson).</li>
6230
6231    <li>modify manpage hyphens to conform with <a href=
6232    "http://lintian.debian.org/tags/hyphen-used-as-minus-sign.html">
6233    Debian</a>.</li>
6234  </ul>
6235
6236  <h1><a name="xterm_261" id="xterm_261">Patch #261 - 2010/6/28</a></h1>
6237
6238  <ul>
6239    <li>fix regression in <code>renderFont</code> logic, from
6240    <a href="#xterm_260">patch #260</a> changes (report by Joseph
6241    Quinsey).</li>
6242  </ul>
6243
6244  <h1><a name="xterm_260" id="xterm_260">Patch #260 - 2010/6/20</a></h1>
6245
6246  <ul>
6247    <li>modify <code>plink.sh</code> to work around problem linking
6248    to recent PCRE libraries.</li>
6249
6250    <li>extend <code>renderFont</code> resource to allow deferred
6251    switch to TrueType fonts without affecting existing resource
6252    settings (Debian #585620).</li>
6253
6254    <li>modify configure macro CF_X_TOOLKIT to work around omission
6255    of ICE library from ".pc" file (report by Miroslav
6256    Lichvar).</li>
6257
6258    <li>change configure script default for
6259    <code>--enable-broken-st</code> i.e., the
6260    <code>brokenStringTerm</code> feature) to normally enable it.
6261    If the corresponding resource is enabled, this feature
6262    eliminates an apparent freeze of xterm when sending mis-encoded
6263    data to the screen (Debian #584801).</li>
6264
6265    <li>document in manpage some actions which were overlooked:
6266      <ul>
6267        <li>readline-button</li>
6268
6269        <li>scroll-lock</li>
6270
6271        <li>set-8-bit-control</li>
6272      </ul>
6273    </li>
6274
6275    <li>undo a change to limit-check in <code>ScrnRefresh</code> in
6276    <a href="#xterm_257">patch #257</a>, which broke
6277    <code>fastScroll</code> feature (Debian #584841).</li>
6278
6279    <li>modify handling of <code>brokenLinuxOSC</code> and
6280    <code>brokenStringTerm</code> to also sound the bell.</li>
6281
6282    <li>add control/D and control/Q to controls which will cause
6283    early exit from control string per
6284    <code>brokenStringTerm</code> resource.</li>
6285
6286    <li>improve documentation of <code>brokenStringTerm</code>
6287    resource in manpage.</li>
6288  </ul>
6289
6290  <h1><a name="xterm_259" id="xterm_259">Patch #259 - 2010/6/5</a></h1>
6291
6292  <ul>
6293    <li>modify configure check for <a href=
6294    "https://invisible-island.net/luit/">luit</a> to include new
6295    aliases for the program (<code>xterm-filter</code> and
6296    <code>bluit</code>).</li>
6297
6298    <li>add workaround in <code>xtermClearLEDs()</code> to account
6299    for Xkb's override, making vttest's LED demo reset the scroll
6300    lock.</li>
6301
6302    <li>filter out client-message events when deciding whether to
6303    hide cursor, e.g., when using SCIM (patch/report by anonymous
6304    user).</li>
6305
6306    <li>improve description of <code>-bd</code> option in manpage
6307    (report by Guy Daniel Clotilde).</li>
6308
6309    <li>modify configure checks for PCRE and other libraries to use
6310    <code>pkg-config</code>, if available.</li>
6311
6312    <li>amend change from <a href="#xterm_252">patch #252</a>, to
6313    take <code>veryColorColors</code> resource into account when
6314    checking <code>colorBDMode</code> resource for TrueType fonts
6315    (report by anonymous user).</li>
6316
6317    <li>add <code>vttests/query-fonts.pl</code> script for
6318    demonstrating the <code>OSC&nbsp;50</code> font query.</li>
6319
6320    <li>improve manpage discussion of Scroll Lock feature.</li>
6321
6322    <li>improve configure macros CF_GCC_VERSION and
6323    CF_GCC_WARNINGS.</li>
6324
6325    <li>fix warnings for "clang --analyze".</li>
6326
6327    <li>change default for <code>allowScrollLock</code> resource to
6328    <code>false</code>, noting that the supposedly unused key has
6329    been useful for various rebindings (Debian #580946).</li>
6330  </ul>
6331
6332  <h1><a name="xterm_258" id="xterm_258">Patch #258 - 2010/5/1</a></h1>
6333
6334  <ul>
6335    <li>add pointer-checks in <code>ScrnRefresh</code> to fix a
6336    case in rapid scrolling where an empty record is fetched from
6337    the scrollback FIFO.</li>
6338  </ul>
6339
6340  <h1><a name="xterm_257" id="xterm_257">Patch #257 - 2010/4/22</a></h1>
6341
6342  <ul>
6343    <li>correct ctlseqs.ms description of OSC 17 and OSC 19 (patch
6344    by Emanuele Giaquinta).</li>
6345
6346    <li>corrected logic for <code>menuLocale</code> resource; the
6347    <code>setlocale</code> function returns the original locale
6348    only when querying.</li>
6349
6350    <li>improve filtering of translations resource, narrowing the
6351    scope of the <code>alwaysUseMods</code> to address only the
6352    translations that would cause a key to be sent to the host
6353    (report by Andrew Gaylard).</li>
6354
6355    <li>change default value of <code>menuLocale</code> resource to
6356    "C", to work around longstanding <a href=
6357    "https://invisible-island.net/xterm/xterm.faq.html#slow_menus">Xorg
6358    bug</a>.</li>
6359
6360    <li>modify handling of <code>scrollKey</code> feature to ignore
6361    XON/XOFF keys.</li>
6362
6363    <li>implement scroll-lock feature.</li>
6364
6365    <li>revise memory allocation in UTF8toLatin1() to fix an
6366    out-of-bounds index (Mandriva #54531).</li>
6367
6368    <li>compute value for first wide-character rather than assuming
6369    it is 256, fixes problem with <code>-cjk_width</code>
6370    introduced in patches <a href="#xterm_242">242</a> and <a href=
6371    "#xterm_249">249</a> (report by Thomas Wolff).</li>
6372
6373    <li>improve configure script:
6374      <ul>
6375        <li>corrected check for <code>_XOPEN_SOURCE</code> for
6376        OpenSolaris.</li>
6377
6378        <li>when possible, add rpath option for libraries in
6379        unusual places</li>
6380
6381        <li>add configure option <code>--disable-rpath-hack</code>
6382        to control whether the rpath option can be added.</li>
6383      </ul>
6384    </li>
6385
6386    <li>modify <code>AllocateTermColor()</code> to separate
6387    initialization from control sequences, fixing problem from
6388    <a href="#xterm_254">patch #254</a> changes where enabling
6389    <code>allowSendEvents</code> resource prevents setting cursor
6390    color on command-line (Debian #572928).</li>
6391
6392    <li>amend logic from <a href="#xterm_185">patch #185</a> to not
6393    reallocate cell-array if processing
6394    <code>ESC&nbsp;%&nbsp;G</code> to switch from UTF-8 if already
6395    in ISO-8859-1 character set (report by Michael Koehne).</li>
6396
6397    <li>fix to avoid calling <code>XmuInternStrings()</code> with
6398    zero count (report by Johan Bockg&aring;rd).</li>
6399
6400    <li>fix build when --disable-ansi-color configure option is
6401    used.</li>
6402
6403    <li>fix build when neither OPT_TCAP_QUERY or OPT_TCAP_FKEYS is
6404    defined (patch by Matthieu Herrb)</li>
6405  </ul>
6406
6407  <h1><a name="xterm_256" id="xterm_256">Patch #256 - 2010/3/6</a></h1>
6408
6409  <ul>
6410    <li>add TerminalEmulator to desktop category files.</li>
6411
6412    <li>modify <code>sinstall.sh</code> to ignore the "." appended
6413    to permissions by selinux.</li>
6414
6415    <li>change app-defaults organization, installing UXTerm-color
6416    and KOI8XTerm-color for consistent behavior regarding
6417    <code>customization:&nbsp;color</code> (prompted by discussion
6418    in Ubuntu #421261).</li>
6419
6420    <li>fix typo in <code>minstall.sh</code> from <a href=
6421    "#xterm_255">patch #255</a> changes, and add case for
6422    <code>/var/run</code> needed for full path of utmp (report by
6423    Julien Cristau).</li>
6424
6425    <li>minor fix to xterm manpage, remove a comment stating that
6426    margin bell can be changed via the VT Options menu. That was
6427    replaced in <a href="#xterm_225">patch #225</a></li>
6428
6429    <li>add a "docs" rule to makefile.</li>
6430
6431    <li>fix initialization of Atom used for <code>XkbBell</code>
6432    feature from <a href="#xterm_243">patch 243</a> changes. Unlike
6433    the other calls to <code>XInternAtom()</code>, in this case the
6434    flag telling X to create the Atom was unset (patch by Chris
6435    Adams).</li>
6436  </ul>
6437
6438  <h1><a name="xterm_255" id="xterm_255">Patch #255 - 2010/1/21</a></h1>
6439
6440  <ul>
6441    <li>rename <code>install.sh</code> to <code>install-sh</code>
6442    in case suffix-rules might interfere.</li>
6443
6444    <li>extend range for <code>convertToUTF8</code> function to
6445    full 31-bits, to use with printing, etc.</li>
6446
6447    <li>improve manpage by checking for actual locations of
6448    utmp/wtmp files (Debian #562640).</li>
6449
6450    <li>modify configure macro CF_XOPEN_SOURCE to remove -D's
6451    before adding the same name rather than relying on -U's, to
6452    reduce redefinition warnings for some platforms that have
6453    conflicting definitions in headers.</li>
6454
6455    <li>correct logic used to switch to alternate screen using
6456    FIFO-lines configuration (Debian #565772).</li>
6457
6458    <li>update config.guess, config.sub</li>
6459  </ul>
6460
6461  <h1><a name="xterm_254" id="xterm_254">Patch #254 - 2010/1/6</a></h1>
6462
6463  <ul>
6464    <li>add a configure-check to eliminate <code>install-ti</code>
6465    rule from Makefile when the system has no tic (terminfo
6466    compiler) program. This lets one use the
6467    <code>install-full</code> rule more consistently.</li>
6468
6469    <li>amend change to WriteText() function in <a href=
6470    "#xterm_252">patch #252</a> to take into account the
6471    <code>colorAttrMode</code> resource (report by Krzysztof
6472    Kotlenga).</li>
6473
6474    <li>document <code>titleModes</code> resource in manpage, added
6475    in <a href="#xterm_252">patch #252</a>.</li>
6476
6477    <li>modify tcap-query table entries for shifted up/down cursor
6478    keys to match ncurses convention.</li>
6479
6480    <li>improve lookup of termcap-query data, allowing for
6481    duplicate keycodes versus missing entries.</li>
6482
6483    <li>add control sequence which can be used to modify the
6484    terminal data used for the termcap-keyboard.</li>
6485
6486    <li>improve portability of tcap-query feature, using terminfo
6487    functions in preference to termcap on systems having
6488    terminfo.</li>
6489
6490    <li>improve font-setting/querying control
6491    (<code>OSC&nbsp;50</code>):
6492      <ul>
6493        <li>when TrueType font is selected, the TrueType
6494        <code>faceName</code> will be set, rather than the bitmap
6495        font.</li>
6496
6497        <li>when TrueType font is selected, querying returns the
6498        name of the TrueType font.</li>
6499
6500        <li>querying a font recognizes the relative-font convention
6501        that setting a font could use.</li>
6502      </ul>
6503    </li>
6504
6505    <li>add menu-entry for allowColorOps.</li>
6506
6507    <li>add new resources for fine-tuning menu entries:
6508    <code>allowColorOps</code>, <code>disallowedColorOps</code>,
6509    <code>disallowedFontOps</code> and
6510    <code>disallowedTcapOps</code>.</li>
6511
6512    <li>correct logic for disabling the "TrueType Fonts" menu item;
6513    it was not ensuring that the <code>faceName</code> resource
6514    value was non-empty.</li>
6515
6516    <li>implement VT520-style controls <code>DECSMBV</code> and
6517    <code>DECSWBV</code> for setting the margin- and warning-bell
6518    volume.</li>
6519
6520    <li>fix a minor error from <a href="#xterm_243">patch #243</a>
6521    which made the zIconBeep feature use a minor-error tone rather
6522    than an informational tone.</li>
6523
6524    <li>add a null-pointer check for the case where
6525    <code>renderFont</code> resource is true, but
6526    <code>faceName</code> resource is unset, used in logic to strip
6527    "xft:" prefix from <a href="#xterm_251">patch #251</a> changes
6528    (patch by Michael Riepe).</li>
6529
6530    <li>add special case to configure CF_XOPEN_SOURCE macro to use
6531    extensions on Darwin (patch by Dennis Preiser).</li>
6532
6533    <li>improve configure checks for regular expressions header and
6534    library</li>
6535
6536    <li>update config.guess, config.sub</li>
6537  </ul>
6538
6539  <h1><a name="xterm_253" id="xterm_253">Patch #253 -
6540  2009/12/10</a></h1>
6541
6542  <ul>
6543    <li>add a null-pointer check in <code>getPrinterFlags()</code>
6544    per changes in <a href="#xterm_252">patch #252</a>.</li>
6545
6546    <li>add a null-pointer check, needed in UTF-8 mode for Xft
6547    fonts after changes in <a href="#xterm_252">patch #252</a>
6548    (patch by Alan Coopersmith).</li>
6549
6550    <li>correct size when clearing struct for tek4014 (patch by
6551    Jochen Voss).</li>
6552
6553    <li>parenthesize expression in <code>MoreRows</code> macro,
6554    fixing a limit check added in <a href="#xterm_251">patch
6555    #251</a> (Debian #560039).</li>
6556  </ul>
6557
6558  <h1><a name="xterm_252" id="xterm_252">Patch #252 - 2009/12/7</a></h1>
6559
6560  <ul>
6561    <li>modify title-querying logic to support retrieval of titles
6562    encoded using UTF-8.</li>
6563
6564    <li>add new "title-modes" control sequence for controlling
6565    whether window/icon titles can be set or queried using UTF-8,
6566    optionally encoded in a hexadecimal string.</li>
6567
6568    <li>use <code>mkdir&nbsp;-p</code> rather than
6569    <code>mkdirs.sh</code> (prompted by discussion of mawk by
6570    Aleksey Cheusov).</li>
6571
6572    <li>add appropriate copyright/license notices to the bulk of
6573    files lacking same, and modify to use identical terms in others
6574    which used different wording. The main exceptions are the files
6575    contributed by Markus Kuhn, who appears to prefer public domain
6576    distribution, noting that I have modified/improved several of
6577    these without changing the terms of distribution (request by
6578    Jari Aalto).</li>
6579
6580    <li>add control sequences for resetting the "dynamic" colors to
6581    their default values.</li>
6582
6583    <li>add control sequences for resetting the "special" colors to
6584    their default values.</li>
6585
6586    <li>add control sequences for setting the "special" colors such
6587    as <code>colorBD</code> (bold).</li>
6588
6589    <li>add overlooked case for setting highlight foreground color
6590    with the dynamic-colors control.</li>
6591
6592    <li>add <code>OSC 104</code>, for resetting ANSI/16/88/256
6593    colors to default.</li>
6594
6595    <li>reset ANSI/16/88/256 colors to default in soft/hard reset
6596    functions.</li>
6597
6598    <li>strip "xft:" prefix from <code>faceName</code> and
6599    <code>faceNameDoublesize</code> resource values,</li>
6600
6601    <li>add <code>DECSCUSR</code> (discussion with Andy
6602    Koppe).</li>
6603
6604    <li>add check/warning on failure to load font, to see if the
6605    name looks like an Xft pattern rather than XLFD. This can
6606    happen if someone happens to modify their X resource settings
6607    for programs that read data from xterm's namespace.</li>
6608
6609    <li>modify handling of <code>print</code> and
6610    <code>print-everything</code> actions to allow the various
6611    printer flags to be overridden by supplying parameters.</li>
6612
6613    <li>add resource <code>printerNewLine</code> (request by Ovidiu
6614    Gheorghioiu).</li>
6615
6616    <li>minor cleanup, finish using <code>TScreenOf()</code> and
6617    <code>TekScreenOf()</code> macros introduced in <a href=
6618    "#xterm_224">patch #224</a>.</li>
6619
6620    <li>improve checks in ShowCursor/HideCursor to get the
6621    background color, particularly when
6622    <code>highlightReverse</code> resource is used (reports by Jan
6623    Engelhardt, Christian Weisgerber).</li>
6624
6625    <li>correct <code>checkVeryBoldAttr</code> to omit comparison
6626    of foreground color to special color values used for
6627    <code>color&lt;XX&gt;</code> resources (report by Jan
6628    Engelhardt).</li>
6629
6630    <li>make <code>colorBDMode</code> and <code>colorULMode</code>
6631    resources work with TrueType configuration (report by Jan
6632    Engelhardt).</li>
6633  </ul>
6634
6635  <h1><a name="xterm_251" id="xterm_251">Patch #251 -
6636  2009/11/11</a></h1>
6637
6638  <ul>
6639    <li>add window-ops controls to push/pop icon and/or window
6640    labels on a stack.</li>
6641
6642    <li>minor fixes to align termcap file with terminfo.</li>
6643
6644    <li>add resource <code>disallowedWindowOps</code>, to allow
6645    fine-tuning of features to suppress with the
6646    <code>allowWindowOps</code> resource (prompted by discussion
6647    with Bram Moolenaar).</li>
6648
6649    <li>add makefile rules for resize-manpage to pdf, etc.</li>
6650
6651    <li>further improve limit-checks in select/paste (Mandriva
6652    #54531).</li>
6653  </ul>
6654
6655  <h1><a name="xterm_250" id="xterm_250">Patch #250 -
6656  2009/10/13</a></h1>
6657
6658  <ul>
6659    <li>add check and error-message for fonts that have no
6660    printable values in the ISO-8859-1 range (Debian #542434).</li>
6661
6662    <li>some compiler-warning cleanup, in particular workaround for
6663    defective implementation of gcc's attribute warn_unused_result
6664    (report by Bram Moolenaar).</li>
6665
6666    <li>improve estimate of single-column width for packed TrueType
6667    fonts by ignoring extents for codes 127 and 159.</li>
6668
6669    <li>improve line-drawing for TrueType fonts which happen to
6670    have defined glyphs which are <em>not</em> line-drawing in
6671    0..31 by assuming they're not, and just checking the existence
6672    of the Unicode codepoints. This makes it more likely that the
6673    user can override a misconfigured font using the "Line-Drawing
6674    Characters" menu entry.</li>
6675
6676    <li>limit minimum cell-width for packed font to maximum-advance
6677    reported by Xft. Some fonts are wider than that, even in the
6678    Latin-1 range (Debian #550497).</li>
6679
6680    <li>add list of direct-contributors in "THANKS" file.</li>
6681
6682    <li>stylistic changes to this file to help scripted extraction
6683    of list of contributors.</li>
6684
6685    <li>correct off-by-one in <code>okPosition</code> fix from
6686    <a href="#xterm_249">patch #249</a> limit-checks which
6687    prevented double-click selection on the bottom line of the
6688    screen (reports by Rajeev V. Pillai, Debian #550368).</li>
6689
6690    <li>add <code>-q</code> option to
6691    <code>vttests/256colors2.pl</code> and
6692    <code>vttests/88colors2.pl</code> to demonstrate bulk
6693    initialization of color palette.</li>
6694
6695    <li>improve the workaround from patch #188 by enabling
6696    resources for the 88-color model.</li>
6697
6698    <li>document in xterm manpage the limited availability of
6699    resources <code>color16</code> to <code>color255</code> as
6700    noted in <a href="#xterm_188">patch #188</a> (Ubuntu
6701    #438850).</li>
6702  </ul>
6703
6704  <h1><a name="xterm_249" id="xterm_249">Patch #249 - 2009/10/1</a></h1>
6705
6706  <ul>
6707    <li>change default for <code>allowWindowOps</code> resource to
6708    false. 
6709    <!-- on the other hand, gnome-terminal, pterm and rxvt-unicode
6710                leave most of the related functionality enabled ;-) --></li>
6711
6712    <li>add limit-checks for result of visual_width() function,
6713    needed from <a href="#xterm_242">patch #242</a> and exposed by
6714    #244 changes (Debian #548321).</li>
6715
6716    <li>improve limit-checks in select/paste.</li>
6717
6718    <li>fix a remaining bug from <a href="#xterm_230">patch
6719    #230</a> changes for displaying multi-column characters in a
6720    proportional font (report by Chris Jones).</li>
6721
6722    <li>add new resource forcePackedFont and menu entry "Packed
6723    Font" to control whether to use the font's minimum (default) or
6724    maximum width when those differ. The workaround which xterm
6725    uses to accommodate proportional fonts is not necessary with
6726    certain fonts such as unifont which happen to store a mixture
6727    of multicolumn glyphs (report by Chris Jones).</li>
6728
6729    <li>fix an (old) bug which did not restart the timer for
6730    blinking text if the only blinking text was temporarily
6731    scrolled out of view, e.g., using the scrollbar.</li>
6732
6733    <li>fix an (old) flaw in the delete-line operation where the
6734    text which is scrolled into view while the display is scrolled
6735    up was not repainted.</li>
6736
6737    <li>improve delete-line and insert-line operations, retaining
6738    selection when the selection does not intersect the
6739    deleted/inserted lines.</li>
6740
6741    <li>fix an (old) off-by-one error when an application cleared
6742    above the cursor position while the display was scrolled up,
6743    that would leave an extra line of text uncleared.</li>
6744
6745    <li>fix a similar problem where the double-size attribute would
6746    not be reset when clearing the screen while the display was
6747    scrolled up.</li>
6748
6749    <li>fix an indexing error which would occur if an application
6750    cleared a line while the display was scrolled up and was also
6751    in UTF-8 mode (Redhat #524503). The error was from <a href=
6752    "#xterm_228">patch #228</a> but more visible after changes from
6753    <a href="#xterm_244">patch #244</a>.</li>
6754  </ul>
6755
6756  <h1><a name="xterm_248" id="xterm_248">Patch #248 - 2009/9/11</a></h1>
6757
6758  <ul>
6759    <li>fix an overlooked adjustment for selecting double-width
6760    characters in the narrow-character configuration.</li>
6761
6762    <li>eliminate uses of <code>XTERM_CELL</code> and
6763    <code>XTERM_CELLC</code> where an appropriate
6764    <code>LineData</code> pointer is available.</li>
6765
6766    <li>correct expression in <code>okScrnRow</code> macro, making
6767    selections give the length of lines below the visible screen
6768    (report by Stuart Henderson).</li>
6769
6770    <li>correct logic used to improve performance of missing-glyph
6771    check, which did not handle line-drawing characters (Debian
6772    #545220).</li>
6773  </ul>
6774
6775  <h1><a name="xterm_247" id="xterm_247">Patch #247 - 2009/8/30</a></h1>
6776
6777  <ul>
6778    <li>add ifdef's and check for openpty() on DragonFly (patch by
6779    Alex Hornung).</li>
6780
6781    <li>correct calculation for size of line's data block, which
6782    was sometimes off-by-one when configured using
6783    <code>--enable-16bit-chars</code> (report by H Merijn
6784    Brand).</li>
6785
6786    <li>fix indexing error in print-everything feature from
6787    <a href="#xterm_246">patch #246</a> (patch by Ovidiu
6788    Gheorghioiu).</li>
6789  </ul>
6790
6791  <h1><a name="xterm_246" id="xterm_246">Patch #246 - 2009/8/16</a></h1>
6792
6793  <ul>
6794    <li>remove obsolete logic for saving/restoring wrapping flags,
6795    which did not work on 64-bit platform. Wrapping flags (stored
6796    in the line-index) are now copied with line-data (Debian
6797    #541160).</li>
6798
6799    <li>modify comments in app-defaults files to avoid problem with
6800    C preprocessor used by <code>xrdb</code> (Debian #541603).</li>
6801
6802    <li>restore special case in <code>makeColorPair</code>, needed
6803    for <code>colorBDMode</code> resource (Debian #541089).</li>
6804
6805    <li>correct <code>SetLineFlags()</code> macro, broken in
6806    <a href="#xterm_244">patch #244</a> when recoding to avoid
6807    gcc-specific bitfields (Debian #541236).</li>
6808
6809    <li>modify initialization of screen buffers to ensure that
6810    pointers align to int-boundaries. This fixes a problem
6811    introduced in <a href="#xterm_244">patch #244</a> where the
6812    color- and character-arrays (stored after the video-attributes
6813    in each row) might be misaligned (report by Rajeev V
6814    Pillai).</li>
6815
6816    <li>add limit-check in <code>ScrnRefresh</code> for handling
6817    saved-lines from the circular buffer which are repainted on a
6818    screen whose width has increased. To improve performance,
6819    circular buffer entries are not resized (report by Rajeev V
6820    Pillai).</li>
6821
6822    <li>correct type for <code>CellColor</code> (a late change in
6823    <a href="#xterm_244">patch #244</a> to avoid gcc-specifc enums
6824    made that unsigned rather than unsigned short, for the
6825    256-color option).</li>
6826
6827    <li>fix typo in configure option --enable-16bit-chars (report
6828    by Rajeev V. Pillai).</li>
6829  </ul>
6830
6831  <h1><a name="xterm_245" id="xterm_245">Patch #245 - 2009/8/12</a></h1>
6832
6833  <ul>
6834    <li>correct a special case in saving FIFO-lines from <a href=
6835    "#xterm_244">patch #244</a>. If the screen was shrunk, xterm
6836    used the wrong amount for copying to FIFO-lines, and then used
6837    this amount to adjust the current row on the screen. That was
6838    both a visible defect (Debian #541109) as well as a potential
6839    addressing error (Debian #541132, Debian #541160, and Debian
6840    #541236).</li>
6841
6842    <li>add clarification in xterm manual about the various
6843    <code>allow<em>XXX</em>Ops</code> resources, which are disabled
6844    when the <code>allowSendEvents</code> resource is active (patch
6845    by Julien Cristau, Debian #531597).</li>
6846  </ul>
6847
6848  <h1><a name="xterm_244" id="xterm_244">Patch #244 - 2009/8/9</a></h1>
6849
6850  <ul>
6851    <li>refactored storage of saved-lines, providing a configure
6852    option to manage them as a FIFO (actually a circular buffer),
6853    improving performance. Added configure option
6854    <code>--enable-fifo-lines</code> to enable/disable the new
6855    feature (it is enabled by default).</li>
6856
6857    <li>added <code>fastScroll</code> resource, to amuse people who
6858    measure terminal emulator performance by <code>cat</code>'ing
6859    large files to the screen.</li>
6860
6861    <li>modify check in <code>readPtyData</code> from return values
6862    to provide exit on zero-bytes read from pty for FreeBSD, or
6863    eliminate high-CPU in "xterm-hold" processing (discussion with
6864    Ulrich Spoerlein, FreeBSD ports/136686). The check was
6865    originally modified to combine negative/zero values in
6866    XFree86-3.1.2E, 1996/05/06.</li>
6867
6868    <li>add configure option <code>--enable-16bit-chars</code> to
6869    provide wide-characters with 16-bits (rather than the default
6870    32-bits).</li>
6871
6872    <li>add <code>retryInputMethod</code> resource to allow
6873    configuring out the retries xterm uses to connect to
6874    non-responsive XIM server, to work around defective X
6875    configurations as noted in <a href=
6876    "http://mail-index.netbsd.org/tech-x11/2009/06/07/msg000511.html">
6877    NetBSD mailing list</a>.</li>
6878
6879    <li>make regular-expression selection work for VT100
6880    double-sized characters.</li>
6881
6882    <li>improve layout when drawing missing characters in a
6883    proportional font, e.g., as boxes, to take into account whether
6884    they are double-width (report by Guilbert Stabilo on
6885    comp.unix.shell).</li>
6886
6887    <li>add capability for keypad-center (kb2/KA2) to termcap entry
6888    for xterm-new, as well as xterm-8bit, xterm-sun and xterm-vt220
6889    (FreeBSD conf/136336).</li>
6890
6891    <li>change default for <code>keepSelection</code> resource to
6892    true (prompted by discussion with David Muir Sharnoff).</li>
6893
6894    <li>remove a limit-check in ptydata.c, allowing Unicode values
6895    past 64k to be displayed using TrueType fonts (Debian
6896    #458432).</li>
6897
6898    <li>remove a vt52-specific ifdef to allow mapping F1-F4 to
6899    PF1-PF4 when vt52 support is not compiled (report by Olaf
6900    'Rhialto' Seibert).</li>
6901
6902    <li>save/restore line-wrapping flags when converting from
6903    ISO-8859-1 encoding to UTF-8 encoding, as well as when resizing
6904    screen.</li>
6905
6906    <li>remove extra adjustment of position in fix for Debian
6907    #418324.</li>
6908
6909    <li>modify default check for <code>mkWidth</code> resource to
6910    check for line-drawing characters, which are categorized as
6911    double-width in Solaris 10 (report by Sebastian Kayser).</li>
6912
6913    <li>add "print-everything" action (patch by Ovidiu
6914    Gheorghioiu).</li>
6915
6916    <li>start refactoring scrollback data using new getLineData()
6917    function.</li>
6918
6919    <li>demote recent change to Debian #252873 fix to experimental,
6920    ifdef'd out as <code>EXP_BOGUS_FG</code> (Debian #522141).</li>
6921
6922    <li>work around groff mapping of ASCII quotes using macros
6923    (requested by Reuben Thomas based on Colin Watson advice, fixes
6924    Debian #378700).</li>
6925
6926    <li>correct symbol used for default of
6927    <code>allowWindowOps</code> which was
6928    <code>DEF_ALLOW_FONT</code> rather than
6929    <code>DEF_ALLOW_WINDOW</code> (report by Matthieu Herrb).</li>
6930
6931    <li>amend fix for tek4014 from <a href="#xterm_243">patch
6932    #243</a> to make it only apply to the Tek Options menu.</li>
6933  </ul>
6934
6935  <h1><a name="xterm_243" id="xterm_243">Patch #243 - 2009/3/28</a></h1>
6936
6937  <ul>
6938    <li>revert change to default for <code>allowTcapOps</code>
6939    (request by Bram Moolenaar).</li>
6940
6941    <li>reallocate result returned by <code>xtermEnvLocale()</code>
6942    to avoid reference to freed memory after handling
6943    <code>menuLocale</code> resource.</li>
6944
6945    <li>fix an old (X11R5) bug in tek4014 for switching
6946    fontsizes.</li>
6947
6948    <li>add resource <code>defaultString</code> to make
6949    configurable the use of "#" when pastes of UTF-8 text fail due
6950    to limitations in the current locale settings.</li>
6951
6952    <li>make the set of selection target Atom's configurable by two
6953    new resources <code>eightBitSelectTypes</code> and
6954    <code>utf8SelectTypes</code>, e.g., to use the
6955    <code>TEXT</code> Atom in preference to
6956    <code>UTF8_STRING</code> (discussion with Stanislav Sedov
6957    regarding koi8rxterm and the FreeBSD port).</li>
6958
6959    <li>modify handling of <code>TARGETS</code> Atom by making it
6960    return exactly the set of targets as those which xterm is
6961    currently providing.</li>
6962
6963    <li>set <code>MANPAGER</code> and <code>PAGER</code> explicitly
6964    to /bin/cat in <code>minstall.sh</code> to work around
6965    /etc/man.conf's with those variables already set (report by
6966    &#1052;&#1072;&#1088;&#1100;&#1103;&#1089;&#1080;&#1085;
6967    &#1057;&#1077;&#1084;&#1105;&#1085;).</li>
6968
6969    <li>improve error-checking of tcap-query parser.</li>
6970
6971    <li>add check for keyboard <code>tcap</code>), which ensures
6972    that terminal descriptions containing the same string for
6973    shifted/unshifted keys will be seen by tcap-query as only the
6974    unshifted key. (This would only happen with an incorrect
6975    terminal description).</li>
6976
6977    <li>fix conversion for input event-state to modifier-parameter
6978    which made tcap-query feature not work with
6979    <code>tcapFunctionKeys</code> (keyboard type
6980    <code>tcap</code>).</li>
6981
6982    <li>add "DEF_ALLOW_<em>XXX</em>" definitions to main.h to allow
6983    overriding the default compiled-in values for
6984    "allow<em>xxx</em>" resources.</li>
6985
6986    <li>remove check on bell-percentage added in <a href=
6987    "#xterm_242">patch #242</a>, which disallowed zero/negative
6988    values (Redhat Bugzilla #487829).</li>
6989  </ul>
6990
6991  <h1><a name="xterm_242" id="xterm_242">Patch #242 - 2009/2/15</a></h1>
6992
6993  <ul>
6994    <li>fix configure check for <code>XkbBell</code> and provide
6995    appropriate parameter for it.</li>
6996
6997    <li>fix a caching problem with double-size fonts versus reverse
6998    video that could cause core dump.</li>
6999
7000    <li>repair double-size fonts from workaround used in <a href=
7001    "#xterm_240">patch #240</a>.</li>
7002
7003    <li>add new section to the VT Fonts menu which allows enabling
7004    or disabling the font, termcap (tcap-query), title and window
7005    operations.</li>
7006
7007    <li>add <code>fontWarnings</code> resource, to control whether
7008    to show warnings on failure to load a font.</li>
7009
7010    <li>improve warnings for unloadable fonts introduced in
7011    <a href="#xterm_240">patch #240</a> by limiting those to the
7012    cases where a font would be specified directly by a resource
7013    setting rather than a derived fontname.</li>
7014
7015    <li>further amend fix for Debian #252873 from <a href=
7016    "#xterm_197">patch #197</a> to treat a blank cell which does
7017    not have both foreground and background colored as a
7018    non-colored cell. This improves a special case where the cursor
7019    is on a blank cell which had foreground color scrolled in
7020    (report by Miroslav Lichvar).
7021      <p>Also add the same logic when hiding cursor, so the outline
7022      matches the in-focus cursor.</p>
7023    </li>
7024
7025    <li>modify internals to reduce places PAIRED_CHARS() is used,
7026    making WriteText() and ScrnWriteText() accept IChar array, as
7027    well as providing a wrapper for drawXtermText().</li>
7028
7029    <li>change default XIM font from "*" to "fixed" to improve
7030    startup time in zh_CN.UTF-8 locale (Mike Fabian, SuSE Bugzilla
7031    #464930).</li>
7032
7033    <li>typo in #240 log (Slava Semushin)</li>
7034  </ul>
7035
7036  <h1><a name="xterm_241" id="xterm_241">Patch #241 - 2009/1/26</a></h1>
7037
7038  <ul>
7039    <li>improve checks for missing bitmap fonts, fallback to
7040    "fixed" as needed to work around broken font-packages (report
7041    by Jacek Luczak).</li>
7042
7043    <li>fix breakage from <a href="#xterm_240">patch #240</a>
7044    changes for <code>xtermAddInput()</code> (patches by Jeff Chua,
7045    Julien Cristau).</li>
7046  </ul>
7047
7048  <h1><a name="xterm_240" id="xterm_240">Patch #240 - 2009/1/25</a></h1>
7049
7050  <ul>
7051    <li>use <code>plink.sh</code> for linking xterm (suggested by
7052    Larry Doolittle).</li>
7053
7054    <li>add resource descriptions for input method to xterm
7055    manpage.</li>
7056
7057    <li>update configure script; consistently append to $CFLAGS
7058    rather than prepend.</li>
7059
7060    <li>add <code>install-scripts</code> rule to makefile, to allow
7061    koi8rxterm and uxterm scripts to be altered independently of
7062    <code>install-bin</code></li>
7063
7064    <li>add <code>-maximized</code> command-line option and
7065    corresponding resource (prompted by alt.os.linux newsgroup
7066    comment).</li>
7067
7068    <li>modify translations of scrollbar widget using
7069    <code>xtermAddInput()</code> (see <a href="#xterm_181">patch
7070    #181</a>) to accept the actions that the vt100 widget accepts,
7071    such as shift-insert to perform a paste operation (request by
7072    Martin Zwickel).</li>
7073
7074    <li>change default for <code>allowTcapsOps</code> resource to
7075    false, since it causes unexpected behavior for vim users with
7076    <code>AltGr</code>.</li>
7077
7078    <li>update config.guess, config.sub</li>
7079  </ul>
7080
7081  <h1><a name="xterm_239" id="xterm_239">Patch #239 - 2009/1/8</a></h1>
7082
7083  <ul>
7084    <li>correct a cast in input.c, which broke translation of
7085    numeric keypad codes to pageup, pagedown, etc., on 64-bit
7086    platform (Debian #511138, report by Larry Doolittle).</li>
7087  </ul>
7088
7089  <h1><a name="xterm_238" id="xterm_238">Patch #238 -
7090  2008/12/30</a></h1>
7091
7092  <ul>
7093    <li>update configure macro CF_XOPEN_SOURCE for AIX 6.x and Mint
7094    platforms.</li>
7095
7096    <li>reset the screen wrapping-flag at the end of
7097    <code>ClearRight</code> to fix an occasional case where the
7098    last character of a scrolled and wrapped line would be cleared
7099    (patch by Joe Peterson).</li>
7100
7101    <li>modify to use POSIX coding for comparing resource settings
7102    such as <code>locale</code>, to work with locales such as
7103    Turkish (report by M Vefa Bicakci).</li>
7104
7105    <li>turn on configure <code>paste64</code> feature by default
7106    (request by Jean-Philippe Bernardy). It is runtime
7107    enabled/disabled with <code>allowWindowOps</code>.</li>
7108
7109    <li>turn on configure <code>tcap-query</code> feature by
7110    default, add resource <code>allowTcapOps</code> to make this
7111    runtime enabled/disabled.</li>
7112
7113    <li>make <code>OSC 3</code> (change X property, from <a href=
7114    "#xterm_110">patch #110</a>) subject to
7115    <code>allowWindowOps</code> resource.</li>
7116
7117    <li>make VT220 <code>DSR</code> responses inactive in
7118    VT100-mode.</li>
7119
7120    <li>make <code>DECUDK</code> feature inactive in
7121    VT100-mode.</li>
7122
7123    <li>respond to incorrectly formatted <code>DECRQSS</code> with
7124    a cancel.</li>
7125
7126    <li>add <code>allowFontOps</code> resource to allow the
7127    fontsize-switching and font query/set control sequences to be
7128    enabled/disabled (prompted by Debian #510030).</li>
7129
7130    <li>some code cleanup based on gcc 4.x
7131    <code>-Wconversion</code> warnings in button.c and
7132    charproc.c</li>
7133
7134    <li>modify <code>tcap-query</code> feature to not return data
7135    for shifted cursor-keys when the keyboard type is set to vt220,
7136    since returning the same string for shifted/unshifted keys may
7137    confuse some applications (Gentoo #212546).</li>
7138  </ul>
7139
7140  <h1><a name="xterm_237" id="xterm_237">Patch #237 -
7141  2008/09/14</a></h1>
7142
7143  <ul>
7144    <li>improve usability of TrueType fonts by making the font-size
7145    switching for shifted keypad plus/minus use the
7146    <code>faceSize</code> resources to determine the order of fonts
7147    (when TrueType fonts are used) rather than the bitmap fonts,
7148    since their sizes may not be in the same order (report by H
7149    Merijn Brand)</li>
7150
7151    <li>remove an optimization of <code>ConfigureNotify</code>
7152    events from <a href="#xterm_236">patch #236</a> which seems to
7153    interfere with passing <code>SIGWINCH</code> to applications
7154    (Gentoo #233836).</li>
7155
7156    <li>modify handling of <code>altSendsEscape</code> to reset the
7157    <code>eightBitInput</code> mode, like
7158    <code>metaSendsEscape</code> (patch by Ted Phelps).</li>
7159
7160    <li>add feature to show the text-cursor as an underline rather
7161    than a box, plus command-line options <code>-uc</code> and
7162    <code>+uc</code> and resource <code>cursorUnderLine</code> to
7163    control the feature (patch by Paul Lampert).</li>
7164
7165    <li>update config.guess, config.sub</li>
7166  </ul>
7167
7168  <h1><a name="xterm_236" id="xterm_236">Patch #236 -
7169  2008/07/27</a></h1>
7170
7171  <ul>
7172    <li>correct memory reallocation when handling a paste of UTF-8
7173    text from <a href="#xterm_225">patch #225</a> changes
7174    (report/patch by Max Mikhanosha).</li>
7175
7176    <li>correct allocation of temporary buffer in
7177    <code>xtermFindShell</code> in case the user's
7178    <code>$PATH</code> contains no ":" (report/analysis by Victor
7179    Stinner, Freedesktop.Org Bugzilla #16790).</li>
7180
7181    <li>modify CF_XOPEN_SOURCE to add case for DragonFly BSD, to
7182    fix new compile problem exposed by fix for fd_mask (patch by
7183    Hasso Tepper).</li>
7184
7185    <li>add configure-check for ncurses
7186    <code>use_extended_names</code>, (report by Martin
7187    Mokrejs).</li>
7188
7189    <li>correct computation for toolbar height; layout manager
7190    already takes into account <code>borderWidth</code>
7191    resource.</li>
7192
7193    <li>implement VT320-style SCS (select character set) for ISO
7194    Latin-1 supplemental.</li>
7195
7196    <li>fixes for vt100-style character sets in UTF-8 mode (Ubuntu
7197    #230919).</li>
7198
7199    <li>fix to make <code>luit</code> work with xterm's
7200    <code>-ls</code> option (report/patch by Marius Tolzmann).</li>
7201
7202    <li>update config.guess, config.sub</li>
7203  </ul>
7204
7205  <h1><a name="xterm_235" id="xterm_235">Patch #235 -
7206  2008/04/20</a></h1>
7207
7208  <ul>
7209    <li>add control sequences for some of the recent resource/menu
7210    settings:
7211      <ul>
7212        <li><code>altSendsEscape</code> (private mode 1039)</li>
7213
7214        <li><code>keepSelection</code> (private mode 1040)</li>
7215
7216        <li><code>selectToClipboard</code> (private mode 1041)</li>
7217
7218        <li><code>bellIsUrgent</code> (private mode 1042)</li>
7219
7220        <li><code>popOnBell</code> (private mode 1043)</li>
7221      </ul>
7222    </li>
7223
7224    <li>add resource <code>formatOtherKeys</code> to provide an
7225    alternate escape sequence format for the
7226    <code>modifyOtherKeys</code> resource (request by Paul LeoNerd
7227    Evans).</li>
7228
7229    <li>adjust saved-cursor position if the window is resized while
7230    displaying the alternate screen (Novell #196880, Debian
7231    #383384).</li>
7232
7233    <li>improve pointer-checks to fix a bug exposed by resizing
7234    during initialization under StumpWM window manager (Fedora
7235    Bugzilla #437928).</li>
7236
7237    <li>modify <code>unselectwindow()</code> to ensure that the
7238    mouse pointer is not hidden after xterm loses focus (report by
7239    Jeremy Huddleston).</li>
7240
7241    <li>add special check for fd_mask on Mac OS X (report by Jeremy
7242    Huddleston).</li>
7243
7244    <li>add <code>dylib</code> to autoconf's suffix list used for
7245    checking the result from <code>xmkmf</code>, to work with Mac
7246    OS X (report by Jeremy Huddleston).</li>
7247
7248    <li>correct initialization of bold- and wide-, wide-bold fonts
7249    which may be set via the <code>utf8Fonts</code> subresource
7250    (Debian #347790).</li>
7251  </ul>
7252
7253  <h1><a name="xterm_234" id="xterm_234">Patch #234 -
7254  2008/03/02</a></h1>
7255
7256  <ul>
7257    <li>modify <code>sinstall.sh</code> to use POSIX locale to
7258    bypass GNU ls changes to date-format.</li>
7259
7260    <li>improved/refined changes for closing bitmap font (patch by
7261    Andrea Odetti).</li>
7262
7263    <li>improve resize computation for situations where the
7264    negotiation fails, by invoking the xterm widget's core-class
7265    resize method (Debian #365602, patch by Jim Paris).</li>
7266
7267    <li>restore initialization of terminal's <code>VMIN</code> and
7268    <code>VTIME</code> settings, from <a href="#xterm_232">patch
7269    #232</a> changes (patch by Matthieu Herrb).</li>
7270  </ul>
7271
7272  <h1><a name="xterm_233" id="xterm_233">Patch #233 -
7273  2008/02/24</a></h1>
7274
7275  <ul>
7276    <li>add configure check for <code>ttydefaults.h</code>, include
7277    if needed, e.g., for systems where defining
7278    <code>_POSIX_C_SOURCE</code>, etc., prevents it from being
7279    included via <code>termios.h</code> (prompted by comments by
7280    Robert Delius Royar and Jeremy Huddleston).</li>
7281
7282    <li>bug-fixes for bugs.opensolaris.org (patches from Alan
7283    Coopersmith)
7284      <dl>
7285        <dt>4029911</dt>
7286
7287        <dd>fix a typo in manpage</dd>
7288
7289        <dt>4045962</dt>
7290
7291        <dd>xterm doesn't properly set ut_syslen</dd>
7292
7293        <dt>4192572</dt>
7294
7295        <dd>left-left-right misinterpreted as triple click</dd>
7296      </dl>
7297    </li>
7298
7299    <li>minor optimization to tab-initialization (patch by
7300    N&eacute;meth M&aacute;rton).</li>
7301
7302    <li>fix a case where an incorrect font was freed during
7303    initialization from <a href="#xterm_232">patch #232</a> changes
7304    (patch by Andrea Odetti).</li>
7305
7306    <li>improve comparison used in <code>SameFont</code> function
7307    for GC-caching (Julien Cristau).</li>
7308
7309    <li>correct macro name used for default <code>CKILL</code>
7310    definition to work with Mac OS X (report by Jeremy
7311    Huddleston).</li>
7312  </ul>
7313
7314  <h1><a name="xterm_232" id="xterm_232">Patch #232 -
7315  2008/01/30</a></h1>
7316
7317  <ul>
7318    <li>corrected logic in a font-cache used for reverse-video
7319    (Debian #404079).</li>
7320
7321    <li>add control sequence to alter <code>pointerMode</code> at
7322    runtime.</li>
7323
7324    <li>add limit-checks for rectangle operation parameters (report
7325    by Martin Pirker).</li>
7326
7327    <li>modify <code>minstall.sh</code> to suppress
7328    <code>$MANPAGER</code> and <code>$PAGER</code> environment
7329    variables, which may interfere with redirecting output of
7330    <code>man</code> to a shell variable (report/patch by Zdenek
7331    Sekera).</li>
7332
7333    <li>do not try to hide mouse pointer in the tek4014 window,
7334    fixes broken "-t" option at startup from <a href=
7335    "#xterm_230">patch #230</a> changes (report by Robert K.
7336    Nelson).</li>
7337
7338    <li>correct datatype used when drawing tek4014 data using xterm
7339    compiled for wide-characters, on big-endian machines (reports
7340    by Jeremy Huddleston, Harald Hanche-Olsen, Martin Costabel,
7341    Merle Reinhart).</li>
7342
7343    <li>modify to cache the font-names along with the bitmap font
7344    data, to improve comparison of fonts.</li>
7345
7346    <li>modify to allow building with configure options
7347    <code>--disable-ansi-color</code> and
7348    <code>--disable-leaks</code> (Debian #459817, report/patch by
7349    N&eacute;meth M&aacute;rton).</li>
7350
7351    <li>modify to allow building with configure options
7352    <code>--enable-wide-chars</code> and
7353    <code>--disable-c1-print</code> (Debian #459816, report/patch
7354    by N&eacute;meth M&aacute;rton).</li>
7355
7356    <li>add <code>pointerMode</code> resource to control whether
7357    and when the pointer cursor is hidden as the user types.</li>
7358
7359    <li>simplify initialization of ttyMode- and related characters
7360    using a table.</li>
7361
7362    <li>modify initialization-logic for stty values that correspond
7363    to ltchars structure and the BSD TIOCSLTC ioctl (susp, dsusp,
7364    rprnt flush, werase, lnext). These were reset to constants for
7365    both termios and legacy interfaces immediately after asking the
7366    system for the existing values since X11R6.1, rather than using
7367    them to provide inherited values. While the legacy interface
7368    has some constraints, e.g., on HPUX, the POSIX or termios
7369    interface should not. Your shell may reset these anyway
7370    (prompted by patch by Ed Schouten).</li>
7371
7372    <li>improve logic for hiding/displaying pointer-cursor (report
7373    by Mark Brukhartz).</li>
7374
7375    <li>add limit-checks to tabs.c, increase maximum column for
7376    setting tab-stops from 320 to 1024 (report by N&eacute;meth
7377    M&aacute;rton).</li>
7378
7379    <li>correct length, i.e., number of types of selection targets,
7380    computed by <code>ConvertSelection()</code> when not handling
7381    wide characters for the <code>XA_TARGETS()</code> case. This
7382    leaves an extra Atom on the end of the list which is not
7383    handled by <a href=
7384    "http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6322854">Java
7385    applications</a>. The problem was introduced in <a href=
7386    "#xterm_151">patch #151</a> (report by David Wood).</li>
7387  </ul>
7388
7389  <h1><a name="xterm_231" id="xterm_231">Patch #231 -
7390  2008/01/05</a></h1>
7391
7392  <ul>
7393    <li>undo change to <code>getXtermCell()</code> from patch #230
7394    using <code>PACK_PAIR</code> macro (Debian #459014, analysis by
7395    Caetano Jimenez Carezzato).</li>
7396
7397    <li>minor documentation fixes (patch by Slava Semushin)</li>
7398
7399    <li>add makefile actions to install KOI8RXTerm app-defaults
7400    file (patch by Julien Cristau).</li>
7401  </ul>
7402
7403  <h1><a name="xterm_230" id="xterm_230">Patch #230 -
7404  2007/12/31</a></h1>
7405
7406  <ul>
7407    <li>add <code>quietGrab</code> resource, which when true,
7408    suppresses cursor repainting when <code>NotifyGrab</code> and
7409    <code>NotifyUngrab</code> event types are received during
7410    change of focus (request by Nicolas George).</li>
7411
7412    <li>do not treat Unicode BIDI control characters as combining
7413    characters (Debian #457634).</li>
7414
7415    <li>add <code>koi8rxterm</code>, from Debian.</li>
7416
7417    <li>add manpage for <code>uxterm</code>, from Debian (Ubuntu
7418    #128136, Debian #438645)</li>
7419
7420    <li>remove ".xpm" suffixes from Icon filenames in desktop files
7421    since it confuses some lookups following the <a href=
7422    "http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html">
7423    Icon Theme Specification</a> (report by Slava Semushin)</li>
7424
7425    <li>correct width-calculation used for adjusting proportional
7426    fonts, to work with wide-characters (Debian #441354).</li>
7427
7428    <li>fixes/improvements for double-size characters:
7429      <ul>
7430        <li>correct old clipping calculation which used total
7431        height of glyphs where ascent was needed.</li>
7432
7433        <li>if bold font is unavailable, fall back to normal
7434        font</li>
7435
7436        <li>adjust to "work" with Xft (which does not support
7437        double-width single-height characters).</li>
7438
7439        <li>restore reset of doublesize for a line when it is
7440        cleared, broken in <a href="#xterm_228">patch
7441        #228</a>.</li>
7442      </ul>
7443    </li>
7444
7445    <li>modify logic for <code>forceBoxChars</code> resource when
7446    using TrueType fonts to be consistent with bitmap fonts</li>
7447
7448    <li>modify logic for <code>forceBoxChars</code> resource to
7449    make the "Line-Drawing Characters" menu entry use xterm's
7450    line-drawing characters even asked to draw wide line-drawing
7451    characters which are available in the font.</li>
7452
7453    <li>modify rectangle-support functions to preserve colors when
7454    filling/erasing to match WRQ Reflection behavior (request by
7455    Enzo Toscano).</li>
7456
7457    <li>add getopt-parsing to tcapquery.pl, including feature to
7458    test the extended cursor/editing keys.</li>
7459
7460    <li>make missing double-width glyphs display as double-width
7461    (Debian #456236).</li>
7462
7463    <li>change <code>tcap-fkeys</code> and <code>rectangles</code>
7464    configure options to enable them by default.</li>
7465
7466    <li>hide the mouse pointer while user is typing (request by
7467    Rodolfo Borges).</li>
7468
7469    <li>extend configure options <code>--enable-tcap-query</code>
7470    and <code>--enable-tcap-fkeys</code> to send cursor- and
7471    editing-keypad keys modified according to the keyboard (or
7472    termcap) selection for shift, alt, control, meta.</li>
7473
7474    <li>modify <code>kdch1</code> in termcap, e.g.,
7475    <code>xterm-r6</code> to match the terminfo file.</li>
7476
7477    <li>add <code>-hm</code> option to turn
7478    <code>highlightColorMode</code> on or off.</li>
7479
7480    <li>add <code>highlightColorMode</code> resource to separate
7481    the new (since <a href="#xterm_225">patch #225</a>)
7482    highlighting with both text- and background-colors (prompted by
7483    report/example by Thomas Wolff).</li>
7484
7485    <li>add <em>Keep Selection</em> menu entry to turn the
7486    <code>keepSelection</code> resource on/off at runtime.</li>
7487
7488    <li>add <code>keepSelection</code> resource, which when
7489    enabled, tells xterm to retain the X selection even after it
7490    stops highlighting it (patch by Sergey Vlasov).</li>
7491
7492    <li>extend the <code>CSI&nbsp;&gt;&nbsp;n</code> sequence to
7493    allow disabling all types of modified-keys that the
7494    <code>CSI&nbsp;&gt;&nbsp;m</code> sequence affects.</li>
7495
7496    <li>move include for <code>&lt;xtermcap.h&gt;</code> in
7497    <code>resize.c</code> to avoid redefinition of
7498    <code>termios</code> structure on OpenSolaris (report by Rahul
7499    Gopinathan Nair).</li>
7500
7501    <li>extend terminfo building blocks for modified editing keys
7502    to include all six keys.</li>
7503
7504    <li>synchronize terminfo with ncurses (report by Stephane
7505    Chazelas)
7506      <ul>
7507        <li>equate <code>xterm-xfree86</code> and
7508        <code>xterm-xf86-v44</code>.</li>
7509
7510        <li>add ncurses extensions OTbs, AX, for termcap
7511        conversions.</li>
7512
7513        <li>make old/legacy entries such as <code>xterm-24</code>,
7514        <code>xterm-65</code> and aliases <code>xterms</code>,
7515        <code>vs100</code> inherit from
7516        <code>xterm-old</code>.</li>
7517
7518        <li>make <code>xterm-r5</code> and <code>xterm-r6</code>
7519        the same, ignoring historical errors in X Consortium's
7520        version.</li>
7521      </ul>
7522    </li>
7523
7524    <li>fix an ifdef in logic for selecting regular expressions
7525    while in a narrow-character locale (Debian #449227).</li>
7526  </ul>
7527
7528  <h1><a name="xterm_229" id="xterm_229">Patch #229 - 2007/8/12</a></h1>
7529
7530  <ul>
7531    <li>override locale in minstall.sh; change in <a href=
7532    "#xterm_226">patch #226</a> does not work in UTF-8 locale
7533    (report by Zdenek Sekera).</li>
7534
7535    <li>undo an incorrect fix for a memory leak in <a href=
7536    "#xterm_209">patch #209</a> (Debian #435858).</li>
7537  </ul>
7538
7539  <h1><a name="xterm_228" id="xterm_228">Patch #228 - 2007/7/22</a></h1>
7540
7541  <ul>
7542    <li>modify configure script to permit combining
7543    <code>--with-utempter</code> and <code>--enable-setuid</code>,
7544    e.g., for using xterm with the utempter library on FreeBSD
7545    (report by Andriy Gapon).</li>
7546
7547    <li>modify "Quit" menu entry to override the <code>-hold</code>
7548    command-line option.</li>
7549
7550    <li>add a check in the startup error-reporting to avoid writing
7551    to pipe when it has not been opened. In that case, report
7552    errors directly to the standard error.</li>
7553
7554    <li>add OPT_READLINE definition to xtermcfg.hin, overlooked in
7555    <a href="#xterm_205">patch #205</a> (report by Kalle Olavi
7556    Niemitalo).</li>
7557
7558    <li>modify <code>88colors2.pl</code> and
7559    <code>256colors2.pl</code>, adding <code>-r</code> option to
7560    reverse the palettes for the extended colors.</li>
7561
7562    <li>check for partial overwrite or deletion of multi-column
7563    characters in several cases, e.g., insert-character,
7564    delete-character, etc., and fill the remainder of the cells
7565    used by the multi-column characters affected with blanks.</li>
7566
7567    <li>correct character-class codes in wide-character mode for
7568    characters 215, 247 (see also <a href="#xterm_165">patch
7569    #165</a>).</li>
7570
7571    <li>fix missing assignment for UTF-8 parsing in widget
7572    initialization (Debian #403360).</li>
7573
7574    <li>correct index expression used to set line-wrapping flag,
7575    making selection from scrollback work consistently (Debian
7576    #430121, report by Vincent Lef&egrave;vre).</li>
7577
7578    <li>amend changes to handshake in <a href="#xterm_226">patch
7579    #226</a> to accommodate Solaris, which relies on the extra
7580    setting of the terminal size after I/O initialization. Do this
7581    by adding new resource <code>ptySttySize</code>, which is false
7582    for Linux and MacOS X, i.e., true for for Solaris and other
7583    SVR4 platforms, as well as FreeBSD (reports by David Wood,
7584    Renato Botelho).</li>
7585
7586    <li>check for X events after cursor-left, and carriage return,
7587    consistent with indexing operations (comments by Vegard Nossum
7588    and Ingo Molnar on a mailing-list).</li>
7589
7590    <li>initialize the <code>.keyboard</code> structure, needed for
7591    some platforms (such as Solaris) after <a href=
7592    "#xterm_227">patch #227</a> fixes for keysyms (patch by David
7593    Wood).</li>
7594
7595    <li>update config.guess, config.sub</li>
7596  </ul>
7597
7598  <h1><a name="xterm_227" id="xterm_227">Patch #227 - 2007/6/27</a></h1>
7599
7600  <ul>
7601    <li>exclude the Intel compiler from the extra gcc warning
7602    options added in <a href="#xterm_226">patch #226</a>.</li>
7603
7604    <li>modify change for Debian #422521 from <a href=
7605    "#xterm_226">patch #226</a> to work with configurations where
7606    the X server does not recognize the <code>XF86Paste</code> or
7607    <code>SunPaste</code> keysyms (report by Paolo Pumilia).</li>
7608
7609    <li>fix incorrect free in fix for "Selection" menu entry in
7610    <a href="#xterm_226">patch #226</a>.</li>
7611  </ul>
7612
7613  <h1><a name="xterm_226" id="xterm_226">Patch #226 - 2007/6/17</a></h1>
7614
7615  <ul>
7616    <li>add configure check to use
7617    <code>-Wno-unknown-pragmas</code> for Solaris, and a few other
7618    new gcc warning options to address regressions in its warning
7619    options.</li>
7620
7621    <li>add sample desktop and icon files, along with configure
7622    options for manipulating them.</li>
7623
7624    <li>fix an infinite loop when showing a 2-column character in a
7625    1-column screen (Debian #426863).</li>
7626
7627    <li>add <code>XF86Paste</code> and <code>SunPaste</code> to the
7628    default translations (Debian #422521, patch by Bernhard R
7629    Link).</li>
7630
7631    <li>update wcwidth.c (partly based on/prompted by mailing list
7632    comment).</li>
7633
7634    <li>update/improve keysym2ucs.c based on Unicode 5.0.1d3 and
7635    Xorg 7.1 keysymdef.h file.</li>
7636
7637    <li>improve <code>gen-pc-fkeys.pl</code>, making it show all of
7638    the building-block terminfo entries used by xterm.</li>
7639
7640    <li>correct strings used for modifiers applied to F1-F4 in
7641    xterm+pcf1 terminfo entry.</li>
7642
7643    <li>improve session management by adding the ICE connection
7644    number to the <code>select</code> call rather than waking up
7645    once per second (patch by Miroslav Lichvar).</li>
7646
7647    <li>add environment variable <code>$XTERM_LOCALE</code> to help
7648    with shell initialization, e.g., to set a specific locale for
7649    xterm on systems where a global locale is set in the shell
7650    startup scripts.</li>
7651
7652    <li>add resource settings <code>mkSampleSize</code> and
7653    <code>mkSamplePass</code> to modify the <code>mkWidth</code>
7654    added in <a href="#xterm_201">patch #201</a>. In <a href=
7655    "#xterm_202">patch #202</a>, xterm would also check if the
7656    system's <code>wcwidth</code> matched its built-in tables "well
7657    enough" to be used when <code>mkWidth</code> was false, and if
7658    not would use the built-in tables anyway. These resources allow
7659    the user to customize the decision (prompted by comments by
7660    Emanuele Giaquinta)</li>
7661
7662    <li>modify logic which resets/updates the screensize on the
7663    child process side of the pseudo-terminal to do this only if a
7664    successful handshake was received, e.g., as determined by the
7665    <code>waitForMap</code> resource (prompted by reports by
7666    Emanuele Giaquinta and Bernhard R Link, but see also <a href=
7667    "#xterm_177">patch #177</a> and <a href="#xterm_159">patch
7668    #159</a>.</li>
7669
7670    <li>improve permissions logic when closing pseudo-terminal
7671    (Debian #12261, patch by Nathanael Nerode, analysis by Richard
7672    Braakman).</li>
7673
7674    <li>add resource <code>highlightReverse</code> which controls
7675    whether xterm will allow selection highlighting to hide
7676    reverse-video or use the older behavior which inverts the
7677    foreground and background colors when selected text with
7678    reverse-video attribute (report by Adam M Costello, comments by
7679    Victor Vaile).</li>
7680
7681    <li>restore a special case for cursor-color in
7682    <code>ReverseVideo()</code> lost in rewrite for <a href=
7683    "#xterm_224">patch #224</a> (report by Adam Sulmicki).</li>
7684
7685    <li>correct initialization for menu entry for
7686    <code>bellIsUrgent</code> (patch by Emanuele Giaquinta).</li>
7687
7688    <li>correct length of underlining for double-width Xft fonts
7689    (report by Shidai Liu "Leo").</li>
7690
7691    <li>correct clipping for double-width Xft fonts (report by
7692    Shidai Liu "Leo").</li>
7693
7694    <li>modify initialization for <code>italicULMode</code> to
7695    avoid <code>XftPatternBuild</code> reusing bold attributes
7696    (report by Shidai Liu "Leo").</li>
7697
7698    <li>add a check in case someone tries to call the
7699    <code>popup-menu()</code> action on a menu which is not
7700    initialized (Debian #426364).</li>
7701
7702    <li>improve CF_IMAKE_CFLAGS to work with Solaris sed (report by
7703    Peter Bray).</li>
7704
7705    <li>improve guess for X's manpage section in
7706    <code>minstall.sh</code>, (prompted by comment by Miroslav
7707    Lichvar).</li>
7708
7709    <li>modify <code>minstall.sh</code> to handle manpage patch
7710    with more than one dot (patch by Miroslav Lichvar).</li>
7711
7712    <li>fix configure message for --disable-setgid option (patch by
7713    Miroslav Lichvar).</li>
7714
7715    <li>add <code>allowTitleOps</code> resource to allow users to
7716    prevent the title- and icon-names from changing (request by
7717    John Bashinski).</li>
7718
7719    <li>fix "spawn-new-terminal" action, for the case where no
7720    parameter is passed to the action (patch by Daniel
7721    Colascione).</li>
7722
7723    <li>fix error-checking on internal font switching for
7724    "Selection" menu entry (Debian #421523).</li>
7725
7726    <li>amend select/paste change from <a href="#xterm_225">patch
7727    #225</a> by limiting it to non-UTF-8/non-KOI8-R encoding
7728    (Debian #420974).</li>
7729
7730    <li>add workaround for groff ".URL" codes which are not present
7731    in some commonly-used bitmap fonts (Debian #418324).</li>
7732  </ul>
7733
7734  <h1><a name="xterm_225" id="xterm_225">Patch #225 - 2007/3/24</a></h1>
7735
7736  <ul>
7737    <li>add <code>useClipping</code> resource to allow clipping to
7738    be disabled.</li>
7739
7740    <li>use <code>XftDrawSetClipRectangles</code> to work around
7741    Xft pixel-trash (report by Reuben Thomas).</li>
7742
7743    <li>add configure option <code>--enable-tcap-fkeys</code>, and
7744    resource <code>tcapFunctionKeys</code>, which can be used to
7745    tell xterm to use function-key definitions from the termcap (or
7746    terminfo) which it uses to set $TERM on startup.</li>
7747
7748    <li>add resources <code>altIsNotMeta</code> and
7749    <code>altSendsEscape</code> to allow one to use Alt-keys like
7750    the meta-key even if they are bound to different keycodes
7751    (prompted by discussion with Daniel Jacobowitz).</li>
7752
7753    <li>revert a change from <a href="#xterm_216">patch #216</a>
7754    that unnecessarily made the meta modifier override the
7755    <code>eightBitInput</code> resource if the alt- and
7756    meta-modifiers happened to overlap (report/patch by Daniel
7757    Jacobowitz).</li>
7758
7759    <li>correct associated font for active icon for colored text
7760    (broken in <a href="#xterm_224">patch #224</a>).</li>
7761
7762    <li>correct ifdef's for Darwin (patch by Emanuele
7763    Giaquinta).</li>
7764
7765    <li>add <code>highlightTextColor</code> resource, and options
7766    <code>-selfg</code>, <code>-selbg</code> like <code>xwsh</code>
7767    (adapted from patch by Victor Vaile).</li>
7768
7769    <li>revise <code>find_closest_color()</code> function to
7770    address concern about borrowing from <code>Tcl/Tk</code>
7771    (request by Dan McNichol).</li>
7772
7773    <li>add "spawn-new-terminal" action, which can be assigned to
7774    key translation, allowing one to spawn a new copy of xterm
7775    using the current process's working directory (adapted from
7776    patch by Daniel Colascione).</li>
7777
7778    <li>improve select/paste between UTF-8 and Latin1 xterms by
7779    adapting the translations from <a href="#xterm_185">patch
7780    #185</a>. Extend that to include Unicode fullwidth forms
7781    FF00-FF5E. Also modify select/paste of DEC line-drawing
7782    characters in Latin1 mode to use ASCII characters.</li>
7783
7784    <li>add "Enable Bell Urgency" to VT Options menu, removed
7785    "Enable Margin Bell".</li>
7786
7787    <li>add <code>bellIsUrgent</code> resource to control whether
7788    the Urgency hint is set/reset.</li>
7789
7790    <li>modify to set Urgency window manager hint on bell, reset it
7791    on Focus-In event (patch by Emanuele Giaquinta).</li>
7792
7793    <li>add <code>--disable-setgid</code> configure option (request
7794    by Miroslav Lichvar).</li>
7795
7796    <li>fix a possible infinite loop in last change to
7797    <code>dabbrev-expand()</code> (patch by Emanuele
7798    Giaquinta).</li>
7799
7800    <li>modify initialization to set the pty erase value if the
7801    <code>erase</code> is set in the <code>ttyModes</code>
7802    resource. This overrides the <code>ptyInitialErase</code>
7803    setting (request by Llu&iacute;s Batlle i Rossell).</li>
7804
7805    <li>add <code>initialFont</code> resource to xterm widget, like
7806    tek-widget (Debian #299669).</li>
7807
7808    <li>amend change to <code>boldMode</code> from <a href=
7809    "#xterm_223">patch #223</a> for Debian #347790. As noted in
7810    Debian #412599, that made xterm no longer match the documented
7811    behavior. Add new resource <code>alwaysBoldMode</code> to allow
7812    overriding the comparison between normal/bold fonts when
7813    deciding whether to use overstriking to simulate bold
7814    fonts.</li>
7815
7816    <li>restore background color in ClearCurBackground(), omitted
7817    in changes for <a href="#xterm_223">patch #223</a> (report by
7818    Miroslav Lichvar).</li>
7819
7820    <li>correct logic for repainting double-width TrueType
7821    characters (prompted by test-case for Novell #246573).</li>
7822
7823    <li>add a check to avoid trying to repeat a multibyte character
7824    (report by Sami Farin).</li>
7825
7826    <li>modify parameter to <code>XftNameParse()</code> to select
7827    wide face-name as needed, to make <code>-fd</code> option work
7828    (patch by Mike Fabian, Novell #246573).</li>
7829
7830    <li>correct logic for mouse highlight tracking's abort
7831    sequence, broken in a restructuring modification from <a href=
7832    "#xterm_224">patch #224</a> (report by Thomas Wolff).</li>
7833
7834    <li>revert the simplification of blinking cursor, since that
7835    broke the xor'ing introduced in <a href="#xterm_193">patch
7836    #193</a> (report by Thomas Wolff).</li>
7837  </ul>
7838
7839  <h1><a name="xterm_224" id="xterm_224">Patch #224 - 2007/2/11</a></h1>
7840
7841  <ul>
7842    <li>simplify code for set/reset mode for blinking cursor (patch
7843    by Emanuele Giaquinta).</li>
7844
7845    <li>modify <code>dabbrev-expand()</code> to restart after the
7846    last match (patch by Emanuele Giaquinta).</li>
7847
7848    <li>add control sequences for enabling/disabling focus in/out
7849    event reporting (request by Bram Moolenaar).</li>
7850
7851    <li>improve startup performance of menus by adding resource
7852    setting <code>menuLocale</code> which can be set to override
7853    X's lengthy initialization of fontsets - which are seldom used
7854    for the <code>Xaw</code> popup menus (adapted from patch by
7855    Dave Coffin).</li>
7856
7857    <li>modify <code>do_precomposition()</code> function and
7858    <code>make-precompose.sh</code> to handle 21-bit codes vs the
7859    16-bit codes those were written for, and fix a few mis-sorted
7860    codes (patch by Thomas Wolff).</li>
7861
7862    <li>handle special case in <code>-cjk_width</code> which
7863    unexpectedly caused a character's width to change when a
7864    combining character (patch by Thomas Wolff)</li>
7865
7866    <li>fix build for GNU/KFreeBSD (Debian #40111).</li>
7867
7868    <li>consolidate GC creation/updating into a single module to
7869    reduce GC manipulation (prompted by Debian #389476, though a
7870    complete fix would involve optimizing the scrolling
7871    behavior).</li>
7872
7873    <li>fix ifdef of xtermCellWidth(), which broke for a case
7874    without TrueType and without wide-character support (report by
7875    Martin Pirker).</li>
7876
7877    <li>undo a comparison in
7878    <code>handle_translated_exposure</code> which did not work due
7879    to X server optimization. That caused the inner border to be
7880    repainted with unexpected colors when handling a repaint, e.g.,
7881    after switching to/from another workspace (Debian #401726,
7882    Redhat Bugzilla #223027).</li>
7883
7884    <li>allow <code>-cr</code> option to override cursor color when
7885    <code>-ah</code> option is used (Debian #406502).</li>
7886
7887    <li>add a note in xterm's manpage explaining that the
7888    <code>-bw</code> (or <code>-w</code>) option is only used by
7889    the window manager, if at all (Debian #405043).</li>
7890
7891    <li>make <code>Selection</code> of <code>VT&nbsp;Fonts</code>
7892    work with <code>selectToClipboard</code> resource.</li>
7893
7894    <li>correct length calculation for <code>Selection</code> entry
7895    of <code>VT&nbsp;Fonts</code> menu, broken since it ignored the
7896    actual selection length since X11R4.</li>
7897
7898    <li>fixes for fontsize changes with <code>-fa</code> option
7899    (Redhat Bugzilla #222340).</li>
7900  </ul>
7901
7902  <h1><a name="xterm_223" id="xterm_223">Patch #223 -
7903  2006/11/30</a></h1>
7904
7905  <ul>
7906    <li>add <code>--enable-rectangles</code> configure option
7907    (request by Martin Pirker).</li>
7908
7909    <li>correct default value for <code>--with-symlink</code>
7910    configure option.</li>
7911
7912    <li>fixes configure script macros that use
7913    <code>$X_EXTRA_LIBS</code>.</li>
7914
7915    <li>modify configure script to provide support for pre-package
7916    config versions of Xft aka "FreeType".</li>
7917
7918    <li>add the Xaw scrollbar translations resource to the xterm
7919    manpage, add an example showing how to change the mouse button
7920    assignments (Debian #382225).</li>
7921
7922    <li>amend a change from <a href="#xterm_216">patch #216</a>,
7923    which omitted modifiers for control, meta, etc., if they were
7924    mixed with any other modifiers. The intent of the change was to
7925    avoid confusion with <code>XK_Mode_switch</code> and
7926    <code>XK_ISO_Level3_Shift</code>; the check is now done
7927    explicitly (report by Daniel Jacobowitz).</li>
7928
7929    <li>interpret a negative value for
7930    <code>modifyCursorKeys</code> or
7931    <code>modifyFunctionKeys</code> resources to disable the
7932    respective features (prompted by Novell #220728).</li>
7933
7934    <li>amend cell-width computation for FreeType from <a href=
7935    "#xterm_217">patch #217</a>, which did not work for VT100
7936    line-drawing characters (Debian #399638, Gentoo #147111).</li>
7937
7938    <li>amend a change from <a href="#xterm_216">patch #216</a>,
7939    which made alt-modifier on a cursor-key send a modifier
7940    parameter (Novell #220728).</li>
7941
7942    <li>correct an off-by-one that made DECCRA not work
7943    (report/patch by Martin Pirker).</li>
7944
7945    <li>revert an optimization in SGR_Foreground() and
7946    SGR_Background from <a href="#xterm_209">patch #209</a> (Debian
7947    #347722, analysis by Pierre Lombard).</li>
7948
7949    <li>fix for <code>boldMode</code> (Debian #347790, patch by Tim
7950    Pope).</li>
7951
7952    <li>amend fix for <code>-iconic</code> in <a href=
7953    "#xterm_208">patch #208</a>, which broke the positioning part
7954    of <code>-geom</code> with toolbar configuration.</li>
7955
7956    <li>fix to prevent indexing error in regular expressions (patch
7957    by Dennis Schneider).</li>
7958
7959    <li>fixes to make the <code>internalBorder</code> area not
7960    change color due to reverseVideo and/or related exposure
7961    events. The latter was a very old bug exposed in <a href=
7962    "#xterm_196">patch #196</a> (report by Neil Hoggarth, also
7963    Debian #397624).</li>
7964  </ul>
7965
7966  <h1><a name="xterm_222" id="xterm_222">Patch #222 -
7967  2006/10/17</a></h1>
7968
7969  <ul>
7970    <li>minor optimization for recoloring cursor via dynamic
7971    colors.</li>
7972
7973    <li>fix a bug caused by restructuring of tek4014 widget (report
7974    by Paul Schenkeveld)</li>
7975  </ul>
7976
7977  <h1><a name="xterm_221" id="xterm_221">Patch #221 - 2006/10/1</a></h1>
7978
7979  <ul>
7980    <li>fix for regular expressions: the code which converted the
7981    column offset within a line did not check properly for the end
7982    of a line, and if allowed to match the whole line, would select
7983    the beginning of the following line. If the following line were
7984    empty, in turn it would select from the next, etc. (report by
7985    Sean Reifschneider).</li>
7986
7987    <li>minor optimization of color allocation to avoid repainting
7988    the screen if the corresponding color had not been
7989    allocated.</li>
7990
7991    <li>fixes for vttests/256colors.pl (report by Egmont
7992    Koblinger).</li>
7993
7994    <li>add terminfo building block entries for modifiers of the
7995    6-key editing keypad.</li>
7996
7997    <li>fix for initialization of tek4014 which broke on QNX
7998    6.1</li>
7999  </ul>
8000
8001  <h1><a name="xterm_220" id="xterm_220">Patch #220 - 2006/9/10</a></h1>
8002
8003  <ul>
8004    <li>make "xterm -t -iconic" work as expected, i.e., start in
8005    tek4014 mode, but iconified.</li>
8006  </ul>
8007
8008  <h1><a name="xterm_219" id="xterm_219">Patch #219 - 2006/9/4</a></h1>
8009
8010  <ul>
8011    <li>some internal restructuring to separate data for vt100 and
8012    tek4014 widgets.</li>
8013
8014    <li>fix a few cases where form-events would be seen by the
8015    vt100 widget when built with the toolbar configuration.</li>
8016  </ul>
8017
8018  <h1><a name="xterm_218" id="xterm_218">Patch #218 - 2006/8/27</a></h1>
8019
8020  <ul>
8021    <li>change behavior when encountering an illegal character in a
8022    title string. Rather than reject the string, translate illegal
8023    characters into "?" and use the string (requested by Thomas
8024    Wolff).</li>
8025
8026    <li>improve checks for nonprinting characters in title strings
8027    (report by Samuel Thibault).</li>
8028
8029    <li>correct typo in menu labels, changing
8030    <code>print-redirect</code> to <code>print-redir</code>, making
8031    it follow the manpage and match the usage for the actions table
8032    (report by Samuel Thibault).</li>
8033
8034    <li>correct a typo that prevents building with some older
8035    systems such as Solaris 2.6 (report by Julian Bridle).</li>
8036  </ul>
8037
8038  <h1><a name="xterm_217" id="xterm_217">Patch #217 - 2006/8/20</a></h1>
8039
8040  <ul>
8041    <li>minor improvements to FreeType font layout and
8042    drawing.</li>
8043
8044    <li>add a check in the ptyInitialErase logic to ensure that the
8045    termcap was read (Redhat Bugzilla #201246).</li>
8046
8047    <li>limit changes for reverse-video from <a href=
8048    "#xterm_216">patch #216</a> to cases where the reverse-video
8049    command-line option is used (report by Zdenek Sekera).</li>
8050
8051    <li>correct bitmap-derived pointsizes for TrueType fonts; they
8052    should be proportional to the square root of the area of the
8053    bitmap fonts.</li>
8054
8055    <li>add resources to specify pointsize of TrueType fonts
8056    (request by Reuben Thomas).</li>
8057
8058    <li>improve install of terminfo by filtering out harmless
8059    messages related to extended capabilities. At the same time,
8060    use ncurses tic to compile the extended capabilities if
8061    possible (report by Zdenek Sekera).</li>
8062
8063    <li>update "xterm+pcfkeys" terminfo entry to correspond to
8064    <a href="#xterm_216">patch #216</a>.</li>
8065  </ul>
8066
8067  <h1><a name="xterm_216" id="xterm_216">Patch #216 - 2006/8/3</a></h1>
8068
8069  <ul>
8070    <li>improve handling of <code>ConfigureNotify</code> events by
8071    checking if there are further events in the queue which
8072    obsolete the current one (adapted from rxvt 2.7.5). Only the
8073    normal normal (non-toolbar) configuration is addressed in this
8074    patch.</li>
8075
8076    <li>several changes to terminfo:
8077      <ul>
8078        <li>incorporate some minor changes from ncurses to help
8079        keep these synchronized:
8080          <dl>
8081            <dt>2005-02-26</dt>
8082
8083            <dd>modify sgr/sgr0 in xterm-new to improve tgetent's
8084            derived "me".</dd>
8085
8086            <dt>2006-02-18</dt>
8087
8088            <dd>remove ncv flag from xterm-16color</dd>
8089
8090            <dt>2006-06-24</dt>
8091
8092            <dd>improve xterm-256color by combining the 16-color
8093            setaf/setab strings with SGR 48, and cancelling the
8094            setf/setb strings.</dd>
8095          </dl>
8096        </li>
8097
8098        <li>use extended function-key definitions for xterm-sun,
8099        xterm-sco entries.</li>
8100
8101        <li>add terminfo building-blocks corresponding to the
8102        <code>modifyFunctionKeys</code> and
8103        <code>modifyCursorKeys</code> resources.</li>
8104      </ul>
8105    </li>
8106
8107    <li>ifdef'd Sun function-key feature to make it optional, like
8108    HP and SCO.</li>
8109
8110    <li>extend table for termcap-query feature through F63, and
8111    updated tcapquery.pl to match.</li>
8112
8113    <li>modify logic for function-key input processing to allow
8114    function key numbers which are constructed by control- and
8115    shift-modifiers to extend beyond X's hardcoded limit of
8116    35.</li>
8117
8118    <li>add control sequence to set or reset the
8119    <code>eightBitInput</code> resource.</li>
8120
8121    <li>change default resource <code>modifyFunctionKeys</code> to
8122    2 to avoid sending SS3 with parameters (report by Kalle Olavi
8123    Niemitalo).</li>
8124
8125    <li>add control sequences for setting and resetting the values
8126    of the <code>modifyCursorKeys</code>,
8127    <code>modifyFunctionKeys</code> and
8128    <code>modifyOtherKeys</code> resources.</li>
8129
8130    <li>add <code>modifyFunctionKeys</code> resource like
8131    <code>modifyCursorKeys</code>. Setting this to zero allows one
8132    to use the control- and shift-modifiers to construct function
8133    key strings, for terminals using many function keys, e.g., for
8134    <code>xterm-sun</code> or <code>xterm-sco</code>.</li>
8135
8136    <li>modify screen responses and function-key logic to reduce
8137    the number of writes made, to make it less likely that an
8138    application would read only part of a function-key in a read
8139    operation (suggested by John E Urbanczyk).</li>
8140
8141    <li>add <code>combiningChars</code> resource, which allows the
8142    user to specify the maximum number of combining characters that
8143    xterm will store for each cell in wide-character mode (prompted
8144    by request by Markus Kuhn to increase the limit from 2).</li>
8145
8146    <li>improve logic in <code>metaSendsEscape</code> in case the
8147    Alt- and Meta-keys are mapped to different modifiers. That
8148    allows one to use the Alt-key for shifting in the
8149    <code>eightBitInput</code> and use a Meta-key modifier to
8150    prefix the result with an <code>&lt;ESC&gt;</code>.</li>
8151
8152    <li>improve <code>modifyCursorKeys</code> logic to prevent it
8153    from modifying codes where <code>eightBitInput</code> or
8154    <code>metaSendsEscape</code> are set (request by Dan
8155    Nicolaescu).</li>
8156
8157    <li>improve <code>modifyCursorKeys</code> logic to prevent it
8158    from changing the user input when other modifiers such as AltGr
8159    are used (report by Thomas Wolff).</li>
8160
8161    <li>extend <code>modifyCursorKeys</code> to include the numeric
8162    keypad when in application mode.</li>
8163
8164    <li>improve <code>-reverse</code> (<code>-rv</code>) option
8165    (patch by Jason Vas Dias, Redhat #189161).</li>
8166
8167    <li>workaround for color resources on Fedora-5 which made the
8168    toolbar colors inconsistent.</li>
8169
8170    <li>corrected calls used for <code>--disable-setuid</code>
8171    option, add debugging traces to help diagnose this area.</li>
8172
8173    <li>modify configure script to ensure that
8174    <code>USE_UTMP_SETGID</code> is defined only if the check for
8175    POSIX saved-ids succeeds, or corresponds to one of the BSD
8176    systems known to have a workable <code>setegid</code>
8177    function.</li>
8178
8179    <li>extend configure check for POSIX saved-ids to include BSD
8180    systems</li>
8181
8182    <li>modify CF_SYSV configure macro to work with gcc on HPUX
8183    10.20, whose broken <code>&lt;term.h&gt;</code> relies on
8184    including <code>&lt;termios.h&gt;</code>.</li>
8185
8186    <li>change order of setuid/setgid ifdef checks in Imakefile to
8187    make it simpler to produce a setgid install, allowing the
8188    latter to override the former (prompted by an XFree86
8189    commit).</li>
8190
8191    <li>adapt a fix for setgid support from subsequent XFree86
8192    changes (patch by Emanuele Giaquinta).</li>
8193
8194    <li>further improve setgid support (patches by Emanuele
8195    Giaquinta).</li>
8196  </ul>
8197
8198  <h1><a name="xterm_215" id="xterm_215">Patch #215 - 2006/6/19 -
8199  XFree86 4.6.99.2</a></h1>
8200
8201  <ul>
8202    <li>improve setgid support by exploiting the saved-ids feature
8203    on which it relies (patch by Emanuele Giaquinta).</li>
8204
8205    <li>make the <code>modifyOtherKeys</code> resource disabled by
8206    default since the intermediate setting altered some common
8207    bindings (report by Emanuele Giaquinta).</li>
8208  </ul>
8209
8210  <h1><a name="xterm_214" id="xterm_214">Patch #214 - 2006/6/18 -
8211  XFree86 4.6.99.2</a></h1>
8212
8213  <ul>
8214    <li>modify makefile rule for ctlseqs.txt to strip
8215    backspace/overstrikes, and add a copy of ctlseqs.txt to the
8216    source tarballs (requests by Bram Moolenaar, Emanuele
8217    Giaquinta).</li>
8218
8219    <li>add <code>modifyOtherKeys</code> resource, analogous to the
8220    <code>modifyCursorKeys</code> resource. This applies to keys
8221    that normally would transmit nothing when a given modifier is
8222    applied (request by Dan Nicolaescu).</li>
8223
8224    <li>add <code>default</code> to the acceptable values for the
8225    <code>keyboardType</code> resource, allowing the
8226    <code>-kt</code> command-line option to override app-defaults
8227    resource settings of <code>sunKeyboard</code>, etc.</li>
8228
8229    <li>correct ifdef's for <code>XkbBell()</code> which used the
8230    header file but not the corresponding function in <a href=
8231    "#xterm_175">patch #175</a> (report by Zach Beane).</li>
8232
8233    <li>add xterm manpage to the <code>--with-symlink</code>
8234    logic.</li>
8235
8236    <li>regenerated configure script to omit some debugging
8237    artifacts of the SIGWINCH test.</li>
8238
8239    <li>fix <code>install-man</code> rule in
8240    <code>Makefile.in</code> to avoid including the
8241    <code>$(DESTDIR)</code> value in substitutions made on the
8242    manpages (patch by Emanuele Giaquinta).</li>
8243
8244    <li>improved fix for cursor deallocation (Redhat #186935, patch
8245    by Jason Vas Dias).</li>
8246
8247    <li>improve checks for setuid/setgid operation to accommodate
8248    limited resource management in some kernels (Gentoo
8249    #193238).</li>
8250
8251    <li>update config.guess, config.sub</li>
8252  </ul>
8253
8254  <h1><a name="xterm_213" id="xterm_213">Patch #213 - 2006/4/30 -
8255  XFree86 4.5.99.905</a></h1>
8256
8257  <ul>
8258    <li>minor optimization to cell layout; will use that to
8259    simplify some logic and allow for more than two combining
8260    characters in another patch.</li>
8261
8262    <li>add <code>utf8Latin1</code> resource to make optional the
8263    feature from <a href="#xterm_209">patch #209</a> which allowed
8264    ISO-8859-1 fonts to be used in cases where a wide font was
8265    given. This would only work for the special case where the user
8266    normally used Latin-1 and wanted some wide characters (report
8267    by Rostislav Krasny).</li>
8268
8269    <li>add <code>utf8Title</code> resource to manpage (Novell
8270    #52655).</li>
8271
8272    <li>fix typo in table entry for <code>utf8Title</code> resource
8273    which made it treated as an integer rather than boolean (patch
8274    by Mike Fabian, Novell #52655).</li>
8275  </ul>
8276
8277  <h1><a name="xterm_212" id="xterm_212">Patch #212 - 2006/4/9 -
8278  XFree86 4.5.99.904</a></h1>
8279
8280  <ul>
8281    <li>improve description of <code>forceBoxChars</code> in
8282    manpage (discussion with Joe Wells).</li>
8283
8284    <li>set checkmark for "Select To Clipboard" menu entry on
8285    startup, from resource setting.</li>
8286
8287    <li>update manpage to note that
8288    <code>*customization:color</code> is not needed, though it is
8289    useful (Redhat #188034).</li>
8290
8291    <li>add underscore to sample pattern for URL in
8292    <code>XTerm.ad</code> (Redhat #188037).</li>
8293
8294    <li>modify install rule for manpage to use the configured
8295    app-defaults directory (Redhat #188031).</li>
8296
8297    <li>add checks in <code>releaseCursorGCs()</code> to ensure
8298    GC's are distinct, needed since memory leak changes for
8299    <a href="#xterm_208">patch #208</a> (Redhat #186935, patch by
8300    Jason Vas Dias).</li>
8301
8302    <li>modify <code>Imakefile</code> definitions to allow
8303    <code>imake</code> to set <code>InstallXtermSetGID</code>. Add
8304    symbol <code>InstGidFlags</code>.</li>
8305
8306    <li>add configure script check to ensure that SIGWINCH if
8307    defined even when headers undefine this as a side-effect of
8308    <code>_POSIX_C_SOURCE</code>, etc.</li>
8309
8310    <li>resync with XFree86 CVS
8311      <ul>
8312        <li>ifdef-out chmod of terminal device for OS/2 (XFree86
8313        #1663, Frank Giessler).</li>
8314
8315        <li>move new <code>Imakefile</code> chunk which defines
8316        <code>$(CSGIDFLAGS)</code> before DEFINES, e.g., for IRIX64
8317        (Marc La France).</li>
8318      </ul>
8319    </li>
8320  </ul>
8321
8322  <h1><a name="xterm_211" id="xterm_211">Patch #211 - 2006/3/19 -
8323  XFree86 4.5.99.902</a></h1>
8324
8325  <ul>
8326    <li>modify prefix/suffix transformation in makefile to make
8327    <code>uxterm</code> install properly on Cygwin.</li>
8328
8329    <li>restore the sizeof-comparison for <code>struct
8330    lastlog</code> added in <a href="#xterm_208">patch #208</a>,
8331    rendered (mostly) obsolete in <a href="#xterm_210">patch
8332    #210</a>, since an imake configuration can still turn that code
8333    on (prompted by comment by David Dawes).</li>
8334
8335    <li>remove feature for <code>FreeBSDArchitecture</code> from
8336    <code>Imakefile</code> which would install xterm using the
8337    <code>utmp</code> group since a standard FreeBSD system has no
8338    such group, though it would support this configuration. FreeBSD
8339    packager uses the <code>configure</code> script, which can make
8340    the appropriate check (prompted by comment by David
8341    Dawes).</li>
8342
8343    <li>fixes for gcc redefinition warnings when built using imake
8344    (reports by David Dawes, Marc La France).</li>
8345  </ul>
8346
8347  <h1><a name="xterm_210" id="xterm_210">Patch #210 - 2006/3/12 -
8348  XFree86 4.5.99.902</a></h1>
8349
8350  <ul>
8351    <li>add configure check for workaround in <a href=
8352    "#xterm_208">patch #208</a> for Solaris' inconsistent support
8353    for struct lastlog to quiet compiler warnings (prompted by
8354    David Dawes commit message for XFree86).</li>
8355
8356    <li>fixes for BASE64 selection manipulation, e.g., ensure that
8357    the string terminator is written after cut-buffer data (report
8358    by Joe Allen).</li>
8359
8360    <li>add vttests/paste64.pl script to test experimental option
8361    for setting/getting selection data.</li>
8362
8363    <li>add some error-checking in fontutils.c (prompted by David
8364    Dawes commit message for XFree86).</li>
8365
8366    <li>change xterm manpage to show the actual color resource
8367    names <code>XtDefaultForeground</code> and
8368    <code>XtDefaultBackground</code> rather than black and white
8369    (prompted by discussion with Emanuele Giaquinta).</li>
8370
8371    <li>add <code>utf8Title</code> resource and menu entry,
8372    allowing the user to control whether title strings are
8373    interpreted as ISO-8859-1 or UTF-8 encoding (Novell #52655,
8374    Novell #113206).</li>
8375
8376    <li>change order of ifdef's for utempter versus platforms in
8377    <code>Imakefile</code> to ensure a proper value for
8378    <code>InstallXtermSetGID</code> (prompted by Marc La France
8379    commit message for XFree86).</li>
8380
8381    <li>update the cursor GCs when menu entry for reverse video is
8382    toggled. (Redhat #183993).</li>
8383
8384    <li>a memory-leak fix for <code>set_cursor_gcs()</code> in
8385    <a href="#xterm_208">patch #208</a> broke the <code>-cm</code>
8386    option (Redhat #182382).</li>
8387  </ul>
8388
8389  <h1><a name="xterm_209" id="xterm_209">Patch #209 - 2006/2/12 -
8390  XFree86 4.5.99.22</a></h1>
8391
8392  <ul>
8393    <li>remove <code>setf</code> and <code>setb</code> from
8394    <code>xterm-256color</code> terminfo entry to avoid issues with
8395    applications that ignore the ANSI strings (report by Emanuele
8396    Giaquinta).</li>
8397
8398    <li>remove obsolete references to "Xorg" to avoid confusion
8399    with "X.org" (prompted by David Dawes commit message for
8400    XFree86).</li>
8401
8402    <li>improve initial layout performance for the toolbar
8403    configuration by precalculating the height of the toolbar.</li>
8404
8405    <li>remove menu entry for "Enable Curses Emulation" (to make
8406    room for "Select To Clipboard").</li>
8407
8408    <li>add resource <code>selectToClipboard</code>, action
8409    <code>set-select</code> and a menu entry to allow users to
8410    switch between PRIMARY and CLIPBOARD for select/paste.</li>
8411
8412    <li>allow cursor to have the same color as foreground (text),
8413    since it is rendered as reverse (Debian #350664).</li>
8414
8415    <li>amend change for loading <code>utf8Fonts</code> resource
8416    from <a href="#xterm_204">patch #204</a> to allow an ISO-8859-1
8417    "normal" font to be combined with an ISO-10646 font if the
8418    latter is given via the <code>-fw</code> option or its
8419    corresponding resource value (prompted by comment in Novell
8420    #49305).</li>
8421
8422    <li>add <code>TIOCSCTTY</code> <code>ioctl()</code> ifdef'd for
8423    <code>__GNU__</code> to set the controlling terminal (Debian
8424    #348457).</li>
8425
8426    <li>add configure option <code>--disable-leaks</code>.</li>
8427
8428    <li>add a check in <code>Bell</code> to ensure that the VT100
8429    widget is realized, since it may be called by
8430    <code>xtermLoadFont</code> given an incorrect font resource
8431    (Redhat #180450).</li>
8432
8433    <li>improve initialization of wide-bold font by not using the
8434    derived value when it happens to have few glyphs (report by
8435    Mboso Sampson).</li>
8436
8437    <li>improve dynamic colors by not repainting the screen if only
8438    the cursor color changes (request by Bram Moolenaar).</li>
8439
8440    <li>fix menu initialization for tek4014 window broken in
8441    <a href="#xterm_206">patch #206</a>.</li>
8442
8443    <li>typo in manpage (Debian #351425).</li>
8444
8445    <li>correct loop logic in <code>dotext</code> to prevent an
8446    infinite loop if a wide character was just at the right margin
8447    when wrapping was disabled (report by Serge van den Boom).</li>
8448
8449    <li>initialize the saved-cursor data so a restore-cursor
8450    operation without a preceding save-cursor operation will not
8451    modify the foreground color.</li>
8452
8453    <li>add a new selection feature: regular expressions, and new
8454    resources which specify what happens on multiple mouse clicks:
8455    <code>on2Clicks</code>, <code>on3Clicks</code>,
8456    <code>on4Clicks</code> and <code>on5Clicks</code>.</li>
8457
8458    <li>revert the <code>XTerm.ad</code> change from <a href=
8459    "#xterm_208">patch #208</a> (Debian #348384).</li>
8460
8461    <li>fixes for the print-window to make it handle combining
8462    characters in UTF-8 mode.</li>
8463
8464    <li>add check to ensure that double-clicking to extend
8465    selection will not extend it into the scrollback area. This
8466    still allows users to scroll back and select text (Debian
8467    #347415).</li>
8468
8469    <li>add configure option <code>--with-tty-group</code> to help
8470    work around deficiencies in packager's build environment
8471    (Debian #349142).</li>
8472
8473    <li>fix typo in configure script option
8474    <code>--disable-narrowproto</code> (report by David
8475    Mart&iacute;nez Moreno).</li>
8476
8477    <li>amend CF_X_FREETYPE changes for <code>pkg-config</code>
8478    check to ensure that <code>Xft</code> is known to that tool
8479    (report and patch by Emanuele Giaquinta).</li>
8480
8481    <li>add an ifdef to allow <code>./configure
8482    --disable-active-icon</code> to work, broken by new code for
8483    testing memory leaks in <a href="#xterm_208">patch #208</a>
8484    (report by Brian Lindholm).</li>
8485  </ul>
8486
8487  <h1><a name="xterm_208" id="xterm_208">Patch #208 - 2006/1/3 -
8488  XFree86 4.5.99.19</a></h1>
8489
8490  <ul>
8491    <li>add <code>charClass</code> resource to
8492    <code>XTerm.ad</code> and <code>UXTerm.ad</code> which
8493    simplifies selecting URLs (prompted by Kirill Ponomarew).</li>
8494
8495    <li>modify install rule for <code>uxterm</code> to account for
8496    the <code>--program-prefix</code>, etc., options by invoking
8497    the transformed name of xterm rather than simply "xterm".</li>
8498
8499    <li>modify configure <code>--with-app-defaults</code> option to
8500    allow <code>--without-app-defaults</code>.</li>
8501
8502    <li>add configure <code>--with-symlink</code> option to make it
8503    simpler to install successive versions of <code>xterm</code>
8504    renamed using the <code>--program-prefix</code>, etc., options
8505    with a symbolic link pointing to the most recent.</li>
8506
8507    <li>make <code>-iconic</code> option work with toolbar
8508    configuration (Gentoo #113604).</li>
8509
8510    <li>suppress <code>lastlog</code> feature for 64-bit Solaris
8511    configuration since that platform provides only a 32-bit
8512    interface (report by Peter Bray).</li>
8513
8514    <li>fix memory reallocation for the "UTF-8" menu entry when
8515    xterm is started using the <code>+u8</code> option (reported by
8516    Jan Willem Stumpel).</li>
8517
8518    <li>add a configure check for the actual path of
8519    <code>luit</code>, to work around broken <code>imake</code>
8520    configurations.</li>
8521
8522    <li>add a configure check for <code>pkg-config</code> (Redhat
8523    Bugzilla #173541).</li>
8524
8525    <li>modify install-rule for <code>uxterm</code> to omit
8526    executable suffix, e.g., for Cygwin.</li>
8527
8528    <li>modify <code>sinstall.sh</code> to work around quirks in
8529    Cygwin configuration.</li>
8530  </ul>
8531
8532  <h1><a name="xterm_207" id="xterm_207">Patch #207 - 2005/11/13 -
8533  XFree86 4.5.99.16</a></h1>
8534
8535  <ul>
8536    <li>enable <code>lastlogx</code> support for NetBSD (was added,
8537    but not enabled in <a href="#xterm_186">patch #186</a>).</li>
8538
8539    <li>work around broken <code>lastlog.h</code> in glibc 2.3.5,
8540    which includes <code>utmp.h</code>.</li>
8541
8542    <li>revert part of recent XFree86 Imakefile change, restoring
8543    the <code>-I.</code> needed for <code>xmkmf</code> builds of
8544    xterm (XFree86 Bugzilla #1633, reports by Alexander Pohoyda,
8545    Matthieu Herrb).</li>
8546
8547    <li>change compiled-in default for <code>printerCommand</code>
8548    resource to an empty string. People who want to use the printer
8549    should be able to read the manual (Debian #311490).</li>
8550
8551    <li>modify <code>Imakefile</code> to work around old problems
8552    in <code>imake</code> configuration to allow test-builds using
8553    <code>xmkmf</code> on Linux. (This was not noticed since
8554    several releases had broken definitions relating to Xft which
8555    were harder to work around).</li>
8556
8557    <li>link <code>resize</code> for SCO platforms (Kean
8558    Johnston).</li>
8559  </ul>
8560
8561  <h1><a name="xterm_206" id="xterm_206">Patch #206 - 2005/11/3 -
8562  XFree86 4.5.99.15</a></h1>
8563
8564  <ul>
8565    <li>add configure <code>--with-app-defaults</code> option to
8566    allow app-defaults directory for install-rules to be
8567    customized.</li>
8568
8569    <li>remove default translations for
8570    <code>dabbrev-expand()</code> due to conflicts with existing
8571    keyboard arrangements.</li>
8572
8573    <li>remove redundant check for <code>_NET_WM_PID</code> (report
8574    by Emanuele Giaquinta).</li>
8575
8576    <li>set icon border width explicitly to work around fvwm
8577    problem with active icon resizing (report by Steve Morris,
8578    analysis by Dominik Vogt).</li>
8579
8580    <li>modify resource files to make the font-resources a little
8581    more specific, e.g., changing "*VT100*" to "*VT100.", to make
8582    the distinction between VT100.font and VT100.utf8Fonts.font
8583    sharper, in case a packager modifies one of those.</li>
8584
8585    <li>expanded comments in <code>UXTerm.ad</code> regarding the
8586    font resources (Debian #319179).</li>
8587
8588    <li>add <code>--enable-narrowproto</code> configure option to
8589    accommodate X.org "modular" build (report by Stephan Hermann,
8590    Gentoo #17220).</li>
8591
8592    <li>fix typo in xterm.man description of <code>+wf</code>
8593    (patch by Tobias Stoeckmann).</li>
8594
8595    <li>add <code>scrollBarBorder</code> resource (request by Floyd
8596    L Davidson).</li>
8597
8598    <li>modify <code>xterm-new</code> terminfo entry to use
8599    capabilities for shifted scroll forward/reverse as shifted
8600    cursor up/down.</li>
8601
8602    <li>correct updating of checkmark for toolbar entry in popup
8603    menu (report by Emanuele Giaquinta).</li>
8604
8605    <li>fix ifdef's to allow compiling with toolbar and without
8606    tek4014 (patch by Emanuele Giaquinta).</li>
8607
8608    <li>use <code>openpty()</code> for Darwin port (patch by
8609    Emanuele Giaquinta).</li>
8610
8611    <li>fix Gentoo #90697 a different way, postponing the logic in
8612    <code>SetupToolbar</code> until the toolbar is actually needed,
8613    i.e., the <code>+tb</code> option is handled as expected.</li>
8614
8615    <li>revert fix made in <a href="#xterm_203">patch #203</a> for
8616    Gentoo #90697. That introduced a problem with the control mouse
8617    click-popups, while most of the performance problems can be
8618    resolved by restricting the menu fonts (report by Emanuele
8619    Giaquinta).</li>
8620
8621    <li>fix a file-descriptor leak when calling
8622    <code>openpty()</code> (OpenBSD system/4561).</li>
8623
8624    <li>make a special case of resizing work like vt100: a hard
8625    reset also resets the 132/80 mode. The code to support this was
8626    present since X11R5, but not used because the corresponding
8627    initial state of the <code>-132</code> option was not
8628    saved.</li>
8629
8630    <li>restore window manager hints after
8631    <code>XtMakeResizeRequest()</code> calls. One instance from
8632    <a href="#xterm_205">patch #205</a> resulted in the window
8633    manager displaying pixels rather than than characters after
8634    selecting a different font size (FreeBSD ports/87424).</li>
8635
8636    <li>remove special case for Darwin in CF_XOPEN_SOURCE (Emanuele
8637    Giaquinta).</li>
8638
8639    <li>modify parsing of control sequence <code>CSI&nbsp;T</code>
8640    to allow scroll-down to be sent while mouse tracking is enabled
8641    (request by D Hugh Redelmeier).</li>
8642
8643    <li>correct termcap "me" (mode-end) string so it does not
8644    modify the alternate character set (report by Andrey
8645    Chernov).</li>
8646
8647    <li>correct size-comparison in HandleInterpret() broken in
8648    changes from <a href="#xterm_201">patch #201</a> to allocate
8649    input buffer (Debian #334317).</li>
8650
8651    <li>amend adjustments for scrollbar layout from <a href=
8652    "#xterm_204">patch #204</a> to make this apply only to the
8653    toolbar configuration. In the non-toolbar configuration, the
8654    resulting scrollbar was shifted by its borderwidth (report by
8655    Matthieu Herrb).</li>
8656
8657    <li>add select-cursor-extend() action.</li>
8658
8659    <li>fix some broken href's in xterm.log.html, and typo in the
8660    INSTALL file (report/patch by David Mart&iacute;nez
8661    Moreno).</li>
8662
8663    <li>modify <code>Imakefile</code> to use setgid mode for
8664    installing with Linux, OpenBSD and FreeBSD.</li>
8665
8666    <li>add configure --with-setuid and --with-reference options to
8667    allow packagers more flexibility in customizing install
8668    permissions.</li>
8669
8670    <li>generalize and make optional (configure --with-utmp-setgid)
8671    the change made for XFree86 Bugzilla #878 in <a href=
8672    "#xterm_205">patch #205</a> (FreeBSD bug report
8673    #ports/86663).</li>
8674  </ul>
8675
8676  <h1><a name="xterm_205" id="xterm_205">Patch #205 - 2005/9/18 -
8677  XFree86 4.5.99.12</a></h1>
8678
8679  <ul>
8680    <li>correct a typo in CF_FUNC_TGETENT introduced in <a href=
8681    "#xterm_198">patch #198</a> fix for Gentoo #69926.</li>
8682
8683    <li>implement logic in termcap query to process multiple
8684    parameters as documented in ctlseqs.ms</li>
8685
8686    <li>fix buffer size used for termcap query, which was not long
8687    enough for the terminfo "colors" name (patch by Bradd W.
8688    Szonye).</li>
8689
8690    <li>add configure option --enable-readline-mouse, which turns
8691    on the experimental OPT_READLINE code (patch by Ilya
8692    Zakharevich).</li>
8693
8694    <li>for FreeBSD, drop setuid privileges after startup (XFree86
8695    Bugzilla #878, report/patch by Alexander Pohoyda)</li>
8696
8697    <li>add menu entry (alt-esc) and corresponding action
8698    (alt-sends-esc) to toggle the <code>eightBitInput</code>
8699    resource setting.</li>
8700
8701    <li>generate configure script with autoconf 2.52 (patched) to
8702    use the feature therein which forces the script's locale to
8703    POSIX (Gentoo Bugzilla #105369).</li>
8704
8705    <li>modify computation of rows/columns on resize to avoid
8706    extending beyond the given limits, e.g., if resizing in
8707    response to a "maximize" in Gnome or KDE which do not use the
8708    window manager hints for this case (Debian #289123, Novell
8709    #61153).</li>
8710
8711    <li>modifications to work with z/OS 1.4 (Paul Giordano).</li>
8712
8713    <li>improve error-reporting when chown/chmod of the
8714    pseudo-terminal fails, e.g., if a copy of xterm which was
8715    designed to work with old-style pseudo-terminals is not
8716    installed setuid or setgid (report by Jeremy C. Reed).</li>
8717
8718    <li>patches from Emanuele Giaquinta:
8719      <ul>
8720        <li>ctlseqs.ms says that primary and secondary DA accept a
8721        nonzero parameter, which is incorrect. Also modify code to
8722        agree with this.</li>
8723
8724        <li>correct a comment in 88colres.pl</li>
8725
8726        <li>ctlseqs.ms says that the DEC Set/Reset control
8727        sequences for the backarrow key make it send DEL/BS,
8728        respectively, while it's the opposite.</li>
8729
8730        <li>update the menu entries for the metaSendsEscape,
8731        deleteIsDEL and numLock resources when changing them with
8732        the corresponding DEC Set/Reset control sequences.</li>
8733      </ul>
8734    </li>
8735
8736    <li>fixes for configure script:
8737      <ul>
8738        <li>add special case for QNX, defining _QNX_SOURCE.</li>
8739
8740        <li>check for preprocessors which do not perform -U and -D
8741        options in the given order.</li>
8742
8743        <li>improve macro to determine gcc version</li>
8744
8745        <li>improve check for Intel compiler and related warning
8746        options</li>
8747      </ul>
8748    </li>
8749
8750    <li>update config.guess, config.sub</li>
8751
8752    <li>improve fix from <a href="#xterm_198">patch #198</a> for
8753    <code>Cleanup()</code> by ensuring it is not called from the
8754    SIGCHLD handler (patch by Todd Miller (OpenBSD CVS)).</li>
8755
8756    <li>eliminate a retry for a better-matching bold font, to work
8757    around recent font server changes.</li>
8758
8759    <li>fixes for Novell #113277:
8760      <ul>
8761        <li>specify weight for wide font which may be derived from
8762        normal fontname.</li>
8763
8764        <li>cache the derived wide- and widebolt-fontnames.</li>
8765      </ul>
8766    </li>
8767
8768    <li>workaround for Gentoo Bugzilla #100728.</li>
8769
8770    <li>add menubar's border width to layout computation. Normally
8771    this is zero, but patterns such as
8772    <code>XTerm*borderWidth:1</code> would give poor layout for the
8773    toolbar configuration.</li>
8774  </ul>
8775
8776  <h1><a name="xterm_204" id="xterm_204">Patch #204 - 2005/8/4 -
8777  XFree86 4.5.99.9</a></h1>
8778
8779  <ul>
8780    <li>work around quirk in shell which allowed user to "run"
8781    uxterm script when there was no UTF-8 locale installed by
8782    entering "sh -x uxterm". Also popup an xmessage to show the
8783    problem for users who run this via a GUI (Debian #318513).</li>
8784
8785    <li>disallow changes to fonts, toolbar and scrollbar when the
8786    vt100 window is iconified, to simplify management of the active
8787    icon.</li>
8788
8789    <li>fixes to make <code>-geom</code> option work properly with
8790    the toolbar configuration (Gentoo #90717, Gentoo #91967).</li>
8791
8792    <li>minor improvements to scrollbar layout: ensure that the
8793    scrollbar border is zero if the vt100 border is zero.</li>
8794
8795    <li>improve initialization due to <code>utf8</code> resource by
8796    loading the <code>utf8Fonts</code> resource in the case where
8797    <code>locale</code> resource is false. Also in this case, do
8798    not disable switching UTF-8 mode on/off.</li>
8799
8800    <li>minor optimization of TrueType font-loading, loads italic
8801    font only when needed.</li>
8802
8803    <li>correct variable used to store temporary result from lookup
8804    of bold font, when initializing the wide-bold-font data and no
8805    immediate match is found by asking for a bold variant of the
8806    wide-font. The result was to use overstriking rather than the
8807    actual bold font (Debian #318162, patch by Eugene Konev).</li>
8808
8809    <li>add checks to ensure vt100 widget is realized when it might
8810    be updated via actions handled from a tek4014-only
8811    configuration.</li>
8812  </ul>
8813
8814  <h1><a name="xterm_203" id="xterm_203">Patch #203 - 2005/7/6 -
8815  XFree86 4.5.99.7</a></h1>
8816
8817  <ul>
8818    <li>modify initialization of <code>allowSendEvents</code> and
8819    <code>allowWindowOps</code> to prevent modification with the
8820    editres protocol.</li>
8821
8822    <li>fix compiler warning for NetBSD by including util.h in
8823    main.c (XFree86 Bugzilla #1596).</li>
8824
8825    <li>fix to build on Darwin 8.x, which no longer provides
8826    <code>setpgrp()</code> (patch by Min Sik Kim).</li>
8827
8828    <li>adapted fixes for Legend (SCO) from diffs attached to
8829    Freedesktop.Org Bugzilla #3180.</li>
8830
8831    <li>fix typo in xterm manpage description of <code>-ls</code>
8832    option (Freedesktop.Org Bugzilla #3543).</li>
8833
8834    <li>add support for interpreting the underline attribute as an
8835    italic font in Xft mode (patch by Chuck Blake).</li>
8836
8837    <li>improve initialization of toolbar so that individual
8838    pulldown menus are initialized on demand, as they are in the
8839    scenario where they are invoked as popup menus (Gentoo Bugzilla
8840    #90697).</li>
8841
8842    <li>fix logic in <code>find_utmp</code>, which did not reset
8843    result in <code>getutid()</code>, causing an infinite loop in
8844    some conditions (report by Emil Mikulic).</li>
8845
8846    <li>set the <code>_NET_WM_PID</code> property (Gentoo Bugzilla
8847    #91008).</li>
8848
8849    <li>modify ifdef's in ptyx.h and xterm_io.h to build with
8850    DragonFly (patch by Jeroen Ruigrok).</li>
8851
8852    <li>change default values for <code>minBufSize</code> and
8853    <code>maxBufSize</code> to 4096 and 32768 respectively so that
8854    the initial read request will match the value from before
8855    changes to use <code>sched_yield()</code>.</li>
8856
8857    <li>make paste of UTF-8 faster for Western character sets by
8858    checking range of incoming data (patch by Joe Allen).</li>
8859
8860    <li>add experimental option to allow applications to get or set
8861    the selection data as a BASE64 string (adapted from patch by
8862    Joe Allen).</li>
8863
8864    <li>fix an off-by-one error parsing <code>-S/nn</code> option
8865    (Debian #311438, report/fix by Peter Chubb).</li>
8866
8867    <li>fix an initialization bug from <a href="#xterm_201">patch
8868    #201</a> that broke logging (report by Rodney Thayer).</li>
8869
8870    <li>amend change to command-line processing in <a href=
8871    "#xterm_201">patch #201</a> to avoid conflict with
8872    <code>-e</code> option (report by Servatius Brandt).</li>
8873
8874    <li>suppress configure check for <code>_XOPEN_SOURCE</code> on
8875    darwin.</li>
8876
8877    <li>update config.guess, config.sub</li>
8878  </ul>
8879
8880  <h1><a name="xterm_202" id="xterm_202">Patch #202 - 2005/5/2 -
8881  XFree86 4.5.99.3</a></h1>
8882
8883  <ul>
8884    <li>add extended shift- and control-modifier cursor keys to
8885    "xterm+pcfkeys" terminfo entry to correspond to ncurses
8886    20050430 patch.</li>
8887
8888    <li>fix a rare case where text would be written with the wrong
8889    colors because output of scrolled text would reset the colors
8890    and the new text would be written with the same colors
8891    (report/testcase by Thomas Glanzmann).</li>
8892
8893    <li>rename <code>$CMD</code> variable in <code>plink.sh</code>
8894    because it is a reserved symbol in bash 3.00.16 (report by Ted
8895    Taylor).</li>
8896
8897    <li>add environment variables <code>$XTERM_SHELL</code> and
8898    <code>$XTERM_VERSION</code> (request by Zdenek Sekera).</li>
8899
8900    <li>corrected workaround for background color of menubar, which
8901    gave a too-broad expression, coloring the background of the
8902    VT100 widget unless overridden by another resource
8903    setting.</li>
8904
8905    <li>correct an error in the logic which decides when
8906    <code>sched_yield()</code> is run; it would occasionally hang
8907    when contending with other pseudo-terminal applications such as
8908    screen (report by Kirill Ponomarew).</li>
8909
8910    <li>modify initialization to decide whether to default to
8911    built-in <code>wcwidth()</code> versus system's version based
8912    on the starting locale and whether the system's version is poor
8913    quality (suggested by Bram Moolenaar).</li>
8914
8915    <li>update table for <code>mk_width()</code> from UnicodeData
8916    4.1.0 using Markus Kuhn's <code>uniset</code> script.</li>
8917  </ul>
8918
8919  <h1><a name="xterm_201" id="xterm_201">Patch #201 - 2005/4/21 -
8920  XFree86 4.5.99.2</a></h1>
8921
8922  <ul>
8923    <li>improve resource files to show how the menubar and popup
8924    menus can be colored (prompted by report by Joe Wells).</li>
8925
8926    <li>modify parsing of OSC (and SOS, etc), strings so their
8927    contents are not interpreted as UTF-8. This allows non-ASCII
8928    title strings to be set, provided that the window manager
8929    complies (report by Thomas Wolff).</li>
8930
8931    <li>improved some of the built-in line-drawing glyphs.</li>
8932
8933    <li>correct color of "box" character drawn for line-drawing
8934    glyph 1 (report by Nicolas George).</li>
8935
8936    <li>improve behavior when switching to UTF-8 mode after startup
8937    so xterm will check if the current fonts are already wide
8938    (ISO10646-1). If they are not, xterm will use the
8939    <code>utf8Fonts</code> subresource to load appropriate fonts
8940    (request by Bram Moolenaar).</li>
8941
8942    <li>modify logic for setting title-string so it applies to the
8943    current widget rather than the vt100 widget.</li>
8944
8945    <li>modify initialization for wide-bold fontname, to search for
8946    one if none is given (report by Michael Schroeder).</li>
8947
8948    <li>add resource <code>mkWidth</code> and command-line option
8949    <code>-mk_width</code> to control whether xterm uses the
8950    built-in version of wcwidth().</li>
8951
8952    <li>add resource settings for minimum/maximum input buffer
8953    size, and call to <code>sched_yield</code> to improve
8954    performance with newer Linux kernels (adapted from patch by
8955    Nicolas George).</li>
8956
8957    <li>correct computation of width for wide characters with the
8958    invisible attribute (report by Thomas Wolff).</li>
8959
8960    <li>modify interaction between <code>+u8</code> and
8961    <code>locale</code> resource to allow the command-line option
8962    to override the resource (requested by Thomas Wolff).</li>
8963
8964    <li>add a limit check for scrolling margins in a one-line
8965    screen, overlooked in fixes for <a href="#xterm_198">patch
8966    #198</a> (Debian #297430).</li>
8967
8968    <li>correct treatment of <code>iconBorderWidth</code> for
8969    resizing an active-icon, and its description in manpage (Debian
8970    #296592).</li>
8971
8972    <li>modify configure script <code>--disable-imake</code> to use
8973    the script's definitions anyway if it cannot detect imake
8974    (prompted by FreeBSD bug 77408).</li>
8975
8976    <li>ignore error in the I/O initialization that tries to set
8977    the tty to 7-bit input for the case where
8978    <code>eightBitInput</code> resource is false (Debian
8979    #298551).</li>
8980
8981    <li>modify command-processing to accept an optional parameter
8982    that tells xterm which shell program to use (request by Zdenek
8983    Sekera).</li>
8984
8985    <li>add simpler resource <code>keyboardType</code> which, when
8986    set, overrides the individual keyboard-type resources and
8987    eliminates the possibility of conflict between them.</li>
8988
8989    <li>add initialization for <code>scoFunctionKeys</code>
8990    resource (report by Rick K).</li>
8991
8992    <li>correct logic of <code>ReallocateBufOffsets()</code> which
8993    did not copy the content of the old screen buffer to the proper
8994    location, making a repaint clear after switching to
8995    wide-character mode (report by Bram Moolenaar):</li>
8996
8997    <li>implement the remaining pieces to make xterm allocate cells
8998    for wide-characters when the "UTF-8" menu entry is selected.
8999    Also, load the UTF-8 font when that menu entry is selected, or
9000    the escape sequence for UTF-8 mode is received (report by Bram
9001    Moolenaar):</li>
9002
9003    <li>add command-line options (<code>-tb</code>,
9004    <code>+tb</code>) and resource <code>toolBar</code> to allow
9005    menu/toolbar to disabled or enabled at startup (prompted by
9006    reports by Joe Wells).</li>
9007
9008    <li>correct typo in configure script's --enable-dec-locator
9009    option (report by Bram Moolenaar).</li>
9010  </ul>
9011
9012  <h1><a name="xterm_200" id="xterm_200">Patch #200 - 2005/2/6 -
9013  XFree86 4.4.99.23</a></h1>
9014
9015  <ul>
9016    <li>increase color pairs value for xterm-256color and
9017    xterm-88color to match ncurses, which has an experimental
9018    option to support this.</li>
9019
9020    <li>modify ifdef's to make AIX use termios rather than termio;
9021    the struct sizes for the two were not the same.</li>
9022
9023    <li>improve CF_WITH_IMAKE_CFLAGS configure macro script for
9024    OSMAJORVERSION and OSMINORVERSION values, e.g., for Tru64 and
9025    AIX.</li>
9026
9027    <li>modify ifdef to define USE_POSIX_TERMIOS for Darwin (patch
9028    by Min Sik Kim).</li>
9029
9030    <li>modify find_utmp() to initialize the whole utmpx struct
9031    (except ut_id), since that is needed for OSF1 4.0D to prevent
9032    an infinite loop on exit.</li>
9033
9034    <li>add configure check before adding -D_POSIX_SOURCE since
9035    some platforms predefine it, e.g., cygwin.</li>
9036
9037    <li>add simplified sed expressions in CF_IMAKE_CFLAGS configure
9038    script macro to ensure value for PROJECTROOT is quoted on
9039    Solaris, i.e., when nested <code>\(</code> and <code>\)</code>
9040    are not interpreted correctly.</li>
9041
9042    <li>correct DEC rectangle operations to reset state after
9043    completing the operations.</li>
9044
9045    <li>modify CASE_ST handling in charproc.c to ensure that the
9046    parse state is reset even if xterm is not currently processing
9047    an OSC or other string (patch by Johnny Billquist forwarded by
9048    Matthias Scheler, NetBSD xsrc/29003).</li>
9049
9050    <li>fix OS/2 build for innotek_libc (patch by David Yeo).</li>
9051
9052    <li>fix a regression from <a href="#xterm_197">patch #197</a>
9053    fix for Debian #277832 which disowned the selection if it was
9054    scrolled, e.g., by the user pressing return at the bottom of
9055    the screen (Debian #291787).</li>
9056
9057    <li>move the warning/exit for missing $DISPLAY into the error
9058    handler in case <code>-display</code> is given, and the connect
9059    fails for some other reason.</li>
9060  </ul>
9061
9062  <h1><a name="xterm_199" id="xterm_199">Patch #199 - 2005/1/17 -
9063  XFree86 4.4.99.22</a></h1>
9064
9065  <ul>
9066    <li>instead of setting <code>$DISPLAY</code>, check for the
9067    unset variable and warn/exit on this condition (comments by H
9068    Merijn Brand and Bernhard R Link).</li>
9069
9070    <li>fix a typo in Imakefile from <a href="#xterm_198">patch
9071    #198</a> (reports/patches by Stefan Dirsch, Mike Castle).</li>
9072  </ul>
9073
9074  <h1><a name="xterm_198" id="xterm_198">Patch #198 - 2005/1/13 -
9075  XFree86 4.4.99.21</a></h1>
9076
9077  <ul>
9078    <li>set <code>$DISPLAY</code> to ":0" if it is not set.</li>
9079
9080    <li>add <code>utmpDisplayId</code> resource to allow users to
9081    control whether the display identifier (display number and
9082    screen number) are retained in the connection information
9083    recorded in utmp (discussion with Edoardo Tirtarahardja).</li>
9084
9085    <li>add <code>bellOnReset</code> resource to allow users to
9086    disable bell which sounds on hard reset since <a href=
9087    "#xterm_183">patch #183</a> changes to DECSCL (discussion with
9088    Danek Duvall).</li>
9089
9090    <li>improve <code>$WINDOWID</code> for configuration with
9091    toolbar by making it refer to the top-level shell rather than
9092    the parent of the current window. For that case, the parent is
9093    a form widget, which does not have a name, which made the
9094    <code>$WINDOWID</code> not very useful as a parameter for
9095    <code>xwininfo</code> (suggested by Dave Bodenstab).</li>
9096
9097    <li>fix a typo in WhichVFont() macro from <a href=
9098    "#xterm_197">patch #197</a> changes which broke the
9099    --disable-active-icon configuration (report by Ralf S.
9100    Engelschall).</li>
9101
9102    <li>improve some limit checks (Gentoo Bugzilla #75604).</li>
9103
9104    <li>add --disable-setuid option to configure script (Gentoo
9105    Bugzilla #76543).</li>
9106
9107    <li>add --disable-full-tgetent option to configure script,
9108    allowing one to ignore a termcap library in favor of
9109    ncurses/curses (Gentoo Bugzilla #69926).</li>
9110
9111    <li>modify configure script to choose useful warning options
9112    for Intel version 8.0 compiler.</li>
9113
9114    <li>update config.guess, config.sub</li>
9115
9116    <li>make active-icon work properly when TrueType fonts are used
9117    (Debian #286068).</li>
9118
9119    <li>correct change from <a href="#xterm_157">patch #157</a>
9120    which uses getlogin() to check for an alias; the storage used
9121    for the related getpwuid() call was overwritten by the data
9122    used for comparison (patch by Per Hedeland).</li>
9123
9124    <li>correct case of SCS for character set 0 (line-drawing) to
9125    allow it to be selected into GR.</li>
9126
9127    <li>fix a file-descriptor leak (Redhat Bugzilla #139597).</li>
9128
9129    <li>modify <code>creat_as()</code> to only fork if xterm is
9130    actually running as setuid and/or setgid. This works around a
9131    Cygwin bug which hangs when logging is enabled and makes xterm
9132    a little faster for systems using interfaces such as utempter
9133    (report by Al Goodman).</li>
9134
9135    <li>modify <code>Cleanup()</code> to avoid operations such as X
9136    calls that might use unsafe functions when it is called by a
9137    signal handler (report by Michiel Boland).</li>
9138
9139    <li>fix bugs in <a href="#xterm_191">patch #191</a> and in SRM
9140    changes from <a href="#xterm_197">patch #197</a> that broke
9141    DECSET 38: switch to Tek4014 emulation (report by Dave
9142    Bodenstab).</li>
9143
9144    <li>fix for manpage escapes (Marc La France).</li>
9145
9146    <li>improve on IRIX-specific change for Imakefile in XFree86
9147    CVS versus resize linking against termcap library to reflect
9148    definitions for USE_TERMCAP in resize.c</li>
9149  </ul>
9150
9151  <h1><a name="xterm_197" id="xterm_197">Patch #197 - 2004/11/30 -
9152  XFree86 4.4.99.19</a></h1>
9153
9154  <ul>
9155    <li>modify configure script to remove empty "-DPROJECTROOT="
9156    definition which resulted unusable values for luit's default
9157    path.</li>
9158
9159    <li>update precompose.c based on Unicode 4.0.1</li>
9160
9161    <li>several minor fixes based on Intel compiler warnings.</li>
9162
9163    <li>change default translations so a <code>BtnDown</code> which
9164    is not recognized is simply ignored rather than emitting a
9165    bell. That makes it less obtrusive when the user tries to use a
9166    mouse which provides more capabilities than the X mouse driver
9167    supports, e.g., one with a horizontal scroll wheel (Debian
9168    #265133).</li>
9169
9170    <li>note in xterm's manpage that <code>translations</code> is
9171    not specific to xterm (Debian #278897).</li>
9172
9173    <li>modify uxterm script to use locale program to verify if the
9174    derived locale is installed (Debian #246398).</li>
9175
9176    <li>correct font handling for active icon when in UTF-8 mode
9177    (report by Paolo Liberatore).</li>
9178
9179    <li>make active-icon and toolbar configurations work
9180    together.</li>
9181
9182    <li>modify the criteria for disowning primary selection.
9183    Previously, this happened anytime the cursor was moved before
9184    the end of the selection. That would ensure that any
9185    insert/delete of char or line, as well as scrolling, would
9186    disown the selection. The new criteria change this to checking
9187    if the operations would modify the data which is highlighted
9188    (Debian #277832).</li>
9189
9190    <li>reimplement <code>DECALN</code> with functions for vt420
9191    rectangles, fixes selection for this case.</li>
9192
9193    <li>implement vt420 rectangle operations.</li>
9194
9195    <li>add parsing, for debug/test of vt220 soft-fonts.</li>
9196
9197    <li>add menu entry, actions and escape sequence to allow
9198    enabling/disabling toolbars at runtime.</li>
9199
9200    <li>improve rendering for Xft, allow it to draw non-linedrawing
9201    characters such as "pi", which were drawn from internal tables
9202    with <a href="#xterm_180">patch #180</a> (Freedesktop.org
9203    Bugzilla #1260).</li>
9204
9205    <li>add configure option <code>--enable-mini-luit</code>,
9206    ifdef'd the mini-luit feature with
9207    <code>OPT_MINI_LUIT</code>.</li>
9208
9209    <li>add mini-luit feature, which supports Latin9 directly
9210    rather than via luit, provided that Unicode fonts are used
9211    (Freedesktop.org Bugzilla #1571, request by Stefan Dirsch,
9212    patch by Michael Schroeder).</li>
9213
9214    <li>for Linux, if IUTF8 is defined, e.g., on recent 2.6.x
9215    kernels, set the corresponding flag for the slave pty, to
9216    enable UTF-8 interpretation of backspace in cooked mode
9217    (Freedesktop.org Bugzilla #1578, request by Stefan
9218    Dirsch).</li>
9219
9220    <li>modify <code>faceSize</code> resource to use a
9221    floating-point internal value (adapted from patch by Sam
9222    Stephenson).</li>
9223
9224    <li>correct handling selection of tabs over cleared space in
9225    UTF-8 mode. In this special case, xterm represents the
9226    whitespace with a null rather than a space character (Debian
9227    #276447).</li>
9228
9229    <li>amend fix for infinite loop from <a href="#xterm_192">patch
9230    #192</a> to check if there is wrapped text to output in a
9231    following iteration (Debian #273202).</li>
9232
9233    <li>fixes ifdef'd with <code>__INTERIX</code> to allow building
9234    with Interix (Windows Services for UNIX) 3.5 using the xlibs
9235    libraries from freedesktop.org (patch by Min Sik Kim).</li>
9236
9237    <li>amend solution for Debian #252873, Debian #260471 from
9238    <a href="#xterm_194">patch #194</a> by making the cursor not
9239    explicitly colored if only the foreground color is set, and the
9240    cursor is on a blank space (Debian #275473).</li>
9241
9242    <li>correct logic for send/receive mode (SRM) with regard to
9243    control characters.</li>
9244
9245    <li>fix masking of invisible text in wide-character mode, which
9246    did not work for line-drawing characters.</li>
9247
9248    <li>incorporate CF_XOPEN_SOURCE into configure script,
9249    replacing CF_GNU_SOURCE.</li>
9250  </ul>
9251
9252  <h1><a name="xterm_196" id="xterm_196">Patch #196 - 2004/8/15 -
9253  XFree86 4.4.99.12</a></h1>
9254
9255  <ul>
9256    <li>add a special case to configure script to ignore NetBSD's
9257    <code>grantpt()</code> which was recently added (but not part
9258    of a release), until someone is able to ensure that xterm can
9259    use it (report by Min Sik Kim).</li>
9260
9261    <li>clear the buffer returned by getutid(). This fixes an
9262    infinite loop on some platforms introduced in <a href=
9263    "#xterm_193">patch #193</a> by Debian #256468 fix (report by
9264    David Ellement).</li>
9265  </ul>
9266
9267  <h1><a name="xterm_195" id="xterm_195">Patch #195 - 2004/8/8 -
9268  XFree86 4.4.99.11</a></h1>
9269
9270  <ul>
9271    <li>correct length used for blinking text, make the last column
9272    blink (patch by Alexander V Lukyanov).</li>
9273
9274    <li>start changes to make doublesize characters work with
9275    TrueType fonts (see <a href="#xterm_44">patch #44</a>).</li>
9276
9277    <li>trim leading/trailing blanks from color resources as done
9278    for other strings in <a href="#xterm_167">patch #167</a>.</li>
9279
9280    <li>fixes for <code>showBlinkAsBold</code> resource (report by
9281    Christoph Berg).</li>
9282  </ul>
9283
9284  <h1><a name="xterm_194" id="xterm_194">Patch #194 - 2004/7/27 -
9285  XFree86 4.4.99.11</a></h1>
9286
9287  <ul>
9288    <li>change clearing operations so foreground color attribute is
9289    not set. Usually this is benign, but in some cases when the
9290    cursor color is not set explicitly, the cursor would show this
9291    color (Debian #252873, Debian #260471).</li>
9292
9293    <li>add extra state (cursor-moved) to guard against deciding
9294    that the cursor did not require repainting after an indexing
9295    operation that leaves the cursor in the same location on the
9296    screen.</li>
9297
9298    <li>fix a case where a full-screen indexing operation would not
9299    restore the cursor-busy state.</li>
9300
9301    <li>fix a repainting bug introduced in <a href=
9302    "#xterm_180">patch #180</a>: when using a font lacking
9303    line-drawing characters, a repaint of the screen could skip
9304    horizontally an extra amount after filling in the missing
9305    character (reports by Nicolas George, Hans de Goede, Redhat
9306    Bugzilla #128341).</li>
9307
9308    <li>rename terminfo fragment "xterm-pc-fkeys" to
9309    "xterm+pcfkeys" for consistency with ncurses.</li>
9310  </ul>
9311
9312  <h1><a name="xterm_193" id="xterm_193">Patch #193 - 2004/7/19 -
9313  XFree86 4.4.99.10</a></h1>
9314
9315  <ul>
9316    <li>fix for wide-character selection from OpenBSD CVS
9317    (report/patch by Matthieu Herrb).</li>
9318
9319    <li>modify initialization and cleanup of utmp data to also
9320    compare the <code>ut_line</code> member (Debian #256468).</li>
9321
9322    <li>modify check on focus-change to ignore
9323    <code>FocusOut</code> events generated by
9324    <code>XGrabKeyboard</code>. This fixes a case where the text
9325    cursor would act as if focus were lost when selecting the
9326    "Secure Keyboard" menu option.</li>
9327
9328    <li>add <code>gen-pc-fkeys.pl</code> script, use that to
9329    generate terminfo fragment corresponding to the pc-style
9330    function keys.</li>
9331
9332    <li>fix a case where the checkmark by the "VT220 Keyboard" menu
9333    entry was not set on startup.</li>
9334
9335    <li>separated two methods for making the cursor blink (menu and
9336    escape sequence) by using the menu as the primary method and
9337    XOR'ing the state of the escape sequence against that.</li>
9338
9339    <li>modify logic for enabling blinking cursor via escape
9340    sequence as well as the related save/restore operations so this
9341    is only available if the <code>cursorBlink</code> resource was
9342    set on startup.</li>
9343  </ul>
9344
9345  <h1><a name="xterm_192" id="xterm_192">Patch #192 - 2004/7/12 -
9346  XFree86 4.4.99.9</a></h1>
9347
9348  <ul>
9349    <li>change resource settings for color4 and color12, add some
9350    discussion in <code>XTerm-col.ad</code> (Debian #241717).</li>
9351
9352    <li>add a note in xterm manpage discussing the difference
9353    between alt- and meta-keys, and the way the latter is used in
9354    the <code>eightBitInput</code> resource.</li>
9355
9356    <li>add a note in xterm manpage regarding possible conflict
9357    between resource settings for <code>xterm.vt100.font</code> and
9358    <code>xterm.vt100.utf8Fonts.font</code> (Debian #254650).</li>
9359
9360    <li>add compile-time customization of
9361    <code>backarrowKeyIsErase</code> and
9362    <code>ptyInitialErase</code> default resource values (adapted
9363    from OpenBSD CVS).</li>
9364
9365    <li>change parameter of <code>FIONREAD</code>
9366    <code>ioctl()</code> call from long to int (discussion on
9367    tech-x11@netbsd.org regarding LP64 by John Heasley and Matthias
9368    Scheler).</li>
9369
9370    <li>modify configure script options for Athena widgets to work
9371    as expected for "--without-Xaw3d", etc., (Gentoo Bugzilla
9372    #53455).</li>
9373
9374    <li>add case to uxterm to accommodate locales ending with
9375    "@euro", e.g., fr_FR.UTF-8@euro (Debian #255197,
9376    report/analysis by Matthieu Lagouge).</li>
9377
9378    <li>add special case for VT100 graphic's "box" character
9379    (discussion with Ben Armstrong).</li>
9380
9381    <li>add missing initialization for bitmap-font sizes needed to
9382    make fonts menu work with TrueType fonts (report by Ben
9383    Armstrong).</li>
9384
9385    <li>save the fontnames for bold fonts that are derived from
9386    normal fonts, or from the <code>boldFont</code> resource, so
9387    the same value is restored when switching with the VT Fonts
9388    menu (Debian #256086).</li>
9389
9390    <li>fix manpage preprocessing (Marc La France).</li>
9391
9392    <li>fix typo in manpage's description of character classes
9393    (Debian #257073).</li>
9394
9395    <li>modify terminfo to accommodate luit, which relies on G1
9396    being used via an ISO-2022 escape sequence (Debian #254316,
9397    analysis by Juliusz Chroboczek).</li>
9398
9399    <li>modify Makefile.in rule for ctlseqs.txt to work around
9400    groff SGR misfeature.</li>
9401
9402    <li>modify <code>XTerm.ad</code> to set <code>saveLines</code>
9403    default to 1024 (Redhat Bugzilla #127132).</li>
9404
9405    <li>add a limit-check in <code>dotext()</code> to prevent
9406    infinite loop in a corner case of UTF-8 configuration.</li>
9407
9408    <li>update config.guess, config.sub</li>
9409  </ul>
9410
9411  <h1><a name="xterm_191" id="xterm_191">Patch #191 - 2004/6/6 -
9412  XFree86 4.4.99.7</a></h1>
9413
9414  <ul>
9415    <li>correct options parsing for <code>-into</code> option so it
9416    can be combined with <code>-e</code> (Redhat Bugzilla #124518,
9417    report/patch by James Armstrong).</li>
9418
9419    <li>fix ifdef's for <code>OPT_COLOR_RES2</code> so that the
9420    fake resource table introduced in <a href="#xterm_188">patch
9421    #188</a> is not compiled if it is empty. This happened to work
9422    with gcc (report by Joel Konkle-Parker).</li>
9423
9424    <li>reorganize ptydata.c to use one input buffer shared between
9425    the VTxxx and tek4014 emulators. In the new scheme, UTF-8
9426    decoding is performed on characters as they are needed by the
9427    state machine rather than on buffers as they are read.</li>
9428
9429    <li>work around change in quoting of PROJECTROOT symbol when
9430    using configure script, from changes made in <a href=
9431    "#xterm_187">patch #187</a> for CF_IMAKE_CFLAGS (Gentoo
9432    Bugzilla #50982).</li>
9433  </ul>
9434
9435  <h1><a name="xterm_190" id="xterm_190">Patch #190 - 2004/5/25 -
9436  XFree86 4.4.99.6</a></h1>
9437
9438  <ul>
9439    <li>correct state for values in the range 128-159 after
9440    translating from UTF-8: this should be ignored unless the user
9441    overrides it with the <code>allowC1Printable</code> resource
9442    (reported by Simon Strandgaard).</li>
9443
9444    <li>add configure-script check for nl_langinfo(CODESET), use
9445    this to replace check of environment variables for UTF-8.</li>
9446
9447    <li>change Makefile.in rules for 256colres.h and 88colres.h so
9448    they are only made if they do not exist. The maintainer-clean
9449    rule will remove these files; they require perl to be
9450    made.</li>
9451
9452    <li>remove check in configure script --enable-toolbar that
9453    suppressed this option when building with Xaw7.</li>
9454
9455    <li>apply fixes to Tektronix widget used for VT100 widget to
9456    make toolbar work with Xaw7 (XFree86 4.x).</li>
9457  </ul>
9458
9459  <h1><a name="xterm_189" id="xterm_189">Patch #189 - 2004/5/16 -
9460  XFree86 4.4.99.6</a></h1>
9461
9462  <ul>
9463    <li>do not call xim_real_init() if <code>openIm</code> resource
9464    is false (Debian #249025).</li>
9465
9466    <li>minor improvements to built-in line-drawing.</li>
9467
9468    <li>fix a few portability issues with dynamic abbreviation
9469    support, i.e., did not compile on Tru64.</li>
9470
9471    <li>modify constraints in form used to layout toolbar, to work
9472    with newer Xaw in XFree86 4.x.</li>
9473  </ul>
9474
9475  <h1><a name="xterm_188" id="xterm_188">Patch #188 - 2004/5/12 -
9476  XFree86 4.4.99.6</a></h1>
9477
9478  <ul>
9479    <li>correct table entry for DEL in the ground state, which
9480    marked it as a printable character from <a href=
9481    "#xterm_171">patch #171</a> (report by D Hugh Redelmeier).</li>
9482
9483    <li>improve fix in <a href="#xterm_186">patch #186</a> for
9484    failure in xim_real_init() by adding a sleep.</li>
9485
9486    <li>fix a typo in os2main.c (XFree86 Bugzilla #1358,
9487    report/patch by Frank Giessler).</li>
9488
9489    <li>make escape sequence reporting dynamic colors consistent
9490    with the logic that sets it; choosing the opposite color when
9491    reverse video is set (XFree86 Bugzilla #1361, reported by Bradd
9492    W Szonye).</li>
9493
9494    <li>modify initialization of 256- and 88-colors so that colors
9495    beyond 16 are normally not X resources. This works around a
9496    hard-coded limit in Xt which breaks xterm when 256-colors and
9497    luit are both configured (report by Noah Friedman).</li>
9498
9499    <li>remove <code>ncv</code> from <code>xterm-256color</code>
9500    terminfo entry since it is no longer needed (report by Eli
9501    Zaretskii).</li>
9502
9503    <li>add "erase2" and "eol2" keywords to <code>ttyModes</code>
9504    resource, for recent/current FreeBSD.</li>
9505
9506    <li>improve ifdef's for utempter library to omit direct calls
9507    to <code>setutent()</code> or <code>getutent()</code> (adapted
9508    from patch by Christian Biere).</li>
9509
9510    <li>add dynamic abbreviation support like Emacs (patch by
9511    Tomasz Cholewo). This is ifdef'd with <code>OPT_DABBREV</code>,
9512    and enabled via the configure script
9513    <code>--enable-dabbrev</code> option.</li>
9514
9515    <li>fix problem responding to session management events, e.g.,
9516    which would make logging out very slow (patch by Eddy De Greef,
9517    Debian #233883).</li>
9518
9519    <li>work around a newer bug in toolbar with XFree86 by forcing
9520    menus to be fully initialized at startup. In older versions of
9521    XFree86 and X11R6, it was possible to delay initialization of
9522    the menu contents until it was popped up. (The longstanding bug
9523    with XFree86 4.x layout for toolbar still exists, though).</li>
9524
9525    <li>modify <code>xtermAddInput</code> to work around core dump
9526    on IRIX64 when initializing scrollbar translations if toolbar
9527    is compiled-in.</li>
9528
9529    <li>fix some minor conflicts in the 2-character entry names in
9530    the termcap file.</li>
9531  </ul>
9532
9533  <h1><a name="xterm_187" id="xterm_187">Patch #187 - 2004/4/27 -
9534  XFree86 4.4.99.4</a></h1>
9535
9536  <ul>
9537    <li>change xterm version string to use
9538    <code>__vendorversion__</code> where that is available, and
9539    "XTerm" otherwise.</li>
9540
9541    <li>improve description of <code>utf8</code> resource in
9542    manpage (Debian #179407).</li>
9543
9544    <li>modify configure macros CF_IMAKE_CFLAGS and CF_ADD_CFLAGS
9545    to handle <code>-D</code> options that define string values,
9546    e.g., for <code>XVENDORNAME</code>.</li>
9547
9548    <li>modify configure macro CF_IMAKE_CFLAGS to allow (if
9549    <code>$PATH</code> is set accordingly) to use the
9550    <code>xmkmf</code> script within an X build tree.</li>
9551
9552    <li>add missing <code>#undef OPT_SESSION_MGT</code> to
9553    xtermcfg.hin to make the configure script's
9554    --disable-session-mgt option work.</li>
9555
9556    <li>update config.guess, config.sub</li>
9557  </ul>
9558
9559  <h1><a name="xterm_186" id="xterm_186">Patch #186 - 2004/4/18 -
9560  XFree86 4.4.99.4</a></h1>
9561
9562  <ul>
9563    <li>change reset on <code>DECSCL</code> to a soft-reset
9564    (appears some DEC manuals have errors).</li>
9565
9566    <li>add a section to ctlseqs.ms elaborating on normal/alternate
9567    screens.</li>
9568
9569    <li>modify initialization of Acolors[] so that any
9570    XtDefaultForeground or XtDefaultBackground values are
9571    translated as in the Tcolors[], to use the window's
9572    foreground/background colors. This affects the
9573    <code>colorBD</code> and similar resources which normally have
9574    no explicit color assigned.</li>
9575
9576    <li>modify initialization of Tektronix window so that control
9577    sequences setting its color before the window is popped up will
9578    apply to its initial colors.</li>
9579
9580    <li>add control sequence to set Tektronix window's
9581    text-cursor.</li>
9582
9583    <li>modify initialization of terminal colors, e.g., mouse
9584    pointer and text cursor, to treat
9585    <code>XtDefaultForeground</code> and
9586    <code>XtDefaultBackground</code> values as the actual
9587    foreground and background colors of the terminal rather than
9588    white and black (Debian #241717).</li>
9589
9590    <li>remove an incorrect comparison against
9591    <code>PTYCHARLEN</code> in parsing the <code>-S</code> option
9592    (report by Michael B Taylor).</li>
9593
9594    <li>minor restructuring of terminfo/termcap files, having noted
9595    some packager's customizations which caused the structure to be
9596    confused.</li>
9597
9598    <li>eliminate an isolated use of MIN/MAX in charproc.c</li>
9599
9600    <li>replace <code>XtExtdefaultfont</code> and
9601    <code>XtExtdefaultbackground</code> by their more familiar
9602    equivalents <code>XtDefaultFont</code> and
9603    <code>XtDefaultBackground</code>.</li>
9604
9605    <li>replace ifdef's using <code>SCO</code>, <code>sco</code>
9606    and <code>SCO325</code> with <code>__SCO__</code> (XFree86
9607    Bugzilla #1301, Kean Johnston). But ensure that it still builds
9608    on platforms where this symbol is not defined.</li>
9609
9610    <li>add <code>scoFunctionKeys</code> resource, to match
9611    manpage.</li>
9612
9613    <li>update manpage discussion of menus and related
9614    resources.</li>
9615
9616    <li>enable utmpx support for NetBSD 1.6C and newer (patch by
9617    Matthias Scheler).</li>
9618
9619    <li>add a note in the manpage discussing xterm's treatment of
9620    open file-descriptors (request by Dan Shearer).</li>
9621
9622    <li>modify <code>Help()</code> to make "xterm -h" write to
9623    standard output rather than standard error (patch by Bram
9624    Moolenaar).</li>
9625
9626    <li>check for type of failure in xim_real_init() to avoid
9627    looping when the problem is an unsupported input method rather
9628    than a failure to connect to the XIM server. Problem was
9629    introduced in <a href="#xterm_175">patch #175</a> (XFree86
9630    Bugzilla #1306).</li>
9631
9632    <li>modify <code>Imakefile</code> to remove dependency of
9633    "install" target on the <code>xterm</code> executable to make
9634    installs from tree without attempting to rebuild anything
9635    (commit by David Dawes, report/patch from Lee Olsen).</li>
9636
9637    <li>remove call to <code>ShowCursor</code> from
9638    <code>SetCursorBlink()</code> since that is redundant, and can
9639    cause display glitches if the cursor is already blinking
9640    (XFree86 Bugzilla #1158, patch/report by Andreas Schwab).</li>
9641  </ul>
9642
9643  <h1><a name="xterm_185" id="xterm_185">Patch #185 - 2004/3/3 -
9644  XFree86 4.4</a></h1>
9645
9646  <ul>
9647    <li>fix tcap-query logic for the backspace key (XFree86
9648    Bugzilla #1233, report/patch by Anton Kovalenko).</li>
9649
9650    <li>add test-scripts resize.pl and tcapquery.pl</li>
9651
9652    <li>add translation to ASCII of commonly-used characters that
9653    groff translates to Unicode, when the font in use does not
9654    provide the corresponding glyphs (Debian #219551).</li>
9655
9656    <li>modify RequestMaximize(), which performs maximize/restore
9657    via control sequences, to account for window-frame (patch by
9658    Jess Thrysoee).</li>
9659
9660    <li>improve pattern used in <code>uxterm</code> to check for
9661    UTF-8 locale, e.g., for HPUX (patch by H Merijn Brand).</li>
9662
9663    <li>add <code>-fd</code> option and resource
9664    <code>faceNameDoublesize</code> to specify double-wide fonts
9665    with Xft (adapted from patch by Zarick Lau).</li>
9666
9667    <li>change a couple of resource classes from "Boolean" to
9668    specific values: <code>freeBoldBox</code>,
9669    <code>forceBoxChars</code>.</li>
9670
9671    <li>add resource <code>showMissingGlyphs</code> to outline
9672    places on the screen where a font lacks the corresponding
9673    glyph.</li>
9674
9675    <li>add resource <code>showBlinkAsBold</code> to control
9676    whether blinking text should be shown as bold or actual
9677    blinking text.</li>
9678
9679    <li>improve logic in ShowCursor() to avoid repainting the
9680    cursor when it is already visible, e.g., in response to the
9681    DECTCEM escape sequence. This also addresses XFree86 Bugzilla
9682    #1158.</li>
9683
9684    <li>implement blinking text, using the timer for blinking
9685    cursor.</li>
9686
9687    <li>modify FreeType support to allow resizing the font, in the
9688    same ways the window can be resized if fixed fonts are used.
9689    The relative font sizes are derived from the fixed font
9690    sizes.</li>
9691
9692    <li>add menu items and corresponding actions for switching
9693    on/off the UTF-8 mode and Xft (TrueType) support.</li>
9694
9695    <li>add logic to handle switching UTF-8 mode on/off. It worked
9696    if the escape sequences were flushed, but if data was mixed in
9697    with the same write, some were not handled properly (report by
9698    Nicolas George).</li>
9699
9700    <li>modify to allow turning UTF-8 mode on/off via escape
9701    sequence even if <code>-wc</code> option was not given at
9702    startup (patch by Peter Berg Larsen).</li>
9703
9704    <li>amend fix for XFree86 Bugzilla #981, adjusting for
9705    savedlines value (report by Tim Adye).</li>
9706
9707    <li>fix a typo in computing relative font size (Jess
9708    Thrysoee).</li>
9709  </ul>
9710
9711  <h1><a name="xterm_184" id="xterm_184">Patch #184 - 2003/12/31 -
9712  XFree86 4.3.99.903</a></h1>
9713
9714  <ul>
9715    <li>improve configure-script checks for FreeType and related
9716    libraries, using <code>xft-config</code> or
9717    <code>freetype-config</code> scripts when available.</li>
9718
9719    <li>fix configure-script check for <code>SYSV</code> definition
9720    by ensuring whether <code>sys_errlist[]</code> is declared, and
9721    by modifying the test program to include
9722    <code>X11/Intrinsic.h</code> to check that <code>wchar_t</code>
9723    is declared consistently (report by H Merijn Brand).</li>
9724  </ul>
9725
9726  <h1><a name="xterm_183" id="xterm_183">Patch #183 - 2003/12/26 -
9727  XFree86 4.3.99.903</a></h1>
9728
9729  <ul>
9730    <li>correct logic for configurations that may attempt to open
9731    both old/new-style pseudoterminals. In this case, the old-style
9732    are preferred. Logic was broken in <a href="#xterm_145">patch
9733    #145</a> (XFree86 Bugzilla #997, report/patch by Kean
9734    Johnston).</li>
9735
9736    <li>modify handling of <code>eightBitInput</code> resource in
9737    UTF-8 mode to translate the value into UTF-8. Otherwise an
9738    illegal UTF-8 code is sent to the application (report by Bram
9739    Moolenaar).</li>
9740
9741    <li>modify <code>uxterm</code> script to interpret help and
9742    version options so xterm does not always create a window when
9743    the user requests this information (Debian #223926).</li>
9744
9745    <li>add a limit check to ScrnTstWrapped() (XFree86 Bugzilla
9746    #981).</li>
9747
9748    <li>modify DECSCL to perform a hard reset (RIS) as per DEC
9749    manuals. Extended DECSCL to accept parameters for vt4XX and
9750    vt5xx terminals.</li>
9751
9752    <li>correct logic for ANSI conformance level escape sequences,
9753    which were confused with DEC conformance level escape
9754    sequences.</li>
9755
9756    <li>correct state for vt52 shift-in/shift-out, which was not
9757    reset properly after <a href="#xterm_171">patch #171</a>.</li>
9758
9759    <li>correct handling of graphics characters for vt52 mode,
9760    which did not display line-drawing characters after G1 fix from
9761    <a href="#xterm_182">patch #182</a>.</li>
9762
9763    <li>fixes for configure script to work with current Cygwin
9764    headers and libraries.</li>
9765
9766    <li>modify <code>Imakefile</code> to put the current directory
9767    at the beginning of the include searchpath (patch by David
9768    Dawes).</li>
9769  </ul>
9770
9771  <h1><a name="xterm_182" id="xterm_182">Patch #182 - 2003/12/2 -
9772  XFree86 4.3.99.901</a></h1>
9773
9774  <ul>
9775    <li>correct logic for <code>metaSendsEscape</code> resource to
9776    allow for the meta-right key to be tested. Improve check for
9777    meta/alt modifiers by dropping the assumption that a keysym is
9778    associated with only one modifier, and by ignoring NoSymbol
9779    entries in the xmodmap data (XFree86 Bugzilla #924, patch by
9780    David Dawes).</li>
9781
9782    <li>correct wrapping logic for line-drawing characters written
9783    in non-UTF-8 mode of xterm build for wide-characters (XFree86
9784    Bugzilla #918, report/patch by J&uuml;rgen Keil).</li>
9785
9786    <li>improve manpage description of resources, in particular the
9787    <code>utf8Fonts</code> class (XFree86 Bugzilla #905).</li>
9788
9789    <li>add definitions to compile with glibc-based GNU/Hurd,
9790    GNU/KFreeBSD and GNU/KNetBSD (XFree86 Bugzilla #893).</li>
9791
9792    <li>compiler-warning fixes (patch by Christian Biere).</li>
9793
9794    <li>add README.i18n (Tomohiro Kubota).</li>
9795
9796    <li>correct initialization of G1 character set mapping, which
9797    used line-drawing set as a result of confusion between "DEC
9798    Supplemental Graphic" and "DEC Special Graphic" character sets
9799    (see <a href="#xterm_34">patch #34</a> regarding DECSTR).</li>
9800
9801    <li>correct ifdef in main.c for variable utret (patch by
9802    Bernhard Rosenkraenzer).</li>
9803
9804    <li>document in xterm's manpage how to use XFree86 ":unscaled"
9805    keyword to suppress scaling of bold fonts.</li>
9806
9807    <li>when deriving bold fontname from normal fontname, use the
9808    normal font's average width to avoid for example selecting
9809    7x13bold from an 8x13 normal font (Debian #107769).</li>
9810  </ul>
9811
9812  <h1><a name="xterm_181" id="xterm_181">Patch #181 - 2003/10/26 -
9813  XFree86 4.3.99.15</a></h1>
9814
9815  <ul>
9816    <li>implement <code>boldMode</code> for wide-character logic in
9817    <code>drawXtermText()</code> (report by Michael
9818    Schroeder).</li>
9819
9820    <li>modify <code>UXTerm.ad</code> resource file to include
9821    "XTerm-color" rather than "XTerm", in case the latter file
9822    contains no color resource definitions, e.g., after <a href=
9823    "#xterm_180">patch #180</a>.</li>
9824
9825    <li>add action <code>load-vt-fonts()</code> and configure
9826    option <code>--enable-load-vt-fonts</code> which allows users
9827    to define additional sets of VT-fonts which can be loaded at
9828    runtime.</li>
9829
9830    <li>add logic to wide-character support which attempts to load
9831    fonts specified by <code>utf8Fonts</code> subresources at
9832    startup. The subresources have the same names as the fonts
9833    which they replace, e.g., <code>font</code>,
9834    <code>font1</code>, etc., so that the ISO-10646-1 fonts can be
9835    specified in the <code>XTerm</code> app-defaults file (adapted
9836    from patch by Tomohiro Kubota).</li>
9837
9838    <li>improve Set Font escape string handling by making the
9839    relative settings apply to the size of the font, as in shift
9840    keypad plus/minus rather than the menu index.</li>
9841
9842    <li>simplify parameter passing for the <code>set-vt-font</code>
9843    action and related code.</li>
9844
9845    <li>cleanup some include-ordering, moving some recently-added
9846    hardcoded stuff into xterm.h where it will not interfere with
9847    the configure script.</li>
9848
9849    <li>modify <code>xtermAddInput()</code> (see note on
9850    augmentation in <a href="#xterm_158">patch #158</a>) to use the
9851    complete set of default keyboard translations so that one can
9852    use shifted pageup, wheel mouse, etc., while the mouse pointer
9853    is over the scrollbar. (Debian #178812).</li>
9854
9855    <li>make save/restore mode controls apply to show/blink cursor
9856    states.</li>
9857
9858    <li>add escape sequence to start/stop blinking cursor, which
9859    allows implementing <code>cvvis</code> terminfo capability
9860    (request by Nate Bargmann).</li>
9861
9862    <li>add <code>indp</code> and <code>rin</code> to terminfo
9863    entry.</li>
9864
9865    <li>fix an out-of-bounds array reference in ScrnRefresh() for
9866    wide characters (report by Dan Harnett, patch by Todd Miller).
9867    This bug dates from <a href="#xterm_141">patch #141</a>.</li>
9868  </ul>
9869
9870  <h1><a name="xterm_180" id="xterm_180">Patch #180 - 2003/10/12 -
9871  XFree86 4.3.99.15</a></h1>
9872
9873  <ul>
9874    <li>several fixes for rendering using Xft via option
9875    <code>-fa</code>:
9876      <ul>
9877        <li>translate Unicode values, i.e,. from UTF-8 output to
9878        xterm, for line-drawing to xterm's internal code, etc.,
9879        since TrueType fonts generally do not have either set of
9880        line-drawing glyphs. xterm can draw these directly (report
9881        by Abigail Brady).</li>
9882
9883        <li>pass 16-bit values rather than 8-bit values to
9884        xtermXftDrawString() to allow for wide-characters.</li>
9885
9886        <li>remove spurious check for <code>colorBDMode</code>
9887        resource in logic that does bold fonts.</li>
9888
9889        <li>implement underlining.</li>
9890      </ul>
9891    </li>
9892
9893    <li>patches by Ilya Zakharevich:
9894      <ul>
9895        <li>improve drawXtermText() by making the recursive calls
9896        communicate through arguments, and not through
9897        saving/restoring global variables.</li>
9898
9899        <li>make double-width characters work with <code>-u8</code>
9900        option.</li>
9901
9902        <li>modify lookup of double-sized fonts by checking for a
9903        match ignoring x/y resolution if the first check
9904        fails.</li>
9905      </ul>
9906    </li>
9907
9908    <li>make height of TrueType fonts match ascent+descent (patch
9909    by Keith Packard).</li>
9910
9911    <li>correct configure-script check for imake $CFLAGS, which did
9912    not check properly if imake was not available.</li>
9913
9914    <li>correct install rule in Makefile.in for
9915    <code>uxterm</code>, which was attempting to strip the script
9916    (newsgroup posting by Fernan Aguero).</li>
9917
9918    <li>correct AF/AB strings in termcap for xterm-256color and
9919    xterm-88color entries (report by Josh Howard).</li>
9920
9921    <li>update wcwidth.c to incorporate changes from Markus Kuhn's
9922    2003-05-20 (Unicode 4.0) version of that file.</li>
9923
9924    <li>modify <code>scroll-back</code> and
9925    <code>scroll-forw</code> actions to accept an adjustment value,
9926    e.g.,
9927
9928      <pre>
9929              <code>scroll-back(1, page-2)</code>
9930</pre>to scroll back by 2 lines less than a page (patch by Greg
9931Klanderman).
9932    </li>
9933
9934    <li>use color resource setting from Debian package for xterm
9935    VT100 widget, since the choice of blues provides better
9936    contrast.</li>
9937
9938    <li>remove color resources from <code>XTerm.ad</code>, leaving
9939    them only in <code>XTerm-col.ad</code> (prompted by Debian
9940    package for xterm).</li>
9941
9942    <li>correct configure script option --enable-pty-handshake
9943    (report by Paul Gilmartin).</li>
9944
9945    <li>add <code>visualBellDelay</code> resource to modify the
9946    length of time used for visual bell, for very slow displays or
9947    very fast computers (reports by Ingo van Lil and Doug
9948    Toppin).</li>
9949
9950    <li>correct logic for initializing dynamic highlight color
9951    (patch by Jess Thrysoee).</li>
9952
9953    <li>add a check for non-zero size in call to
9954    <code>XCopyArea()</code> to accommodate a Solaris bug.</li>
9955
9956    <li>correct typo in example for character classes in xterm
9957    manpage (Debian #198910).</li>
9958
9959    <li>link xterm with bind_on_load option on Darwin to work
9960    around a deadlock in the dynamic loader when a signal is
9961    received while the dynamic loader is looking up symbols
9962    (patches by Rob Braun, Torrey Lyons).</li>
9963
9964    <li>modify configure script to avoid using "head -1".</li>
9965
9966    <li>update config.guess, config.sub</li>
9967
9968    <li>modify ifdef's to work around inclusion of types FcChar32
9969    and XftCharSpec with FreeType 2.0 (see <a href=
9970    "#xterm_175">patch #175</a>).</li>
9971
9972    <li>modify the predictable version of the generated logfile
9973    name (see <a href="#xterm_171">patch #171</a>) to append the
9974    process-id rather than a random value.</li>
9975
9976    <li>resync with XFree86 CVS
9977      <ul>
9978        <li>Enable SCO function keys in xterm</li>
9979
9980        <li>Make Delete key send DEL by default on SCO in
9981        xterm</li>
9982      </ul>
9983    </li>
9984  </ul>
9985
9986  <h1><a name="xterm_179" id="xterm_179">Patch #179 - 2003/5/21 -
9987  XFree86 4.3.99.5</a></h1>
9988
9989  <ul>
9990    <li>modify ifdef's for WTMPX_FILE to allow building on cygwin
9991    again.</li>
9992
9993    <li>change the default of pty-handshaking configure option (and
9994    related default for imake) to assume this feature is
9995    needed.</li>
9996
9997    <li>add ifdef's so configure option for XawPlus library works
9998    (patch by Pavel Roskin).</li>
9999
10000    <li>add <code>$(MAIN_DEFINES)</code> to the variables checked
10001    by the configure script that may contain information set by
10002    imake. This allows xterm to build/run properly using the
10003    configure script on IRIX64.</li>
10004
10005    <li>add configure check for ".exe" suffix on cygwin.</li>
10006  </ul>
10007
10008  <h1><a name="xterm_178" id="xterm_178">Patch #178 - 2003/5/18 -
10009  XFree86 4.3.99.5</a></h1>
10010
10011  <ul>
10012    <li>modify default for configure
10013    <code>--enable-pty-handshake</code> option to enable it for
10014    Solaris (report by Nelson Beebe).</li>
10015
10016    <li>modify <code>in_put()</code> function to call
10017    <code>PreeditPosition()</code> only when the cursor's position
10018    has changed. This addresses report by Stefan Baums of high CPU
10019    usage while xterm with chinput are running in the background
10020    (patch by Yong Li).</li>
10021
10022    <li>improved explanation of <code>-ls</code> conflict with
10023    <code>-e</code> option in xterm manpage (adapted from comments
10024    by Henning Makholm).</li>
10025
10026    <li>correct comment in terminfo file regarding modifier used
10027    for <code>kDC</code> (Debian #189764, report by Henning
10028    Makholm).</li>
10029
10030    <li>correct/extend some of the keypad description in ctlseqs.ms
10031    (report by Henning Makholm).</li>
10032
10033    <li>correct keypad-mapping table in input.c so
10034    <code>XK_KP_Equal</code> works (report by Henning
10035    Makholm).</li>
10036
10037    <li>modified to work with CJK double-width (bi-width/monospace)
10038    fonts. They're similar to Roman Czbora and David Starner's
10039    gnuunifonts in that Latin letters and numbers have all the same
10040    width which is exactly the half of the width of East Asian
10041    characters. (patch by Jungshik Shin
10042    &lt;jshin@mailaps.org&gt;).</li>
10043
10044    <li>add configure option <code>--enable-broken-osc</code> and
10045    resource <code>brokenLinuxOSC</code> to accommodate scripts
10046    which do not distinguish between running in the Linux console
10047    and running in X. Linux console recognizes malformed control
10048    strings which start with an <code>OSC</code>, but are
10049    fixed-length, with no terminator.</li>
10050
10051    <li>add configure option <code>--enable-broken-st</code> and
10052    resource <code>brokenStringTerm</code> to allow user to revert
10053    one part of the parsing table corrections from <a href=
10054    "#xterm_171">patch #171</a>. (reports by Matthias Scheler and
10055    Kirill Ponomarew indicate that someone's network firmware sends
10056    an <code>&lt;escape&gt;X</code>).</li>
10057
10058    <li>modify configure <code>--disable-imake</code> to provide
10059    values for <code>OSMAJORVERSION</code>,
10060    <code>OSMINORVERSION</code>, <code>FUNCPROTO</code> and
10061    <code>NARROWPROTO</code> (report by Heiko Schlichting).</li>
10062
10063    <li>correct <code>vttests/16colors.sh</code>, which omitted the
10064    <code>$SUF</code> variable in output strings (patch by Paul
10065    Gilmartin).</li>
10066
10067    <li>modify shell scripts in <code>vttests</code> directory to
10068    attempt to use named signals in the <code>trap</code>
10069    statement, making this portable to OS/390 (report by Paul
10070    Gilmartin). Tested on SunOS 4.1.4, which implements only
10071    numbers.</li>
10072  </ul>
10073
10074  <h1><a name="xterm_177" id="xterm_177">Patch #177 - 2003/3/23 -
10075  XFree86 4.3.0</a></h1>
10076
10077  <ul>
10078    <li>fix definition of <code>USE_HANDSHAKE</code>, must be
10079    numeric (reported by Jens Schleusener).</li>
10080  </ul>
10081
10082  <h1><a name="xterm_176" id="xterm_176">Patch #176 - 2003/3/22 -
10083  XFree86 4.3.0</a></h1>
10084
10085  <ul>
10086    <li>add configure option <code>--enable-pty-handshake</code> to
10087    allow one to compile-in support for the pty handshaking logic,
10088    and resource <code>ptyHandshake</code> to enable or disable it
10089    (suggested by Ian Collier).</li>
10090
10091    <li>restore <code>USE_HANDSHAKE</code> ifdef removed in
10092    <a href="#xterm_159">patch #159</a> to address Debian
10093    #39964.</li>
10094
10095    <li>move ifdef's for ttysize/winsize into xterm_io.h</li>
10096
10097    <li>simplify loop on <code>tgetent</code>, check if the
10098    successive entries in the lookup table are the same. That makes
10099    xterm do one less lookup if there is no "xterm" entry in the
10100    termcap file (report by Derek Martin).</li>
10101
10102    <li>correct manpage discussion of <code>$TERM</code> and
10103    <code>$TERMCAP</code> variables, which omitted the Tektronix
10104    emulation and a note of the final "dumb" fallback.</li>
10105
10106    <li>broaden ifdef for
10107    <code>XRegisterIMInstantiateCallback()</code> from <a href=
10108    "#xterm_175">patch #175</a> (XIM fix) to exclude non-XFree86
10109    (report by Nelson Beebe indicates this breaks for Solaris, IRIX
10110    and OSF/1).</li>
10111
10112    <li>correct resource-size for <code>iconFont</code> (this was
10113    added by X11R6.3).</li>
10114
10115    <li>improve configure check for XKB bell extension, to work
10116    around inconsistent implementation of this feature (reports by
10117    Nelson Beebe, Kriston Rehberg and David Ellement).</li>
10118
10119    <li>modify configure-check for <code>tty</code> group to be
10120    less strict in batch mode (report by Nelson Beebe).</li>
10121
10122    <li>modify to allow building with g++, to use its compiler
10123    warnings (suggested by Nelson Beebe).</li>
10124
10125    <li>modify <code>dec2ucs[]</code> table to reflect newer codes
10126    available for scanlines 1, 3, 7, 9 (report by Michael
10127    Schroeder).</li>
10128
10129    <li>add configure option for XawPlus library.</li>
10130  </ul>
10131
10132  <h1><a name="xterm_175" id="xterm_175">Patch #175 - 2003/3/9 -
10133  XFree86 4.3.0</a></h1>
10134
10135  <ul>
10136    <li>fix a SIGSEGV which could occur if xterm is connecting to
10137    XIM server, and the XIM server is destroyed (patch by Nam
10138    SungHyun).</li>
10139
10140    <li>modify to use built-in line-drawing characters for Xft
10141    fonts (patch by Andrew Tipton).</li>
10142
10143    <li>make menu reflect the state of the <code>tekInhibit</code>
10144    resource.</li>
10145
10146    <li>make <code>signalInhibit</code> resource work, i.e.,
10147    disable the menu entries that would send signals to, or exit
10148    xterm. This was probably broken in X11R5 when logging was
10149    disabled (report by Sven Mascheck).</li>
10150
10151    <li>changed classes of <code>colorBDMode</code> and similar
10152    resources that override colors when a video attribute is set to
10153    <code>ColorAttrMode</code>, to make them distinct from
10154    <code>ColorMode</code>. This avoids an unexpected rendering of
10155    reverse video, for example (report by Paul Fox).</li>
10156
10157    <li>changed class of <code>veryBoldColors</code> to
10158    <code>VeryBoldColors</code>, since <code>ColorMode</code> is
10159    associated with boolean resources.</li>
10160
10161    <li>add option <code>-k8</code> and resource
10162    <code>allowC1Printable</code> to allow users of non-VTxxx
10163    character sets such as KOI-8 to treat the C1 control area
10164    (character codes 128-159) as printable rather than control
10165    characters.</li>
10166
10167    <li>add a null-pointer check for return-value of
10168    <code>ptsname()</code> in HPUX-specific code (report by David
10169    Ellement).</li>
10170
10171    <li>revise the ifdef's used for <code>XKB</code> bell support.
10172    The code was using a nonstandard call
10173    <code>XkbStdBell()</code>. Changed to use
10174    <code>XkbBell()</code> (based on patch by
10175    &lt;derek@signalmarketing.com&gt;).</li>
10176
10177    <li>add a null-pointer check in <code>xtermLoadFont()</code> in
10178    case there is no wide-bold font (Nam SungHyun).</li>
10179
10180    <li>change <code>Makefile.in</code> to use autoconf's
10181    <code>bindir</code>, <code>libdir</code> and
10182    <code>mandir</code> variables (report by Nam SungHyun).</li>
10183
10184    <li>add <code>le</code> to termcap <code>xterm-basic</code>
10185    entry. Though missing from older termcaps for xterm, some
10186    applications check for it (report by Matthias Buelow).</li>
10187
10188    <li>modify <code>uxterm</code> script to strip modifiers such
10189    as "@euro" from the locale setting before adding ".UTF-8"
10190    (Debian #179929).</li>
10191
10192    <li>modify the remaining places where tek4014 emulation uses
10193    <code>XDefineCursor()</code>, to make it work as originally
10194    implemented, e.g., when switching back to alpha mode. Added
10195    test-screen in vttest to test this feature properly.</li>
10196  </ul>
10197
10198  <h1><a name="xterm_174" id="xterm_174">Patch #174 - 2003/2/25 -
10199  XFree86 4.2.99.903</a></h1>
10200
10201  <ul>
10202    <li>work-around for XFree86 bug which made
10203    <code>XDefineCursor()</code> on a shell-window no longer work.
10204    The tek4014 emulation used this. Use the next lower window
10205    (report by Karl Rudolf Bauchspiess).</li>
10206
10207    <li>add a resource setting <code>allowWindowOps</code> to
10208    control whether the extended window operations should be
10209    allowed, e.g., resize, iconify, report window attributes. This
10210    is to accommodate people who are not capable of using a pager
10211    to view log-files.</li>
10212  </ul>
10213
10214  <h1><a name="xterm_173" id="xterm_173">Patch #173 - 2003/2/6 -
10215  XFree86 4.2.99.902</a></h1>
10216
10217  <ul>
10218    <li>reset mouse mode to normal on a full reset. This does not
10219    apply to mouse hilite tracking mode, of course (see
10220    ctlseqs.ms).</li>
10221
10222    <li>add a time-delay at the point where mouse hilite tracking
10223    mode choses to not handle X events, to avoid runaway CPU usage
10224    (report by D Hugh Redelmeier).</li>
10225
10226    <li>check for illegal character in DECUDK string, quit if
10227    detected.</li>
10228  </ul>
10229
10230  <h1><a name="xterm_172" id="xterm_172">Patch #172 - 2002/12/27 -
10231  XFree86 4.2.99.3</a></h1>
10232
10233  <ul>
10234    <li>fixes to make repainting of 256-color example work properly
10235    (reports by Abigail Brady and Scott A Crosby).
10236      <ul>
10237        <li>set flag in <code>AllocateAnsiColor()</code> to ensure
10238        the color is allocated once only.</li>
10239
10240        <li>fix check in <code>ScrnRefresh</code>, which was
10241        comparing background colors only if the ANSI foreground
10242        colors also were set.</li>
10243      </ul>
10244    </li>
10245
10246    <li>merge <code>Error()</code> calls and some
10247    <code>exit()</code> calls into <code>SysError()</code>, and
10248    change that to add the brief explanation for each error code
10249    which is provided in the manpage. Change a few
10250    <code>SysError()</code>, calls to avoid using code 1, to avoid
10251    confusion with exit status from places that do not use
10252    <code>SysError()</code>.</li>
10253
10254    <li>simplify logic used to open a debug logfile as the standard
10255    error.</li>
10256
10257    <li>modify the <code>-e</code> option so that if it fails,
10258    xterm will check if only one argument follows, e.g., it was
10259    quoted, and then retry using <code>sh&nbsp;-c</code>.</li>
10260
10261    <li>modify parsing of DECUDK string parameter to allow a comma
10262    between pairs of hexadecimal digits (Ray Neuman
10263    &lt;raymond@one.com.au&gt; reports that "real" terminals accept
10264    this; perhaps they simply ignore unexpected characters).</li>
10265
10266    <li>fix a few problems with the <code>$TERMCAP</code> string
10267    generated by <code>resize</code>:
10268      <ul>
10269        <li>for Bourne shell, add an <code>export</code> command.
10270        This was missing as far back as X11R5.</li>
10271
10272        <li>escape exclamation marks, used in xterm's reset
10273        string.</li>
10274
10275        <li>translate literal <code>\177\</code> to "^?".</li>
10276      </ul>
10277    </li>
10278
10279    <li>improve configure check for <code>tgetent()</code> to work
10280    when <code>$TERMCAP</code> has been set to a specific
10281    entry.</li>
10282
10283    <li>modify <code>minstall.sh</code> to use "%" rather than "@",
10284    to avoid problems with AFS (report by Zdenek Sekera).</li>
10285
10286    <li>list fatal error codes from <code>error.h</code> in the
10287    manpage, remove unused codes in <code>error.h</code>.</li>
10288
10289    <li>use more explicit wording for manpage list of color
10290    resources, since at least one user confused the generic names
10291    such as "black" with the names in rgb.txt (the latter are now
10292    used).</li>
10293
10294    <li>minor fix to description of 1003 mouse mode in ctlseqs.ms
10295    (Larry Riedel).</li>
10296  </ul>
10297
10298  <h1><a name="xterm_171" id="xterm_171">Patch #171 - 2002/12/12 -
10299  XFree86 4.2.99.3</a></h1>
10300
10301  <ul>
10302    <li>modify parser tables to improve detection of malformed
10303    control sequences, making xterm behave more like a real DEC
10304    terminal (patch by Paul Williams).</li>
10305
10306    <li>update comment in <code>input.c</code> to document
10307    <code>Meta</code> as a modifier for escape sequences (patch by
10308    D Roland Walker).</li>
10309
10310    <li>add ifdef'd code for logging option which adds the hostname
10311    and a timestamp to the generated logfile name. The ifdef's are
10312    setup with the configure script (patch by Nelson Beebe).</li>
10313
10314    <li>remove <code>xevents()</code> call from the end of
10315    <code>BlinkCursor()</code>, to fix an occasional problem which
10316    caused xterm to pause until a key was pressed. The reason for
10317    this was that there was no check to ensure that there really
10318    were events for <code>xevents()</code> to process. (patch by
10319    Semen A Ustimenko &lt;semenu@FreeBSD.org&gt;).</li>
10320
10321    <li>remove unused mode-params from <code>open()</code> calls
10322    that do not create a file.</li>
10323
10324    <li>modify configure script to put new items first on
10325    <code>$CPPFLAGS</code> and <code>$CFLAGS</code> to avoid
10326    conflict with environment's <em>-I</em> and <em>-D</em>
10327    options.</li>
10328
10329    <li>update config.guess, config.sub</li>
10330
10331    <li>resync with XFree86 CVS
10332      <ul>
10333        <li>fix va_args glitches for xterm/libfontconfig: 0 ==
10334        (void*)0 isn't true for all platforms (Egbert Eich).</li>
10335
10336        <li>initialise ProgramName in xterm's main before
10337        referencing it (XFree86 #5473, Peter Valchev).</li>
10338
10339        <li>some cleanup of Imakefile ifdef's (Marc La
10340        France).</li>
10341      </ul>
10342    </li>
10343  </ul>
10344
10345  <h1><a name="xterm_170" id="xterm_170">Patch #170 - 2002/10/13 -
10346  XFree86 4.2.1</a></h1>
10347
10348  <ul>
10349    <li>correct an off-by-one allocating data for sorted help
10350    message.</li>
10351
10352    <li>modify configure script to check for Xpm library, on which
10353    XFree86 Xaw library depends.</li>
10354
10355    <li>update config.guess, config.sub</li>
10356  </ul>
10357
10358  <h1><a name="xterm_169" id="xterm_169">Patch #169 - 2002/10/5 -
10359  XFree86 4.2.1</a></h1>
10360
10361  <ul>
10362    <li>modify wording of some options in help message to make them
10363    use <code>-/+</code> consistently with respect to "on/off" or
10364    "off/on".</li>
10365
10366    <li>sort options list which is displayed in help- and
10367    syntax-messages at runtime to simplify maintenance.</li>
10368
10369    <li>remove support for Amoeba and Minix (Juliusz Chroboczek
10370    noted it was removed from XFree86 server; there have been no
10371    users since 1996).</li>
10372
10373    <li>add configure script option
10374    <code>--disable-session-mgt</code> to control whether the
10375    session management code should be compiled-in (request by H
10376    Merijn Brand).</li>
10377
10378    <li>ifdef'd the session-management changes with
10379    <code>OPT_SESSION_MGT</code>, to accommodate X11R5 which
10380    predates the related definitions.</li>
10381
10382    <li>fix <code>decode_keyvalue()</code>, which did not properly
10383    parse multiple settings as needed for the <code>ttyModes</code>
10384    resource, since it did not skip over the parsed data.</li>
10385
10386    <li>fix an option-parsing conflict between <code>-class</code>
10387    and <code>-cjk_width</code> (Nam SungHyun)</li>
10388
10389    <li>add a missing null in <code>XtVaSetValues()</code> call
10390    used in <code>Cleanup()</code> (Nam SungHyun)</li>
10391  </ul>
10392
10393  <h1><a name="xterm_168" id="xterm_168">Patch #168 - 2002/9/29 -
10394  XFree86 4.2.1</a></h1>
10395
10396  <ul>
10397    <li>improve data reported for control sequence that requests
10398    window position by taking into account the window decorations,
10399    e.g., border and title (patch by Jess Thrysoee
10400    &lt;jess@thrysoee.dk&gt;).</li>
10401
10402    <li>add <code>-cjk_width</code> and corresponding resource
10403    <code>cjkWidth</code> (patch by Jungshik Shin
10404    &lt;jshin@mailaps.org&gt;).</li>
10405
10406    <li>add <code>-into</code> option, for embedding xterm in a
10407    Tcl/Tk application (patch by George Peter Staplin
10408    &lt;georgeps@xmission.com&gt;).</li>
10409
10410    <li>add simple session management (XSM) client capabilities to
10411    xterm. So a session manager such as, e.g., xsm, should be able
10412    to respawn or kill xterms without the help of an SM proxy (like
10413    smproxy), which is a hack and almost always buggy (patch by
10414    David Madore).</li>
10415
10416    <li>fix conflict between ifdef's for
10417    <code>OPT_DEC_LOCATOR</code> and <code>OPT_READLINE</code> in
10418    button.c (reported by Ilya Zakharevich).</li>
10419
10420    <li>fix for inconsistent use of <code>struct utmp</code> versus
10421    <code>struct utmpx</code> introduced in <a href=
10422    "#xterm_167">patch #167</a> (patches by Paul Gilmartin, Marc La
10423    France).</li>
10424
10425    <li>modify logic for <code>metaSendsEscape</code> to allow it
10426    to work in a setup where the Meta-key is not recognized as a
10427    modifier by the key-translations logic (discussion of
10428    eightBitInput with H.J.Lu). Note however that Vincent
10429    Lef&egrave;vre reported this in January).</li>
10430
10431    <li>use null pointer values consistently, rather than literal
10432    "0", for ending variable-length argument lists, e.g., for
10433    <code>execlp()</code> (based on patch by Matthieu Herrb).</li>
10434
10435    <li>correct logic of <code>ChangeAnsiColorRequest()</code>,
10436    which would do a screen repaint after replying to a request for
10437    information.</li>
10438
10439    <li>improve scripts in vttests to work with systems whose
10440    shells support <code>echo -n</code> and have, as does Debian,
10441    an unrelated <code>print</code> utility.</li>
10442
10443    <li>add vttests/acolors.sh to demonstrate OSC 4, which queries
10444    or sets ANSI colors.</li>
10445
10446    <li>fixes for ctlseqs.ms (Pavel Roskin, Ilya Zakharevich).</li>
10447
10448    <li>typos in xterm manpage (Jens Schweikhardt)</li>
10449
10450    <li>remove a redundant GCC_UNUSED from InitPopup() (Nam
10451    SungHyun)</li>
10452  </ul>
10453
10454  <h1><a name="xterm_167" id="xterm_167">Patch #167 - 2002/8/24 -
10455  XFree86 4.2.0</a></h1>
10456
10457  <ul>
10458    <li>correct ifdef's for <code>USE_TERMCAP</code> to match
10459    cygwin configuration.</li>
10460
10461    <li>fix several places in ctlseqs.ms which had no boxes around
10462    the literal text (report by Ilya Zakharevich).</li>
10463
10464    <li>extend mouse support for readline, ifdef'd with
10465    OPT_READLINE (integrated patch from Ilya Zakharevich).</li>
10466
10467    <li>modify terminfo description to match default for
10468    <code>modifyCursorKeys</code> resource.</li>
10469
10470    <li>add <code>modifyCursorKeys</code> resource to control how
10471    the shift- and similar modifiers are used to make a cursor
10472    escape sequence. The default makes a modified escape sequence
10473    always start with CSI and puts the modifier as the second
10474    parameter, to avoid confusing applications that would interpret
10475    the first parameter as a repeat count. The original behavior
10476    can be obtained by setting the resource to 0 (newsgroup
10477    discussion with Stephen J Turnbull, Jeffrey Altman).</li>
10478
10479    <li>correct missing initializations for
10480    <code>appdefaultCursor</code> and <code>appdefaultKeypad</code>
10481    resources.</li>
10482
10483    <li>add configure option <code>--enable-luit</code> and ifdef'd
10484    the luit-related code with OPT_LUIT_PROG.</li>
10485
10486    <li>modify xterm to invoke luit (integrated patch by Tomohiro
10487    Kubota)</li>
10488
10489    <li>update wcwidth.c to match Markus Kuhn's 2002-05-18
10490    version.</li>
10491
10492    <li>correct limit-checking in <code>ComputeSelect()</code> to
10493    handle selections that extend off the visible area; rather than
10494    modify the parameters to <code>TrackText()</code>, use
10495    <code>ScrollSelection()</code> to update the highlighting
10496    limits. (reported by Yegappan Lakshmanan and Nelson Beebe,
10497    patch by Alexander V Lukyanov).</li>
10498
10499    <li>correct manpage description of <code>tiXtraScroll</code>
10500    resource (reported by Tony Finch).</li>
10501
10502    <li>changes from OpenBSD:
10503      <ul>
10504        <li>Make xterm setgid utmp to be able to update utmp even
10505        with root privileges revoked.</li>
10506
10507        <li>If not updating utmp, revoke group privileges totally
10508        too.</li>
10509      </ul>
10510    </li>
10511
10512    <li>changes from NetBSD:
10513      <ul>
10514        <li>Check that the return value from ttyslot() is greater
10515        than 0 before writing the utmp file. Fixes w's "w: Stale
10516        utmp entry: &lt;user&gt; &lt;tty&gt; &lt;pty&gt;"
10517        errors.</li>
10518
10519        <li>Use openpty() to deal with new pty naming scheme.</li>
10520      </ul>
10521    </li>
10522
10523    <li>add <code>print-redir</code> action and menu entry to allow
10524    user to switch terminal in/out of printer controller mode. It
10525    appears from the manual that a real vt220 would not switch back
10526    to normal mode, so another mechanism is used (addresses Debian
10527    #37517).</li>
10528
10529    <li>check if <code>printerCommand</code> resource string is
10530    empty, use this to allow user to disable printer function.</li>
10531
10532    <li>trim trailing blanks from resource strings.</li>
10533
10534    <li>check return value from <code>ptsname()</code>, which may
10535    return null for example if someone has changed the permissions
10536    of /dev/pts to zero (Debian #121899).</li>
10537
10538    <li>modify OS/2 version to use <code>__UNIXOS2__</code>
10539    definition rather than <code>__EMX__</code>, related cleanup
10540    (patch by Holger Veit).</li>
10541
10542    <li>used modified indent 2.0 (patch <a href=
10543    "ftp://ftp.invisible-island.net/gnu-patches/">20020428</a>) to
10544    reformat most of the C source files, to simplify
10545    maintenance.</li>
10546
10547    <li>fix a couple of places where there were leading tabs on
10548    symbol-definition lines in Imakefile (Marc La France from
10549    report by Tony Finch)</li>
10550
10551    <li>add imake variable (TraceXTerm) to allow building debug
10552    version (Egbert Eich).</li>
10553  </ul>
10554
10555  <h1><a name="xterm_166" id="xterm_166">Patch #166 - 2002/3/25 -
10556  XFree86 4.2.0</a></h1>
10557
10558  <ul>
10559    <li>correct a bug in selection: double clicking on a word which
10560    was partly scrolled off the screen may select that text (report
10561    by Vincent Lef&egrave;vre &lt;vincent@vinc17.org&gt;).</li>
10562
10563    <li>implement <code>veryBoldColors</code> resource to control
10564    whether the corresponding video attribute such as
10565    <code>bold</code> is displayed when using
10566    <code>colorBDMode</code>, etc. (request by Josh Howard
10567    &lt;jrh@vicor-nb.com&gt;).</li>
10568
10569    <li>define escape sequences for function keys F21-F35 (patch by
10570    Stephen P Wall).</li>
10571
10572    <li>change the colors for the 256-color model, making them less
10573    skewed toward black (patch by Stephen P Wall).</li>
10574
10575    <li>add <code>vt100Graphics</code> resource (see <a href=
10576    "#xterm_115">patch #115</a>, based on discussion with Glenn
10577    Maynard).</li>
10578
10579    <li>ifdef'd Xaw/Xaw3d/neXtaw includes separately to avoid
10580    potential incompatibilities between these flavors of Athena
10581    widgets.</li>
10582
10583    <li>add configure check for XFree86 4.x Xaw library, whose
10584    geometry management is broken, to avoid trying to use it for
10585    toolbar configuration.</li>
10586
10587    <li>updates to configure script from vile and lynx to allow
10588    configure.in to be compiled with autoconf 2.5x</li>
10589
10590    <li>add a check for null pointer return by
10591    <code>ptsname()</code> (newsgroup posting from Mike Silva
10592    &lt;mikesilva@lucent.com&gt;).</li>
10593
10594    <li>fill in a few details needed to allow UTF-8 mode to switch
10595    on/off after startup. This requires that <code>wideChars</code>
10596    resource be set. (based on comments in 4 Aug 2001 by Alexey
10597    Marinichev &lt;lyosha@lyosha.2y.net&gt;).</li>
10598
10599    <li>remove duplicate install rules that make directories, e.g.,
10600    so installing manpage will not create app-defaults
10601    directory.</li>
10602
10603    <li>add comment in in <code>do_osc()</code>, reserving cases 30
10604    and 31 for for Konsole (request by Stephan Binner
10605    &lt;Stephan.Binner@gmx.de&gt;).</li>
10606
10607    <li>fixes for ctlseqs.ms and xterm.man (patch by Werner Lemberg
10608    &lt;wl@gnu.org&gt;).</li>
10609
10610    <li>add check for monochrome display, disabling colorMode in
10611    that case (fixes Debian #134130).</li>
10612
10613    <li>resync with XFree86 CVS
10614      <ul>
10615        <li>Fix some xterm build warnings on *BSD (patch by David
10616        Dawes).</li>
10617
10618        <li>Only use SA_RESTART in xterm when it's available (patch
10619        by Frank Liu).</li>
10620
10621        <li>Fix incorrect code in signal handlers in most of the
10622        clients, xterm and xdm not done yet (patch by Matthieu
10623        Herrb).</li>
10624      </ul>
10625    </li>
10626  </ul>
10627
10628  <h1><a name="xterm_165" id="xterm_165">Patch #165 - 2002/1/5 -
10629  XFree86 4.1.0</a></h1>
10630
10631  <ul>
10632    <li>modify <code>uxterm</code> script to strip encoding part
10633    from environment variable before adding ".UTF-8" (based on
10634    Debian #125947, but using a more portable solution).</li>
10635
10636    <li>add an assignment statement in VTInitialize() to make
10637    <code>awaitInput</code> resource work.</li>
10638
10639    <li>use new macros init_Bres(), etc., in VTInitialize() to add
10640    trace of the initialization of resources.</li>
10641
10642    <li>modify checks for $LC_ALL, related environment variables to
10643    ensure the resulting strings are nonempty (report by Markus
10644    Kuhn).</li>
10645
10646    <li>add an ifdef in charproc.c for num_ptrs variable in case
10647    all configure options are disabled.</li>
10648
10649    <li>modify definition of getXtermBackground() to avoid negative
10650    array index warning on Tru64 (report by Jeremie Petit).</li>
10651
10652    <li>improve fix from patch #165 (still Debian #117184, report
10653    by Matt Zimmerman &lt;mdz@debian.org&gt;)</li>
10654
10655    <li>correct install rule for uxterm in Makefile.in, to handle
10656    the case where building in a different directory than xterm's
10657    source (patch by Paul Gilmartin).</li>
10658
10659    <li>documented ANSI.SYS-style cursor save/restore escape
10660    sequences in ctlseqs.ms, which are in xterm since X11R5.</li>
10661
10662    <li>correct two entries in the default charClass table, which
10663    did not follow the manpage comment about the character number
10664    corresponding to the class (patch by Marc Bevand
10665    &lt;bevand_m@epita.fr&gt;).</li>
10666
10667    <li>fix a couple of typos in comments in the app-defaults files
10668    (David Krause &lt;xfree86@davidkrause.com&gt;).</li>
10669
10670    <li>resync with XFree86 CVS
10671      <ul>
10672        <li>update language of copyrights in some files to reflect
10673        the fact that they were reassigned from X Consortium to The
10674        Open Group in 1998. Note that this xterm source is derived
10675        from the 1996 version from X Consortium, does not
10676        incorporate changes made by X Consortium or The Open Group
10677        after that date, hence we do not add The Open Group's 1998
10678        copyright date to related files.</li>
10679
10680        <li>save/restore <code>errno</code> in signal catcher
10681        (patch by Matthieu Herrb).</li>
10682
10683        <li>modify UXTerm.ad's font5 resource so that xterm can
10684        display double width characters using a font distributed
10685        with XFree86 (Tomohiro Kubota).</li>
10686      </ul>
10687    </li>
10688  </ul>
10689
10690  <h1><a name="xterm_164" id="xterm_164">Patch #164 - 2001/11/13 -
10691  XFree86 4.1.0</a></h1>
10692
10693  <ul>
10694    <li>correct a case where <code>ptyInitialErase</code> and
10695    <code>backarrowKeyIsErase</code> resources combine to set
10696    <code>DECBKM</code> mode, but a <code>reset</code> command
10697    would not reset xterm to that state, making the erase character
10698    revert to ^H (Debian #117184)</li>
10699  </ul>
10700
10701  <h1><a name="xterm_163" id="xterm_163">Patch #163 - 2001/11/04 -
10702  XFree86 4.1.0</a></h1>
10703
10704  <ul>
10705    <li>correct ifdef's for <code>__QNX__</code> and
10706    <code>USE_SYSV_PGRP</code> in main.c call to
10707    <code>tcsetpgrp</code>, which broke bash behavior around
10708    <a href="#xterm_140">patch #140</a> (report/patch by Frank Liu
10709    &lt;fliu@mail.vipstage.com&gt;).</li>
10710
10711    <li>modify trace.c to fix missing definition of GCC_UNUSED for
10712    compilers other than gcc when configured for trace code
10713    (report/patch by Paul Gilmartin).</li>
10714
10715    <li>change format in TraceOptions() to use long rather than
10716    int, since the latter could lose precision on 64-bit machines
10717    (report/patch by Nelson Beebe).</li>
10718
10719    <li>modify xterm manual page and minstall.sh to allow imake
10720    rules to define location of app-defaults directory (Debian
10721    #87611).</li>
10722
10723    <li>review/update list of conflicting preprocessor symbols to
10724    remove from $CPPFLAGS at the end of the configure script. In
10725    particular, this allows one to configure xterm without the
10726    utempter library on Redhat 7.1 (report/patch by Adam
10727    Sulmicki).</li>
10728  </ul>
10729
10730  <h1><a name="xterm_162" id="xterm_162">Patch #162 - 2001/10/23 -
10731  XFree86 4.1.0</a></h1>
10732
10733  <ul>
10734    <li>correct logic that processes <code>-class</code> option, so
10735    that a following <code>-e</code> option is handled (Debian
10736    #116297).</li>
10737
10738    <li>improve options-decoding to allow <code>-version</code> and
10739    <code>-help</code> options to be combined (Debian
10740    #110226).</li>
10741
10742    <li>add a 10 millisecond delay in event loop when processing
10743    <code>-hold</code> option, to avoid using too much CPU time
10744    (Debian #116213).</li>
10745
10746    <li>prefix final program execution in <code>uxterm</code> with
10747    "exec" to avoid a useless shell hanging around (Christian
10748    Weisgerber).</li>
10749  </ul>
10750
10751  <h1><a name="xterm_161" id="xterm_161">Patch #161 - 2001/10/10 -
10752  XFree86 4.1.0</a></h1>
10753
10754  <ul>
10755    <li>modify logic that resets keypad application mode to avoid
10756    doing this if there is no modifier associated with the Num_Lock
10757    keysym (report by John E Davis &lt;davis@space.mit.edu&gt; and
10758    Alan W Irwin &lt;irwin@beluga.phys.uvic.ca&gt;).</li>
10759
10760    <li>add built-in translation for Control/KP_Separator to
10761    KP_Subtract, to accommodate users who wish to use xmodmap to
10762    reassign the top row of the numeric keypad.</li>
10763
10764    <li>correct Imakefile install-rule for <code>uxname</code>
10765    script (reported by Nam SungHyun &lt;namsh@lge.com&gt;).</li>
10766
10767    <li>resync with XFree86 CVS &ndash; correct typo in
10768    <code>&lt;ncurses/term.h&gt;</code> ifdef.</li>
10769  </ul>
10770
10771  <h1><a name="xterm_160" id="xterm_160">Patch #160 - 2001/10/7 -
10772  XFree86 4.1.0</a></h1>
10773
10774  <ul>
10775    <li>modify logic in main.c (see <a href="#xterm_145">patch
10776    #145</a>) to avoid generating the same identifier, for example,
10777    for /dev/tty1 and /dev/pts/1, which is used to denote an entry
10778    in the utmp file (Debian bug report #84676), A similar fix was
10779    also sent by Jerome Borsboom &lt;borsboom@westbrabant.net&gt;
10780    in May, but I overlooked it when reviewing bug reports.</li>
10781
10782    <li>add configure check for <code>&lt;ncurses/term.h&gt;</code>
10783    to get rid of hardcoded <code>__CYGWIN__</code> ifdef in
10784    resize.c
10785      <p>NOTE: The CYGWIN port should not be linking
10786      <code>resize</code> with ncurses. It appears that the only
10787      reason it is, is because both the ncurses and termcap ports
10788      on that platform are badly misconfigured (essential pieces
10789      have been removed, etc). Checking for
10790      <code>&lt;ncurses/term.h&gt;</code> does not hurt anything,
10791      since there are some correct installations that are set up
10792      that way.</p>
10793    </li>
10794
10795    <li>add a sample <code>uxterm</code> script, which uses the
10796    <code>UXTerm</code> application defaults for UTF-8
10797    environments.</li>
10798
10799    <li>undo change to xterm application defaults, since this
10800    introduced an unnecessary incompatibility. The intended
10801    functionality was already addressed by the <a href=
10802    "#xterm_141">UXTerm</a> app-defaults file.</li>
10803
10804    <li>resync with XFree86 CVS
10805      <ul>
10806        <li>Modified xterm app default to use LFD fontnames instead
10807        of old type (Michael Schroeder).</li>
10808
10809        <li>Fix xterm when XIM is disabled - caused a segfault
10810        (Tomohiro Kubota).</li>
10811      </ul>
10812    </li>
10813  </ul>
10814
10815  <h1><a name="xterm_159" id="xterm_159">Patch #159 - 2001/9/19 -
10816  XFree86 4.1.0</a></h1>
10817
10818  <ul>
10819    <li>remove an ifdef for <code>USE_HANDSHAKE</code> added in
10820    patch #158 from the second <code>TIOCSSIZE</code> ioctl call in
10821    the initialization code. Paul Gilmartin reports that for
10822    Solaris 2.6 (sparc), stty does not show that xterm sets rows
10823    and columns unless the second ioctl is executed.</li>
10824
10825    <li>correct treatment of empty parameter list for some OSC
10826    strings (report by Sami Farin &lt;sfarin@ratol.fi&gt;).</li>
10827  </ul>
10828
10829  <h1><a name="xterm_158" id="xterm_158">Patch #158 - 2001/9/8 -
10830  XFree86 4.1.0</a></h1>
10831
10832  <ul>
10833    <li>augment key translations for scrollbar widget to ensure
10834    that keystrokes intended for the text area are not lost if the
10835    mouse pointer happens to fall on the scrollbar. This can
10836    happen, for instance, if the user's <code>app-defaults</code>
10837    or <code>.Xdefaults</code> file contains a translations
10838    resource, though it may also happen through unrelated resource
10839    settings: probably a bug in libXt (reported by Paul Fox
10840    &lt;pgf@foxharp.boston.ma.us&gt; and Dmitry Yu. Bolkhovityanov
10841    &lt;D.Yu.Bolkhovityanov@inp.nsk.su&gt;).</li>
10842
10843    <li>widen ifdef's in xterm.h to define
10844    <code>__EXTENSIONS__</code> on Solaris, for compilers other
10845    than gcc. This was added along <code>_POSIX_C_SOURCE</code>
10846    with in <a href="#xterm_151">patch #151</a>, but is not
10847    sufficient since Sun's compiler does not define
10848    <code>__STDC__</code> by default (report by Matthias Scheler
10849    &lt;tron@zhadum.de&gt;).</li>
10850
10851    <li>modify xterm to obtain the closest matching color if an
10852    exact color is not available, e.g., on 8-bit displays (patch by
10853    Stephen P Wall)</li>
10854
10855    <li>implement "OverTheSpot" preedit type of XIM input (patch by
10856    Tomohiro Kubota):
10857      <ul>
10858        <li>This preedit type is a reasonable compromise between
10859        simpleness of implementation and usefulness. "Root" preedit
10860        type is easy to implement but not useful; "OnTheSpot"
10861        preedit type is the best in the point of view of user
10862        interface but very complex. And more, "OverTheSpot" is the
10863        preedit type which the most XIM servers support. Thus, to
10864        achieve reasonable usability, support of "OverTheSpot"
10865        preedit type is needed.</li>
10866
10867        <li>In "OverTheSpot" preedit type, the preedit
10868        (preconversion) string is displayed at the position of the
10869        cursor. On the other hand, it is XIM server's
10870        responsibility to display the preedit string. Thus, it is
10871        needed for XIM client (here XTerm) to inform the XIM server
10872        of the cursor position. And more, to achieve good visual
10873        proportion, preedit string must be written using proper
10874        font. Thus, it is XIM client's responsibility to inform the
10875        XIM server of the proper font. The font must be supplied by
10876        "fontset". Fontset is a set of fonts with charsets which
10877        are specified by the current locale. Since XTerm uses
10878        ISO10646 fonts regardless of the current locale, the fonts
10879        for XIM must be prepared separately. It is difficult to
10880        prepare fonts which are similar to XTerm font. Thus, my
10881        patch uses a simple way - the default font is "*" which
10882        matches every fonts and X library will automatically choose
10883        fonts with proper charsets. I added "-fx" command option
10884        and "ximFont" resource to override this default font
10885        setting.</li>
10886
10887        <li>changed the definition of "OverTheSpot" preedit type
10888        from XIMPreeditPosition|XIMStatusArea to
10889        XIMPreeditPosition|XIMStatusNothing. This matches the
10890        behavior of other programs such as Rxvt, Kterm, Gedit.</li>
10891
10892        <li>A tiny XIM bugfix is also included. By calling
10893        XSetLocaleModifiers() with parameter of "", it can consider
10894        XMODIFIERS environmental variable which is a standard way
10895        for users to specify XIM server to be used.</li>
10896      </ul>
10897    </li>
10898
10899    <li>adjust configure script to accommodate repackaging of
10900    keysym2ucs.c as include-file for xutf8.c (patch by Tomohiro
10901    Kubota).</li>
10902
10903    <li>add the <code>UXTerm</code> app-defaults file to makefile
10904    install rules (request by Juliusz Chroboczek).</li>
10905
10906    <li>correct logic in <code>get_termcap()</code>, which returned
10907    false if the <code>tgetent()</code> call indicated that xterm
10908    was linked with terminfo. Although the <code>$TERMCAP</code>
10909    variable cannot be adjusted in this case, xterm still needs
10910    information from this call to extract data to initialize the
10911    erase-mode when the <code>ptyInitialErase</code> resource is
10912    false.</li>
10913
10914    <li>modify <code>ScrollbarReverseVideo()</code> function to
10915    cache the original border color, so it can restore that when an
10916    application flashes the screen (Bugzilla #38872).</li>
10917
10918    <li>resync with XFree86 CVS
10919      <ul>
10920        <li>remove ifdef's for X_NOT_STDC_ENV (patch by David
10921        Dawes).</li>
10922
10923        <li>add Cygwin to special errno handling case in ptydata.c
10924        (Alan Hourihane)</li>
10925
10926        <li>set screen size earlier in initialization, to address a
10927        race with window manager resizing its clients (Keith
10928        Packard).</li>
10929      </ul>
10930    </li>
10931  </ul>
10932
10933  <h1><a name="xterm_157" id="xterm_157">Patch #157 - 2001/6/18 -
10934  XFree86 4.1.0</a></h1>
10935
10936  <ul>
10937    <li>clean up button.c and input.c (patch by Juliusz
10938    Chroboczek). The basic idea is to use a single set of APIs in
10939    the XTerm core, and put a set of workarounds in a separate
10940    file. As you will notice, this drastically simplifies parts of
10941    the code; in particular, the only remaining ifdefs related to
10942    the differences between Xutf8 and legacy systems are related to
10943    the selection provider logic. This defines two new files,
10944    xutf8.h and xutf8.c, provide some half-hearted but fully
10945    portable emulation for the three Xutf8* functions that XTerm
10946    uses. Putting these in a separate file will allow people to
10947    experiment with more complex versions without making the core
10948    of XTerm more difficult to maintain. The functionality of the
10949    emulation is as follows.
10950      <ul>
10951        <li>Xutf8TextListToTextProperty fully handles XStringstyle
10952        and XUTF8StringStyle. It will only generate STRING for
10953        XStdICCTextStyle, and will only generate Latin-1 in
10954        XCompoundTextStyle (but label it as COMPOUND_TEXT, as the
10955        spec requires). (I have hesitated to make this function
10956        fail for XStdICCTextStyle and XCompoundTextStyle; this
10957        might be a smart thing to do, in the hope that the
10958        selection requestor will try UTF8_STRING afterwards;
10959        opinions?)</li>
10960
10961        <li>Xutf8TextPropertyToTextList fully handles STRING and
10962        UTF8_STRING. It systematically fails for
10963        COMPOUND_TEXT.</li>
10964
10965        <li>Xutf8LookupString will properly handle single-keystroke
10966        input for the keysyms covered by Markus' keysym2ucs
10967        function. It will not handle either compose key input or
10968        external input methods.</li>
10969      </ul>
10970    </li>
10971
10972    <li>add an ifdef for <code>SunXK_F36</code>, used in
10973    <code>xtermcapKeycode()</code> (patch by Mark Waggoner
10974    &lt;waggoner@ichips.intel.com&gt;).</li>
10975
10976    <li>modify check for login name to try <code>getlogin()</code>
10977    and $LOGNAME, $USER environment variables to detect if the user
10978    has logged in under an alias, i.e., an account with the same
10979    user id but a different name (Debian bug report #70084).</li>
10980
10981    <li>add resource <code>tiXtraScroll</code>, which can be used
10982    to preserve the screen contents in the scrollback rather than
10983    erasing it when starting a fullscreen application such as
10984    <code>vi</code> (patch by Ken Martin
10985    &lt;fletcher@catsreach.org&gt;).</li>
10986
10987    <li>two patches by Denis Zaitsev &lt;zzz@cd-club.ru&gt;:
10988      <ul>
10989        <li>added <code>forceBoxChars</code> resource to control
10990        the "line-drawing characters" option.</li>
10991
10992        <li>added <code>freeBoldBox</code> resource, which, when
10993        set true, suppresses check in
10994        <code>same_font_size()</code>, so xterm does not attempt to
10995        ensure that the bold font is the same size as the normal
10996        font.</li>
10997      </ul>
10998    </li>
10999
11000    <li>change the color class for ANSI colors and similar ones
11001    such as bold-color, etc., to follow the convention that the
11002    classname is the instance name with a leading capital (e.g.,
11003    <code>color0</code> and <code>Color0</code> rather than
11004    <code>color0</code> and <code>Foreground</code>). There was
11005    little use for Foreground as a class other than to create
11006    occasional confusion and bug reports, most recently by Nelson
11007    Beebe who reports that it disables colors in xterm but not on
11008    Linux, which is probably due to a difference in resource
11009    evaluation order. A configure script option
11010    (--disable-color-class) is provided for anyone who did use the
11011    older behavior.</li>
11012
11013    <li>fix a signal-handling bug. When running xterm with
11014    <code>ksh</code> or similar shell such as bash 2.05, xterm will
11015    hang and not respond to keystrokes after the user types
11016    <code>suspend</code>. Additionally the popup menus do not
11017    respond, so it is not possible to send SIGCONT to the shell.
11018    What is happening is that the shell is sending itself SIGSTOP,
11019    and it is being stopped. Per specification it also means that
11020    the operating system is sending SIGCHLD to parent to the bash
11021    (XTERM). Now the issue is that xterm assumes it cannot happen
11022    and it expects to receive SIGCHLD only upon
11023    <em>termination</em> of its children. This causes a deadlock
11024    with xterm waiting for the child to die, and the child waiting
11025    for SIGCONT. (report/patch by Adam Sulmicki), analysis/testing
11026    by Sven Mascheck
11027    &lt;sven.mascheck@student.uni-ulm.de&gt;).</li>
11028
11029    <li>correct some inconsistent checks for
11030    <code>XtReleaseGC()</code> calls in
11031    <code>xtermLoadFont()</code> (patch by Nam SungHyun
11032    &lt;namsh@lge.com&gt;).</li>
11033
11034    <li>updated wcwidth.c and keysym2ucs.c to versions dated
11035    2001/1/12 and 2001/4/18, respectively from
11036    http://www.cl.cam.ac.uk/~mgk25/ucs/</li>
11037
11038    <li>correction to change from <a href="#xterm_90">patch
11039    #90</a>, which was intended to reset the saved cursor position
11040    for normal/alternate screens on a soft reset, but actually
11041    wiped out all of the saved cursor information. Just reset the
11042    saved position for the current screen (report by Michael
11043    Schroeder).</li>
11044
11045    <li>modify ShowCursor() and HideCursor() so that if the cursor
11046    points to the second part of a wide character, make the
11047    show/hide operate on the first position of the wide character
11048    (patch by Sven Verdoolaege).</li>
11049
11050    <li>scrolling in the alternate screen just before switching
11051    back to the main screen can cause extra blank lines to be
11052    inserted into the scrollback buffer (patch by Paul Vojta
11053    &lt;vojta@math.berkeley.edu&gt;).</li>
11054
11055    <li>resync with XFree86 4.1.0:
11056      <ul>
11057        <li>Use TermcapLibrary as -lncurses instead of -ltermcap,
11058        fixes problem building xterm/resize on Cygwin/XFree86
11059        (Harold Hunt).</li>
11060
11061        <li>Install xterm.termcap and xterm.terminfo when
11062        installing xterm (Torrey T. Lyons).</li>
11063
11064        <li>Fix some build issues on Cygwin/XFree86 (Suhaib
11065        Siddiqi).</li>
11066
11067        <li>Define CBAUD, when it's missing in xterm, on LynxOS
11068        (Stuart Lissaman).</li>
11069      </ul>
11070    </li>
11071  </ul>
11072
11073  <h1><a name="xterm_156" id="xterm_156">Patch #156 - 2001/4/28 -
11074  XFree86 4.0.3</a></h1>
11075
11076  <ul>
11077    <li>change order of selection-target types to make 8-bit xterm
11078    prefer UTF8_STRING to COMPOUND_TEXT (patch by Juliusz
11079    Chroboczek).</li>
11080
11081    <li>document <code>-fa</code>, <code>-fs</code> command-line
11082    options and <code>faceName</code>, <code>faceSize</code>
11083    resources which are used by the freetype library support.</li>
11084
11085    <li>if configure script finds freetype libraries, but imake
11086    definitions do not have the XRENDERFONT definition, define it
11087    anyway.</li>
11088
11089    <li>modify configure script check for freetype libraries to
11090    include <code>&lt;Xlib.h&gt;</code>, since an older version of
11091    the related headers relies on this (patch by Adam
11092    Sulmicki).</li>
11093  </ul>
11094
11095  <h1><a name="xterm_155" id="xterm_155">Patch #155 - 2001/4/20 -
11096  XFree86 4.0.3</a></h1>
11097
11098  <ul>
11099    <li>correct return type of in_put() from <a href=
11100    "#xterm_155">patch #153</a> changes, which left it not wide
11101    enough for UTF-8 (patch by Bruno Haible).</li>
11102  </ul>
11103
11104  <h1><a name="xterm_154" id="xterm_154">Patch #154 - 2001/4/11 -
11105  XFree86 4.0.3</a></h1>
11106
11107  <ul>
11108    <li>undo check for return value from <code>pututline</code>
11109    (used for debugging) since that function does not return a
11110    value on Slackware 3.6.</li>
11111
11112    <li>correct length in ScreenWrite, when rendering invisible
11113    text (patch by Sven Verdoolaege &lt;skimo@kotnet.org&gt;).</li>
11114
11115    <li>fixes/improvements for the <code>i18nSelection</code>
11116    resource from patch #153, by Bruno Haible:
11117      <ul>
11118        <li>add missing initialization for
11119        <code>i18nSelection</code> resource.</li>
11120
11121        <li>split-out the non-ICCM aspect of the
11122        <code>i18nSelection</code> resource as a new resource,
11123        <code>brokenSelections</code>.</li>
11124      </ul>
11125    </li>
11126
11127    <li>add configure check for <code>&lt;time.h&gt;</code> and
11128    <code>&lt;sys/time.h&gt;</code>, to allow for Unixware&nbsp;7,
11129    which requires both. If the configure script is not used, only
11130    <code>&lt;time.h&gt;</code> will be included as before (report
11131    by Thanh Ma).</li>
11132
11133    <li>fix redefinition of <code>dup2</code>,
11134    <code>getutent</code>, <code>getutid</code>,
11135    <code>getutline</code> and <code>sleep</code> functions on
11136    Unixware&nbsp;7 (report by Thanh Ma
11137    &lt;Thanh.Ma@casi-rusco.com&gt;)</li>
11138
11139    <li>add a fall-back definition for <code>__hpux</code>, which
11140    is apparently not defined in some compilers on HPUX 11.0
11141    (reported by Clint Olsen).</li>
11142
11143    <li>change VAL_INITIAL_ERASE, which is used as a fallback for
11144    the <code>"kb"</code> termcap string to 8, since that matches
11145    the xterm terminal description (request by Alexander V
11146    Lukyanov).</li>
11147
11148    <li>correct an off-by-one in <code>ClearInLine</code>, which
11149    caused the erase-characters (ECH) control to display
11150    incorrectly (patch by Alexander V Lukyanov).</li>
11151
11152    <li>correct escape sequences shown in terminfo for shifted
11153    editing keys. The modifier code was for the control key rather
11154    than the shift key.</li>
11155  </ul>
11156
11157  <h1><a name="xterm_153" id="xterm_153">Patch #153 - 2001/3/29 -
11158  XFree86 4.0.3</a></h1>
11159
11160  <ul>
11161    <li>increase PTYCHARLEN to 8 for os390, add some debugging
11162    traces for UTMP functions (patch by Paul Gilmartin).</li>
11163
11164    <li>correct an misplaced brace in
11165    <code>SelectionReceived()</code> (patch by Bruno Haible).</li>
11166
11167    <li>correct an assignment dropped in
11168    <code>SelectionReceived()</code> which made it not compile for
11169    wide-characters combined with debug traces.</li>
11170
11171    <li>correct typo, clarify description of 88- and 256-color
11172    controls (report by Bram Moolenaar).</li>
11173
11174    <li>correct a typo in ctlseqs.ms which caused DEC Locator
11175    control sequences using single quote "'" display grave "`"
11176    instead (reported by Paul Williams, apparently in patch
11177    #114).</li>
11178  </ul>
11179
11180  <h1><a name="xterm_152" id="xterm_152">Patch #152 - 2001/3/13 -
11181  XFree86 4.0.2</a></h1>
11182
11183  <ul>
11184    <li>correct index in inner loop in <code>VTInitI18N()</code>
11185    from patch #151 changes, which resulted in infinite loop under
11186    some conditions (report/analysis by Paul Gilmartin).</li>
11187
11188    <li>remove spurious "%|" from terminfo sgr capabilities
11189    (report/analysis by Adam M Costello, Debian #89222).</li>
11190
11191    <li>add shell script to adjust list of dynamic libraries linked
11192    by <code>resize</code> when building with the standalone
11193    configure script. Otherwise it uses the same list as for xterm,
11194    which is excessive.</li>
11195
11196    <li>fix a few compiler warnings reported by the 20010305 gcc
11197    snapshot.</li>
11198  </ul>
11199
11200  <h1><a name="xterm_151" id="xterm_151">Patch #151 - 2001/3/10 -
11201  XFree86 4.0.2</a></h1>
11202
11203  <ul>
11204    <li>alter the behaviour of selections in XTerm (patch by
11205    Juliusz Chroboczek). It is believed to follow the ICCCM +
11206    UTF8_STRING to the letter, both in UTF-8 and in eight-bit mode.
11207    From his description:
11208      <ul>
11209        <li>When compiled against XFree86 4.0.2, the patched XTerm
11210        will make the selection available as COMPOUND_TEXT, STRING
11211        or UTF8_STRING in both modes. It will request selections in
11212        the following order:
11213          <p>UTF-8 mode: UTF8_STRING, TEXT, COMPOUND_TEXT,
11214          STRING.<br>
11215          eight-bit mode: TEXT, COMPOUND_TEXT, UTF8_STRING,
11216          STRING.</p>
11217        </li>
11218
11219        <li>When compiled against an earlier version of XFree86 (or
11220        compiled with OPT_UTF8_API=0), it will still obey the
11221        ICCCM, but will neither request nor provide UTF8_STRING in
11222        eight-bit mode, and neither TEXT nor COMPOUND_TEXT in UTF-8
11223        mode.</li>
11224
11225        <li>For compatibility with previous versions of XTerm, a
11226        resource <code>i18nSelections</code> is provided, please
11227        see the manpage for details. However, due to an unexpected
11228        combination of ICCCM extensions by various bits and pieces
11229        of the libraries, interacting with previous versions of
11230        XTerm will work in many locales even without this flag.
11231        (Please do not set this resource to true by default, as
11232        this would violate the ICCCM.)</li>
11233      </ul>
11234    </li>
11235
11236    <li>improved error checking/reporting in VTInitI18N(), ensuring
11237    that lack of input method styles is treated distinctly from a
11238    mismatch.</li>
11239
11240    <li>remove an incorrect ifdef from patch #141 which suppressed
11241    overstriking to simulate bold font when xterm was compiled to
11242    support wide characters (report/analysis by Adam M Costello
11243    &lt;amc@cs.berkeley.edu&gt;, Debian #76404, Debian
11244    #77575).</li>
11245
11246    <li>modify <code>RequestResize()</code> function to
11247    save/restore window manager hints. Its call to
11248    <code>XtMakeResizeRequest()</code> had the undesirable
11249    side-effect of clearing window manager hints, e.g., when
11250    switching to 132-columns via DECCOLM escape sequence. Window
11251    manager hints make it simple to resize xterm in terms of
11252    character cells rather than pixels (reports by Christian
11253    Weisgerber, Debian #79939).
11254      <p>This applies to the normal configuration. When built with
11255      toolbar support, the hints are applied to a different widget
11256      level (more work will be needed to make hints work with the
11257      toolbar).</p>
11258    </li>
11259
11260    <li>fix a redefinition warning for resize.c on OpenBSD (patch
11261    by Christian Weisgerber).</li>
11262
11263    <li>change resource corresponding to <code>-T</code> option to
11264    match Xt library's <code>-title</code>, i.e.,
11265    <code>.title</code> rather than <code>*title</code> so the
11266    command-line options are interchangeable as documented (Debian
11267    bug report #68843).</li>
11268
11269    <li>add script used from autoconf'd makefile for installing
11270    manpages, since recent XFree86 changing the way section numbers
11271    are represented makes the install dependent on extra
11272    scripts.</li>
11273
11274    <li>add configure check for freetype libraries and configure
11275    option --disable-freetype to override this feature.</li>
11276
11277    <li>modify some configure script macros to avoid using
11278    changequote(), which has been rendered useless in the latest
11279    autoconf alpha 2.49c</li>
11280
11281    <li>update config.guess, config.sub to 2001-2-13</li>
11282
11283    <li>remove redundant/contradictory __CYGWIN__ definitions from
11284    resize.c</li>
11285
11286    <li>correct manpage typo introduced by X11R6.5 resync.</li>
11287  </ul>
11288
11289  <p>Changes from XFree86 4.0.2:</p>
11290
11291  <ul>
11292    <li>add definition of <code>_POSIX_C_SOURCE</code> for Solaris
11293    to make this compile with <code>gcc -ansi -pedantic</code>
11294    (report by &lt;mark@zang.com&gt;.</li>
11295  </ul>
11296
11297  <h1><a name="xterm_150" id="xterm_150">Patch #150 - 2000/12/29 -
11298  XFree86 4.0.2</a></h1>
11299
11300  <ul>
11301    <li>move the binding for shifted keypad plus/minus, which
11302    invokes the <code>larger-vt-font()</code> and
11303    <code>smaller-vt-font()</code> actions, respectively, into the
11304    translations resource (suggested by Marius Gedminas
11305    &lt;mgedmin@puni.osf.lt&gt;).</li>
11306
11307    <li>modify configure script to support the
11308    <code>--program-prefix</code>, <code>--program-suffix</code>
11309    and <code>--program-transform-name</code> options (request by
11310    Alison Winters &lt;alison@mirrabooka.com&gt;).</li>
11311
11312    <li>fixes for wide/combining characters (Robert Brady):
11313      <ul>
11314        <li>fix a scrolling / combining characters display
11315        anomaly</li>
11316
11317        <li>fix a problem with double-width characters where if the
11318        primary font had no box-drawing characters, the right hand
11319        half of double-width characters was erased (reported by Yao
11320        Zhang &lt;yzhang@sharemedia.com&gt;).</li>
11321
11322        <li>fix special case of null byte for key handling in UTF-8
11323        locales.</li>
11324      </ul>
11325    </li>
11326
11327    <li>modify logic that compares sizes of normal and bold fonts
11328    to be more forgiving of the font server's choice of bold font
11329    which must match the normal font's size. Now
11330    <code>same_font_size()</code> compares the height of the fonts
11331    rather than individually ascent and descent, and allows the
11332    bold font to be one pixel smaller than the normal font
11333    (addresses a report by Alan Citterman &lt;alan@mticket.com&gt;,
11334    who says that something in patches #146 to #148 made xterm more
11335    likely to overstrike bold fonts, and indirectly Debian bug
11336    report #76404, which reports the opposite).</li>
11337
11338    <li>make configure script use $CFLAGS and $CPPFLAGS
11339    consistently, including removing a chunk from configure.in
11340    which attempted to save/restore $CPPFLAGS while processing
11341    value set by the --x-includes option, but lost values set in an
11342    intervening AC_CHECK_HEADERS. This change modifies macros
11343    CF_ADD_CFLAGS, CF_ANSI_CC_CHECK and CF_X_TOOLKIT, as well as
11344    removing variables IMAKE_CFLAGS and X_CFLAGS from the generated
11345    makefile (the AC_CHECK_HEADERS problem was reported by Albert
11346    Chin-A-Young &lt;china@thewrittenword.com&lt;).</li>
11347
11348    <li>correct a comparison in SELECTWORD case of ComputeSelect(),
11349    which resulted in a word-selection wrapping past the first
11350    column without checking the first column's character class
11351    (reported by Christian Lacunza
11352    &lt;celacunza@netscape.net&gt;</li>
11353
11354    <li>correct a logic in UTF-8 mode for selecting double-width
11355    characters; a combining character was omitted (patch by Markus
11356    Kuhn).</li>
11357
11358    <li>add feature to pop (raise) window when a bell is received
11359    (patch by Gael Roualland
11360    &lt;gael.roualland@dial.oleane.com&gt;).</li>
11361
11362    <li>add __NetBSD__ and __OpenBSD__ to special-case in
11363    xterm_io.h for USE_POSIX_TERMIOS definition (patch by Christian
11364    Weisgerber).</li>
11365
11366    <li>move special-case HPUX include for &lt;sys/bsdtty.h&gt; to
11367    xterm_io.h to define TIOCSLTC, making HAS_LTCHARS defined for
11368    HPUX 10.20 (report by Bruno Betro).</li>
11369  </ul>
11370
11371  <h1><a name="xterm_149" id="xterm_149">Patch #149 - 2000/12/6 -
11372  XFree86 4.0.1h</a></h1>
11373
11374  <ul>
11375    <li>restructured includes for <code>termios.h</code>,
11376    <code>termio.h</code> and related definitions for main.c,
11377    os2main.c, screen.c and resize.c so they will share equivalent
11378    definitions in a new header <code>xterm_io.h</code>. This is
11379    intended to solve some problems mainly for HPUX which appear to
11380    arise from inconsistent definitions for SIGWINCH- and
11381    HAS_LTCHARS-related symbols (reports by Bruno Betro, Jeremie
11382    Petit and Clint Olsen).</li>
11383
11384    <li>improve usability of double-width fonts by allowing normal
11385    fonts to be given as double-width (from a patch by Fabrice
11386    Bellard &lt;bellard@email.enst.fr&gt;).</li>
11387
11388    <li>correct a few compiler warnings in TRACE() macros for
11389    signed/unsigned variable differences (reported by Clint
11390    Olsen).</li>
11391
11392    <li>make configure script use $CFLAGS and $CPPFLAGS more
11393    consistently, i.e., by using CF_ADD_CFLAGS in CF_ANSI_CC
11394    macro.</li>
11395
11396    <li>expanded description of environment variables in
11397    manual-page.</li>
11398
11399    <li>modify OPT_TCAP_QUERY feature to always return the termcap
11400    or terminfo capability string in the response, and to
11401    read/write the names in hexadecimal form to allow for the
11402    special case of termcap's <code>k;</code> name (patch by Bram
11403    Moolenaar).</li>
11404
11405    <li>add OPT_SAME_NAME and OPT_TCAP_QUERY to xtermcfg.hin, so
11406    the corresponding configure options work (patch by Bram
11407    Moolenaar).</li>
11408
11409    <li>resync with XFree86 4.0.1g:
11410      <ul>
11411        <li>Rewrite Xft library for Render extension/core text and
11412        font management Change xterm to use new interface (Keith
11413        Packard).</li>
11414      </ul>
11415    </li>
11416  </ul>
11417
11418  <h1><a name="xterm_148" id="xterm_148">Patch #148 - 2000/10/31 -
11419  XFree86 4.0.1d</a></h1>
11420
11421  <ul>
11422    <li>document logfile options in man-page.</li>
11423
11424    <li>correct spelling of <code>-samename</code> option in help
11425    message.</li>
11426
11427    <li>add configure script option
11428    <code>--enable-tcap-query</code> (request by Bram
11429    Moolenaar).</li>
11430
11431    <li>add a "Co" or "colors" entry to the OPT_TCAP_QUERY feature
11432    (patch by Bram Moolenaar).</li>
11433
11434    <li>patch by Kiyokazu Suto &lt;suto@ks-and-ks.ne.jp&gt;:
11435      <ul>
11436        <li>add support for bold font for double width characters.
11437        The font name may be specified with the command line option
11438        <code>-fwb</code> or with resource
11439        <code>wideBoldFont</code> (class
11440        <code>WideBoldFont</code>).</li>
11441
11442        <li>correct underlining of double width character string,
11443        which was drawn only half width.</li>
11444
11445        <li>correct binary search of precomposed character table,
11446        which may return wrong result when <code>int</code> is just
11447        32 bits.</li>
11448      </ul>
11449    </li>
11450
11451    <li>some changes to align terminfo with ncurses 5.2:
11452      <ul>
11453        <li>remove xtermm description, retaining xterm-mono since
11454        the former conflicts with ncurses.</li>
11455
11456        <li>modify initialization and reset strings to avoid
11457        putting the save/restore cursor operations bracketing
11458        changes to video attributes, since the changes could be
11459        lost when the cursor is restored. This affects xterm-r6 and
11460        xterm-8bit (the xterm-xfree86 entry uses the soft-reset
11461        feature which resets scrolling margins and origin mode
11462        without requiring us to save/restore the cursor
11463        position).</li>
11464
11465        <li>make a few entries explicitly inherit from
11466        xterm-xfree86 rather than xterm: xterm-rep, xterm-xmc,
11467        xterm-nrc</li>
11468      </ul>
11469    </li>
11470
11471    <li>ensure that sign-extension does not affect
11472    <code>ctype</code> macros by using <code>CharOf()</code> macro
11473    to coerce the parameter to an unsigned char.</li>
11474
11475    <li>resync with XFree86 4.0.1d:
11476      <ul>
11477        <li>Add primitive support in xterm for Xft based fonts
11478        (Keith Packard). The changes are ifdef'd with
11479        <code>-DXRENDERFONT</code>.</li>
11480      </ul>
11481    </li>
11482  </ul>
11483
11484  <h1><a name="xterm_147" id="xterm_147">Patch #147 - 2000/10/26 -
11485  XFree86 4.0.1c</a></h1>
11486
11487  <ul>
11488    <li>correct implementation of <code>ptyInitialErase</code>: the
11489    value assigned to <code>initial_erase</code> was for the
11490    control terminal, which is correct as far as it goes. But there
11491    was no following test for the pseudo-terminal's erase value,
11492    which would overwrite the default obtained from the control
11493    terminal (reported by Christian Weisgerber
11494    &lt;naddy@mips.inka.de&gt;).</li>
11495
11496    <li>modify check for printable-characters in OSC string to use
11497    xterm's ansi_table rather than isprint() macro, to isolate this
11498    check from locale settings. This fixes a problem using 8-bit
11499    characters to set the title (reported by Ricardas Cepas
11500    &lt;rch@richard.eu.org&gt;).</li>
11501
11502    <li>modify sample scripts to check for printf before print,
11503    since the latter is not as well standardized (e.g., on
11504    Linux).</li>
11505
11506    <li>updated config.sub, config.guess to reflect changes on
11507    subversions.gnu.org</li>
11508  </ul>
11509
11510  <h1><a name="xterm_146" id="xterm_146">Patch #146 - 2000/9/12 -
11511  XFree86 4.0.1c</a></h1>
11512
11513  <ul>
11514    <li>correct two instances overlooked from patch #141 which
11515    assumed UTF-8 mode without checking, causing a core dump in
11516    non-UTF-8 mode (one instance was reported by Tommi Virtanen
11517    &lt;tv@debian.org&gt;).</li>
11518
11519    <li>correct a problem selecting from the scrollback buffer in
11520    UTF-8 mode by changing remaining getXtermCell() calls to
11521    XTERM_CELL() as in the non-UTF-8 cases (report by Markus Kuhn,
11522    patch by Robert Brady).</li>
11523  </ul>
11524
11525  <h1><a name="xterm_145" id="xterm_145">Patch #145 - 2000/9/11 -
11526  XFree86 4.0.1c</a></h1>
11527
11528  <ul>
11529    <li>changes for UTF-8 configuration (Robert Brady):
11530      <ul>
11531        <li>doublewide characters don't lose their accents when the
11532        cursor moves onto or from them (a visual bug)</li>
11533
11534        <li>fix logic in addXtermCombining, which mean that if the
11535        low byte of a cell's first combining char was 0, a
11536        following combining char would go into combining slot 1,
11537        not 2.</li>
11538
11539        <li>modify logic for cut-buffers so UTF-8 data is first
11540        converted to Latin1.</li>
11541
11542        <li>collapse surrogates, 0xfffe, 0xffff to UCS_REPL.</li>
11543
11544        <li>modify to allow xterm to to show combining characters
11545        attached to doublewidth characters.</li>
11546
11547        <li>correct bug in linewrap with -u8 option (reported by
11548        Andreas Koenig &lt;andreas.koenig@anima.de&gt;).</li>
11549      </ul>
11550    </li>
11551
11552    <li>several changes to PTY logic (based on request by Tim Ryan
11553    &lt;timryan@nortelnetworks.com&gt;).
11554      <ul>
11555        <li>modify treatment of <code>-S</code> option to to make
11556        it work with Unix98 PTY's.</li>
11557
11558        <li>restore sense of IsPts flag in <code>get_pty()</code>,
11559        which was lost in Unix98 changes.</li>
11560
11561        <li>use new functions <code>my_pty_id()</code> and
11562        <code>my_pty_name()</code> to simplify/fix strings used for
11563        utmp, wtmp identifiers.</li>
11564
11565        <li>simplify <code>get_pty()</code> function, making it
11566        have a single return point so its inputs/outputs can be
11567        identified.</li>
11568      </ul>
11569    </li>
11570
11571    <li>update config.guess and config.sub and scripts to my
11572    20000819 patch, adding cases for OS/2 EMX.</li>
11573
11574    <li>add special case for os390 compiler options to configure
11575    script (patch by Paul Gilmartin)</li>
11576
11577    <li>fix some unused-variable compiler warnings (reported by
11578    Zdenek Sekera).</li>
11579
11580    <li>split-out some string functions into xstrings.c, to use
11581    them more consistently among main.c, os2main.c and
11582    resize.c</li>
11583
11584    <li>align termcap/terminfo files, adding entries to make them
11585    match. The termcap entries are necessarily less complete than
11586    the terminfo, to fit within 1023 character per entry.</li>
11587
11588    <li>add terminfo entry for xterm-sco (SCO function keys).</li>
11589
11590    <li>modify <code>same_font_name()</code> to properly handle
11591    wildcard introduced in <code>bold_font_name()</code>, making
11592    comparison for different fonts succeed when only the normal
11593    font is specified. This is needed to decide if 1-pixel offset
11594    should be used. (reported in a newsgroup by Bart Oldeman
11595    &lt;enbeo@enbeo.resnet.bris.ac.uk&gt;)</li>
11596
11597    <li>correct preprocessor line for OPT_WIDE_CHARS in
11598    drawXtermText() from patch #141 which resulted in overstriking
11599    for bold fonts not working.</li>
11600
11601    <li>correct Imakefile from 4.0.1c resync so UTF-8 modules are
11602    in UTF8SRC, UTF8OBJ lists, allowing build without UTF-8
11603    support.</li>
11604  </ul>
11605
11606  <h1><a name="xterm_144" id="xterm_144">Patch #144 - 2000/8/23 -
11607  XFree86 4.0.1b</a></h1>
11608
11609  <ul>
11610    <li>remove a spurious assignment in ScreenWrite() from Robert
11611    Brady's patch which set a null at the "end" of the buffer to be
11612    written. That made the autowrap feature write a blank in the
11613    first column for the non-UTF-8 configuration, rather than the
11614    actual character (reported by Alan Citterman
11615    &lt;alan@mticket.com&gt;).</li>
11616  </ul>
11617
11618  <h1><a name="xterm_143" id="xterm_143">Patch #143 - 2000/8/19 -
11619  XFree86 4.0.1b</a></h1>
11620
11621  <ul>
11622    <li>add a check to ensure that <code>-class</code> command-line
11623    option is not confused with <code>-c</code> (reported by Paul
11624    Townsend &lt;aab@aab.cc.purdue.edu&gt;).</li>
11625  </ul>
11626
11627  <h1><a name="xterm_142" id="xterm_142">Patch #142 - 2000/8/18 -
11628  XFree86 4.0.1b</a></h1>
11629
11630  <ul>
11631    <li>correction to precompose scripts, so 0061 + 0300 will now
11632    be really be displayed as 00C0 (patch by Robert Brady
11633    &lt;robert@susu.org.uk&gt;).</li>
11634
11635    <li>correct macro ClassSelects() in button.c, used to hide
11636    ifdef's for OPT_WIDE_CHARS in patch #141 (reported by Andreas
11637    Paul &lt;paula@informatik.tu-muenchen.de&gt;).</li>
11638
11639    <li>change wcwidth.h to include stddef.h rather than wchar.h,
11640    which is not present on OpenBSD and FreeBSD (reported by
11641    Christian Weisgerber and Bram Moolenaar).</li>
11642
11643    <li>newer config.sub and config.guess, from lynx
11644    2.8.4dev.7</li>
11645  </ul>
11646
11647  <h1><a name="xterm_141" id="xterm_141">Patch #141 - 2000/8/14 -
11648  XFree86 4.0.1b</a></h1>
11649
11650  <ul>
11651    <li>changes for doublewidth and combining characters, from
11652    http://www.ecs.soton.ac.uk/~rwb197/xterm/ (integrated patch by
11653    Robert Brady). In this context, doublewidth refers to 16-bit
11654    character sets which may have glyphs occupying two cells.</li>
11655
11656    <li>add command-line option <code>-class</code>, which allows
11657    one to override xterm's resource class. Also add resource file
11658    <code>UXTerm.ad</code>, which simplifies using xterm for both
11659    8-bit character sets and UTF-8.</li>
11660
11661    <li>fixes/improvements to OPT_TCAP_QUERY logic (patches by Bram
11662    Moolenaar, Stephen P Wall).</li>
11663  </ul>
11664
11665  <h1><a name="xterm_140" id="xterm_140">Patch #140 - 2000/7/23 -
11666  XFree86 4.0.1</a></h1>
11667
11668  <ul>
11669    <li>modify Makefile.in to circumvent GNU make's built-in suffix
11670    rule for ".sh" which confuses install.sh with the "make
11671    install" target (report/patch by Paul Gilmartin).</li>
11672
11673    <li>implement an experimental control sequence which an
11674    application may use to query the terminal to determine what
11675    sequence of characters it would send for a given function key.
11676    This is ifdef'd with OPT_TCAP_QUERY (request by Bram
11677    Moolenaar).</li>
11678
11679    <li>add /usr/local to search path in CF_X_ATHENA configure
11680    macro to build with Xaw3d on OpenBSD (patch by Christian
11681    Weisgerber).</li>
11682
11683    <li>add missing <code>#undef HAVE_TERMIO_C_ISPEED</code> to
11684    xtermcfg.hin, omitted in patch #133 fix for IRIX 6.5 baudrate
11685    (report by Alain Filbois &lt;Alain.Filbois@loria.fr&gt;).</li>
11686
11687    <li>correct a few errors in xterm.man: font in filename example
11688    for Tektronix emulation, and description of -nul/+nul
11689    command-line options (report by Eric Fischer
11690    &lt;enf@pobox.com&gt;).</li>
11691
11692    <li>update config.guess and config.sub, from tin and lynx.</li>
11693  </ul>
11694
11695  <h1><a name="xterm_139" id="xterm_139">Patch #139 - 2000/6/17 -
11696  XFree86 4.0d</a></h1>
11697
11698  <ul>
11699    <li>back out change to <code>-name</code> command-line option,
11700    restoring its original behavior (as noted by David Madore, the
11701    correct interpretation of this option is the application
11702    instance rather than the application class).</li>
11703  </ul>
11704
11705  <h1><a name="xterm_138" id="xterm_138">Patch #138 - 2000/6/15 -
11706  XFree86 4.0c</a></h1>
11707
11708  <ul>
11709    <li>workaround for fixed fonts which are generated from Unicode
11710    fonts: they omit glyphs for some xterm's less-used line-drawing
11711    characters, which caused xterm to set a flag telling it to use
11712    only its internal line-drawing characters. Do not set the flag
11713    (it can be set from the popup menu), and xterm will generate
11714    only the line-drawing glyphs which actually are missing.<br>
11715    Otherwise, when used for large fonts, xterm may generate a
11716    2-pixel wide line, which can leave dots on the screen.</li>
11717
11718    <li>restore first line of 256colres.pl, omitted in 4.0c
11719    diffs.</li>
11720  </ul>
11721
11722  <h1><a name="xterm_137" id="xterm_137">Patch #137 - 2000/6/10 -
11723  XFree86 4.0b</a></h1>
11724
11725  <ul>
11726    <li>make command-line <code>-name</code> option work as
11727    documented. Apparently this was lost in X11R5 when coding to
11728    use <code>XtAppInitialize</code>.</li>
11729
11730    <li>limit numeric parameters of control sequences to 65535 to
11731    simplify checks for numeric overflow.</li>
11732
11733    <li>change index into UDK list to unsigned to guard against
11734    numeric overflow making the index negative (Taneli Huuskonen
11735    &lt;huuskone@cc.helsinki.fi&gt;).</li>
11736
11737    <li>change <code>sun&nbsp;function-keys</code> resource name to
11738    <code>sunFunctionKeys</code> to work around redefinition of the
11739    token <code>sun</code> by xrdb on Solaris. Similarly, renamed
11740    resource <code>sun&nbsp;keyboard</code> to
11741    <code>sunKeyboard</code> (Stephen P Wall).</li>
11742
11743    <li>change similar resource names for HP and SCO to avoid
11744    potential conflict with xrdb symbols on other systems, as well
11745    as for consistency.</li>
11746
11747    <li>reorganized the install targets in the autoconf'd Makefile,
11748    adding install-app, install-bin, install-dirs and install-man.
11749    The app-defaults class can be overridden by setting the make
11750    variable 'CLASS', simplifying customization of xterm as a
11751    Unicode terminal, e.g., CLASS=UXTerm.</li>
11752
11753    <li>add limit checks to <code>ClearInLine()</code>,
11754    <code>ScrnInsertChar()</code>, <code>ScrnDeleteChar()</code> to
11755    correct potential out-of-bounds indexing (prompted by Debian
11756    bug report #64713, which reported a problem with ICH escape
11757    sequences).</li>
11758
11759    <li>updates to config.sub and config.guess Kevin Buettner
11760    &lt;kev@primenet.com&gt; for elf64_ia64 Bernd Kuemmerlen
11761    &lt;bkuemmer@mevis.de&gt; and MacOS X.</li>
11762
11763    <li>for os390, add check for errno set to ENODEV on failure to
11764    open /dev/tty when there is no controlling terminal (patch by
11765    Paul Gilmartin).</li>
11766
11767    <li>fixes for building on Digital Unix 4.0 and AIX 4.2 (patch
11768    from H Merijn Brand &lt;h.m.brand@hccnet.nl&gt;).</li>
11769
11770    <li>modify DECRQSS reply for DECSCL to additionally report if
11771    the terminal is set for 8-bit controls.</li>
11772  </ul>
11773
11774  <h1><a name="xterm_136" id="xterm_136">Patch #136 - 2000/6/3 -
11775  XFree86 4.0b</a></h1>
11776
11777  <ul>
11778    <li>add a resource (<code>limitResize</code>) limiting resizing
11779    via the CSI 4 t and CSI 8 t sequences.</li>
11780
11781    <li>ignore out-of-bounds resize requests, i.e., where
11782    sign-extension or truncation of the parameters would
11783    occur.</li>
11784  </ul>
11785
11786  <h1><a name="xterm_135" id="xterm_135">Patch #135 - 2000/5/29 -
11787  XFree86 4.0b</a></h1>
11788
11789  <ul>
11790    <li>remove code introduced in #134 which made some backgrounds
11791    bold.</li>
11792
11793    <li>minor correction to format of updated $TERMCAP when adding
11794    <code>kb</code> capability for <code>ptyInitialErase</code>
11795    logic.</li>
11796
11797    <li>improved test for SVR4 definition.</li>
11798  </ul>
11799
11800  <h1><a name="xterm_134" id="xterm_134">Patch #134 - 2000/5/28 -
11801  XFree86 4.0b</a></h1>
11802
11803  <ul>
11804    <li>update URL's and mailing addresses, moved to
11805    http://dickey.his.com and dickey@herndon4.his.com</li>
11806
11807    <li>correct missing quotes in CF_TTY_GROUP configure script
11808    macro in case the script is run in batch mode.</li>
11809
11810    <li>modify ownership-check of log file to ignore the group
11811    ownership. Otherwise xterm cannot create logfiles in
11812    directories with set-gid permissions.</li>
11813
11814    <li>simplify the logic that reads termcap data.</li>
11815
11816    <li>add fallback definition for B9600 in case line speed
11817    definition for 38400 is missing (report by Jack J Woehr
11818    &lt;jwoehr@ibm.net&gt;, for OpenBSD 2.6).</li>
11819
11820    <li>fix: Set highlightColor, and select a region containing the
11821    text cursor. If the window loses focus, the cursor becomes
11822    hollow, with the region inside the cursor being
11823    background/foreground, unlike the rest of the selection, which
11824    is foreground/highlight (patch by Ross Paterson
11825    &lt;ross@soi.city.ac.uk&gt;).</li>
11826
11827    <li>add configure script tests to define SVR4, SYSV and
11828    USE_POSIX_WAIT, which enables xterm to compile on Solaris 7 and
11829    SCO Openserver without imake, though there are still a few
11830    features for the latter which require <code>sco</code> to be
11831    predefined.</li>
11832
11833    <li>patches from Stephen P Wall:
11834      <ul>
11835        <li>add support for two Sun-specific function keys. These
11836        keys are labeled F11 and F12 on Sun Type 5 keyboards, but
11837        return SunXK_F36 and SunXK_F37. Support will only be
11838        compiled in if the header file &lt;X11/Sunkeysym.h&gt;
11839        exists and contains the appropriate symbol definitions. The
11840        keycodes for the DEC keycodes were arbitrary unused codes,
11841        but the ones for the Sun keycodes are what cmdtool and
11842        shelltool actually send.</li>
11843
11844        <li>add <code>colorRV</code> and <code>colorRVMode</code>
11845        resources to allow specifying a color to use for reverse
11846        video, similar to the existing UL, BD, and BL modes.</li>
11847
11848        <li>add <code>alwaysUseMods</code> resource, to override
11849        check if <code>alt</code> or <code>meta</code> modifiers
11850        are used in <code>translations</code> resource. Revamped
11851        the code to calculate the modifier value, and included Meta
11852        if alwaysUseMods is TRUE, using values 9-16.</li>
11853      </ul>
11854    </li>
11855
11856    <li>fixes for os390 (Paul Gilmartin):
11857      <ul>
11858        <li>regularize the definition of CONTROL() and remove an
11859        acknowledged "trial and error" table.</li>
11860
11861        <li>translate "^?" into A2E(0177) which is the EBCDIC "DEL"
11862        rather than plain 0177 which is the EBCDIC quotation
11863        mark.</li>
11864
11865        <li>modify <code>xtermMissingChar()</code> so that EBCDIC
11866        codes 128-159 are not rendered as blanks by X server
11867        running on Solaris, which sees those as control
11868        characters.</li>
11869
11870        <li>make debugging traces (configure --enable-trace) work
11871        properly with EBCDIC.</li>
11872      </ul>
11873    </li>
11874  </ul>
11875
11876  <h1><a name="xterm_133" id="xterm_133">Patch #133 - 2000/5/2 -
11877  XFree86 4.0a</a></h1>
11878
11879  <ul>
11880    <li>add substitutions in autoconf'd Makefile for CPPFLAGS,
11881    LDFLAGS and AWK (reported by Neil Bird).</li>
11882
11883    <li>correct uninitialized <code>childstat</code> variable from
11884    patch #131 in <code>creat_as()</code> function, which caused
11885    logging to not work on Solaris, whose <code>waitpid()</code>
11886    function does not initialize its parameter. Add check for EINTR
11887    on return from <code>waitpid()</code> as well (reported by Neil
11888    Bird &lt;neil.bird@rdel.co.uk&gt;).</li>
11889
11890    <li>remove a redundant check for working <code>setuid()</code>
11891    function introduced in patch #132. Greg Smith reports that this
11892    does not work as intended on os390.</li>
11893
11894    <li>change line speed from 9600bd to 38400bd, to accommodate
11895    people who mistakenly use $TERM set to <em>vt100</em>, to
11896    reduce the effect of padding associated with this terminal
11897    type.</li>
11898
11899    <li>add configure script check for IRIX 6.5's redefinition of
11900    baud rates associated with <code>struct termio</code>, to
11901    correct a situation where the baud rate was initialized to zero
11902    (reported by Andrew Isaacson &lt;adi@lcse.umn.edu&gt;).</li>
11903
11904    <li>remove unused configure script check for VDISABLE.</li>
11905  </ul>
11906
11907  <h1><a name="xterm_132" id="xterm_132">Patch #132 - 2000/4/11 -
11908  XFree86 4.0a</a></h1>
11909
11910  <ul>
11911    <li>undo an incorrect change from patch #113 caused the right
11912    scrollbar to be positioned incorrectly when re-enabling it
11913    (analysis by D Roland Walker).</li>
11914
11915    <li>add ctrlFKeys resource, replacing constant for adjusting
11916    control-F1 to control-F12 to VT220-style F10-F20. The resource
11917    changes the constant 12 to a default value of 10 (request by
11918    Jim Knoble &lt;jmknoble@pobox.com&gt;).</li>
11919
11920    <li>correct ifdef'ing for conflict between definitions in AIX's
11921    &lt;sys/select.h&gt; and &lt;X11/Xpoll.h&gt; (reported by Clint
11922    Olsen).</li>
11923
11924    <li>add checks for return-values of getutid(), initgroups() and
11925    setuid() in main.c, as well as modifying ifdef's for __osf__ to
11926    include tty-group and WTMP logic (adapted from patch by Paul
11927    Szabo &lt;psz@maths.usyd.edu.au&gt;)</li>
11928
11929    <li>modify resize.c to build and work on os390 (uses EBCDIC)
11930    (adapted from patch by Phil Sidler
11931    &lt;Phil.Sidler@airborne.com&gt;)</li>
11932
11933    <li>use Ires(), Bres() and Sres() macros to simplify resource
11934    list in charproc.c</li>
11935
11936    <li>resync with XFree86 4.0a:
11937      <ul>
11938        <li>correct a typo in os2main.c (Holger Veit, from
11939        4.0a).</li>
11940      </ul>
11941    </li>
11942  </ul>
11943
11944  <h1><a name="xterm_131" id="xterm_131">Patch #131 - 2000/3/3 -
11945  XFree86 3.9.18b</a></h1>
11946
11947  <ul>
11948    <li>improve logfile security (integrated patch by Branden
11949    Robinson)
11950      <ul>
11951        <li>make the <code>creat_as()</code> function more strict
11952        by using O_EXCL rather than O_APPEND.</li>
11953
11954        <li>fixes to make DEBUG ifdef's compile/run, including
11955        making the debug logfile more unique by appending a
11956        timestamp to its name.</li>
11957
11958        <li>include &lt;term.h&gt; in resize.c, to fix a
11959        missing-prototype warning.</li>
11960      </ul>
11961    </li>
11962
11963    <li>modified <code>creat_as()</code> a little more, retaining
11964    the ability to append to a logfile If the user specifies the
11965    name. Also, check if the opened file (which patch #130 ensures
11966    is owned by the effective user) is not writable by other
11967    users.</li>
11968
11969    <li>use <code>creat_as()</code> logic to make tek4014
11970    screen-copy more secure (noted by Branden Robinson).</li>
11971
11972    <li>ifdef'd some of Branden's changes to build/work on older
11973    machines.</li>
11974
11975    <li>correct missing initialization of the <code>.mode</code>
11976    flag in <code>ColorRes</code> struct, from patch #129. This
11977    worked on Linux because <code>malloc()</code> zeroes memory on
11978    that platform (reported by Christian Weisgerber).</li>
11979
11980    <li>modify logic for <code>deleteIsDEL</code> resource so it
11981    has internally 3 states: unspecified, true and false. If
11982    unspecified, the keyboard type determines whether the Delete
11983    key transmits <code>&lt;ESC&gt;[3~</code> or <code>\177</code>,
11984    and the popup menu entry reflects the internal state.
11985    Otherwise, the popup menu entry overrides the keyboard type
11986    (suggested by Dr Werner Fink, to make it simpler to set
11987    resources that imitate the legacy X11R6 xterm).</li>
11988  </ul>
11989
11990  <h1><a name="xterm_130" id="xterm_130">Patch #130 - 2000/3/1 -
11991  XFree86 3.9.18a</a></h1>
11992
11993  <ul>
11994    <li>modify <code>scroll-forw()</code> and
11995    <code>scroll-back()</code> actions, adding a third parameter
11996    which will direct xterm to ignore the action when mouse
11997    reporting is enabled. This is needed for the wheel mouse to be
11998    used to report to the application rather than scroll the
11999    window.</li>
12000
12001    <li>add menu entry and action to allow disabling xterm's
12002    assumption that the current font contains line-drawing
12003    characters if the font cells 1-31 are nonempty. Some fonts may
12004    have other characters (reported by Bruno Betro
12005    &lt;bruno@iami.mi.cnr.it&gt;).</li>
12006
12007    <li>add a check in <code>creat_as()</code> to ensure that the
12008    user really owns the logfile that has been opened.</li>
12009
12010    <li>add logic to implement SCO function-keys. (This is really
12011    incomplete, since I intend to revisit this and make xterm able
12012    to emulate scoansi better than just the function-keys).</li>
12013
12014    <li>add configure script option --enable-sco-fkeys, minor
12015    related fixes (patch by Dr Werner Fink).</li>
12016
12017    <li>fix typos in ctlseqs.ms (reported by Bram Moolenaar)</li>
12018
12019    <li>fix typo in sinstall.sh default for $TST_PROG (reported by
12020    Paul Gilmartin &lt;pg@sweng.stortek.com&gt;)</li>
12021  </ul>
12022
12023  <h1><a name="xterm_129" id="xterm_129">Patch #129 - 2000/2/26 -
12024  XFree86 3.9.18a</a></h1>
12025
12026  <ul>
12027    <li>improve initialization of ANSI colors by delaying
12028    allocation until each color is first used.</li>
12029
12030    <li>remove ifdef that prevented colorBD/colorUL/colorBL
12031    resources from working when 256-color configuration was built
12032    (reported by Todd Larason).</li>
12033
12034    <li>fix some minor inconsistencies in terminfo (Debian
12035    #58530).</li>
12036  </ul>
12037
12038  <h1><a name="xterm_128" id="xterm_128">Patch #128 - 2000/2/17 -
12039  XFree86 3.9.18</a></h1>
12040
12041  <ul>
12042    <li>correct logic for <code>oldXtermFKeys</code> resource,
12043    fixes a core dump when attempting to set it from the
12044    command-line (reported by Dr Werner Fink).</li>
12045
12046    <li>correct ifdef for meta-sends-escap so configure
12047    --disable-num-lock builds.</li>
12048  </ul>
12049
12050  <h1><a name="xterm_127" id="xterm_127">Patch #127 - 2000/2/12 -
12051  XFree86 3.9.17e</a></h1>
12052
12053  <ul>
12054    <li>add resource, popup menu entry and control sequence to
12055    allow changing the Delete key to send either DEL or the
12056    VT220-style Remove escape sequence.</li>
12057
12058    <li>remove logic for metaSendsEscape that would allow xterm to
12059    send <code>&lt;ESC&gt;[3~</code> before a function key that
12060    would begin with <code>&lt;ESC&gt;[3~</code> (request by
12061    Christian Weisgerber).</li>
12062
12063    <li>add missing action and documentation for
12064    meta-sends-escape.</li>
12065
12066    <li>correct a few typos in ctlseqs.ms (incorrect code for Cyan
12067    color)</li>
12068  </ul>
12069
12070  <h1><a name="xterm_126" id="xterm_126">Patch #126 - 2000/2/8 -
12071  XFree86 3.9.17c</a></h1>
12072
12073  <ul>
12074    <li>ensure that xterm will automatically activate the UTF-8
12075    mode whenever the name of the locale environment variable
12076    suggests that a UTF-8 locale is in use (patch by Markus Kuhn).
12077    This will help that by simply setting LC_CTYPE an entire system
12078    can be switched over to UTF-8, without users having to remember
12079    the UTF-8 command line options ("-u8", etc.) of the various
12080    applications. Command line options and X resource entries can
12081    still be used to override this default choice.</li>
12082
12083    <li>add old function-keys control sequences and popup menu
12084    entry, for compatibility with legacy X11R6 xterm.</li>
12085
12086    <li>revert translation of editing keypad "Delete" key to legacy
12087    \177.</li>
12088
12089    <li>simplify the color-resource data expressions with macro
12090    COLOR_RES, for later use in restructuring color
12091    initialization.</li>
12092
12093    <li>change encoding of wheel mouse (buttons 4 and 5) to avoid
12094    conflict with legacy mouse modifiers (suggested by Bram
12095    Moolenaar).</li>
12096  </ul>
12097
12098  <h1><a name="xterm_125" id="xterm_125">Patch #125 - 2000/1/31 -
12099  XFree86 3.9.17c</a></h1>
12100
12101  <ul>
12102    <li>make this work on OpenVMS (integrated patch by David
12103    Mathog).</li>
12104
12105    <li>rename some functions, e.g., <code>Index</code> to
12106    <code>xtermIndex</code> so that ports such as VMS which link
12107    externals ignoring case will not have library conflicts
12108    (reported by David Mathog).</li>
12109
12110    <li>correct logic of <code>do_reversevideo()</code>, which did
12111    not update the corresponding popup menu check mark (reported by
12112    David Mathog, this was a detail overlooked in patch #94).</li>
12113
12114    <li>change TRACE macro so semicolon is not within definition,
12115    making <em>indent</em> and similar programs work better.</li>
12116
12117    <li>add <code>depend</code> rule to Makefile.in</li>
12118
12119    <li>modify logic of boldColors resource to suppress it if an
12120    extended color control has been used, e.g., for 88-color or
12121    256-color mode (patch by Todd Larason).</li>
12122
12123    <li>revise logic that handles menus and input translation for
12124    keyboard type so only one can be selected at a time.</li>
12125
12126    <li>restore kdch1=\177 for the Sun function-key type, and make
12127    the the Delete key send DEL (\177) if the oldXtermFKeys
12128    resource is set.</li>
12129
12130    <li>rephrase logic and ifdef's for POSIX VDISABLE to avoid
12131    preprocessor expression that will not compile on NetBSD/x86
12132    1.4.1 (reported by Takaaki Nomura
12133    &lt;amadeus@yk.rim.or.jp&gt;).</li>
12134  </ul>
12135
12136  <h1><a name="xterm_124" id="xterm_124">Patch #124 - 2000/1/27 -
12137  XFree86 3.9.17b</a></h1>
12138
12139  <ul>
12140    <li>change coding of editing keypad's "Delete" key to
12141    &lt;escape&gt;[3~, in the default (Sun/PC) keyboard mode. This
12142    makes the terminfo kdch1 capability independent of the coding
12143    of the backarrow key, which sends either backspace (8) or DEL
12144    (127). The reason for doing this (compatibility with the
12145    <em>screen</em> program) outweighs the choice of DEL (127)
12146    which was used in X11R5/X11R6 xterms. The <em>screen</em>
12147    program translates whatever matches kdch1 into
12148    &lt;escape&gt;[3~, even if it happens to be the stty erase
12149    character.</li>
12150
12151    <li>add encoding for control/?, to work around xmodmap or key
12152    translations which may confuse backspace and delete. A
12153    control/? will send DEL (127), and a control/H will of course
12154    send backspace (8).</li>
12155
12156    <li>add encoding for kcbt to &lt;escape&gt;[Z (fixes Debian
12157    #54840).</li>
12158
12159    <li>minor correction to logic that encodes Sun and DEC function
12160    keys to avoid sending an escape sequence if the key symbol is
12161    not found in xterm's lookup table.</li>
12162
12163    <li>simplify ifdef's in main.c for POSIX VDISABLE so the "^-"
12164    pattern is more likely to be implemented when <em>imake</em>
12165    configures xterm (fixes Debian #55105).</li>
12166
12167    <li>change manpage to make it clearer what codes are sent by
12168    the backarrow key.</li>
12169  </ul>
12170
12171  <h1><a name="xterm_123" id="xterm_123">Patch #123 - 2000/1/22 -
12172  XFree86 3.9.17a</a></h1>
12173
12174  <ul>
12175    <li>add a note reserving OSC 51 for use in Emacs shell (request
12176    by Rob Mayoff &lt;mayoff@dqd.com&gt;).</li>
12177
12178    <li>correct a missing backslash in xterm-vt220 termcap.</li>
12179
12180    <li>cleanup remaining quoted includes, preferring bracketed
12181    form.</li>
12182
12183    <li>minor configure-script macro updates from tin and
12184    vile.</li>
12185
12186    <li>add configure-script option for using utempter library,
12187    adapted from Redhat 6.1 patch for XFree86 3.3.5</li>
12188
12189    <li>resync with XFree86 3.9.17a:
12190      <ul>
12191        <li>correction to QNX support (Frank Guangxin Liu)</li>
12192
12193        <li>some cosmetic changes that did not correct any reported
12194        problems.</li>
12195      </ul>
12196    </li>
12197  </ul>
12198
12199  <h1><a name="xterm_122" id="xterm_122">Patch #122 - 1999/12/28 -
12200  XFree86 3.9.16f</a></h1>
12201
12202  <ul>
12203    <li>move the suggested wheel-mouse button translations into
12204    charproc.c to simplify customization. Correct some minor logic
12205    errors in the support for buttons 4 and 5, used for wheel mice
12206    (reported by Bram Moolenaar).</li>
12207
12208    <li>implement <em>metaSendsEscape</em> resource, with
12209    corresponding control sequence and menu entry. Like
12210    <em>eightBitInput</em>, this causes xterm to send ESC prefixing
12211    the given key, but applies to all keys and is independent of
12212    the 8-bit/7-bit terminal setting. (requests by Alexander V
12213    Lukyanov and Marc Feeley).</li>
12214
12215    <li>correct potential indexing with negative subscript in
12216    udk_lookup(), (reported by Ian Collier
12217    &lt;Ian.Collier@comlab.ox.ac.uk&gt;).</li>
12218
12219    <li>modify configure script that sets TERMINFO_DIR to use
12220    ${prefix} rather than /usr if the --prefix option was specified
12221    (request by Zdenek Sekera &lt;zs@sgi.com&gt;).</li>
12222
12223    <li>modify checks for repeat-character control sequence to test
12224    the character class against xterm's state table, rather than
12225    the isprint() macro (patch by Alexander V Lukyanov).</li>
12226
12227    <li>change several functions to macros to improve speed</li>
12228
12229    <li>two corrections to simulation of bold font via
12230    overstriking:
12231      <ul>
12232        <li>use clipping to avoid leaving trash at end of the text,
12233        and</li>
12234
12235        <li>add brackets so wide-character logic does not
12236        fall-through into the overstriking logic (reported by Marc
12237        Feeley &lt;feeley@IRO.UMontreal.CA&gt;)</li>
12238      </ul>
12239    </li>
12240
12241    <li>add several entries to termcap file to make it have the
12242    same set of aliases as the terminfo file.</li>
12243
12244    <li>scale the color values used for xterm-256color terminfo
12245    entry to 0..1000, as expected by ncurses.</li>
12246
12247    <li>change xterm-r6 terminfo definitions for F1-F4 to match
12248    program.</li>
12249
12250    <li>Add QNX/Neutrino support (Frank Guangxin Liu
12251    &lt;frank@ctcqnx4.ctc.cummins.com&gt;)</li>
12252  </ul>
12253
12254  <h1><a name="xterm_121" id="xterm_121">Patch #121 - 1999/11/14 -
12255  XFree86 3.9.16c</a></h1>
12256
12257  <ul>
12258    <li>change label on "Sun/PC Keyboard" popup menu entry to
12259    "VT220 Keyboard", since the checked state corresponds to VT220
12260    rather than Sun/PC.</li>
12261
12262    <li>add configure test CF_UTMP_UT_XSTATUS to handle the
12263    variants of utmp exit status (reports by Dave Ellement, Jeremie
12264    Petit, Tomas Vanhala).</li>
12265
12266    <li>amend treatment of ALT key (see <a href="#xterm_94">patch
12267    #94</a>) so that if ALT is used as a modifier in key
12268    translations, then no parameter will be sent in escape
12269    sequences for Sun/PC function keys (request by Dr Werner
12270    Fink).</li>
12271
12272    <li>modify default for OPT_I18N_SUPPORT to assume that
12273    <code>XtSetLanguageProc()</code> is available in X11R5.
12274      <p>Caveat: <code>XtSetLanguageProc()</code> was added fairly
12275      late in the X11R5 patches, and some vendors shipped buggy
12276      versions of this function (request by Tomas Vanhala).</p>
12277    </li>
12278
12279    <li>correct configure macro CF_SYSV_UTMP to test-link with
12280    functions consistent with the header, e.g., getutent() for
12281    utmp.h and getutxent() for utmpx.h (reported by Greg
12282    Smith).</li>
12283
12284    <li>modify terminfo entry for <code>xterm-xfree86</code> to
12285    reflect modifiers for shift and control (from a patch by
12286    Alexander V Lukyanov).</li>
12287
12288    <li>modify terminfo entry for <code>xterm-sun</code> to match
12289    the function-key definitions in ncurses. The pageup/pagedown
12290    and related function keys correspond to the Sun keyboard, which
12291    does not necessarily correspond with X's notion of those
12292    keys.</li>
12293
12294    <li>modify treatment of XK_Delete keysym so it transmits
12295    parameterized VT220-style <code>&lt;ESC&gt;[3~</code> if
12296    modifiers (shift, control alt) are given (request by Alexander
12297    V Lukyanov).</li>
12298
12299    <li>corrected misspelled resource name in command-line option
12300    for HP function keys.</li>
12301  </ul>
12302
12303  <h1><a name="xterm_120" id="xterm_120">Patch #120 - 1999/10/28 -
12304  XFree86 3.9.16c</a></h1>
12305
12306  <ul>
12307    <li>refine the change to <code>SGR_Background()</code> in patch
12308    #119, by not flushing the pending scrolling operation if the
12309    background color is not actually changing. This combination
12310    occurs when using color-ls to display a long listing, since
12311    each line ends with an SGR0 which affects only the foreground
12312    color. The unnecessary flushing made it noticeably slower
12313    (reported by D Roland Walker &lt;walker@pobox.com&gt;).</li>
12314
12315    <li>remove obsolete documentation about modifiers which can be
12316    returned in mouse tracking mode, and modify logic to ignore
12317    modifiers other than the existing ones, e.g., NumLock (prompted
12318    by discussions with Christian Weisgerber and Brad Pepers
12319    &lt;brad@linuxcanada.com&gt;).</li>
12320
12321    <li>use free bit from obsolete shift-modifier coding of mouse
12322    tracking button events to encode buttons 4 and 5, e.g., for a
12323    wheel mouse (requests by Brad Pepers and Bram Moolenaar).</li>
12324
12325    <li>correct a place where the ptyInitialErase logic did not set
12326    the backarrowKey state, and modify it further to use tgetstr()
12327    rather than parse the termcap data returned from tgetent() so
12328    the ptyInitialErase logic will work when xterm is linked with a
12329    terminfo library (based on a patch by Dr Werner Fink
12330    &lt;werner@suse.de&gt;).</li>
12331
12332    <li>fix definition of HAVE_UTMP_UT_HOST for ISC configuration
12333    (patch by Michael Rohleder).</li>
12334
12335    <li>improve configure script's utmp tests (based on reports by
12336    Greg Smith for os390, and David Ellement for HPUX).</li>
12337
12338    <li>modify sinstall.sh to use uid=0 rather than 'root' to
12339    determine if the installer is privileged. This is needed on
12340    some systems since more than one account may be privileged
12341    (report by Greg Smith).</li>
12342
12343    <li>add an application resource, <code>messages</code> (and a
12344    corresponding -/+mesg option) which controls the initial
12345    permission on the terminal: if messages is set to true (the
12346    default), behavior is as without the patch; if it is set to
12347    false (as per -mesg), the terminal is opened in mode 0600, thus
12348    producing the effect of the <code>mesg n</code> command. This
12349    is useful for users who want to redirect all their messages to
12350    one particular xterm: it is more pleasant to do this with xterm
12351    resources than with explicit calls to the <code>mesg</code>
12352    program (patch, description by David Madore
12353    &lt;david.madore@ens.fr&gt;).</li>
12354  </ul>
12355
12356  <h1><a name="xterm_119" id="xterm_119">Patch #119 - 1999/10/16 -
12357  XFree86 3.9.16c</a></h1>
12358
12359  <ul>
12360    <li>add responses (DA and DSR) for DEC locator mode</li>
12361
12362    <li>add coding for ANSI color to DA response</li>
12363
12364    <li>implement UTF-8 translation for Media Copy (print)
12365    operations.</li>
12366
12367    <li>implement vt320 control sequences for Print Composed Main
12368    Display and for Print All Pages. The latter directs xterm to
12369    print the current screen as well as the scrollback buffer.</li>
12370
12371    <li>correct error in _GNU_SOURCE configure test, which left it
12372    always defined.</li>
12373
12374    <li>add more information, i.e., with strerror for some system
12375    calls in the main program which may fail due to insufficient
12376    permissions (prompted by a problem report for <code>-C</code>
12377    by Jeremie Petit &lt;Jeremie.Petit@digital.com&gt;).</li>
12378
12379    <li>add workaround for conflict between &lt;X11/Xpoll.h&gt; and
12380    &lt;sys/select.h&gt; on AIX 4.3 (Richard Griswold
12381    &lt;griswold@acm.org&gt;).</li>
12382
12383    <li>add configure script test to resolve conflict between
12384    between &lt;X11/Xpoll.h&gt; and &lt;sys/select.h&gt;</li>
12385
12386    <li>modify translation of UTF-8 sequences to reject "overly
12387    long" variations (patch by Markus Kuhn).</li>
12388
12389    <li>remove <code>utf8controls</code> resource, since Markus'
12390    change removes the corresponding logic.</li>
12391
12392    <li>correct a case where colors were not rendered properly.
12393    This happened when an application inserted several lines, then
12394    changed colors. If this was done all in one write, then there
12395    would be no intervening refresh, and the new color was applied
12396    to the pending scrolling operation which was awaiting the next
12397    refresh (reported by Stephane Chazelas
12398    &lt;Stephane_Chazelas@Raytheon.com&gt;).</li>
12399  </ul>
12400
12401  <h1><a name="xterm_118" id="xterm_118">Patch #118 - 1999/10/5 -
12402  XFree86 3.9.16b</a></h1>
12403
12404  <ul>
12405    <li>refine configure test for utmp versus utmpx, to build on
12406    HP-UX 10.x (reported by David Ellement).</li>
12407
12408    <li>move the configure check for <code>const</code> after the
12409    check for ANSI C compiler options, since those may be required
12410    to make it work properly on HP-UX.</li>
12411
12412    <li>add configure test for defining
12413    <code>_GNU_SOURCE</code></li>
12414
12415    <li>correction to <em>-hold</em> option, ensure that if data is
12416    already in the output buffer that it will be displayed before
12417    closing the PTY.</li>
12418
12419    <li>move the configure checks for setuid install of xterm into
12420    a script to avoid installing it setuid'd to a non-root user
12421    (reported by Adam Sulmicki &lt;adam@cfar.umd.edu&gt;).</li>
12422
12423    <li>correct configure script's check for termcap.h to avoid
12424    using ncurses' version of it on systems that have a working
12425    <code>tgetent()</code> function. This is needed to make
12426    <code>resize</code> work properly.</li>
12427
12428    <li>fix some typography in ctlseqs.ms description of DEC
12429    locator events (reported by Stephen P Wall).</li>
12430  </ul>
12431
12432  <h1><a name="xterm_117" id="xterm_117">Patch #117 - 1999/9/29 -
12433  XFree86 3.9.16b</a></h1>
12434
12435  <ul>
12436    <li>change order of tests in configure script for utmp and
12437    utmpx to test utmpx first, to compile on Solaris (reported by
12438    Leena Heino &lt;liinu@uta.fi&gt; and Patrik Hagglund
12439    &lt;patha@ida.liu.se&gt;).</li>
12440
12441    <li>add a configure test for utmp.ut_xtime, needed for SCO
12442    Openserver, and for lastlog, needed for Redhat 6.0, to refine
12443    the utmp/utmpx auto-configure.</li>
12444
12445    <li>remove a spurious comma in an #undef (reported by David
12446    Green &lt;greendjf@cvhp152.marconicomms.com&gt; and David
12447    Ellement &lt;ellement@sdd.hp.com&gt; both on HP-UX, whose
12448    compiler does care about syntax).</li>
12449
12450    <li>change ifdef's using __CYGWIN32__ to __CYGWIN__ (reported
12451    by Suhaib M. Siddiqi &lt;Ssiddiqi@InspirePharm.Com&gt;, who is
12452    told that the next Cygnus release will drop that symbol in
12453    their next release).</li>
12454
12455    <li>minor cleanup of ifdef's for makeColorPair (patch by
12456    Stephen P Wall).</li>
12457
12458    <li>work around problem observed in XFree86 3.3.5 (patch by
12459    Alexander V Lukyanov, Redhat #5419). From the problem report:
12460      <blockquote>
12461        <p>xterm consumes cpu when selecting text with mouse
12462        (holding down left mouse button) and when a program working
12463        under the xterm outputs something to stdout.</p>
12464
12465        <p>Easy way to reproduce:<br>
12466        <code>while :; do echo aaa; sleep 1; done</code><br>
12467        (while this runs, select text and hold down left mouse
12468        button) watch cpu load.<br>
12469        release left mouse button - spinning stops.</p>
12470      </blockquote>
12471    </li>
12472  </ul>
12473
12474  <h1><a name="xterm_116" id="xterm_116">Patch #116 - 1999/9/25 -
12475  XFree86 3.9.16a</a></h1>
12476
12477  <ul>
12478    <li>modify warning if change-ownership of PTY fails; some
12479    configurations may not happen to have old-style pty's (reported
12480    by Bob Maynard).</li>
12481
12482    <li>improve check in configure script for group ownership of
12483    installed xterm; some platforms use the -g option of ls to
12484    toggle group off rather than on (reported by Greg Smith).</li>
12485
12486    <li>minor improvement to toolbar geometry, to make it not
12487    resizable. This still is not satisfactory (but is usable) since
12488    the toolbar overlaps the xterm widget if the window is resized
12489    to make it smaller. It appears that some work is needed for the
12490    xterm widget's geometry management to make it function
12491    properly.</li>
12492
12493    <li>implement configure script tests for utmp, tty group.</li>
12494
12495    <li>implement <em>-hold</em> option, allowing users to retain
12496    the window after a shell has exited (this is recently an FAQ,
12497    but prompted by a comment by Joachim Plaettner-Hochwarth
12498    &lt;plaettner@aem.umn.edu&gt; in comp.unix.programmer, that the
12499    IRIX winterm provides this option).</li>
12500
12501    <li>add support for DEC Locator control sequences for xterm
12502    (integrated patch by Stephen P Wall):
12503
12504      <pre>
12505                DECEFR, "Enable Filter Rectangle"
12506                DECELR, "Enable Locator Reports"
12507                DECSLE, "Select Locator Events"
12508                DECRQLP, "Request Locator Position"
12509</pre>
12510      <p>This allows the xterm mouse to be used with applications
12511      that use the DEC Locator sequences, such as VAX Tpu, or SMG$
12512      based applications.</p>
12513    </li>
12514
12515    <li>improve print action (patch by Matthias Baake). From his
12516    notes,
12517      <ul>
12518        <li>Bug 1<br>
12519        Underlined text is preceded by ESC&nbsp;[0;2m . This should
12520        be ESC&nbsp;[0;4m&nbsp;, ESC&nbsp;[2m doesn't seem to have
12521        any effect. (print.c/send_SGR)</li>
12522
12523        <li>Bug 2<br>
12524        The check for the last non-empty column (while (last &gt;
12525        0) ... in print.c/printLine) omits the rightmost column of
12526        the screen, the loop must start with last =
12527        screen-&gt;max_col+1 instead of last =
12528        screen-&gt;max_col.</li>
12529
12530        <li>Bug 3<br>
12531        Any attributes of the first character (and of all
12532        immediately following characters with the same attributes)
12533        are ignored. The variable attr (print.c/printLine) should
12534        be initialized with 0, not with *a &amp; SGR_MASK.</li>
12535      </ul>
12536    </li>
12537  </ul>
12538
12539  <h1><a name="xterm_115" id="xterm_115">Patch #115 - 1999/9/18 -
12540  XFree86 3.9.16a</a></h1>
12541
12542  <ul>
12543    <li>integrated changes by Stephen P Wall to implement an
12544    88-color model for systems where 256-colors cannot be
12545    allocated.</li>
12546
12547    <li>when 256-color configuration is compiled, colored bold and
12548    underlining is not available; ifdef'd to avoid possible odd
12549    effects in this case (reported by Stephen P Wall).</li>
12550
12551    <li>add resource <em>cacheDoublesize</em>, to limit the caching
12552    of font information for double-sized characters. This addresses
12553    a problem reported by Aryeh Koenigsberg for X terminals with
12554    limited font memory.</li>
12555
12556    <li>modify treatment of line-drawing characters in UTF-8 mode
12557    so that the Unicode values are used rather than the C0 codes
12558    for storing the translated characters (request by Markus
12559    Kuhn).</li>
12560  </ul>
12561
12562  <h1><a name="xterm_114" id="xterm_114">Patch #114 - 1999/9/15 -
12563  XFree86 3.9.16</a></h1>
12564
12565  <ul>
12566    <li>add configure script checks for Athena headers and
12567    libraries under /usr/contrib to work on HPUX (reported by
12568    several people: David Nixon &lt;djn@csc.liv.ac.uk&gt; Aryeh
12569    Koenigsberg &lt;aryeh.koenigsberg@telrad.co.il&gt; Johannes
12570    M&auml;hner &lt;johanm@camline.com&gt; Andrew Gaylard
12571    &lt;andrew.gaylard@bsw.co.za&gt;).</li>
12572
12573    <li>add check to configure script if xterm is installed setgid
12574    rather than setuid, since wtmp and utmp may be installed with
12575    group-writable permissions other than root (based on Debian bug
12576    report #7112 by Bo Branten &lt;bosse@ing.umu.se&gt;).</li>
12577
12578    <li>rewrote logic that removes data from termcap entry, e.g.,
12579    for titeInhibit, to make it less likely to remove the wrong
12580    data.</li>
12581
12582    <li>correct logic which checks for missing characters used for
12583    line drawing. The 0 character was tested unnecessarily, leading
12584    to some inefficiency when rendering.</li>
12585
12586    <li>change termcap capability which is used as input or output
12587    of ptyInitialErase logic from <em>kD</em> to <em>kb</em>.
12588    Christian Weisgerber &lt;naddy@mips.rhein-neckar.de&gt; pointed
12589    out in effect that <em>kD</em> (in terminfo <em>kdch1</em>)
12590    should correspond to the control sequence for <em>dch1</em>,
12591    which deletes from the current position toward the right.</li>
12592
12593    <li>check for failure to change ownership of the PTY device and
12594    warn when xterm is running setuid'd to root. This was reported
12595    to happen on the FreeBSD/NetBSD/OpenBSD systems as a result of
12596    the chflags() call.</li>
12597
12598    <li>add xterm-noapp terminfo entry to illustate a nominally
12599    bash-compatible terminal description.</li>
12600  </ul>
12601
12602  <h1><a name="xterm_113" id="xterm_113">Patch #113 - 1999/8/15 -
12603  XFree86 3.9.15b</a></h1>
12604
12605  <p>Several fixes. The main one is a first draft of pulldown
12606  menus. It's not complete (I have some minor/annoying geometry
12607  problems to correct), but is usable. Once it's complete I plan to
12608  add a menu to support additional selections that won't fit on the
12609  current popup menus. Also, this fits into my longterm plan to
12610  allow configuring with Motif libraries.</p>
12611
12612  <ul>
12613    <li>correct error in input conversion for NRC mode (reported by
12614    Stefan Traby &lt;stefan@sime.com&gt;).</li>
12615
12616    <li>fix initialization of num_lock data in Misc struct (since
12617    those fields of the reference widget aren't initialized), and
12618    add logic to deal with XVision whose NumLock key does not
12619    transmit but does alter keypad state.</li>
12620
12621    <li>correct a missing return-value in get_pty(), for SCO</li>
12622
12623    <li>add E2A fix for backspace (patch by Greg Smith), i.e.,<br>
12624    #define VAL_INITIAL_ERASE A2E(127)</li>
12625
12626    <li>correct foreground color within cursor outline when the
12627    window is unfocused (reported by Stephane Chazelas).</li>
12628
12629    <li>corrected position of scrollbar set in ResizeScrollBar(),
12630    which left it positioned incorrectly if the right scrollbar
12631    were enabled from the popup menu but was not initially enabled.
12632      <p>I have noticed some additional problems with
12633      right-scrollbar on X11R5 which I will correct later.</p>
12634    </li>
12635
12636    <li>integrate changes by Jean-Claude Michot for QNX from
12637    XFree86 3.3.4c</li>
12638
12639    <li>add resources menuBar/MenuBar, menuHeight/MenuHeight for
12640    later use in toolbar geometry.</li>
12641
12642    <li>add configure option --enable-toolbar</li>
12643
12644    <li>add missing definition to make ziconbeep logic not
12645    compile-in when configure script disables it.</li>
12646
12647    <li>add configure-check for input-method support in X
12648    libraries</li>
12649  </ul>
12650
12651  <h1><a name="xterm_112" id="xterm_112">Patch #112 - 1999/7/17 -
12652  XFree86 3.9Pw</a></h1>
12653
12654  <ul>
12655    <li>add null-pointer check to FlushLog(), fixes a core dump
12656    when both -l and -lf options are used when xterm is configured
12657    with wide-character support.</li>
12658
12659    <li>remove "ISO" case for SD, which was due to a typographical
12660    error in ECMA-48 (reported by Paul Williams
12661    &lt;paul@celigne.co.uk&gt; for vttest).</li>
12662
12663    <li>add "FILES" section to manpage.</li>
12664
12665    <li>generate header file to initialize default resources for
12666    colors 16-255.</li>
12667
12668    <li>fixes for os390 (Greg Smith):
12669      <ul>
12670        <li>add README.os390</li>
12671
12672        <li>use the pty_search() function to find an available
12673        pty/tty pair.</li>
12674
12675        <li>move E2A() call out of getXtermCell() to SaveText()
12676        function so it will be available in all
12677        configurations.</li>
12678      </ul>
12679    </li>
12680
12681    <li>patches by Todd Larason:
12682      <ul>
12683        <li>enable SGR 48 5 in ISO color mode, not just 256 color
12684        mode</li>
12685
12686        <li>change configure's --disable-256-color option to
12687        --enable-256-color, to match its effect</li>
12688
12689        <li>fix OSC 4 xx ? (report ansi color) to report a string
12690        which can actually be used to set the color back</li>
12691
12692        <li>fix OSC 4 xx yy (change ansi color) to not allow
12693        setting colors &gt; 15 in 16 color mode</li>
12694
12695        <li>simplify the COLOR_ settings a bit in ptyx.h, along
12696        with setting NUM_ANSI_COLORS needed for #1 and #4
12697        above</li>
12698
12699        <li>correct string-terminator code passed for reference to
12700        OSC responses; when in 7-bit mode, only the final byte of
12701        ST was seen.</li>
12702
12703        <li>Allow multiple color #;name pairs in OSC 4, and
12704        document changes to match.</li>
12705      </ul>
12706    </li>
12707  </ul>
12708
12709  <h1><a name="xterm_111" id="xterm_111">Patch #111 - 1999/7/10 -
12710  XFree86 3.9Pw</a></h1>
12711
12712  <ul>
12713    <li>add control sequences for specifying the RGB value of the
12714    ANSI colors, and for configuring with 256 colors (patch by Todd
12715    Larason &lt;jtl@molehill.org&gt;). I made the default
12716    configuration to 16-colors, because xterm uses the default
12717    color map (which has only 256 colors).</li>
12718
12719    <li>correct an error in DCS $ q m reporting for colors 8-15
12720    (Todd Larason).</li>
12721
12722    <li>add test/demo script for double size characters. Used this
12723    to test/correct display of double size characters that should
12724    wrap, underlined double size characters.</li>
12725
12726    <li>increased cache size for double size fonts to 8, to allow
12727    for both normal and bold fonts (discussion with Aryeh
12728    Koenigsberg &lt;aryeh.koenigsberg@telrad.co.il&gt;).</li>
12729
12730    <li>add fixes for port to OS390 aka MVS (integrated patch from
12731    Greg Smith &lt;rys@epaibm.rtpnc.epa.gov&gt;). OS390 uses EBCDIC
12732    rather than ASCII.</li>
12733
12734    <li>correct an off-by-one in binary search limits in
12735    keysym2ucs.c (Markus Kuhn).</li>
12736
12737    <li>implement logging for UTF-8 mode. The output is written in
12738    UTF-8 form.</li>
12739  </ul>
12740
12741  <h1><a name="xterm_110" id="xterm_110">Patch #110 - 1999/6/29 -
12742  XFree86 3.9Pu</a></h1>
12743
12744  <ul>
12745    <li>If colorMode is enabled by default, compile-in default
12746    resources to match the colors listed in XTerm-col.ad (this
12747    should fix a longstanding FAQ).</li>
12748
12749    <li>added new OSC&nbsp;3&nbsp;;&nbsp;PROPNAME=VALUE&nbsp;ST
12750    escape sequence to set an arbitrary X property on the top level
12751    xterm X11 window. Omit "=VALUE" to delete the X property (patch
12752    by Greg Badros &lt;gjb@cs.washington.edu&gt;).</li>
12753
12754    <li>change internal flag used for <em>utf8controls</em>
12755    resource so we allow 31-bit range of characters (suggested by
12756    Thomas Wolff).</li>
12757
12758    <li>add check for 16-bit characters in OSC strings, change them
12759    to '?' (reported by Thomas Wolff).</li>
12760
12761    <li>modify logic of same_font_name() to avoid trying to
12762    interpret both parameters as wildcard patterns. That does not
12763    (cannot) work, and in some instances the font server will
12764    return unresolved wildcards for the normal or bold fontnames,
12765    making them match inadvertently, triggering the fallback
12766    overstrike logic (reported by Tim Adye).</li>
12767  </ul>
12768
12769  <h1><a name="xterm_109" id="xterm_109">Patch #109 - 1999/6/23 -
12770  XFree86 3.9Pt</a></h1>
12771
12772  <ul>
12773    <li>correct range-check from patch #108, which resulted in not
12774    being able to select from the scrollback buffer (reported by
12775    Tim Adye &lt;T.J.Adye@rl.ac.uk&gt;)</li>
12776
12777    <li>correct "no available ptys" problem with Cygwin B20.1
12778    (patch by Tim Adye).</li>
12779
12780    <li>modified install-ti rule in Makefile.in to allow override
12781    of the terminfo directory when doing a "make install", i.e., by
12782    assigning to TERMINFO_DIR (request by Zdenek Sekera
12783    &lt;zs@sgi.com&gt;).</li>
12784
12785    <li>added install-full rule to Makefile.in</li>
12786
12787    <li>resync mkdirs.sh and install.sh scripts against current
12788    autoconf</li>
12789
12790    <li>implement $(DESTDIR) in Makefile.in, making it simple to
12791    install xterm and associated files into a directory just for
12792    packaging a binary release (suggested by CaT
12793    &lt;cat@zip.com.au&gt;).</li>
12794
12795    <li>change IChar type to unsigned, rather than unsigned short,
12796    making room for a flag to keep with 16-bit characters to
12797    prevent them from being interpreted as C0 or C1 controls
12798    (reported by Thomas Wolff).</li>
12799
12800    <li>correct a typo from patch #107, incorrect array name, in
12801    the filterUTF8 function (patch by Bruno Haible
12802    &lt;haible@ilog.fr&gt;)</li>
12803
12804    <li>add <em>utf8controls</em> resource to specify whether xterm
12805    should interpret 16-bit characters unpacked from UTF-8 form as
12806    control characters if they happen to fall into that range. This
12807    behavior is left unspecified by the Unicode standard (request
12808    by Thomas Wolff).</li>
12809
12810    <li>modify handling of OSC to recover if application sends
12811    16-bit characters with codes above 255. We cannot display them
12812    as is, but translate out-of-range characters to a '?' (reported
12813    by Thomas Wolff).</li>
12814  </ul>
12815
12816  <h1><a name="xterm_108" id="xterm_108">Patch #108 - 1999/6/19 -
12817  XFree86 3.9Ps</a></h1>
12818
12819  <ul>
12820    <li>add a range-check to LastTextCol(), to guard against
12821    indexing before the beginning of the scrollback buffer. This
12822    appears to happen with certain fonts under X11R5 (reported by
12823    Stephane Chazelas &lt;Stephane_Chazelas@Raytheon.com&gt;).</li>
12824
12825    <li>implement resource <em>boldMode</em>, to allow disabling
12826    the simulation of bold fonts when the bold and normal fonts are
12827    not different (requested by Will Day
12828    &lt;willday@rom.oit.gatech.edu&gt;).</li>
12829
12830    <li>change the atom "UTF-8" to "UTF8_STRING", and fixes a few
12831    bugs in the UTF-8 selection (patch by Juliusz Chroboczek).</li>
12832
12833    <li>correct logic of binary-search in keysym2ucs.c (patch by
12834    Markus Kuhn).</li>
12835
12836    <li>add special interpretation of keysym codes above 0x1000000
12837    as the corresponding UCS value plus 0x1000000 (patch by Markus
12838    Kuhn).</li>
12839  </ul>
12840
12841  <h1><a name="xterm_107" id="xterm_107">Patch #107 - 1999/6/12 -
12842  XFree86 3.9Pq</a></h1>
12843
12844  <ul>
12845    <li>Two changes from Stephen P Wall. From his description:
12846      <blockquote>
12847        <p>The first change is simple - I added ESC[3J to erase the
12848        stored lines above the screen. That's what the changes to
12849        util.c and ctlseqs.ms are.</p>
12850
12851        <p>The second change is to get the blinking cursor working.
12852        I took out the cursorBlinkTime resource, and put in
12853        cursorBlink (Boolean), cursorOnTime (time cursor is on in
12854        msecs) and cursorOffTime, and added a cursorblink item to
12855        the vtMenu to enable/disable it.</p>
12856      </blockquote>
12857    </li>
12858
12859    <li>improve selection (integrated patch by Juliusz Chroboczek).
12860    From his description:
12861      <blockquote>
12862        <p>With this patch, selection conversion works
12863        properly:</p>
12864
12865        <pre>
12866        ISO 8859-1 xterm -&gt; ISO 8859-1 xterm (transferred as STRING);
12867        ISO 8859-1 xterm -&gt; UTF-8 xterm (transferred as STRING);
12868        UTF-8 xterm -&gt; ISO 8859-1 xterm (transferred as STRING);
12869        UTF-8 xterm -&gt; UTF-8 xterm (transferred as UTF-8).
12870</pre>
12871        <p>It will not work properly if one xterm is in, say, ISO
12872        8859-2. Actually, for this case xterm breaks the ICCCM
12873        routinely (sending ISO 8859-2 data as STRING), so I
12874        wouldn't worry too much about it. I have not changed the
12875        behaviour in eight-bit mode in any way.</p>
12876      </blockquote>
12877    </li>
12878  </ul>
12879
12880  <h1><a name="xterm_106" id="xterm_106">Patch #106 - 1999/6/9 -
12881  XFree86 3.9Pq</a></h1>
12882
12883  <ul>
12884    <li>remove duplicate fix for OpenBSD in resize.c</li>
12885
12886    <li>correct logic in ScreenWrite, which did not reset the high
12887    bytes of 16-bit characters when overwriting them with a 8-bit
12888    character string (reported by Thomas Wolff).</li>
12889
12890    <li>provide limited support for input of UTF-8 16-bit data by a
12891    lookup table (integrated patch by Markus Kuhn).</li>
12892
12893    <li>correct check in non_blank_line to ensure we're in
12894    wide-character mode before looking at the high bytes, for
12895    InsertChar.</li>
12896  </ul>
12897
12898  <h1><a name="xterm_105" id="xterm_105">Patch #105 - 1999/6/5 -
12899  XFree86 3.9Pp</a></h1>
12900
12901  <ul>
12902    <li>implement new resource <em>trimSelection</em>, which allows
12903    xterm to trim trailing blanks from selected lines. This does
12904    not affect the highlighting. (reported by several people using
12905    <em>mutt</em>, including Hans Morten Kind &lt;edphk@uib.no&gt;,
12906    Jeremy &lt;jeremy@exit109.com&gt; and (Michael Fuller
12907    &lt;msf@mds.rmit.edu.au&gt;).</li>
12908
12909    <li>include term.h in resize for OpenBSD (patch by Matthieu
12910    Herrb).</li>
12911
12912    <li>correct logic for UTF-8 in functions that hide and show the
12913    cursor; it was displaying a space whenever the low byte of the
12914    character at the cursor position was zero (reported by Thomas
12915    Wolff &lt;Thomas.Wolff@icn.siemens.de&gt;).</li>
12916  </ul>
12917
12918  <h1><a name="xterm_104" id="xterm_104">Patch #104 - 1999/5/30 -
12919  XFree86 3.9Pn</a></h1>
12920
12921  <p>This is a resync patch against XFree86 3.9Pn, reflecting
12922  changes which were submitted by Branden Robinson, who worked with
12923  Wichert Akkerman &lt;wichert@cs.leidenuniv.nl&gt; to set up
12924  ifdef's to handle GNU libc 2.1, and use getpt() which lets xterm
12925  avoid having to know the actual PTY name.</p>
12926
12927  <p>I have also added a few fixes for signed/unsigned mismatches,
12928  and corrected a problem in the configure script (the UTF-8 code
12929  was always configured since the Imakefile defines this).</p>
12930
12931  <h1><a name="xterm_103" id="xterm_103">Patch #103 - 1999/5/14 -
12932  XFree86 3.9Pm</a></h1>
12933
12934  <ul>
12935    <li>correct selection logic: I omitted an offset that accounts
12936    for the distance into the scrollback buffer when rewriting this
12937    for patch #101. Also fixed a similar problem for selecting
12938    double size characters from the scrollback buffer (first was
12939    reported by D Roland Walker &lt;walker@pobox.com&gt;).</li>
12940
12941    <li>improved support for Unix98 PTY's, using patch in Debian
12942    bug report #35650, by J.H.M. Dassen
12943    &lt;jdassen@wi.leidenuniv.nl&gt;. From the patch description:
12944      <blockquote>
12945        <ul>
12946          <li>No longer links xterm against libutil on a glibc2.1
12947          system. libutil is a compatibility library and should
12948          only be used when necessary. Rather than having get_pty()
12949          use openpty() from this compatibility library, use the
12950          real UNIX98 pty support in get_pty() (open()ing the
12951          master pty, through getpt() if available (glibc
12952          extension)). Use openpty() only under glibc2.0.</li>
12953
12954          <li>GNU libc2 is not Linux-specific; already it runs on
12955          the Hurd. It provides the UNIX98 pty functions (plus the
12956          getpt() extension), regardless of the underlying OS.
12957          Changed two constructs to look for GNU libc2 only, not
12958          GNU libc2 on Linux.</li>
12959        </ul>
12960      </blockquote>
12961    </li>
12962
12963    <li>improve font configuration, by checking if the user's
12964    resource settings for normal and bold fonts give the same font
12965    sizes (fixes problem reported by Peter Waltenberg
12966    &lt;peterw@dascom.com&gt;).</li>
12967  </ul>
12968
12969  <h1><a name="xterm_102" id="xterm_102">Patch #102 - 1999/5/12 -
12970  XFree86 3.9Pm</a></h1>
12971
12972  <ul>
12973    <li>revert change to openpty call in patch #101; this causes
12974    xterm to fail on DEC-Alpha OSF/1 4.0B (reported by H Merijn
12975    Brand).</li>
12976
12977    <li>modify print.c to move include of stdio.h after the
12978    autoconf'd xtermcfg.h since HP's ANSI C compiler otherwise sees
12979    inconsistent prototype for getopt, probably due to problem with
12980    const (reported by H Merijn Brand).</li>
12981  </ul>
12982
12983  <h1><a name="xterm_101" id="xterm_101">Patch #101 - 1999/5/10 -
12984  XFree86 3.9Pm</a></h1>
12985
12986  <ul>
12987    <li>moved includes and definitions for 'select' from data.h to
12988    xterm.h to fix problem introduced by prototype for getPtyData,
12989    part of UTF-8 changes (reported by Jens Schleusener
12990    &lt;Jens.Schleusener@dlr.de&gt;)</li>
12991
12992    <li>added "Meta &lt;Btn2Down&gt;:clear-saved-lines()" default
12993    translation (patch by H Merijn Brand)</li>
12994
12995    <li>fixes to configure script and ifdef's in main.c to build on
12996    a HP9000/D390 (hppa-2.0w) running HP-UX 11.00 (64 bit) with
12997    egcs 1.1.2 and HP's ANSI C compiler (patch by H Merijn Brand
12998    &lt;PROCURA_BV@CompuServe.com&gt;)</li>
12999
13000    <li>add more parentheses in ifdef's (patch by Bob
13001    Maynard).</li>
13002
13003    <li>eliminate conflicting definitions for USE_TERMINFO in
13004    resize.c (reported by Jeremy Buhler).</li>
13005
13006    <li>change openpty call to pass NULL rather than ttydev
13007    parameter, since that was used only to estimate the length of
13008    the corresponding data, and may not really be long enough
13009    (reported by Andreas Jaeger)</li>
13010
13011    <li>update description in xterm manpage for character class
13012    table, which said it handles only 7-bit codes.</li>
13013
13014    <li>correct a typo in ScrnDeleteChar() which made it not clear
13015    the high byte of wide-character data.</li>
13016
13017    <li>add logic to convert selection to UTF-8 form when
13018    appropriate. This makes select/paste "work", but further work
13019    is needed to make UTF-8 recognized as a locale in Xlib.</li>
13020
13021    <li>correct right-limit check when selecting double-width
13022    characters.</li>
13023
13024    <li>change default answerback response to an empty string.</li>
13025  </ul>
13026
13027  <h1><a name="xterm_100" id="xterm_100">Patch #100 - 1999/5/3 -
13028  XFree86 3.9Pl</a></h1>
13029
13030  <ul>
13031    <li>Correct a typo in the default resource value for
13032    backarrowKeyIsErase: it was always true (reported by Bram
13033    Moolenaar).</li>
13034
13035    <li>improve configure script's test if the installed xterm is
13036    setuid, in case that is a symbolic link.</li>
13037
13038    <li>correct "install-ti" rule in Makefile.in, by not setting a
13039    blank $TERMINFO value. That is interpreted as "." by ncurses'
13040    tic.</li>
13041  </ul>
13042
13043  <h1><a name="xterm_99" id="xterm_99">Patch #99 - 1999/5/2 -
13044  XFree86 3.9Pk</a></h1>
13045
13046  <ul>
13047    <li>correct logic that computes num_ptrs count of the number of
13048    indices into the screen buffer. This is the maximum of the
13049    colors and character-set indices; was incorrect in patch
13050    #97.</li>
13051
13052    <li>correct argument type for sigsetjmp, incidental change in
13053    patch #96's Unix88 PTY patch (reported by Bram Moolenaar).</li>
13054
13055    <li>correct description of secondary DA in ctlseqs.ms (reported
13056    by Bram Moolenaar).</li>
13057
13058    <li>decouple the backarrowKey and ptyInitialErase resources by
13059    adding a new resource backarrowKeyIsErase, to accommodate
13060    people using applications which have hardcoded tests for
13061    characters 8 and 127 rather than relying on the stty
13062    settings.</li>
13063
13064    <li>modify the UTF-8 decoder so that all possible illegal UTF-8
13065    sequences are properly represented by U+FFFD. This should be
13066    very helpful for developers of code that output UTF-8 strings
13067    for debugging. See the file utf-8-test.txt in
13068    http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts.tar.gz for a
13069    demonstration text that contains numerous illegal UTF-8 values.
13070    (patch by Markus Kuhn).</li>
13071
13072    <li>correct a place in ScrnRefresh where I was filling the high
13073    byte of a wide character with a space rather than a null
13074    (reported by Markus Kuhn).</li>
13075  </ul>
13076
13077  <h1><a name="xterm_98" id="xterm_98">Patch #98 - 1999/4/26 -
13078  XFree86 3.9Pk</a></h1>
13079
13080  <ul>
13081    <li>correct data manipulation in unparseputc(), broken for
13082    little-endian machines by patch #97's UTF-8 changes. This meant
13083    that keyboard input on SunOS did not work, though Linux i386
13084    was fine.</li>
13085
13086    <li>modify initialization for backarrowKey and logic for
13087    initial-erase to prevent the initial-erase from overriding an
13088    explicitly set backarrowKey resource (reported by Vikas
13089    Agnihotri).</li>
13090
13091    <li>add a missing null-pointer check in ScrnRefresh, for the
13092    wide-characters configuration.</li>
13093  </ul>
13094
13095  <h1><a name="xterm_97" id="xterm_97">Patch #97 - 1999/4/25 -
13096  XFree86 3.9Pk</a></h1>
13097
13098  <ul>
13099    <li>add configure script test for -lutil, needed for openpty
13100    call when configuring xterm for Glibc-2.1 and Unix98 PTY's
13101    (first reported by Martin Lorentz"
13102    &lt;m.lorentz@w12.link-goe.de&gt;).</li>
13103
13104    <li>completely parenthesize ifdef expressions for Glibc
13105    (suggested by Bob Maynard).</li>
13106
13107    <li>add initial-erase options (-ie, +ie) to help message
13108    (reported by Vikas Agnihotri).</li>
13109
13110    <li>remove duplicate definition of USE_USG_PTYS (reported by
13111    Jeremy Buhler).</li>
13112
13113    <li>change termcap <em>kD</em> and terminfo <em>kdch1</em> to a
13114    DEL (\177). I overlooked this when separating the styles of
13115    keyboard with the <em>sunKeyboard</em> resources in patch #94,
13116    so that it normally matches the value of the stty erase
13117    character:
13118      <ul>
13119        <li>Reported by Jae Gangemi
13120        &lt;jgangemi@ccf.rutgers.edu&gt;, this caused emacs to not
13121        process the DEL properly, combining it with succeeding
13122        characters.</li>
13123
13124        <li>This does not appear to be related to a problem which I
13125        have found with <em>screen</em>, which translates the stty
13126        erase into the termcap <em>kD</em> or terminfo
13127        <em>kdch1</em> value (depending on how it is linked) if the
13128        $TERMCAP variable is set when <em>screen</em> is
13129        invoked.</li>
13130      </ul>
13131    </li>
13132
13133    <li>add command-line options for enabling UTF-8 mode: -u8 and
13134    +u8. The more obvious -utf8 and +utf8 would conflict with
13135    xterm's -ut and +ut (utmp) options. The UTF-8 changes were
13136    requested by Markus Kuhn &lt;Markus.Kuhn@cl.cam.ac.uk&gt;. This
13137    patch does not complete UTF-8 implementation, but makes it
13138    usable, i.e., display and refresh work, and I am able to
13139    display the test cases which Markus provides. More work is
13140    needed to complete this feature:
13141      <ul>
13142        <li>the control sequences for switching in/out of UTF-8
13143        mode are partly implemented (don't use them). Similarly,
13144        the switching between vt100 and tek4014 emulations when
13145        UTF-8 mode is enabled will not work properly.
13146          <p>You must use the -u8 command line option to use this
13147          feature, as well as compile with the OPT_WIDE_CHARS
13148          definition.</p>
13149        </li>
13150
13151        <li>cut/paste only copies 8-bit characters.</li>
13152
13153        <li>logging is disabled in the wide-character
13154        configuration</li>
13155
13156        <li>printing only writes 8-bit characters.</li>
13157
13158        <li>input only does 8-bit characters. This is the area that
13159        I know least about.</li>
13160      </ul>
13161    </li>
13162  </ul>
13163
13164  <h1><a name="xterm_96" id="xterm_96">Patch #96 - 1999/4/19 -
13165  XFree86 3.9Pj</a></h1>
13166
13167  <ul>
13168    <li>modify Makefile.in to work with configure script's --srcdir
13169    option. (patch by Jeremy Buhler
13170    &lt;jbuhler@cs.washington.edu&gt;)</li>
13171
13172    <li>add checks for 'echo -n' equivalent for 8colors.sh and
13173    16colors.sh scripts (reported by Vikas Agnihotri).</li>
13174
13175    <li>improve logic that looks for bold fonts to allow for
13176    wildcards in the specification for normal fonts, and to ensure
13177    that if a bold font is specified as normal, that xterm will
13178    simulate a bold version of that using a one-pixel offset
13179    overstrike (reported by Henrik Harmsen
13180    &lt;harmsen@erv.ericsson.se&gt;).</li>
13181
13182    <li>correct horizontal spacing of double width line-drawing
13183    characters that xterm simulates.</li>
13184
13185    <li>improve support for Unix98 PTY's, using patch in Debian bug
13186    report #35650, by Topi Miettinen
13187    &lt;Topi.Miettinen@medialab.sonera.fi&gt;. Andreas Jaeger says
13188    this also corrects a permissions problem reported by
13189    cat@zip.net.au</li>
13190
13191    <li>modify initial-erase logic to ensure that
13192    <code>ttyModes</code> resource overrides it.</li>
13193  </ul>
13194
13195  <h1><a name="xterm_95" id="xterm_95">Patch #95 - 1999/4/5 -
13196  XFree86 3.9Ph</a></h1>
13197
13198  <ul>
13199    <li>modify primary DA response to allow a '1' parameter.</li>
13200
13201    <li>add printer and national replacement character sets to
13202    VT220 primary DA response.</li>
13203
13204    <li>document primary and secondary DA responses in
13205    ctlseqs.ms</li>
13206
13207    <li>use the patch number (e.g., 95) in the secondary DA
13208    response, providing user applications a means of determining
13209    the version of xterm for feature comparison (request by Bram
13210    Moolenaar).</li>
13211
13212    <li>make xterm respond to secondary DA when the decTerminalID
13213    is set for VT100.</li>
13214
13215    <li>limit user-defined keys (DECUDK) to VT220-style keyboard
13216    when sunKeyBoard resource is true.</li>
13217
13218    <li>modify ifdef's for Linux-2.2.x with Glibc-2.1 to work with
13219    Glibc-2.1 and no Unix98 PTY support (patch from Andreas Jaeger
13220    &lt;aj@arthur.rhein-neckar.de&gt;)</li>
13221
13222    <li>add optional feature (resource and command-line options) to
13223    make xterm use the PTY's sense of erase character on startup,
13224    rather than requiring it to be \177, or set the PTY's erase
13225    character to match xterm's configuration. Note that while
13226    $TERMCAP is modified to reflect the actual configuration, the
13227    terminfo kdch1 string is not (request by Dirk H Hohndel
13228    &lt;hohndel@suse.de&gt;)</li>
13229
13230    <li>improve scripts in vttests to work with newer shells that
13231    do not use 'echo -n'.</li>
13232
13233    <li>add fonts.sh example script</li>
13234
13235    <li>correct inequality in handling of "#1" font
13236    specification.</li>
13237
13238    <li>correct call to XGetWMNormalHints() used for computing
13239    maximum screen size; the size hints may not have been set.</li>
13240
13241    <li>begin implementation of support for wide-characters
13242    (configure option --enable-wide-chars defines OPT_WIDE_CHARS,
13243    invoke xterm with -wc option to activate this feature). This
13244    patch optionally widens internal data structures, invokes the
13245    16-bit text output rather than the 8-bit version and adds some
13246    tables.</li>
13247  </ul>
13248
13249  <h1><a name="xterm_94" id="xterm_94">Patch #94 - 1999/3/27 -
13250  XFree86 3.9Pf</a></h1>
13251
13252  <ul>
13253    <li>further fixes for terminfo: ka1, ka3, etc., differ between
13254    the default xterm-xfree86 and xterm-vt220 entries.</li>
13255
13256    <li>change default (with sunKeyboard resource false) behavior
13257    of the editing keypad "Delete" to send a 127, like xterm-r6.
13258    The VT220-style <code>&lt;ESC&gt;[3~</code> is sent when
13259    sunKeyboard is true (reported by Tomas Vanhala).</li>
13260
13261    <li>add parameters to function keys to indicate if shift,
13262    control or alt are set. The codes are based on a description of
13263    a DEC VT510 with a PC keyboard, from Jeffrey Altman
13264    &lt;jaltman@watsun.cc.columbia.edu&gt;.</li>
13265
13266    <li>add control sequence 1035, set-num-lock action and num-lock
13267    menu entry to control the use of the NumLock and Alt keys for
13268    the Sun/PC and VT220 keyboard extensions.</li>
13269
13270    <li>implement DECSET/DECRST numeric keypad (DECNKM) mode.</li>
13271
13272    <li>modify terminfo and termcap to use recommended "X Window"
13273    or "X11" names rather than "X Windows" (reported by Tomas
13274    Vanhala).</li>
13275
13276    <li>suppress translation of shifted keypad "+" when sunKeyboard
13277    is true.</li>
13278
13279    <li>workaround unexpected behavior (perhaps bug) in
13280    XmbLookupString, which returns trash in the string buffer for
13281    numlock and control-key combined with keypad-keys.</li>
13282
13283    <li>modify ScrollBarReverseVideo() to keep scrollbar border
13284    visible when reverse video is toggled.</li>
13285
13286    <li>correct missing case for parameter 17 (set highlight color)
13287    in dynamic colors control sequences.</li>
13288
13289    <li>extend dynamic colors control sequences to allow users to
13290    determine the colors and font which are currently active.</li>
13291
13292    <li>minor tweak to OSC responses, to use BEL if the application
13293    used that to end the request, rather than ST. This works better
13294    with shell scripts, which may not handle an
13295    <code>&lt;ESC&gt;backslash</code> very well.</li>
13296
13297    <li>separate menu settings for reverse video from that done
13298    under program control.</li>
13299
13300    <li>corrected ifdef's for menus, which did not allow tek4014 to
13301    be suppressed properly (reported by Clint Olsen).</li>
13302
13303    <li>changes for Linux-2.2.x with GLibc-2.1 and /dev/ptmx
13304    support (integrated patch from Pavel Roskin):
13305      <ul>
13306        <li>main.c and resize.c were using different rules to
13307        determine whether ATT should be defined (actually
13308        USE_USG_PTYS is more apt).</li>
13309
13310        <li>copy definitions from main.c to resize.c to prevent
13311        sys/stream.h and sys/ptem.h from inclusion when SYSV is not
13312        defined</li>
13313
13314        <li>define CNUL if not already defined like other
13315        variables.</li>
13316
13317        <li>/dev/tty does exist in Linux, but it doesn't mean, it
13318        should be used. Therefore EACCES is now an acceptable
13319        result.</li>
13320
13321        <li>ifdef'd several calls such as <code>ioctl (ptyfd,
13322        I_PUSH, "ptem")</code> to build on Linux (I_PUSH is not
13323        defined when sys/stropts.h is not included).</li>
13324      </ul>
13325    </li>
13326
13327    <li>initialize second "ltc" variable in main.c (reported by
13328    David Dawes).</li>
13329
13330    <li>provide definition for USE_USG_PTYS in screen.c</li>
13331
13332    <li>add resource-files to install rule in standalone
13333    Makefile.in</li>
13334
13335    <li>add sample scripts to illustrate titlebar controls,
13336    resizing and colors.</li>
13337  </ul>
13338
13339  <h1><a name="xterm_93" id="xterm_93">Patch #93 - 1999/3/14 -
13340  XFree86 3.9Pd</a></h1>
13341
13342  <p>Here are several fixes and minor enhancements. The chief ones
13343  are the fixes for NumLock mode and reverse video, since we had
13344  become used to working around the problems.</p>
13345
13346  <ul>
13347    <li>remove kfnd/kll/kslt strings from terminfo, because curses
13348    applications do not necessarily return khome/kend pairs
13349    (reported by Vikas Agnihotri).</li>
13350
13351    <li>implement NumLock resource which overrides the keyboard
13352    tables for the special case of keypad keys. This is a problem
13353    introduced in xterm by X11R6 changes, i.e., an ambiguity which
13354    in effect discarded vt100 keypad support.</li>
13355
13356    <li>modify Sun/PC keyboard mode to extend this (emulation of
13357    DEC vt100 keypad) to the remainder of the numeric keypad. Now,
13358    the default operating mode of xterm uses the keyboard tables
13359    as-is (except if the NumLock mode overrides), but provides good
13360    vt100 keypad compatibility if the Sun/PC keyboard menu item is
13361    checked.</li>
13362
13363    <li>separate command-line settings for reverse video from that
13364    done under program control. This is a problem which was
13365    introduced by X11R6. Though <em>correct</em>, most users are
13366    confused by allowing the reset command to undo the effect of
13367    the command-line <kbd>-rv</kbd> option.</li>
13368
13369    <li>add description of function keys, keypad and cursor keys to
13370    ctlseqs.ms</li>
13371
13372    <li>add terminfo entries for xterm-vt52, xterm-sun and
13373    xterm-hp</li>
13374
13375    <li>correct typo (missing case value) for DECSET 35,
13376    enable/disable shifted keypad action and a few compiler
13377    warnings (reported by Zdenek Sekera &lt;zs@sgi.com&gt;).</li>
13378
13379    <li>correct reporting of color values 8-15 in DECRQSS (reported
13380    by Vikas Agnihotri).</li>
13381
13382    <li>modify parsing of ttyModes resource to recognize "^-" as
13383    "undef" (requested by Tomas Vanhala).</li>
13384
13385    <li>integrate/extend changes to add iconify/maximize actions
13386    (from Edward S. Arthur &lt;eda@ultranet.com&gt;).</li>
13387
13388    <li>add control sequences for maximizing/restoring window, and
13389    for reporting maximum screen size.</li>
13390
13391    <li>add 'interpret' action, to support local function-key
13392    interpretation. Used properly, this makes most of the
13393    specialized actions of xterm redundant.</li>
13394
13395    <li>add control sequence private modes 1051, 1052 and 1052, for
13396    setting the Sun and HP function key modes, and for setting the
13397    Sun/PC keyboard mode.</li>
13398
13399    <li>add configure option --disable-maximize</li>
13400
13401    <li>add configure option --disable-num-lcok</li>
13402
13403    <li>extend descriptions of configure script options in
13404    INSTALL.</li>
13405  </ul>
13406
13407  <h1><a name="xterm_92" id="xterm_92">Patch #92 - 1999/2/5 -
13408  XFree86 3.9Nz</a></h1>
13409
13410  <ul>
13411    <li>increase buffer size for tgetent (i.e., termcap) to 1500.
13412    This fixes a problem where <em>screen</em> is built using
13413    ncurses or GNU termcap and <em>xterm</em> is built using the
13414    standard termcap interface. The former does not limit the
13415    termcap size, while the latter is assumed to be no longer than
13416    1023 characters. The <em>screen</em> program's termcap entry is
13417    about 1200 characters long.</li>
13418
13419    <li>change update_menu_item() to a function, to simplify
13420    debugging. This also reduces the executable by 4Kb.</li>
13421
13422    <li>add control sequences for DECSET 30, 1010, 1011 like rxvt
13423    (enable or disable some features that were only settable via
13424    resources or command line arguments).</li>
13425
13426    <li>add control sequence for DECSET 35, which enables/disables
13427    the shifted keypad functions.</li>
13428
13429    <li>add support for switching font sizes, by stepping through
13430    the font menu using shifted keypad plus and minus.</li>
13431
13432    <li>correct missing initialization of tekInhibit and tekSmall
13433    resources.</li>
13434
13435    <li>correct ifdef's in charproc.c for XtNgeometry and
13436    XtCGeometry (reported by Bram Moolenaar).</li>
13437  </ul>
13438
13439  <h1><a name="xterm_91" id="xterm_91">Patch #91 - 1999/1/21 -
13440  XFree86 3.9Nw</a></h1>
13441
13442  <ul>
13443    <li>Implement logic to translate input characters which are
13444    mapped when in vt220 National Replacement Character mode
13445    (requested by Tomas Vanhala).</li>
13446
13447    <li>Resync configure scripts with my patches to autoconf
13448    2.13</li>
13449
13450    <li>Change order of -lXmu and -lXext to accommodate cygwin32
13451    (reported by Vikas Agnihotri).</li>
13452
13453    <li>Add "-ti" option to set terminal emulation level from
13454    command line rather than via resource.</li>
13455
13456    <li>Simplify some of the preprocessor logic using #elif.</li>
13457  </ul>
13458
13459  <h1><a name="xterm_90" id="xterm_90">Patch #90 - 1998/12/13 -
13460  XFree86 3.9Nq</a></h1>
13461
13462  <p>This implements several small fixes and enhancements. The
13463  chief one implements fallback support for line drawing characters
13464  with fonts that do not include those characters. But I
13465  implemented that last.</p>
13466
13467  <ul>
13468    <li>If any of the glyphs in positions 0-31 (used by xterm to
13469    implement the VT100 alternate character set) are zero-sized
13470    (i.e., missing), xterm will reserve a normal space for the
13471    glyph when drawing. I implemented a simple stroke-drawing
13472    function to draw the line-drawing characters and a couple of
13473    the other (simpler) characters such as diamond. (This was
13474    suggested by Vikas Agnihotri).</li>
13475
13476    <li>Modify the computation of doublesize characters to work
13477    around font servers which shift the scaled characters up/down
13478    or do not give the correct width.</li>
13479
13480    <li>Add popup menu item and corresponding resource settings to
13481    disable the font-scaling logic for doublesize characters to
13482    work around (older) font servers which simply do not draw the
13483    fonts scaled to the size that they said they would. I see this
13484    problem on a SunOS system running X11R5; the X11R6 servers seem
13485    well behaved.</li>
13486
13487    <li>Implement new escape sequence, private mode 1049, which
13488    combines the switch to/from alternate screen mode with screen
13489    clearing and cursor save/restore. Unlike the existing escape
13490    sequence, this clears the alternate screen when switching to it
13491    rather than when switching to the normal screen, thus retaining
13492    the alternate screen contents for select/paste operations.
13493      <p>When I implemented the popup menu entry to toggle between
13494      the normal and alternate screens, I considered only pasting
13495      from the normal screen to the alternate; this improvement
13496      allows either direction.</p>
13497    </li>
13498
13499    <li>Changed the termcap and terminfo for xterm-xfree86 and
13500    xterm-8bit to use the new 1049 private mode.</li>
13501
13502    <li>Modify the logic which switches between normal and
13503    alternate screens so that the save/restore cursor operations
13504    apply only to the current screen. That means that applications
13505    which use the terminfo smcur/rmcur or termcap ti/te
13506    capabilities will restore the cursor to the original position
13507    on the normal screen rather than to the most recent place where
13508    a save-cursor operation was performed.
13509      <p>I note that a real VT100 terminal would not behave in this
13510      way, but it is a moot point since the VT100 does not
13511      implement alternate screen, and therefore the save/restore
13512      cursor sequence would not be used in this context. I reviewed
13513      the logic which switches between normal and alternate screens
13514      based on some recent newsgroup postings as well as a proposed
13515      patch in the Debian group which attempts to do this (the
13516      patch has a bug, however, so I did not use it).</p>
13517    </li>
13518
13519    <li>Add popup menu entry for toggling the titeInhibit
13520    resource.</li>
13521
13522    <li>Add new resource answerbackString, which overrides the
13523    default "xterm" returned by xterm when responding to an ENQ
13524    (control/E) character (request by Rajesh Vaidheeswarran
13525    &lt;rv@fore.com&gt;).</li>
13526
13527    <li>Add new resource keyboardDialect for setting the NRC
13528    display character set (request by Tomas Vanhala, who notes that
13529    I should add logic to translate the keyboard as well).</li>
13530
13531    <li>Add new command-line option and corresponding resources for
13532    making xterm generate escape sequences compatible with HP
13533    terminals. Like the existing Sun escape sequences, this is
13534    available as a popup menu item. It is enabled by the configure
13535    script with the option --enable-hp-fkeys (requested by Toni
13536    Mueller &lt;sales@oeko.net&gt;).</li>
13537
13538    <li>Add configure script option --disable-boxchars to disable
13539    the fallback support for line drawing characters.</li>
13540
13541    <li>Fix ifdef's for configure script --disable-ansi-color, and
13542    reviewed all configure options to ensure that all can be
13543    enabled/disabled appropriately.</li>
13544
13545    <li>Update config.guess and config.sub, from Lynx.</li>
13546  </ul>
13547
13548  <h1><a name="xterm_89" id="xterm_89">Patch #89 - 1998/11/20 -
13549  XFree86 3.9Nm</a></h1>
13550
13551  <p>This patch completes the implementation of double-sized
13552  character support for the VT100 emulation, and fixes a few minor
13553  bugs:</p>
13554
13555  <ul>
13556    <li>corrected the cursor position in HideCursor, which did not
13557    multiply the column by two when in doublesize mode. This bug,
13558    which did not appear in normal use, dates back to my original
13559    <a href="#xterm_44">changes</a> to partly implement
13560    double-sized characters. I noticed it when cat'ing a typescript
13561    from vttest's double-sized character test.</li>
13562
13563    <li>ensure that the current line is repainted when switching
13564    between single and double width characters.</li>
13565
13566    <li>reduce the number of bits used for double-sized character
13567    coding from 3 to 2, to make more room for soft-font codes.</li>
13568
13569    <li>copy newer ifdef's from the XFree86 3.3.3 release's main.c,
13570    which address details of glibc and powerpc.</li>
13571
13572    <li>moved definition of DECL_ERRNO in xterm.h to match XFree86
13573    3.3.3</li>
13574
13575    <li>modify <em>resize</em> to remove the ifdef on SVr4 that
13576    suppressed printing the script for $LINES and $COLUMNS.
13577    Solaris' resize utility does this; suppressing the behavior is
13578    unnecessary.</li>
13579  </ul>
13580
13581  <p>I tested the double-sized characters using vttest and the
13582  xfsft patch. These fonts worked reasonably well:</p>
13583
13584  <pre>
13585        -bitstream-courier-medium-r-normal--0-0-0-0-m-0-iso8859-1
13586        9x15
13587</pre>
13588  <p>The iso8859 font does not include box characters, of course,
13589  but looks good.</p>
13590
13591  <h1><a name="xterm_88" id="xterm_88">Patch #88 - 1998/10/31 -
13592  XFree86 3.9Nk and 3.3.2h</a></h1>
13593
13594  <p>This refines my #85 patch by checking for a case where the
13595  font server returns a bold font that does not quite correspond to
13596  the normal font. When I asked for a bold version of the 6x12
13597  font, the font server returned a near equivalent where the ascent
13598  and descent values did not match, causing xterm to leave lines
13599  across the display. This patch makes xterm reject that type of
13600  mismatch, falling back to the old font behavior.</p>
13601
13602  <h1><a name="xterm_87" id="xterm_87">Patch #87 - 1998/10/21 -
13603  XFree86 3.9Nj and 3.3.2f</a></h1>
13604
13605  <p>This corrects a problem reported by Stefan Dalibor. My table
13606  entries for the <em>printerExtent</em> and
13607  <em>printerFormFeed</em> resources used the wrong types for
13608  sizeof, causing the printer to not work properly on some
13609  platforms because the <em>printAttributes</em> resource was
13610  overwritten (e.g., Digital Unix with DEC Alpha).</p>
13611
13612  <p>I reviewed all of the resource table entries and fixed a
13613  potential problem with <em>resizeGravity</em>, which was typed as
13614  <em>int</em> rather than <em>XtGravity</em>.</p>
13615
13616  <h1><a name="xterm_86" id="xterm_86">Patch #86 - 1998/10/14 -
13617  XFree86 3.9Nj and 3.3.2e</a></h1>
13618
13619  <p>A small fix: when switching to/from the continuous mouse
13620  reporting mode, the event mask was incorrect if xterm was built
13621  under X11R5 because the original data was saved under an ifdef
13622  for active-icon.</p>
13623
13624  <h1><a name="xterm_85" id="xterm_85">Patch #85 - 1998/10/12 -
13625  XFree86 3.9Nj and 3.3.2e</a></h1>
13626
13627  <p>Some cleanup (I noticed the pixel droppings a few months ago
13628  after getting a new 17" monitor):</p>
13629
13630  <ul>
13631    <li>split-out the functions that load/reload fonts for xterm as
13632    new file fontutils.c to extend them to support automatic
13633    loading of bold font corresponding to the normal font. Adapted
13634    logic from EMU 1.3 for this purpose. This fixes most
13635    occurrences of pixel droppings from bold characters.</li>
13636
13637    <li>modified by renaming variables and adding casts to permit
13638    compile with g++.</li>
13639
13640    <li>modify headers so they can all be compiled without order
13641    dependencies, and use bracketed rather than quoting includes to
13642    allow compile from separate directory.</li>
13643
13644    <li>renamed xtermm terminfo entry to xterm-mono, to avoid
13645    conflict with Solaris entry now in ncurses.</li>
13646  </ul>
13647
13648  <h1><a name="xterm_84" id="xterm_84">Patch #84 - 1998/10/9 -
13649  XFree86 3.9Ni and 3.3.2e</a></h1>
13650
13651  <p>Several small fixes and enhancements, including a patch from
13652  Bjorn Helgaas:</p>
13653
13654  <ul>
13655    <li>correct initialization of TERMCAP environment variable,
13656    which was frequently set to garbage on non-Linux systems
13657    because "termcap" and "newtc" contained random data from the
13658    stack.</li>
13659
13660    <li>remove the LINEWRAPPED attribute from lines as they are
13661    cleared. Previously, the attribute was set but never
13662    cleared.</li>
13663
13664    <li>make word and line selections work even when lines are
13665    wrapped by xterm. Previously, selections were limited to one
13666    screen line.</li>
13667  </ul>
13668
13669  <p>as well as</p>
13670
13671  <ul>
13672    <li>modify logic for line-wrapping to reset the associated flag
13673    if the application deletes a character. This fixes a problem
13674    reported by Bjorn Helgaas where word/line selection would still
13675    wrap even after deleting characters from the first line.</li>
13676
13677    <li>add kll/kH capabilities to xterm-xfree86 entries in termcap
13678    and terminfo (request by Michael Schroeder).</li>
13679
13680    <li>shorten descriptions in termcap to make resolved entries
13681    all shorter than 1023 character limit.</li>
13682
13683    <li>use DECSTR control sequence to shorten initialization and
13684    reset strings in xterm-xfree86 termcap and terminfo.</li>
13685
13686    <li>use rmul/smul and rmir/smir in xterm-r5 terminfo to match
13687    termcap.</li>
13688
13689    <li>correct typos in initialization and reset strings in
13690    xterm-r5 termcap and terminfo.</li>
13691
13692    <li>disable special translations of key symbols (the backarrow
13693    key, the editing keypad and the keypad "+") when a modifier
13694    other than shift, control or numlock is used. This makes xterm
13695    handle the meta key as expected by people using emacs (reported
13696    by Pete Harlan &lt;harlan@pointofchoice.com&gt; in
13697    linux.debian.user newsgroup).</li>
13698  </ul>
13699
13700  <h1><a name="sync_83" id="sync_83">Resync #83 - 1998/10/7 -
13701  XFree86 3.3.2e</a></h1>
13702
13703  <p>Merge changes through patch #83 with the 3.3.2e version.</p>
13704
13705  <p>This follows a change from XFree86 CVS which adds checks for
13706  non-null return from malloc (patch by Matthieu Herrb).</p>
13707
13708  <h1><a name="xterm_83" id="xterm_83">Patch #83 - 1998/8/25 -
13709  XFree86 3.9Nb</a></h1>
13710
13711  <p>Several small fixes and enhancements:</p>
13712
13713  <ul>
13714    <li>add configure test to infer if xterm should be installed
13715    setuid based on previously installed xterm (reported by Stephen
13716    Marley and Stefan Dalibor).</li>
13717
13718    <li>implement quasi-continuous mouse reporting (integrated
13719    patch by Jason Bacon).</li>
13720
13721    <li>correct control sequences transmitted by function keys F1
13722    to F4 when sunFunctionKeys resource is true (it was still using
13723    the VT100 control sequences).</li>
13724
13725    <li>modify handling of backarrow key so that the control
13726    modifier toggles the backspace/delete interpretation set by the
13727    backarrowKey resource.</li>
13728
13729    <li>limit the row and column values used to report mouse
13730    position.</li>
13731  </ul>
13732
13733  <p>From resync with XFree86 3.9Nb:</p>
13734
13735  <ul>
13736    <li>add support for the VSTATUS control character (patch by
13737    Robert Earl &lt;rearl@teleport.com&gt;).</li>
13738  </ul>
13739
13740  <h1><a name="xterm_82" id="xterm_82">Patch #82 - 1998/7/15 -
13741  XFree86 3.9Aj</a></h1>
13742
13743  <p>Bug fix for patch #81:</p>
13744
13745  <ul>
13746    <li>remove an #undef for NBBY, which caused compile problem on
13747    FreeBSD (reported by David Dawes).</li>
13748  </ul>
13749
13750  <h1><a name="xterm_81" id="xterm_81">Patch #81 - 1998/7/14 -
13751  XFree86 3.9Aj</a></h1>
13752
13753  <p>More bug fixes:</p>
13754
13755  <ul>
13756    <li>fix conflicting ifdef's for TIOCSLTC when building with
13757    Linux on AXP aka DEC Alpha (reported by Robin Cutshaw).</li>
13758
13759    <li>correction to patch #79, move assignment for
13760    *utptr-&gt;ut_user = 0; back into non-SVR4 ifdef in main.c,
13761    since this clobbers username on Solaris 2.5.1 (analysis by Will
13762    Day &lt;willday@rom.oit.gatech.edu&gt;).</li>
13763
13764    <li>corrected khome/kend in xterm-8bit terminfo
13765    description.</li>
13766
13767    <li>improve cursor color by making it always the reverse of
13768    fg/bg unless the cursorColor resource is set, i.e., to
13769    something other than the default foreground (reported by Vikas
13770    Agnihotri and Bram Moolenaar).</li>
13771
13772    <li>minor fixes for compiler warnings, including a syntax error
13773    in the AMOEBA ifdef's.</li>
13774  </ul>
13775
13776  <p>From resync with XFree86 3.9Aj:</p>
13777
13778  <ul>
13779    <li>correction to patch #73, supply missing #else for fallback
13780    definitions of size_t, time_t (Robin Cutshaw
13781    &lt;robin@intercore.com&gt;).</li>
13782  </ul>
13783
13784  <h1><a name="xterm_80" id="xterm_80">Patch #80 - 1998/6/29 -
13785  XFree86 3.9Ai</a></h1>
13786
13787  <p>This fixes a couple of items leftover or introduced by patch
13788  79:</p>
13789
13790  <ul>
13791    <li>take out the logic that suppresses editing-keypad in vt100
13792    mode (those keys are too valuable to give up for a fine point
13793    of emulation).</li>
13794
13795    <li>corrected a couple of places in terminfo where I missed
13796    using the vt220-style editing-keypad codes for Find/Select
13797    (mapped to Home/End).</li>
13798
13799    <li>checked termcap file against terminfo, fix several places
13800    where it was inconsistent.</li>
13801  </ul>
13802
13803  <h1><a name="xterm_79" id="xterm_79">Patch #79 - 1998/6/28 -
13804  XFree86 3.9Ai</a></h1>
13805
13806  <p>This patch fixes several small bugs:</p>
13807
13808  <ul>
13809    <li>use X_EXTRA_LIBS in standalone Makefile.in (patch by Tomas
13810    Vanhala).</li>
13811
13812    <li>add new resource 'oldXtermFKeys' which provides backward
13813    compatibility for F1-F4 control sequences with TOG's
13814    xterm.</li>
13815
13816    <li>determine the server's default foreground/background Pixel
13817    values, needed if the -flipPixels X server option is used
13818    (reported by David Dawes).</li>
13819
13820    <li>correct logic for F1-F4 function keys so that they generate
13821    VT100 compatible escape sequences in VT220 mode, since that is
13822    what the numeric keypad is supposed to do (reported by Ron
13823    Johnson, Jr. &lt;ronjohn@communique.net&gt;).</li>
13824
13825    <li>modify logic for editing keypad to work more like VT220:
13826    don't pass those codes in VT100-mode unless oldXtermFKeys mode
13827    is set.</li>
13828
13829    <li>correct an interaction with the editing-keypad logic that
13830    prevented backarrow key from sending a 127 for the delete key
13831    (the 'remove' escape sequence was being sent instead).</li>
13832
13833    <li>use return-value from getuid() rather than the parameter,
13834    to work on systems which do not update the latter (patch by
13835    Kevin Buhr &lt;buhr@mozart.stat.wisc.edu&gt;)</li>
13836
13837    <li>correct scrollbar border color when toggling to/from secure
13838    keyboard mode (patch by Jeff Uphoff
13839    &lt;juphoff@tarsier.cv.nrao.edu&gt;)</li>
13840
13841    <li>modifications to terminfo file:
13842      <ul>
13843        <li>rename description to xterm-xfree86, adding an entry
13844        'xterm' which is derived from xterm-xfree86 to simplify
13845        customization.</li>
13846
13847        <li>change string for kdch1 from \177 to \E[3~, to address
13848        complaints from Debian developers. (This applies to the key
13849        labeled "Delete", and does not affect the backarrow
13850        key).</li>
13851
13852        <li>add user-strings u6, u7, u8, u9 to entries to make them
13853        work with Daniel Weaver's "tack" program.</li>
13854
13855        <li>modify xterm-24, xterm-bold, xterm-boldso entries to
13856        disentangle them from explicit dependency upon
13857        xterm-xfree86.</li>
13858
13859        <li>add generic 'xterm-color' entry.</li>
13860
13861        <li>minor corrections to xterm-xfree86, xterm-8bit,
13862        xterm-r5 and xterm-r6 entries.</li>
13863      </ul>
13864    </li>
13865  </ul>
13866
13867  <h1><a name="xterm_78" id="xterm_78">Patch #78 - 1998/6/3 -
13868  XFree86 3.9Ah and 3.3.2</a></h1>
13869
13870  <p>Again, most of the bulk of this patch is for ANSI conversion.
13871  I used the IRIX compiler's -wlint option to find the remaining
13872  functions that use K&amp;R syntax (since gcc does not do this
13873  properly). Also, I changed the logic in the print code slightly
13874  to close unwanted files before opening a pipe to the printer.
13875  This may help in some configurations where the line printer hangs
13876  until xterm closes the pipe.</p>
13877
13878  <h1><a name="xterm_77" id="xterm_77">Patch #77 - 1998/5/26 -
13879  XFree86 3.9Ah and 3.3.2</a></h1>
13880
13881  <p>Most of the bulk of this patch is to convert the extended C
13882  (K&amp;R functions with prototypes) to ANSI. I verified that on
13883  Linux by comparing object files, to ensure that I did not, for
13884  example, interchange parameters in the function declarations.</p>
13885
13886  <p>The rest of the patch fixes several minor bugs, and adds a few
13887  features:</p>
13888
13889  <ul>
13890    <li>back-out my use of ncurses "captoinfo -f" option
13891    (if/then/else/endif) formatting, since ncurses did not
13892    correctly filter embedded newlines in terminfo capability
13893    strings until _after_ ncurses 4.1, thus corrupting
13894    setf/setb/sgr strings (reported by Darren Hiebert and
13895    others).</li>
13896
13897    <li>document SGR 8, 28 (invisible/visible), add corresponding
13898    capabilities to terminfo description.
13899      <p>I would also add the 'prot protected capability, but the
13900      control sequences for that would not be recognized or
13901      properly ignored by the older xterm programs.</p>
13902    </li>
13903
13904    <li>modify ChangeGroup to not suppress a null-resource, but
13905    treat it as an empty string (recommended by Stefan
13906    Dalibor).</li>
13907
13908    <li>add printerAutoClose resource to control whether printer is
13909    closed when going offline. More than one person reports
13910    problems (on Solaris 2.6 and Digital Unix 4.0) getting the
13911    printer to proceed unless xterm exits; I think that it is a
13912    problem flushing the pipe. Closing it ought to flush it.</li>
13913
13914    <li>adapt TOG fix-3 to in HandleKeymapChange and VTInitI18N
13915    (but adapt XtStackAlloc/XtStackFree for clarity, as well as
13916    fixing memory leak).</li>
13917
13918    <li>change calls on FillCurBackground to ClearCurBackground, in
13919    effect using XClearArea rather than XFillRectangle when
13920    clearing as a side-effect of scrolling and insertion (patch by
13921    Alexander V Lukyanov)</li>
13922
13923    <li>correct some places where insert/delete did not _move_ the
13924    color attributes, using memmove (patch by Alexander V Lukyanov
13925    &lt;lav@long.yar.ru&gt;)</li>
13926
13927    <li>add ifdef's for __CYGWIN32__, for port to cygnus version
13928    B19.1 (patch by Andrew Sumner
13929    &lt;andrew_sumner@hotmail.com&gt;).</li>
13930
13931    <li>remove #define for hpux that turned on USE_SYSV_ENVVARS,
13932    since this causes some applications (such as 'less') to get
13933    incorrect $LINES and $COLUMNS values (reported by Clint
13934    Olsen).</li>
13935
13936    <li>modify behavior for HP-UX, to set the "reserved" process
13937    group controls to _POSIX_VDISABLE so the TIOCSLTC ioctl does
13938    not produce an error (patch by Ben Yoshino
13939    &lt;ben@wiliki.eng.hawaii.edu&gt;).</li>
13940
13941    <li>correct length of underlining, reducing it by one pixel to
13942    avoid leaving a dot when the application does not clear the
13943    whole screen I noticed this only recently myself (and other
13944    people as well); it depends on the font chosen. A 6x10 font
13945    shows it, but the other fonts from XTerm.ad do not. I also see
13946    a similar problem with the emulation of bold fonts. (patch by
13947    Sergei Laskavy &lt;Laskavy@cs.msu.su&gt;).</li>
13948
13949    <li>add include for Xos.h to xterm.h, to ensure proper
13950    definitions (reported by Holger Veit).</li>
13951
13952    <li>update config.guess to recognize Unixware 2.1 and 7 (patch
13953    by Mike Hopkirk &lt;hops@sco.com&gt;).</li>
13954  </ul>
13955
13956  <h1><a name="xterm_76" id="xterm_76">Patch #76 - 1998/5/8 -
13957  XFree86 3.9Ah and 3.3.2</a></h1>
13958
13959  <p>A fix for the print-window function, and some minor
13960  cleanup:</p>
13961
13962  <ul>
13963    <li>modify logic that closes pipe in the print-window function
13964    to not use pclose, which does not work on all systems, since I
13965    did not open the pipe with popen (reported by Stefan
13966    Dalibor).</li>
13967
13968    <li>correct name of $(EXTRA_LOAD_FLAGS) imake variable
13969    (reported by Stefan Dalibor).</li>
13970
13971    <li>guard logic in ChangeGroup() function against null pointer
13972    (reported by Stefan Dalibor).</li>
13973
13974    <li>ensure that menu entry for toggling sunKeyboard resource is
13975    initialized (reported by Branden Robinson
13976    &lt;branden@purdue.edu&gt;).</li>
13977
13978    <li>gcc unused-variable warnings (reported by Bernd Ernesti
13979    &lt;bernd@arresum.inka.de&gt;)</li>
13980
13981    <li>rename global variable 'buffer' to 'VTbuffer'</li>
13982  </ul>
13983
13984  <h1><a name="xterm_75" id="xterm_75">Patch #75 - 1998/5/7 -
13985  XFree86 3.9Ah and 3.3.2</a></h1>
13986
13987  <p>This incorporates fixes from several people, as well as some
13988  improvements that I made based on feedback from users:</p>
13989
13990  <ul>
13991    <li>add option to standalone configure script,
13992    "--with-own-terminfo-dir", which causes xterm to pass a
13993    predefined value of $TERMINFO to the application. Also use this
13994    value in install rule "make install-ti", for the standalone
13995    configure script. (patch &amp; feedback from Tor Lillqvist
13996    &lt;tml@hemuli.tte.vtt.fi&gt;)</li>
13997
13998    <li>change ifdef's for "hpux" to "__hpux" (patch by Tor
13999    Lillqvist). The imake configuration uses the former, but the
14000    latter is predefined by HP's compilers.</li>
14001
14002    <li>define USE_SYSV_ENVVARS for HP-UX, curses does not use
14003    $TERMCAP (patch by Tor Lillqvist).</li>
14004
14005    <li>on HP-UX, use the /dev/ptym/clone device to allocate PTY's.
14006    Works both on HP-UX 9 and 10. (patch by Tor Lillqvist).</li>
14007
14008    <li>modify configure script to obtain the $(EXTRA_LOADFLAGS)
14009    value from imake, needed for compiling under DEC OSF/1
14010    (reported by Stefan Dalibor)</li>
14011
14012    <li>modify print-window action so that the printer is closed
14013    after printing a window, unless the printer was already opened
14014    (i.e., by an application running in the window). This makes the
14015    printing complete without having to exit xterm, since not all
14016    systems treat fflush through a pipe very well (reported by
14017    Stefan Dalibor)</li>
14018
14019    <li>modify printing code so that the ^M's are not printed if
14020    the printAttribute resource is set to zero (request by Stefan
14021    Dalibor).</li>
14022
14023    <li>correct typo in xterm.man, for the default value of
14024    printAttribute (reported by Stefan Dalibor).</li>
14025
14026    <li>correct printing code so that the alternate character set
14027    is printed, like other attributes, with escape sequences.</li>
14028
14029    <li>correct termcap description, removing spurious 'm'
14030    character from the 'op' capability (reported by Greg Woods
14031    &lt;woods@weird.com&gt;).</li>
14032
14033    <li>correct trace code so that the initial timestamp is
14034    set.</li>
14035
14036    <li>correct/modify utmp data for the Linux glibc 2
14037    configuration, so that the ut_line member is set before using
14038    it to update wtmp (patch by Bill Nottingham
14039    &lt;wen1@cec.wustl.edu&gt;).</li>
14040  </ul>
14041
14042  <h1><a name="xterm_74" id="xterm_74">Patch #74 - 1998/4/27 -
14043  XFree86 3.9Ag and 3.3.2</a></h1>
14044
14045  <p>This corrects a couple of recent bugs and adds a new
14046  resource:</p>
14047
14048  <ul>
14049    <li>modify definition of TRACE_CHILD so that it does not
14050    conflict with ifdef's for USE_USG_PTYS in main.c (reported by
14051    Vikas Agnihotri &lt;VikasA@att.com&gt; and Stefan
14052    Dalibor).</li>
14053
14054    <li>correct ownership of file (actually pipe) written by the
14055    print controls. When undoing the setuid changes in patch #69, I
14056    overlooked this. Now xterm forks a process which resets setuid
14057    and routes the printer data as the real user.</li>
14058
14059    <li>add a new resource, "printAttributes", which controls
14060    whether color attributes (or any attributes) are sent to the
14061    printer.</li>
14062  </ul>
14063
14064  <h1><a name="xterm_73" id="xterm_73">Patch #73 - 1998/4/25 -
14065  XFree86 3.9Ag and 3.3.2</a></h1>
14066
14067  <p>This patch does the following:</p>
14068
14069  <ul>
14070    <li>implements a print-window facility for xterm. Though useful
14071    in itself, I added it as part of some debugging which I am
14072    doing. (Occasionally during an exposure event xterm fails to
14073    restore the proper colors for highlighted text, and printing
14074    the screen will show the internal states nicely).
14075      <p>The print facility now also displays the color
14076      information. (I will probably make this a resource).</p>
14077    </li>
14078
14079    <li>modified the xterm-16color terminfo description to use the
14080    setaf and setab strings, which is a little more efficient
14081    (requested by Stephen Marley).</li>
14082
14083    <li>reduced some clutter of the ifdef/includes (e.g., stdlib.h,
14084    unistd.h, errno) making the configure script test for these.
14085      <p>I removed the symbols Size_t and Time_t, since they no
14086      longer serve a useful purpose.</p>
14087    </li>
14088
14089    <li>added some debugging traces to show the initial screen
14090    size, and the success/failure of the ioctl calls pass handle
14091    window resizing events to the application (for Clint Olsen).
14092      <p>I also modified the trace code to produce two files since
14093      some of the information is produced by the child process. So
14094      now they are Trace-parent.out and Trace-child.out</p>
14095    </li>
14096
14097    <li>updated configure test for ANSI compiler options to handle
14098    a special case for HP-UX 10.x (reported by Clint Olsen).</li>
14099  </ul>
14100
14101  <h1><a name="xterm_72" id="xterm_72">Patch #72 - 1998/4/17 -
14102  XFree86 3.9Ag and 3.3.2</a></h1>
14103
14104  <p>This is a patch from Chris Siebenmann
14105  &lt;cks@hawkwind.utcs.toronto.edu&gt;, which I have cleaned up a
14106  little, and integrated into the configure script.</p>
14107
14108  <p>From his description:</p>
14109
14110  <blockquote>
14111    <p>This set of patches is the latest incarnation of patches
14112    originally written by Ian! D Allen, then of the University of
14113    Waterloo and now of who knows where; I have been carrying them
14114    forward from xterm to xterm ever since about X11R4. What they
14115    do is add an option so that when an iconified xterm receives
14116    output it prepends '*** ' to its icon title and (optionally)
14117    beeps the bell; deiconifying the xterm removes the '*** '. Over
14118    the years I've found this to be incredibly convenient for
14119    monitoring all sorts of low-activity things.</p>
14120  </blockquote>
14121
14122  <h1><a name="xterm_71" id="xterm_71">Patch #71 - 1998/4/12 -
14123  XFree86 3.9Ag and 3.3.2</a></h1>
14124
14125  <p>This patch is a slightly modified version of one by Richard
14126  Braakman, which prevents buffer overflow in the input-method and
14127  preedit-type parsing in xterm. I changed a couple of details to
14128  make the code more maintainable, and looked for similar things -
14129  copying into a fixed-size buffer (found none, though I did spot
14130  an unused variable).</p>
14131
14132  <h1><a name="xterm_70" id="xterm_70">Patch #70 - 1998/3/29 -
14133  XFree86 3.9Af and 3.3.2</a></h1>
14134
14135  <p>This patch corrects some minor bugs in xterm, and fills in
14136  some more details in the VT220 emulation:</p>
14137
14138  <ul>
14139    <li>modify Imakefile to use SpecialCObjectRule for menu and
14140    data modules, making xterm build properly if logging is enabled
14141    (patch by Scott Sewall &lt;scott@iprg.nokia.com&gt;).</li>
14142
14143    <li>restore "ich" capability to terminfo entries, since Michael
14144    Schroeder points out that "ich1" is the one which is the
14145    problem in Solaris vi.</li>
14146
14147    <li>correct color of cursor, which would disappear on
14148    inverse-video since the initialization did not compare the
14149    cursor color against both foreground and background (reported
14150    by Olivier Calle).</li>
14151
14152    <li>correct abbreviation-test for -version and -help options,
14153    making command-line option -vb work (reported by Stefan
14154    Dalibor).</li>
14155
14156    <li>correct a dependency between ifdef's for OPT_I18N_SUPPORT
14157    and OPT_INPUT_METHOD (reported by Stefan Dalibor).</li>
14158
14159    <li>split-out character-set translations as new module
14160    charsets.c, to implement VT220 national replacement character
14161    sets (a mode where some of the characters are displayed as
14162    specific European glyphs). This relies on xterm using an ISO
14163    8859-1 font (approach suggested by Kenneth R. Robinette
14164    &lt;zkrr01@mailbox.neosoft.com&gt;).</li>
14165
14166    <li>correct a missing increment, which made SS2 and SS3
14167    controls repeat the shifted character.</li>
14168
14169    <li>add xterm-nrc to terminfo to illustrate the VT220 national
14170    replacement character sets.</li>
14171
14172    <li>reformat terminfo using new ncurses tic option "-f", which
14173    makes if/then/else/endif expressions easier to read.</li>
14174  </ul>
14175
14176  <h1><a name="xterm_69" id="xterm_69">Patch #69 - 1998/3/16 -
14177  XFree86 3.9Ad and 3.3.2</a></h1>
14178
14179  <p>This corrects the problem in xterm with utmp, reported by
14180  Olivier Calle &lt;olivier@tc.fluke.com&gt; as well as some other
14181  people after the XFree86 3.3.2 release.</p>
14182
14183  <p>The error was introduced by my patch #53 in XFree86 3.9r
14184  (October 1997).</p>
14185
14186  <p>The correction removes the reset of setuid/setgid before the
14187  main event loop, and solves the problem which I had worked around
14188  in a different manner: for some reason, the particular waitpid()
14189  call in creat_as() hangs, does not return when the child process
14190  exits. I changed the ifdef's to force the Linux configuration to
14191  use wait() instead. This call appears to work properly on other
14192  platforms such as SunOS and Solaris.</p>
14193
14194  <p>I also added tests in the standalone configure script to check
14195  for the existence of waitpid().</p>
14196
14197  <h1><a name="xterm_68" id="xterm_68">Patch #68 - 1998/3/4 -
14198  XFree86 3.9Ad and 3.3.1z</a></h1>
14199
14200  <p>This corrects another problem with the logic for
14201  highlightColor resource. As reported by David Dawes:</p>
14202
14203  <blockquote>
14204    <p>I've just noticed a problem with with the "inverse" control
14205    sequence (ESC[7m) with the 3.3.2 xterm. What it does is sets
14206    the background black, and the text the usual foreground colour
14207    rather than simply swapping the foreground/background.</p>
14208  </blockquote>
14209
14210  <p>This appears to be because when I added logic to check that
14211  the highlightColor was distinct from foreground and background
14212  colors, I did not add a further check to see that it was not
14213  black (I would make an explicit check for the resource not being
14214  set, but see nothing definite in the headers that would let me
14215  reference an explicitly-undefined Pixel value, though there are
14216  some implications in xpm.h). But this should work.</p>
14217
14218  <h1><a name="xterm_67" id="xterm_67">Patch #67 - 1998/2/23 -
14219  XFree86 3.9Ad and 3.3.1e</a></h1>
14220
14221  <p>This patch does the following:</p>
14222
14223  <ul>
14224    <li>improve test for highlightColor so that xterm does not
14225    attempt to use that unless it is different from the foreground
14226    and background colors (reported by Stefan Dalibor
14227    &lt;Stefan.Dalibor@informatik.uni-erlangen.de&gt;.
14228      <p>I could not reproduce this until I noticed that the -rev
14229      option exposed it nicely.</p>
14230    </li>
14231
14232    <li>remove ich and ich1 from xterm and xterm-8bit terminfo
14233    descriptions. SVr4 terminfo documents that you must not combine
14234    these with smir/rmir, but ncurses allows it, opening a hole.
14235    Solaris 2.6 vi does not work properly if it is using a terminfo
14236    description when these are combined, since it was written to
14237    accommodate old terminals that required it (reported by Stephen
14238    Marley).</li>
14239
14240    <li>restore 1-pixel overlap of scrollbar border with left edge
14241    of window (reported by Jim Burmeister
14242    &lt;jimb@metrolink.com&gt;).</li>
14243
14244    <li>add a configure option, --enable-logfile-exec, which allows
14245    the user to specify a pipe for logfile. This defines
14246    ALLOWLOGFILEEXEC.</li>
14247
14248    <li>makes the ALLOWLOGFILEEXEC code compile &amp; run, if
14249    configured.</li>
14250
14251    <li>minor documentation nits.</li>
14252  </ul>
14253
14254  <h1><a name="xterm_66" id="xterm_66">Patch #66 - 1998/2/16 -
14255  XFree86 3.9Ad and 3.3.1d</a></h1>
14256
14257  <p>This fixes the problem reported with failure to build the
14258  <em>resize</em> program (BSDI, OSF/1) due to not having
14259  &lt;termcap.h&gt;, by changing the ifdef to one that would be set
14260  only if the file exists (not currently specified, except by the
14261  standalone configure script). We do not really need to include
14262  &lt;termcap.h&gt; to build, but only for a clean compile, since
14263  it may declare the tgetent() prototype. I also updated the
14264  man-page for <em>resize</em>, since I had recently noticed that
14265  it can be used to resize <em>xterm</em> using the "Sun" control
14266  sequences option.</p>
14267
14268  <h1><a name="xterm_65" id="xterm_65">Patch #65 - 1998/2/14 -
14269  XFree86 3.9Ad and 3.3.1c</a></h1>
14270
14271  <p>This is a small patch to xterm's 8-bit terminal description. I
14272  noticed while testing ncurses that I had specified the wrong
14273  (VT100-style) codes for the F1-F4. Xterm only uses VT220-style
14274  function keys in 8-bit mode.</p>
14275
14276  <h1><a name="xterm_64" id="xterm_64">Patch #64 - 1998/2/8 -
14277  XFree86 3.9Ad</a></h1>
14278
14279  <p>This fixes the following problems with xterm:</p>
14280
14281  <ul>
14282    <li>save/restore the ANSI foreground and background colors with
14283    the other visible attributes in the save-cursor and
14284    restore-cursor operations. This works around a problem with
14285    vim, which apparently assumed that switching between the normal
14286    and alternate screens resets the colors (reported by Jim Battle
14287    &lt;jb@chromatic.com&gt;).
14288      <p>It would be nice to implement save/restore cursor as a
14289      stack (and solve this type of problem completely), but that
14290      would lead to incompatibility with applications which assume
14291      they are running with a VT100 or VT220.</p>
14292    </li>
14293
14294    <li>corrects behavior of a restore-cursor operation which does
14295    not follow a save-cursor (it is supposed to set the character
14296    sets to a known initial state).</li>
14297
14298    <li>extends the sunKeyboard resource (and menu toggle) to
14299    modify the home, end and delete keys on a Sun or PC editing
14300    keypad, making them generate codes compatible with DEC VT220's
14301    Find, Select and Remove keys.</li>
14302
14303    <li>corrects a length in checking command-line options, which
14304    caused the "-help" message to not work when X was not
14305    running.</li>
14306
14307    <li>add some detail to the man-page (requested by Jason Bacon
14308    &lt;acadix@execpc.com&gt;)</li>
14309
14310    <li>modify the standalone configure script to ignore the broken
14311    nsl and socket libraries on IRIX 6.2 (the ones on 5.2 also are
14312    broken, so this change just widens the check for the system
14313    version number).</li>
14314  </ul>
14315
14316  <h1><a name="xterm_63" id="xterm_63">Patch #63 - 1998/2/5 -
14317  XFree86 3.9Ad</a></h1>
14318
14319  <p>This is another patch from Bjorn Helgaas
14320  &lt;helgaas@rsn.hp.com&gt;, which I've reviewed (and learned
14321  some). Following are his notes:</p>
14322
14323  <p>I poked around some more and finally got xterm-62 to build and
14324  run cleanly on HP-UX 10.20. Here are the patches. They look sort
14325  of ugly, so here's a little explanation:</p>
14326
14327  <ul>
14328    <li>aclocal.m4: Removed side effects from the AC_CACHE_VAL
14329    commands in CF_FUNC_TGETENT. Previously, LIBS was set inside
14330    AC_CACHE_VAL, which worked fine the first time configure was
14331    run, but failed if there were cached values.</li>
14332
14333    <li>aclocal.m4: Added temporary setting of LIBS before
14334    AC_TRY_LINK in CF_FUNC_TGETENT. Previously, the last value set
14335    by the AC_TRY_RUN loop was used, so only -lcurses was
14336    checked.</li>
14337
14338    <li>configure.in: Added temporary setting of CPPFLAGS before
14339    AC_CHECK_HEADERS for X11 files. Previously
14340    &lt;X11/DECkeysym.h&gt; and &lt;X11/Xpoll.h&gt; were found only
14341    if they were in the compiler's default include directories,
14342    even if `--x-includes=DIR' had been used or AC_PATH_XTRA had
14343    found them elsewhere.</li>
14344  </ul>
14345
14346  <p>The problem on HP-UX was that we were linking with -lcurses
14347  rather than -ltermcap due to the second bullet above, and
14348  apparently something in HP-UX curses is broken. This seems very
14349  strange, because the only thing used is tgetent, which should
14350  affect any tty/pty configuration, but I lost interest in tracking
14351  down the exact problem.</p>
14352
14353  <h1><a name="xterm_62" id="xterm_62">Patch #62 - 1998/1/23 -
14354  XFree86 3.9Ac</a></h1>
14355
14356  <p>This is a patch mostly by Bjorn Helgaas
14357  &lt;helgaas@dhc.net&gt; (I added the os2main.c change, and a
14358  little of the documentation). From Bjorn's description:</p>
14359
14360  <ul>
14361    <li>If you use the "-hc &lt;color&gt;" option or set the
14362    "highlightColor" resource, text is highlighted by changing only
14363    the background color, rather than using reverse video. I find
14364    this easier to read, especially when selecting multi-colored
14365    text, and it is similar to the way Netscape shows
14366    selections.</li>
14367
14368    <li>Most of the code changes are under "#if
14369    OPT_HIGHLIGHT_COLOR". The principal exception is in screen.c,
14370    where I added a couple calls to resetXtermGC(). This seems like
14371    it could be a bug even without the color highlighting changes
14372    (though I don't pretend to understand all the logic).</li>
14373  </ul>
14374
14375  <h1><a name="xterm_61" id="xterm_61">Patch #61 - 1998/1/17 -
14376  XFree86 3.9Ac</a></h1>
14377
14378  <p>This patch modifies the reset behavior of xterm slightly:</p>
14379
14380  <ul>
14381    <li>change the terminfo entry so that rs1 (one of the strings
14382    used by the 'reset' program) does a hard reset rather than
14383    switching character sets. This is more in accord with other
14384    terminal descriptions.</li>
14385
14386    <li>modifies the treatment of hard reset by the xterm program
14387    to reset the saved lines.</li>
14388
14389    <li>corrects hard reset by also resetting user-defined keys,
14390    i.e., DECUDK.</li>
14391  </ul>
14392
14393  <h1><a name="xterm_60" id="xterm_60">Patch #60 - 1998/1/10 -
14394  XFree86 3.9Ab</a></h1>
14395
14396  <p>This fixes some minor bugs and adds new functionality:</p>
14397
14398  <ul>
14399    <li>add support for blinking text.
14400      <ul>
14401        <li>This does not actually cause the text to flash, but
14402        text with the blink attribute can be displayed in color,
14403        using new resources colorBL and colorBLMode.</li>
14404
14405        <li>If colors are not used, the blinking text will be
14406        displayed as before (just like bold). The main purpose of
14407        this is to make applications work properly when they assume
14408        the emulator supports blinking text.</li>
14409
14410        <li>I did this by moving the per-cell LINEWRAPPED flag to a
14411        per-line flag, to make room for the new BLINK flag. There
14412        were no per-line flags, so this changes a lot of
14413        logic.</li>
14414      </ul>
14415    </li>
14416
14417    <li>corrected missing save-cursor logic in the handling of SGR
14418    1048 (the new control sequence I added in patch #54,
14419    1997/10/17). Reported by Darren Hiebert.</li>
14420
14421    <li>flush the output of the transparent printing after each
14422    line Reported by Tomas Vanhala
14423    &lt;vanhala@ling.helsinki.fi&gt;.</li>
14424
14425    <li>correct the modes that are affected by save/restore cursor
14426    by adding WRAPAROUND and PROTECTED.</li>
14427
14428    <li>corrected placement of one of the XSync calls that I added
14429    in patch #51, 1997/9/15, which had the side-effect of writing
14430    on the window border when the xterm was resizing from 132 to 80
14431    columns.</li>
14432
14433    <li>work around an incompatibility of the XKB definition used
14434    in xterm versus that symbol from IRIX 6.2's imake definitions
14435    (by adjusting the standalone configure script).</li>
14436  </ul>
14437
14438  <h1><a name="xterm_59" id="xterm_59">Patch #59 - 1998/1/5 -
14439  XFree86 3.9Ab</a></h1>
14440
14441  <p>My last patch has an off-by-one error in the comparison for
14442  argc. Douglas Kosovic &lt;douglask@dstc.edu.au&gt; showed me
14443  where (he got a core dump). Also, I think this explains Clint
14444  Olsen's problem, but the symptoms were more subtle (EINVAL for a
14445  system call if the -display option is omitted).</p>
14446
14447  <h1><a name="xterm_58" id="xterm_58">Patch #58 - 1998/1/3 -
14448  XFree86 3.9Ab</a></h1>
14449
14450  <p>This patch does the following:</p>
14451
14452  <ul>
14453    <li>implement logic to permit xterm to work with proportional
14454    fonts.
14455      <ul>
14456        <li>Thomas Wolff &lt;Thomas.Wolff@sietec.de&gt; requested
14457        this (but it isn't exactly what he's asking for - that's a
14458        more involved task).</li>
14459
14460        <li>I chose to do this by rendering the characters on a
14461        fixed pitch, because it would not be useful for existing
14462        applications to display varying numbers of characters on
14463        each line.</li>
14464
14465        <li>Except that this forces the display to be wider, it
14466        works reasonably well. A couple of special cases (reverse +
14467        colorBD, for example) do not display with proper colors,
14468        since the inter-character gaps are painted with the
14469        background.</li>
14470      </ul>
14471    </li>
14472
14473    <li>added a version number to the program (several people have
14474    requested this).</li>
14475
14476    <li>make the -version and -help options interpreted before the
14477    program attempts to open the display.</li>
14478
14479    <li>minor reorganization of the man-page (ordered the options,
14480    resources and translations alphabetically - and eliminated some
14481    duplication).</li>
14482
14483    <li>corrected a misspelled filename in Makefile.in, and added a
14484    lint rule.</li>
14485
14486    <li>updated the configure script to correct behavior when it
14487    cannot find imake, as well as to fix the IRIX+gcc build
14488    (conflict with /usr/include).</li>
14489
14490    <li>regenerated the configure script with a newer patch to
14491    autoconf that fixes a problem with environment space vs the
14492    configure --help message.</li>
14493  </ul>
14494
14495  <h1><a name="xterm_57" id="xterm_57">Patch #57 - 1997/12/26 -
14496  XFree86 3.9Aa</a></h1>
14497
14498  <p>This patch is mostly concerned with the standalone configure
14499  script; a few minor corrections are added:</p>
14500
14501  <ul>
14502    <li>add configure option --disable-tek4014, to allow xterm to
14503    be built without the tek4014 emulation.</li>
14504
14505    <li>add configure option --with-terminal-type, to allow xterm
14506    to be compiled with default $TERM value other than "xterm"
14507    (e.g., "xterm-16color") -- requested by Stephen Marley
14508    &lt;stephen@memex.com&gt;.</li>
14509
14510    <li>fix a typo in the configure --help message -- reported by
14511    Darren Hiebert &lt;darren@hmi.com&gt;.</li>
14512
14513    <li>review diffs between main.c and os2main.c, to make them
14514    more alike. (applies some minor bug-fixes to OS/2's
14515    version).</li>
14516
14517    <li>add missing quotes in memmove/bcopy configure test</li>
14518  </ul>
14519
14520  <h1><a name="xterm_56" id="xterm_56">Patch #56 - 1997/11/28 -
14521  XFree86 3.9x</a></h1>
14522
14523  <p>This patch is based on analysis by Arfst Ludwig
14524  &lt;arfst@luxor.IN-Berlin.DE&gt;, who reported:</p>
14525
14526  <blockquote>
14527    <p>Setting the following resources xterm (all current versions)
14528    receives a segmentation fault on &lt;Btn2Up&gt; after
14529    scrolling:</p>
14530
14531    <pre>
14532          *XTerm*VT100*translations:    #override \
14533              ~Shift~Ctrl&lt;Btn2Up&gt;: insert-selection(PRIMARY, CUT_BUFFER0)\n\
14534              Shift~Ctrl&lt;Btn2Up&gt;:  insert-selection(CLIPBOARD, CUT_BUFFER1)\n\
14535              ~Shift&lt;BtnUp&gt;:       select-end(PRIMARY, CUT_BUFFER0)\n\
14536              Shift&lt;BtnUp&gt;:        select-end(CLIPBOARD, CUT_BUFFER1)
14537</pre>
14538    <p>(The above resources intention is to be able to paste the
14539    latest selection even if the xterm was cleared.)</p>
14540
14541    <p>And here is how it works (and a fix!): The widget given to
14542    the action handler as first argument is not guaranteed to be a
14543    XtermWidget (it can be the ScrollbarWidget). Instead of
14544    accessing the widget's member directly XtDisplay gives the
14545    required pointer in a safe way.</p>
14546  </blockquote>
14547
14548  <p>I noticed that this was not the only instance (by reading the
14549  code, and testing with his example), and extended the solution to
14550  check the widget-class to ensure that it is indeed xterm's widget
14551  class before attempting to use it in the context of
14552  translations.</p>
14553
14554  <h1><a name="xterm_55" id="xterm_55">Patch #55 - 1997/11/25 -
14555  XFree86 3.9x</a></h1>
14556
14557  <p>This fixes the segmentation violation noted by Rogier Wolff
14558  about a month ago. He'd set xterm to 400 (rows) by 150 columns,
14559  which broke because there were limited buffers (200 rows) used
14560  for juggling data when adding or deleting lines and for switching
14561  between alternate and normal screens. I replaced this by an
14562  allocated buffer.</p>
14563
14564  <p>The bug is simple to test if you set titeInhibit false.</p>
14565
14566  <h1><a name="xterm_54" id="xterm_54">Patch #54 - 1997/10/17 -
14567  XFree86 3.9s</a></h1>
14568
14569  <p>This patch does the following:</p>
14570
14571  <ul>
14572    <li>correct a minor placement problem with the right
14573    scrollbar.</li>
14574
14575    <li>implement a new set of control sequences for switching
14576    between the normal and alternate VT100 screens. These work
14577    around the older sequences limitation that required
14578    modification of the runtime $TERMCAP to cooperate with the
14579    titeInhibit resource (that can't work with terminfo). I do this
14580    by moving all of the functionality of the rmcur terminfo
14581    capability into the control sequences.</li>
14582
14583    <li>implement the alternate-screen menu entry</li>
14584  </ul>
14585
14586  <h1><a name="xterm_53" id="xterm_53">Patch #53 - 1997/10/12 -
14587  XFree86 3.9r</a></h1>
14588
14589  <p>This patch adds a fix and implements a new feature (as well as
14590  some minor typos):</p>
14591
14592  <ul>
14593    <li>JCHANDRA@Inf.COM (JCHANDRA) noted that there was still a
14594    problem with the wait call with the logging option. It hung
14595    when the logfile was opened as a command-line option. I fixed
14596    this by moving the StartLogging() call down past the place
14597    where I'd reset the setuid mode. So the logfile is opened as
14598    the real user, without having to fork.</li>
14599
14600    <li>improve Rohleder's changes by renaming the command-line
14601    options and reducing the number of ifdef's.</li>
14602
14603    <li>implement right-scrollbars for xterm (patch by Michael
14604    Rohleder &lt;michael.rohleder@stadt-frankfurt.de&gt;).</li>
14605  </ul>
14606
14607  <h1><a name="xterm_52" id="xterm_52">Patch #52 - 1997/9/29 -
14608  XFree86 3.9q</a></h1>
14609
14610  <p>This patch addresses bugs and requests reported by</p>
14611
14612  <ul>
14613    <li>Bob Maynard &lt;rmaynard@montana.com&gt;,</li>
14614
14615    <li>Clint Olsen &lt;olsenc@ichips.intel.com&gt;,</li>
14616
14617    <li>JCHANDRA@Inf.COM (JCHANDRA),</li>
14618
14619    <li>Michael Schroeder
14620    &lt;Michael.Schroeder@informatik.uni-erlangen.de&gt;,</li>
14621
14622    <li>Pablo Ariel Kohan &lt;pablo@memco.co.il&gt;</li>
14623  </ul>
14624
14625  <p>Some of the changes are interrelated (it was an unusually busy
14626  week).</p>
14627
14628  <ul>
14629    <li>change the default resource value for colorMode to true,
14630    matching the Xterm.ad file.</li>
14631
14632    <li>correct behavior of 'ech' control, making the default and 0
14633    parameters erase one character rather than to the end of line
14634    (reported by Michael Schroeder).</li>
14635
14636    <li>add resource boldColors, command-line options +pc and -pc
14637    and configure-script option to specify behavior of xterm's
14638    mapping bold colors 0 through 7 to colors 8 through 15.
14639    (request by Pablo Ariel Kohan).</li>
14640
14641    <li>add resource colorAttrMode to specify whether colorULMode
14642    and colorBDMode can override the ANSI colors (report by Clint
14643    Olsen).</li>
14644
14645    <li>correct a conflict between colorULMode/colorBDMode versus
14646    ANSI colors, where exposure events would occasionally pick up
14647    the former (e.g., colorBD) rather than ANSI colors. Testing the
14648    colorAttrMode made this apparent, though it has been in the
14649    code since 3.2A (patch #35 in Jan 1997).</li>
14650
14651    <li>correct two problems with the optional logging support. On
14652    Linux at least, the waitpid call in creat_as hangs when the
14653    logging is toggled from the popup menu. Also, the mktemp
14654    template has the wrong number of X's (since X11R5!). Fixed the
14655    waitpid problem by exploiting the fact that the setuid behavior
14656    is reset before the popup menus are available. (reported by
14657    Jayachandran C.).</li>
14658
14659    <li>add configure script options for building with the Xaw3d
14660    and neXtaw libraries.</li>
14661
14662    <li>correct CF_IMAKE_CFLAGS standalone configure script macro,
14663    so that it will pick up $(ALLDEFINES) rather than
14664    $(STD_DEFINES). This is needed to make scrollbars work on
14665    Linux, since that uses narrow prototypes. (reported by Bob
14666    Maynard).</li>
14667
14668    <li>various minor updates to configure-script macros.</li>
14669  </ul>
14670
14671  <h1><a name="xterm_51" id="xterm_51">Patch #51 - 1997/9/15 -
14672  XFree86 3.9p</a></h1>
14673
14674  <p>Most of this patch is related to the standalone configure
14675  script, though there are fixes/enhancements as well:</p>
14676
14677  <ul>
14678    <li>add a new resource sunKeyboard, with associated
14679    command-line option and menu-toggle that allows using a normal
14680    Sun or PC keyboard to generated the complete DEC-style function
14681    keys and keypad.</li>
14682
14683    <li>correct a reversed foreground/background test in the
14684    control sequence that replies with the current SGR
14685    settings.</li>
14686
14687    <li>correct, by invoking XSync, a display problem that caused
14688    the program to not properly update newly exposed areas when a
14689    font change or 80/132 resize request was not completely
14690    accepted.</li>
14691
14692    <li>restructured autoconf macros (I made a library of all of
14693    the macros across the complicated configure scripts I'm working
14694    on).</li>
14695
14696    <li>use the autoconf config.guess and config.sub scripts to
14697    better identify the host-os.</li>
14698
14699    <li>improve the configure script that uses 'imake' as a
14700    fallback for definitions.</li>
14701
14702    <li>correct several instances of unsigned/signed mixed
14703    expressions.</li>
14704  </ul>
14705
14706  <p>I've tested the configure script on Linux, SunOS 4.1.3,
14707  Solaris 2.5.1, IRIX 5.2 and 6.2, AIX 3.2.5 and CLIX 3.1 (all but
14708  the last run properly as well).</p>
14709
14710  <h1><a name="xterm_50" id="xterm_50">Patch #50 - 1997/8/22 -
14711  XFree86 3.9m</a></h1>
14712
14713  <p>This is a collection of small fixes, and a couple of minor
14714  enhancements:</p>
14715
14716  <ul>
14717    <li>plug a security hole in the implementation of Media Copy
14718    (print) by invoking setuid just before the main loop.</li>
14719
14720    <li>add an ifdef'd include for &lt;sys/termio.h&gt; for HP-UX,
14721    which allows the program to process SIGWINCH events (this is a
14722    bug in X11R6.3)</li>
14723
14724    <li>add state-table entries for VT52 emulation to enter/exit
14725    keypad application mode.</li>
14726
14727    <li>disable the popup-menu entry for 8-bit controls when the
14728    terminal-id is less than 200 (e.g., VT52 or VT100).</li>
14729
14730    <li>ensure that the popup-menu entry for 8-bit controls is
14731    updated when the application enables/disables this mode,
14732    including the response to a full-reset.</li>
14733
14734    <li>implement VT300 DECBKM feature: set interpretation of the
14735    backarrow key to either backspace or delete. The initial
14736    setting is via resource; it can also be modified in the main
14737    popup menu.</li>
14738
14739    <li>implement VTxxx KAM (ISO AM), which allows a keyboard to be
14740    locked (i.e., the terminal discards input).</li>
14741
14742    <li>implement VTxxx SRM, which is used to control local echoing
14743    of input on the terminal.</li>
14744
14745    <li>add terminfo and termcap entries for xterm-8bit, a
14746    variation of the xterm description that uses 8-bit control
14747    characters.</li>
14748
14749    <li>add fallback definitions for Imakefile to allow it to work
14750    on some X11R5 systems that have no SpecialCObjectRule or
14751    ProgramTargetName macros.</li>
14752
14753    <li>add .c.o and .c.i rules to standalone Makefile.in</li>
14754
14755    <li>correct order of -lXmu and -lXext in standalone configure
14756    script.</li>
14757
14758    <li>add configure script options to allow selective disabling
14759    of active-icon, input-method and i18n code (mainly for users
14760    with X11R5 or an incomplete X11R6 configuration).</li>
14761
14762    <li>change menu-indices from #define's to enum values, thereby
14763    making it work better with the ifdef's for logging and
14764    active-icon (the X11R6.3 active-icon code is incorrectly
14765    ifdef'd; this corrects an error introduced by incorporating
14766    that code).</li>
14767
14768    <li>correct minor compile errors in the configuration where
14769    active-icon is not used.</li>
14770
14771    <li>add configure option to suppress echoing of long compiler
14772    commands</li>
14773
14774    <li>correct spelling of decTerminalID in configure script help
14775    message</li>
14776
14777    <li>use gcc __attribute__((unused)) to quiet warnings about
14778    unused parameters when compiling with -W (to make it simpler to
14779    find the real problems).</li>
14780  </ul>
14781
14782  <h1><a name="xterm_49" id="xterm_49">Patch #49 - 1997/8/10 -
14783  XFree86 3.9k</a></h1>
14784
14785  <p>This patch implements the VT100/VT220 Media Copy (i.e.,
14786  print-screen) control sequences.</p>
14787
14788  <h1><a name="xterm_48" id="xterm_48">Patch #48 - 1997/7/26 -
14789  XFree86 3.9j</a></h1>
14790
14791  <p>This patch does the following (all but the first affect only
14792  the standalone configure script):</p>
14793
14794  <ul>
14795    <li>minor correction to positioning of underlines for small
14796    (e.g., 5x8) font size.
14797      <p>The existing behavior allowed underlines to be drawn
14798      outside the character-cell, so they weren't cleared properly
14799      under some circumstances.</p>
14800    </li>
14801
14802    <li>adds more special-case tokens to the standalone configure
14803    script's imake-option filter (e.g., "&amp;&amp;", since a "make
14804    -n main.o" on my IRIX system uses that shell construct).</li>
14805
14806    <li>adds a '--enable-logging' option for the standalone
14807    configure script.</li>
14808
14809    <li>adds check and ifdef's for the standalone configure script
14810    to allow for building on platforms with X11R6, which lacks
14811    Xpoll.h (introduced in X11R6.1).</li>
14812  </ul>
14813
14814  <h1><a name="xterm_47" id="xterm_47">Patch #47 - 1997/7/13 -
14815  XFree86 3.9i</a></h1>
14816
14817  <p>This patch does the following</p>
14818
14819  <ul>
14820    <li>corrects an indexing error in the doublesize character
14821    logic (button.c) that caused core dump (this was reported by J.
14822    Wunsch).</li>
14823
14824    <li>corrects the logic of ShowCursor when it is painting in a
14825    doublesize cell (charproc.c).</li>
14826
14827    <li>corrects, according to vttest, the behavior when switching
14828    to doublesize characters and back again (doublechr.c).</li>
14829
14830    <li>adds cbt (back_tab) to the terminfo description (this was
14831    something that I'd overlooked as applicable to curses
14832    optimization last summer).</li>
14833
14834    <li>corrects, for the standalone xmc test, the logic for
14835    disabling xmc.</li>
14836  </ul>
14837
14838  <h1><a name="xterm_46" id="xterm_46">Patch #46 - 1997/7/4 -
14839  XFree86 3.9h</a></h1>
14840
14841  <p>This is a patch to provide test-support for some work I'm
14842  doing on ncurses. It does not modify the normal configuration of
14843  xterm; the code is compiled if the standalone configure option
14844  "--enable-xmc-glitch" is specified.</p>
14845
14846  <h1><a name="xterm_45" id="xterm_45">Patch #45 - 1997/7/2 -
14847  XFree86 3.9h</a></h1>
14848
14849  <p>This fixes the problem reported with xterm's cursor color
14850  versus the background (the second chunk in this patch) and also
14851  removes some duplicate initialization of the cursor GC's. If the
14852  cursor color at startup is the same as the background, then xterm
14853  will use the reverse GC, ignoring the setting of the colorMode
14854  resource.</p>
14855
14856  <h1><a name="xterm_44" id="xterm_44">Patch #44 - 1997/6/22 -
14857  XFree86 3.9g</a></h1>
14858
14859  <p>This implements the first part of the VT100 doublesize
14860  characters for xterm, as well as fixing a handful of bugs:</p>
14861
14862  <ul>
14863    <li>the doublesize character support uses the normal font
14864    (using scaled fonts will be another patch) with blanks to
14865    simulate doublesize characters. This patch does most of the
14866    global changes that'll be required. I've hidden most of the
14867    details in macros and ifdef's so it's easy to configure out
14868    (part of the patch is a configure option for that
14869    purpose).</li>
14870
14871    <li>corrected limits in DeleteChar() function -- it's always
14872    ignored the size of the left border and scrollbar. I noticed
14873    this when working on the doublesize characters since the glitch
14874    was doubled in size (i.e., it wrapped some garbage around the
14875    right margin).</li>
14876
14877    <li>corrected 'memmove()' logic, for standalone builds (it
14878    referenced a malloc wrapper from my development library).</li>
14879
14880    <li>add a check for HideCursor() to prevent repeated screen
14881    updates (which can cause a spurious cursor glitch to appear,
14882    e.g., during scrolling). I noticed this with the 3.2A version
14883    (but only a few weeks ago, when I started working on this
14884    patch).</li>
14885  </ul>
14886
14887  <h1><a name="xterm_43" id="xterm_43">Patch #43 - 1997/6/10 -
14888  XFree86 3.9d</a></h1>
14889
14890  <p>Here's a fix for two problems:</p>
14891
14892  <ul>
14893    <li>modify handling of tgetent results in xterm and resize
14894    programs to make them tolerant of missing termcap file, or
14895    unknown terminal name. In this scheme, an explicit "-tn" option
14896    will succeed, overriding the fallback list.</li>
14897
14898    <li>a nit in the configure script (log extra information to
14899    help diagnose which case of the test-compile of tgetent was
14900    used).</li>
14901  </ul>
14902
14903  <h1><a name="xterm_42" id="xterm_42">Patch #42 - 1997/6/8 -
14904  XFree86 3.2Xl</a></h1>
14905
14906  <p>Bram Moolenaar reported that the cursor color changed
14907  unexpectedly while scrolling. The cause was that it used the same
14908  GC's as the logic that draws the ANSI colors. The bug only
14909  appears if the cursorColor resource isn't set, and has been
14910  present since the initial implementation early last year. (The
14911  same bug also appears in rxvt ;-). Here's a fix.</p>
14912
14913  <h1><a name="xterm_41" id="xterm_41">Patch #41 - 1997/5/28 -
14914  XFree86 3.2Xl</a></h1>
14915
14916  <p>Some nits found by Darren Hiebert (missing part of
14917  install-rule, incorrect assignment for --enable-color-mode
14918  option).</p>
14919
14920  <h1><a name="xterm_40" id="xterm_40">Patch #40 - 1997/5/26 -
14921  XFree86 3.2Xl</a></h1>
14922
14923  <p>Patch for the configure script's logic for obtaining imake
14924  predefined symbols.</p>
14925
14926  <h1><a name="xterm_39" id="xterm_39">Patch #39 - 1997/5/24 -
14927  XFree86 3.2Xl</a></h1>
14928
14929  <p>This patch does the following:</p>
14930
14931  <ul>
14932    <li>integrate the 16-color change for 'xterm'</li>
14933
14934    <li>minor fixes/clarification of tgetent in terminfo vs termcap
14935    to 'resize'</li>
14936  </ul>
14937
14938  <p>(both changes also modify the configure script)</p>
14939
14940  <h1><a name="xterm_38" id="xterm_38">Patch #38 - 1997/5/22 -
14941  XFree86 3.2Xh</a></h1>
14942
14943  <p>This implements a simple configuration script with autoconf
14944  (to which I'll add more options later). It does the
14945  following:</p>
14946
14947  <ul>
14948    <li>configures xterm to build with X11R5 (at least on SunOS
14949    4.1, Solaris 2.4, possibly IRIX - sorry network was down today,
14950    but I did test an earlier version yesterday).</li>
14951
14952    <li>enables/disables the configuration ifdef's for ANSI color
14953    and VT52 emulation.</li>
14954  </ul>
14955
14956  <p>It does not make tests for the things that imake does (that's
14957  another project), instead it uses a hybrid of the autoconf tests
14958  for libraries and adds imake's compiler options (which are
14959  necessary in some cases to get main.c to compile).</p>
14960
14961  <h1><a name="xterm_37" id="xterm_37">Patch #37 - 1997/5/7 -
14962  XFree86 3.9a</a></h1>
14963
14964  <p>This corrects a minor, but annoying error in the vt220
14965  emulation: the DECUDK is only supposed to be interpreted for
14966  _shifted_ function keys.</p>
14967
14968  <h1><a name="xterm_36" id="xterm_36">Patch #36 - 1997/1/16 -
14969  XFree86 3.2r</a></h1>
14970
14971  <p>This corrects something that I overlooked in patch #27
14972  (21-aug-1996), which is that when trimming the region to be
14973  repainted for the highlightSelection resource of xterm, I still
14974  have to paint the background past the highlighted region. This
14975  only happens when I first do a selection in a window that's
14976  partly off-screen, then move the window on-screen.</p>
14977
14978  <h1><a name="xterm_35" id="xterm_35">Patch #35 - 1997/1/7 -
14979  XFree86 3.2o</a></h1>
14980
14981  <p>This patch does the following:</p>
14982
14983  <ul>
14984    <li>combines the coding for foreground and background colors
14985    into a single byte, reducing the memory required to store
14986    saved-lines in color. (I'll take back that byte in a following
14987    patch to use to ensure the character-set, so there's no
14988    long-term decrease in memory use).</li>
14989
14990    <li>modifies the PF1-PF4 coding in termcap/terminfo. Because
14991    xterm is still by default emulating vt100, the function key
14992    codes are vt100-compatible (I overlooked this in patch #31). I
14993    also reformatted the whole terminfo file into a single-column,
14994    for consistency.</li>
14995
14996    <li>adds an interim xterm-vt220 description to accommodate the
14997    old and new styles of function-keys (though probably it'd be
14998    better to drop the old-style altogether).</li>
14999  </ul>
15000
15001  <h1><a name="xterm_34" id="xterm_34">Patch #34 - 1997/1/5 -
15002  XFree86 3.2o</a></h1>
15003
15004  <p>This patch does the following:</p>
15005
15006  <ul>
15007    <li>implement DECSTR (soft terminal reset). The biggest diff is
15008    due to adding another state table (note that there's only one
15009    useful state here, but it's only 256 bytes rather than 1k as it
15010    would have been before I reduced the size of state
15011    entries).</li>
15012
15013    <li>some minor tidying up (e.g., signed/unsigned use bitcpy,
15014    MODE_DECCKM, resetColor, resetCharsets). More is done in patch
15015    #35.</li>
15016  </ul>
15017
15018  <p>I got the description of DECSTR from a vt420 user's manual.
15019  I'll do some testing with vttest to ensure that there's nothing
15020  else to do than what was documented.</p>
15021
15022  <h1><a name="xterm_33" id="xterm_33">Patch #33 - 1996/11/24 -
15023  XFree86 3.2</a></h1>
15024
15025  <p>This adds to the reset-fix by Matthieu Herrb
15026  &lt;Mathieu.Herrb@mipnet.fr&gt; a small change to make xterm able
15027  to output 8-bit characters in VT100 mode. Applications that run
15028  on real VT100's don't do that anyway, and this feature should be
15029  removed sometime after finishing off the VT220 emulation (VT220's
15030  can do 8-bit characters). That would be a good time to change the
15031  default terminal-id to 220.</p>
15032
15033  <h1><a name="xterm_32" id="xterm_32">Patch #32 - 1996/11/21 -
15034  XFree86 3.2</a></h1>
15035
15036  <p>This implements the REP (repeat) control for xterm. That isn't
15037  part of the DEC VTxxx series, but is defined in ISO 6429. (Note
15038  that the base xterm terminal description is <em>not</em> changed
15039  -- I added a variant, "xterm-rep").</p>
15040
15041  <h1><a name="xterm_31" id="xterm_31">Patch #31 - 1996/11/16 -
15042  XFree86 3.2</a></h1>
15043
15044  <p>This implements vt52 emulation in xterm (ifdef'd so it can be
15045  removed). I've been using it for testing for the past month or
15046  so.</p>
15047
15048  <h1><a name="xterm_30" id="xterm_30">Patch #30 - 1996/11/16 -
15049  XFree86 3.2</a></h1>
15050
15051  <p>From bug-report by &lt;auroux@clipper.ens.fr&gt; (Denis
15052  Auroux), missing reset to ground state. I checked through the
15053  rest of <em>that</em> table and found another, in the
15054  unimplemented MC (screen print).</p>
15055
15056  <h1><a name="xterm_29" id="xterm_29">Patch #29 - 1996/9/15 -
15057  XFree86 3.1.2Gb</a></h1>
15058
15059  <p>This patch does the following:</p>
15060
15061  <ul>
15062    <li>corrects the restoration of color for bold/underline color
15063    mode</li>
15064
15065    <li>adds a resource 'decTerminalID' to control the reporting
15066    level of xterm (e.g., VT100, VT220).</li>
15067
15068    <li>uses the new resource to implement/correct the DA1, DA2 and
15069    DECRPTUI reports.</li>
15070
15071    <li>change valid-response code in DECRQSS from 0 to 1 (the
15072    manual says 0, but the VT420 terminal I've been testing on says
15073    1).</li>
15074  </ul>
15075
15076  <p>All of these changes are based on vttest 2.6</p>
15077
15078  <p>(Most of the volume in the patch is to add 2 more state tables
15079  for parsing the 2nd/3rd device-attribute controls).</p>
15080
15081  <h1><a name="xterm_28" id="xterm_28">Patch #28 - 1996/8/31 -
15082  XFree86 3.1.2F</a></h1>
15083
15084  <p>This patch corrects the following reported by Roland Rosenfeld
15085  &lt;roland@spinnaker.rhein.de&gt;:</p>
15086
15087  <ul>
15088    <li>handle SGR 22, 24 and 25 in combination with colorUL and
15089    colorBD resources. Also noted &amp; fixed reset of colored
15090    underline/bold with SGR 0.</li>
15091
15092    <li>a typo in the termcap (missing '['), from 3.1.2Dj (my
15093    error)</li>
15094  </ul>
15095
15096  <p>Roland also complained that he couldn't use box characters
15097  with</p>
15098
15099  <pre>
15100        -adobe-courier-bold-r-normal--12-120-75-75-m-70-iso8859-1
15101</pre>
15102  <p>but that's a known xterm limitation (the box characters must
15103  be part of the font, in the first 32 locations).</p>
15104
15105  <h1><a name="xterm_27" id="xterm_27">Patch #27 - 1996/8/21 -
15106  XFree86 3.1.2Ek</a></h1>
15107
15108  <p>This patch fixes one of my long-term gripes: xterm's selection
15109  doesn't clearly show what's being selected (as per David's
15110  request, it's controlled by a resource, which defaults to the
15111  older behavior).</p>
15112
15113  <h1><a name="xterm_26" id="xterm_26">Patch #26 - 1996/8/20 -
15114  XFree86 3.1.2Ei</a></h1>
15115
15116  <p>Here's a patch to fix a problem with xterm's cut/paste and
15117  another to modify the appearance of the highlighting while
15118  selecting. (The changes are independent, so you can see if the
15119  change to screen.c is desirable).</p>
15120
15121  <h1><a name="xterm_25" id="xterm_25">Patch #25 - 1996/8/18 -
15122  XFree86 3.1.2Ei</a></h1>
15123
15124  <p>Here's a correction for two minor bugs that I picked up in
15125  testing, plus some lint (from Solaris 2.5) where NULL was used
15126  incorrectly:</p>
15127
15128  <ul>
15129    <li>make the second alternate font the same as the first
15130    (that's what vt420 and dtterm do)</li>
15131
15132    <li>corrected DECSCL report when DECSCL hasn't been set (i.e.,
15133    don't return a '60').</li>
15134  </ul>
15135
15136  <h1><a name="xterm_24" id="xterm_24">Patch #24 - 1996/8/11 -
15137  XFree86 3.1.2Ee</a></h1>
15138
15139  <p>This patch does several things. In effect, xterm can (I think)
15140  do a reasonably good job of emulating vt220 and vt320 terminals
15141  (as well as it was doing vt100, at any rate ;-).</p>
15142
15143  <p>It does NOT do:</p>
15144
15145  <ul>
15146    <li>soft fonts</li>
15147
15148    <li>rigel or sixel graphics</li>
15149  </ul>
15150
15151  <p>Anyway, I:</p>
15152
15153  <ul>
15154    <li>added ECH, CPL, CNL, SU, SD, CBT, CHT controls</li>
15155
15156    <li>added popup-menu for switching between DEC and Sun function
15157    keys. (corrected alignment err wrt logging entry at that
15158    point).</li>
15159
15160    <li>make xterm recognize both 8-bit and 7-bit controls
15161    (including popup menu for switching modes).</li>
15162
15163    <li>add user-definable function keys (aka DECUDK)</li>
15164
15165    <li>support concealed text</li>
15166
15167    <li>support protected text (both ISO compatible and DEC
15168    compatible - that's not the same thing, btw), with SPA, EPA,
15169    DECSCA, DECSED, DECSEL controls.</li>
15170
15171    <li>implement DECSCL.</li>
15172  </ul>
15173
15174  <p>I'll be continuing to test this patch for a while, but don't
15175  expect to add any new functionality (it passes all of the current
15176  tests I've built in vttest, but I need to make more tests)..</p>
15177
15178  <h1><a name="xterm_23" id="xterm_23">Patch #23 - 1996/7/31 -
15179  XFree86 3.1.2Ec</a></h1>
15180
15181  <p>This removes the blinking cursor I added last week (for
15182  performance reasons). Time-permitting, I'll revisit this after
15183  3.2 is released (there <em>will</em> be more work after XFree86
15184  3.2, I assume).</p>
15185
15186  <h1><a name="xterm_22" id="xterm_22">Patch #22 - 1996/7/26 -
15187  XFree86 3.1.2Ec</a></h1>
15188
15189  <p>I looked more closely at my "double-negative" and realized
15190  that I had been confused by the default color scheme (black on
15191  white) in combination with reverse video. However, I did see that
15192  the original_fg and original_bg data weren't really used - so I
15193  removed that logic.</p>
15194
15195  <p>Also:</p>
15196
15197  <ul>
15198    <li>during initialization, check if ANSI colors are set with
15199    non fg/bg values, disable color mode if not. This makes xterm
15200    tolerant of applications that allocate the whole color
15201    map.</li>
15202
15203    <li>implemented blinking cursor (default is <em>off</em>)</li>
15204  </ul>
15205
15206  <h1><a name="xterm_21" id="xterm_21">Patch #21 - 1996/7/24 -
15207  XFree86 3.1.2Ec</a></h1>
15208
15209  <p>This patch does the following:</p>
15210
15211  <ul>
15212    <li>fixes some minor typography in the control-sequences
15213    documentation (it didn't occur to me til I'd sent the last
15214    patch that I could use ghostview for previewing the troff
15215    output ;-)</li>
15216
15217    <li>adjusts the shell's background color in ReverseVideo so
15218    that flicker in resizing is reduced</li>
15219
15220    <li>adds an ifdef OPT_ISO_COLORS to allow configuring xterm
15221    without the ISO color support (saves a lot of memory)</li>
15222
15223    <li>used that ifdef to isolate/modify logic so that if the user
15224    doesn't have the colorMode enabled, then ISO color support is
15225    disabled (saving memory).
15226      <p>(If anyone needs numbers, I had savedLines set to 2000,
15227      and found a reduction from ~700k to ~400k of allocated
15228      memory, according to Purify).</p>
15229    </li>
15230  </ul>
15231
15232  <h1><a name="xterm_20" id="xterm_20">Patch #20 - 1996/7/24 -
15233  XFree86 3.1.2Ec</a></h1>
15234
15235  <p>This documents the changes in control sequences for window
15236  operations that I added in my previous patch. I'm testing another
15237  patch that allows the user to use less memory if colors aren't
15238  needed.</p>
15239
15240  <h1><a name="xterm_19" id="xterm_19">Patch #19 - 1996/7/21 -
15241  XFree86 3.1.2Ec</a></h1>
15242
15243  <p>This patch does the following:</p>
15244
15245  <ul>
15246    <li>fixes the core dump that I reported on IRIX 5.2 (in main.c)
15247      <p>(it's worth noting that this bug exists in X11R6.1, so I'd
15248      like to assume that someone's already submitted a fix to X
15249      Consortium...)</p>
15250    </li>
15251
15252    <li>change the interpretation of zero rows or columns in a
15253    resize-window request to use the root window's size (looking
15254    more carefully at dtterm, that seems to be what it does).</li>
15255
15256    <li>change some memmove calls to memcpy for slightly better
15257    performance. also, a couple of memset calls to bzero, since
15258    Quantify says bzero runs 20% faster, I assume because there's
15259    one less argument.</li>
15260
15261    <li>interpret character sets 1 and 2 (so that vttest gives a
15262    reasonable result) Both rxvt and dtterm do something
15263    equivalent.</li>
15264
15265    <li>fix a minor memory leak in the logic that retrieves the
15266    window or icon names (Purify found this for me while I ran
15267    vttest).</li>
15268  </ul>
15269
15270  <h1><a name="xterm_18" id="xterm_18">Patch #18 - 1996/7/18 -
15271  XFree86 3.1.2Ec</a></h1>
15272
15273  <p>This implements the following:</p>
15274
15275  <ul>
15276    <li>escape sequences that act like the CDE dtterm's window
15277    operations (though I have implemented the default width and
15278    height -- I've seen a rather buggy dtterm running that seems to
15279    treat width=0 or height=0 literally -- maybe that's a feature,
15280    not a bug?)</li>
15281
15282    <li>minor tweak to the screen-repainting when resizing (I still
15283    cannot entirely get rid of flicker).</li>
15284
15285    <li>still more fixes to terminfo &amp; termcap (I corrected my
15286    error for the hpa code and added some other stuff by comparing
15287    to ncurses' description and rxvt's).</li>
15288
15289    <li>a tweak to the changes by Michael Rohleder for the color
15290    translation</li>
15291
15292    <li>re-order attribute codes to allow later implementation of
15293    protected fields (dtterm supposedly does this; it's probably
15294    more useful than blinking or invisible text -- that uses up all
15295    of the available bits without changing the attribute scheme
15296    radically).</li>
15297  </ul>
15298
15299  <h1><a name="xterm_17" id="xterm_17">Patch #17 - 1996/7/2 -
15300  XFree86 3.1.2Eb</a></h1>
15301
15302  <p>This patch implements for xterm several minor features from
15303  ISO 6429 which are useful for terminfo applications. The HPA and
15304  VPA control sequences allow cursor movement along a row or
15305  column, cutting down a little on the characters transmitted. The
15306  other codes allow resetting specific graphic rendition attributes
15307  without modifying the other attributes. (now if someone just had
15308  time to implement blinking cursors...)</p>
15309
15310  <h1><a name="xterm_16" id="xterm_16">Patch #16 - 1996/6/25 -
15311  XFree86 3.1.2Ea</a></h1>
15312
15313  <p>Adam Tla/lka &lt;atlka@pg.gda.pl&gt; told me a couple of weeks
15314  ago that I'd missed some of the background coloring in xterm. I
15315  investigated, and found that while I'd picked up on the
15316  clear-to-bottom and clear-to-end-of-line operations, I'd
15317  overlooked the insert/delete lines. Just so I wouldn't overlook
15318  any more of these, I updated a copy of vttest to test ISO colors
15319  and bce (background color erase). This patch introduces a new
15320  function, ClearCurBackground, whose calls replace the direct
15321  XClearArea calls that I'd overlooked. (There's also a few
15322  compiler warnings fixed, etc ;-)</p>
15323
15324  <h1><a name="xterm_15" id="xterm_15">Patch #15 - 1996/5/29 -
15325  XFree86 3.1.2E</a></h1>
15326
15327  <p>This fixes the problem reported by David Dawes, by making the
15328  50msec select timeout for the Xaw3d arrow scrollbar a resource.
15329  (I made it a boolean for a variety of reasons -- to make it a
15330  number, you'd need an additional resource, to avoid breaking the
15331  logic).</p>
15332
15333  <h1><a name="xterm_14" id="xterm_14">Patch #14 - 1996/5/12 -
15334  XFree86 3.1.2Dj</a></h1>
15335
15336  <p>This patch brings the termcap and terminfo descriptions for
15337  xterm up to date. I made the following changes:</p>
15338
15339  <ul>
15340    <li>reformatted the terminfo description in a single-column
15341    (this is ok for terminfo, and will simplify future patches --
15342    can't do that for termcap, since it would impact buffer
15343    requirements on some systems).</li>
15344
15345    <li>omitted obsolete features in termcap to save a little space
15346    (bs, pt)</li>
15347
15348    <li>added color capabilities to termcap (ut, Co, NC, op, AB,
15349    AF)</li>
15350
15351    <li>corrected some capabilities (vi, ve)</li>
15352
15353    <li>added 'st' (set tab)</li>
15354
15355    <li>reduced function keys in termcap for 'xterm' to 12 because
15356    color capabilities makes that description larger than 1023
15357    characters.</li>
15358
15359    <li>created new termcap name 'xtermm' (monochrome) to match the
15360    terminfo list, and make that description have 20 function
15361    keys.</li>
15362
15363    <li>added corresponding color capabilities to terminfo (bce,
15364    colors, pairs, op, ncv, setab, setaf)</li>
15365
15366    <li>corrected corresponding capabilities in terminfo (civis,
15367    cnorm, rmcup, smcup)</li>
15368
15369    <li>added capabilities (el1, hts)</li>
15370
15371    <li>in both, corrected home/end keys to match the code
15372    correction made by Thomas Mueller in 3.1.2Bk
15373      <p>=&gt; (I'm still considering modifying the code &amp;
15374      description to match the rxvt program).</p>
15375    </li>
15376  </ul>
15377
15378  <h1><a name="xterm_13" id="xterm_13">Patch #13 - 1996/4/23 -
15379  XFree86 3.1.2Df</a></h1>
15380
15381  <p>This corrects my earlier changes for colors - the inner border
15382  of the xterm was getting painted with the wrong color, since I'd
15383  moved the call to set the background into the logic that tracks
15384  SGR information.</p>
15385
15386  <h1><a name="xterm_12" id="xterm_12">Patch #12 - 1996/3/16 -
15387  XFree86 3.1.2Dc</a></h1>
15388
15389  <p>This corrects a memory leak in xterm that happens whenever one
15390  switches fonts.</p>
15391
15392  <h1><a name="xterm_11" id="xterm_11">Patch #11 - 1996/3/5 -
15393  XFree86 3.1.2Db</a></h1>
15394
15395  <p>This patch corrects the behavior of the ANSI colors in xterm
15396  when reverse video is used, as well as some other lesser
15397  sins:</p>
15398
15399  <ul>
15400    <li>button.c
15401      <ul>
15402        <li>(compiler warnings: shadowing of 'time', redundant
15403        cast)</li>
15404      </ul>
15405    </li>
15406
15407    <li>charproc.c
15408      <ul>
15409        <li>renamed screen.colors[] array to screen.Acolors[] to
15410        more easily distinguish the non-ANSI colors from the ANSI
15411        colors.</li>
15412
15413        <li>moved logic of SGR_Save() into VTInitialize, getting
15414        rid of local private variables original_fg and
15415        original_bg.</li>
15416
15417        <li>moved some logic into getXtermForeground and
15418        getXtermBackground from SGR_Foreground, SGR_Background,
15419        etc.</li>
15420
15421        <li>corrected misleading 'row' to 'col' in case for CUF,
15422        CUB sequences.</li>
15423      </ul>
15424    </li>
15425
15426    <li>ctlseqs.ms</li>
15427
15428    <li>xterm.man
15429      <ul>
15430        <li>(correct a misconception which I'd added that the
15431        color0 through color6 resource values apply to non-ANSI
15432        colors)</li>
15433      </ul>
15434    </li>
15435
15436    <li>ptyx.h
15437      <ul>
15438        <li>added original_fg, original_bg to TScreen
15439        structure.</li>
15440      </ul>
15441    </li>
15442
15443    <li>scrollbar.c
15444      <ul>
15445        <li>(compiler warnings: redundant cast)</li>
15446      </ul>
15447    </li>
15448
15449    <li>util.c
15450      <ul>
15451        <li>new functions getXtermForeground and getXtermBackground
15452        replace the macros GET_FG and GET_BG, with the added
15453        functionality of checking for the reverse-video status of
15454        xterm.</li>
15455
15456        <li>in ReverseVideo, swap the SGR foreground and background
15457        colors also.</li>
15458      </ul>
15459    </li>
15460  </ul>
15461
15462  <h1><a name="xterm_10" id="xterm_10">Patch #10 - 1996/2/14 -
15463  XFree86 3.1.2Cd</a></h1>
15464
15465  <p>I observed an occasional glitch in the xterm's color behavior;
15466  a clear to end of line would get a color that had been used in a
15467  program that supposedly reset colors. I traced this down to the
15468  way xterm was modifying colors of GC's on the fly; it didn't
15469  restore the original color of the GC, even though it would later
15470  be used in functions (such as ClearRight) that assumed (my error)
15471  that the GC would have the current foreground or background
15472  color.</p>
15473
15474  <p>I fixed this by resetting the GC's colors with a new function
15475  'resetXtermGC()', and direct calls on
15476  SGR_Foreground/SGR_Background, as appropriate and using a new
15477  function 'updatedXtermGC()' to encapsulate the logic that
15478  modifies the GC's color. (I also removed some commented-out code
15479  that was trying to do this -- the problem was a little more
15480  obscure).</p>
15481
15482  <h1><a name="xterm_09" id="xterm_09">Patch #9 - 1996/2/10 -
15483  XFree86 3.1.2Cb</a></h1>
15484
15485  <p>This patch fixes the remaining problems that I had making
15486  xterm run with x11r5, as well as a couple of other bugs. It
15487  follows my patch from yesterday, that added ifdef's for some of
15488  the input-method resources.</p>
15489
15490  <ul>
15491    <li>corrected ifdef's that suppress the input-method code
15492    (doesn't exist in my x11r5, and xterm works adequately without
15493    it).</li>
15494
15495    <li>corrected fallback definition for 'Select()' macro (oops:
15496    I'd copied the wrong text...)</li>
15497
15498    <li>moved the declarations for the fd_set variables to
15499    data.[ch]</li>
15500
15501    <li>corrected an ifdef in resize.c (sunos 4.x doesn't have
15502    termcap.h)</li>
15503
15504    <li>corrected (in main.c) some unused/orphaned variables.</li>
15505  </ul>
15506
15507  <h1><a name="xterm_08" id="xterm_08">Patch #8 - 1996/2/9 -
15508  XFree86 3.1.2Cb</a></h1>
15509
15510  <p>This is mostly a documentation patch for xterm. It describes
15511  the color control sequences in more detail, and documents some
15512  other features of xterm that aren't described elsewhere.</p>
15513
15514  <p>I've also added a couple of ifdef's to fix (part of) the
15515  problem that I'm working on (making the program work properly on
15516  x11r5, where I'm doing memory testing -- I have a "good" version
15517  from mid-January, but my resync version doesn't work properly on
15518  x11r5). I'm not done with <em>that</em> yet.</p>
15519
15520  <h1><a name="xterm_07" id="xterm_07">Patch #7 - 1996/1/28 -
15521  XFree86 3.1.2n</a></h1>
15522
15523  <p>I did a (clean) build of 3.1.2n on Linux 1.2.13 (ELF). I've
15524  got an S3 card.</p>
15525
15526  <p>This fixes the following in the 3.1.2n xterm:</p>
15527
15528  <ul>
15529    <li>initialize cur_foreground, cur_background in charproc.c
15530    (Purify told me they weren't initialized).</li>
15531
15532    <li>add interpretation of codes 39, 49, to reset background and
15533    foreground to default value (I'm told that ISO 6429 does this;
15534    but I don't have a written reference -- yet -- can anyone help
15535    here?). Anyway, rxvt does it, and it'll solve my remaining
15536    color management problems.</li>
15537
15538    <li>shadowing of 'time' in menu.c</li>
15539
15540    <li>'Cardinal' vs 'int' in scrollbar.c</li>
15541
15542    <li>several changes to permit compile with X11R5 (the system
15543    that I've got Purify on won't be upgraded to X11R6 for a long
15544    time).</li>
15545  </ul>
15546
15547  <p>I built this version (with a minor nit that I'll patch soon)
15548  on SunOS 4.1.3 so that I can test it some more with Purify.</p>
15549
15550  <p><em>btw</em>: the changes made in Xpoll.h won't work on some
15551  older systems, because fd_set isn't a defined type (I've got one
15552  machine at least that this applies to).</p>
15553
15554  <h1><a name="xterm_06" id="xterm_06">Patch #6 - 1996/1/8</a></h1>
15555
15556  <p>This patch does all of the SGR foreground/background fixes
15557  (i.e., clearing the screen after an SGR color is set causes that
15558  color to be used in the foreground and/or background). If the
15559  FG_COLOR and/or BG_COLOR flags aren't set, then the xterm
15560  foreground and background default to the window's values. This
15561  usage is consistent with various types of hardware (especially
15562  the IBM PC), and is also used in rxvt.</p>
15563
15564  <ul>
15565    <li>charproc.c:
15566      <ul>
15567        <li>add/use new macros GET_FG, GET_BG - n/c.</li>
15568
15569        <li>add/use new functions SGR_Foreground() and
15570        SGR_Background() to set corresponding colors in GC's, and
15571        to retain sense of "original" colors.
15572          <p>=&gt; This makes redundant some of the corresponding
15573          logic in HideCursor to set the foreground and background,
15574          but I left it in since it <em>may</em> be fixing an
15575          unrelated requirement.</p>
15576        </li>
15577
15578        <li>set GC's in LoadNewFont() according to whether the SGR
15579        fg/bg colors are active.
15580          <p>=&gt; This fixes some glitches in the accompanying
15581          resize, that leaves parts of the window in the original
15582          background color.</p>
15583        </li>
15584      </ul>
15585    </li>
15586
15587    <li>screen.c:
15588      <ul>
15589        <li>modified ClearBufRows() to use the SGR fg/bg colors if
15590        they're set.</li>
15591
15592        <li>added function ScrnClearLines(), used this to replace
15593        portions of ScrnInsertLine() and ScrnDeleteLine(). The new
15594        function uses the SGR fg/bg colors if they're set.
15595          <p>=&gt; Otherwise, selection after an index or reverse
15596          index will paint the wrong colors.</p>
15597        </li>
15598
15599        <li>modified ScrnDeleteChar() and ScrnInsertChar() to use
15600        SGR fg/bg colors.</li>
15601      </ul>
15602    </li>
15603
15604    <li>util.c:
15605      <ul>
15606        <li>modified ClearRight() so that if either of the SGR
15607        fg/bg colors is set, we don't bzero the attributes and
15608        color arrays, but instead fill them with the appropriate
15609        codes.</li>
15610
15611        <li>modified ClearLeft to use SGR fg/bg colors.</li>
15612      </ul>
15613    </li>
15614  </ul>
15615
15616  <h1><a name="xterm_05" id="xterm_05">Patch #5 - 1996/1/7</a></h1>
15617
15618  <p>This patch modifies the object code, by replacing indexing
15619  expressions with temporary variables with the full indexing
15620  expression. At first glance, this seems inefficient (it did to me
15621  ;-), until remembering comments made in the compilers newsgroups
15622  that trying to "help" the compiler doesn't really work that well.
15623  A good optimizing compiler can do a better job than the
15624  programmer can. (There's a moral in the use of 'register'
15625  variables also, but I won't fix those...).</p>
15626
15627  <p>Anyway, the revised code generates a smaller object...</p>
15628
15629  <ul>
15630    <li>charproc.c:
15631      <ul>
15632        <li>recode index expressions in ShowCursor() and
15633        HideCursor() using SCRN_BUF_xxxxS macros - changes
15634        object.</li>
15635
15636        <li>replace constant '4' by MAX_PTRS - n/c.</li>
15637      </ul>
15638    </li>
15639
15640    <li>ptyx.h:
15641      <ul>
15642        <li>defined the SCRN_BUF_xxxxS macros in terms of BUF_xxxxS
15643        macros, to pick up references to ScrnBuf data directly, and
15644        added MAX_PTRS symbol to pick up those '4' constants strewn
15645        about the code - n/c.</li>
15646      </ul>
15647    </li>
15648
15649    <li>screen.c:
15650      <ul>
15651        <li>recode index expressions in ScreenWrite() using
15652        SCRN_BUF_xxxxS macros - changes object.</li>
15653
15654        <li>replace constant '4' by MAX_PTRS - n/c.</li>
15655
15656        <li>use macros BUF_CHARS, BUF_ATTRS - n/c.</li>
15657
15658        <li>cast calloc to 'Char *' to fix compiler warning on IRIX
15659        - n/c</li>
15660      </ul>
15661    </li>
15662
15663    <li>scrollbar.c:
15664      <ul>
15665        <li>replace constant '4' by MAX_PTRS - n/c.</li>
15666
15667        <li>cast calloc to 'Char *' to fix compiler warning on IRIX
15668        - n/c</li>
15669      </ul>
15670    </li>
15671  </ul>
15672
15673  <h1><a name="xterm_04" id="xterm_04">Patch #4 - 1996/1/7</a></h1>
15674
15675  <p>When setting up for this phase, I saw that you'd corrected the
15676  bug that I found in ClearLeft. I decided to make this series of
15677  patches anyway, since readability never hurt (and there's the
15678  potential for finding another bug while reviewing this set).</p>
15679
15680  <ul>
15681    <li>button.c:
15682      <ul>
15683        <li>use SCRN_BUF_xxxxS macros - n/c</li>
15684      </ul>
15685    </li>
15686
15687    <li>charproc.c:
15688      <ul>
15689        <li>use SCRN_BUF_xxxxS macros - n/c</li>
15690      </ul>
15691    </li>
15692
15693    <li>ptyx.h:
15694      <ul>
15695        <li>added four macros: SCRN_BUF_CHARS, SCRN_BUF_ATTRS,
15696        SCRN_BUF_FORES, SCRN_BUF_BACKS to represent the four arrays
15697        that are derived from screen-&gt;buf.</li>
15698      </ul>
15699    </li>
15700
15701    <li>screen.c:
15702      <ul>
15703        <li>use SCRN_BUF_xxxxS macros - n/c</li>
15704      </ul>
15705    </li>
15706
15707    <li>util.c:
15708      <ul>
15709        <li>use SCRN_BUF_xxxxS macros - n/c</li>
15710      </ul>
15711    </li>
15712  </ul>
15713
15714  <h1><a name="xterm_03" id="xterm_03">Patch #3 - 1996/1/7</a></h1>
15715
15716  <p>This is my third (and final cleanup) patch for xterm. It gets
15717  rid of the unused stuff, and converts several functions to static
15718  (thereby reducing their scope).</p>
15719
15720  <p>At this point, the only compile warnings I've got (on Linux)
15721  are those about the select arguments (int vs fd_set type), and a
15722  missing declaration for waitpid. Those both are hard to get right
15723  without autoconfigure.</p>
15724
15725  <p>The next patches will address the functional changes...</p>
15726
15727  <ul>
15728    <li>Tekproc.c:
15729      <ul>
15730        <li>changed several functions to 'static' that aren't used
15731        outside this module -- changes object</li>
15732      </ul>
15733    </li>
15734
15735    <li>charproc.c:
15736      <ul>
15737        <li>changed several functions to 'static' that aren't used
15738        outside this module -- changes object</li>
15739
15740        <li>deleted unused function unparsefputs -- changes
15741        object.</li>
15742      </ul>
15743    </li>
15744
15745    <li>main.c:
15746      <ul>
15747        <li>changed several functions to 'static' that aren't used
15748        outside this module -- changes object</li>
15749
15750        <li>ifdef'd out unused function 'consolepr()' -- changes
15751        object</li>
15752
15753        <li>removed unused variable 'dummy_tio' -- changes
15754        object</li>
15755
15756        <li>moved variable 'discipline' to quiet unused-warning --
15757        changes object</li>
15758      </ul>
15759    </li>
15760
15761    <li>main.h:
15762      <ul>
15763        <li>deleted unused definition of DEFBORDERWIDTH - n/c</li>
15764      </ul>
15765    </li>
15766
15767    <li>misc.c:
15768      <ul>
15769        <li>changed several functions to 'static' that aren't used
15770        outside this module -- changes object</li>
15771
15772        <li>provide dummy return statements for xerror and xioerror
15773        to quiet compiler warnings -- changes object</li>
15774      </ul>
15775    </li>
15776
15777    <li>ptyx.h:
15778      <ul>
15779        <li>change sbuf_address and abuf_address to 'Char *' -
15780        n/c</li>
15781      </ul>
15782    </li>
15783
15784    <li>resize.c:
15785      <ul>
15786        <li>changed several functions to 'static' that aren't used
15787        outside this module -- changes object</li>
15788      </ul>
15789    </li>
15790
15791    <li>screen.c:
15792      <ul>
15793        <li>remove unnecessary 'Char **' casts - n/c</li>
15794      </ul>
15795    </li>
15796
15797    <li>util.c:
15798      <ul>
15799        <li>changed several functions to 'static' that aren't used
15800        outside this module -- changes object</li>
15801      </ul>
15802    </li>
15803  </ul>
15804
15805  <h1><a name="xterm_02" id="xterm_02">Patch #2 - 1996/1/7</a></h1>
15806
15807  <p>This is my second patch to xterm. It corrects most of the gcc
15808  warnings (except for some that are due to X header files ;-). I
15809  compared objects to keep track of the changes that don't affect
15810  the object code (n/c) versus those that do.</p>
15811
15812  <p>At this point, I'm compiling (fairly) clean with gcc
15813  options</p>
15814
15815  <pre>
15816        -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wnested-externs
15817</pre>
15818  <p>(I also compiled with -Wshadow, but while that found some
15819  things that I wanted to find, there's far too many warnings from
15820  the X headers to be usable in this context).</p>
15821
15822  <p>The changes:</p>
15823
15824  <ul>
15825    <li>Tekproc.c:
15826      <ul>
15827        <li>parenthesized expression to avoid gcc warning --
15828        n/c.</li>
15829
15830        <li>corrected nested-extern declaration for Bool
15831        waiting_for_initial_map; ourTopLevelShellArgs, and
15832        number_ourTopLevelShellArgs - n/c</li>
15833      </ul>
15834    </li>
15835
15836    <li>charproc.c:
15837      <ul>
15838        <li>corrected potentially-unintialized variables 'scstype',
15839        'xim', and 'input_style' -- changes object.</li>
15840
15841        <li>adjusted logic of VTparse so that gcc won't warn about
15842        setjmp clobbering parsestate -- changes object.</li>
15843
15844        <li>corrected initialization of 'scstype', which could have
15845        been clobbered by setjmp/longjmp - changes object.</li>
15846
15847        <li>corrected nested-extern declaration of 'term',
15848        'ProgramName' - n/c</li>
15849      </ul>
15850    </li>
15851
15852    <li>cursor.c:
15853      <ul>
15854        <li>corrected nested-extern declaration of 'term' --
15855        n/c</li>
15856
15857        <li>renamed 'term' parameters to avoid gcc -Wshadow warning
15858        - n/c</li>
15859      </ul>
15860    </li>
15861
15862    <li>input.c:
15863      <ul>
15864        <li>change interface of StringInput to assume size_t (i.e.,
15865        unsigned) nbytes -- changes object.</li>
15866
15867        <li>change interface of funcvalue, and sunfuncvalue to use
15868        'KeySym' type instead of 'int' - changes object.</li>
15869      </ul>
15870    </li>
15871
15872    <li>main.c:
15873      <ul>
15874        <li>moved definitions of SIGNAL_T, SIGNAL_RETURN to proto.h
15875        - n/c</li>
15876
15877        <li>corrected missing params of 'do_hangup()' -- changes
15878        object (note: the missing params were not used).</li>
15879
15880        <li>corrected missing param of 'Error()' -- changes
15881        object</li>
15882
15883        <li>corrected nested-extern 'environ' - n/c</li>
15884
15885        <li>adjusted assignments to 'tty_got_hung' and 'no_dev_tty'
15886        so that gcc can see they won't be clobbered by the longjmp
15887        - changes object.</li>
15888
15889        <li>use Size_t type - n/c.</li>
15890      </ul>
15891    </li>
15892
15893    <li>menu.c:
15894      <ul>
15895        <li>removed redundant prototype for 'do_hangup()' --
15896        n/c.</li>
15897
15898        <li>renamed 'time' parameters to avoid gcc -Wshadow warning
15899        - n/c</li>
15900      </ul>
15901    </li>
15902
15903    <li>menu.h:
15904      <ul>
15905        <li>renamed 'time' parameters to avoid gcc -Wshadow warning
15906        - n/c</li>
15907      </ul>
15908    </li>
15909
15910    <li>misc.c:
15911      <ul>
15912        <li>corrected definition of 'HandleFocusChange()' --
15913        changes object</li>
15914
15915        <li>cast parameters in call to 'TekExpose()' -- n/c</li>
15916
15917        <li>corrected nested-extern declarations of 'term',
15918        'toplevel', ProgramName, and 'environ' -- n/c.</li>
15919
15920        <li>use Size_t type - n/c.</li>
15921      </ul>
15922    </li>
15923
15924    <li>proto.h:
15925      <ul>
15926        <li>moved definition of SIGNAL_T (and SIGNAL_RETURN) here
15927        from main.c, resize.c to allow use of this symbol in
15928        prototypes (mostly in xterm.h).</li>
15929
15930        <li>added definition 'Size_t' to use as corrected type for
15931        strncpy, malloc sizes - n/c.</li>
15932      </ul>
15933    </li>
15934
15935    <li>resize.c:
15936      <ul>
15937        <li>moved SIGNAL_T definition to proto.h -- n/c.</li>
15938
15939        <li>use Size_t type - n/c.</li>
15940      </ul>
15941    </li>
15942
15943    <li>screen.c:
15944      <ul>
15945        <li>use Size_t type - n/c.</li>
15946      </ul>
15947    </li>
15948
15949    <li>tabs.c:
15950      <ul>
15951        <li>corrected nested-extern declaration of 'term' --
15952        n/c</li>
15953      </ul>
15954    </li>
15955
15956    <li>util.c:
15957      <ul>
15958        <li>corrected/supplied parameters to 'TekExpose()' --
15959        changes object (note: 'TekExpose()' doesn't use its
15960        parameters).</li>
15961
15962        <li>corrected nested-extern declaration of
15963        'waiting_for_initial_map' -- n/c.</li>
15964
15965        <li>renamed 'term' parameters to avoid gcc -Wshadow warning
15966        - n/c</li>
15967      </ul>
15968    </li>
15969
15970    <li>xterm.h:
15971      <ul>
15972        <li>prototype 'do_hangup()', 'HandleFocusChange()',
15973        'TekExpose()', 'Error()', 'Exit()' - forces changes in
15974        various places.</li>
15975
15976        <li>adjusted prototypes that pass 'Boolean' arguments to
15977        use 'int' (this is the "correct" ANSI approach to extended
15978        compiles; it's worth mentioning that gcc doesn't meet the
15979        ANSI spec here). I used gcc -Wconversion to find these, but
15980        there's a lot of unrelated warnings that are due to setting
15981        NARROWPROTO in the config - n/c.</li>
15982
15983        <li>renamed 'term' parameters to avoid gcc -Wshadow warning
15984        - n/c</li>
15985      </ul>
15986    </li>
15987  </ul>
15988
15989  <h1><a name="xterm_01" id="xterm_01">Patch #1 - 1996/1/6</a></h1>
15990
15991  <p>This is my first cleanup patch for xterm. It addresses all of
15992  the gcc warnings for -Wall, -Wmissing-prototypes and
15993  -Wstrict-prototypes that I can change without modifying the
15994  object code. (I'm compiling this with gcc 2.7.0 for an aout
15995  target, which makes it simple to compare objects. When I do
15996  ELF-only, I've got a tool that compares that sort of thing as
15997  well).</p>
15998
15999  <p>Briefly, this patch adds (and uses) two header files in the
16000  xterm directory:</p>
16001
16002  <pre>
16003        proto.h
16004        xterm.h
16005</pre>
16006  <p>I expect this to be the biggest patch by far. However (barring
16007  a misplaced prototype), it shouldn't break anything, since the
16008  intent of the patch is to provide missing declarations.</p>
16009</body>
16010</html>
16011