xterm.log.html revision ae137402
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.2334 2021/06/08 00:41:48 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_368">Patch #368 - 2021/06/07</a></li>
74
75    <li><a href="#xterm_367">Patch #367 - 2021/03/26</a></li>
76
77    <li><a href="#xterm_366">Patch #366 - 2021/02/10</a></li>
78
79    <li><a href="#xterm_365">Patch #365 - 2021/02/03</a></li>
80
81    <li><a href="#xterm_364">Patch #364 - 2021/02/02</a></li>
82
83    <li><a href="#xterm_363">Patch #363 - 2020/12/26</a></li>
84
85    <li><a href="#xterm_362">Patch #362 - 2020/11/11</a></li>
86
87    <li><a href="#xterm_361">Patch #361 - 2020/10/14</a></li>
88
89    <li><a href="#xterm_360">Patch #360 - 2020/09/20</a></li>
90
91    <li><a href="#xterm_359">Patch #359 - 2020/08/17</a></li>
92
93    <li><a href="#xterm_358">Patch #358 - 2020/07/12</a></li>
94
95    <li><a href="#xterm_357">Patch #357 - 2020/07/05</a></li>
96
97    <li><a href="#xterm_356">Patch #356 - 2020/05/02</a></li>
98
99    <li><a href="#xterm_355">Patch #355 - 2020/05/01</a></li>
100
101    <li><a href="#xterm_354">Patch #354 - 2020/04/26</a></li>
102
103    <li><a href="#xterm_353">Patch #353 - 2020/02/01</a></li>
104
105    <li><a href="#xterm_352">Patch #352 - 2020/01/16</a></li>
106
107    <li><a href="#xterm_351">Patch #351 - 2019/11/17</a></li>
108
109    <li><a href="#xterm_350">Patch #350 - 2019/11/02</a></li>
110
111    <li><a href="#xterm_349">Patch #349 - 2019/09/22</a></li>
112
113    <li><a href="#xterm_348">Patch #348 - 2019/07/22</a></li>
114
115    <li><a href="#xterm_347">Patch #347 - 2019/06/30</a></li>
116
117    <li><a href="#xterm_346">Patch #346 - 2019/05/27</a></li>
118
119    <li><a href="#xterm_345">Patch #345 - 2019/05/14</a></li>
120
121    <li><a href="#xterm_344">Patch #344 - 2019/02/12</a></li>
122
123    <li><a href="#xterm_343">Patch #343 - 2019/01/13</a></li>
124
125    <li><a href="#xterm_342">Patch #342 - 2019/01/03</a></li>
126
127    <li><a href="#xterm_341">Patch #341 - 2018/12/24</a></li>
128
129    <li><a href="#xterm_340">Patch #340 - 2018/12/16</a></li>
130
131    <li><a href="#xterm_339">Patch #339 - 2018/12/12</a></li>
132
133    <li><a href="#xterm_338">Patch #338 - 2018/12/09</a></li>
134
135    <li><a href="#xterm_337">Patch #337 - 2018/09/21</a></li>
136
137    <li><a href="#xterm_336">Patch #336 - 2018/09/19</a></li>
138
139    <li><a href="#xterm_335">Patch #335 - 2018/08/14</a></li>
140
141    <li><a href="#xterm_334">Patch #334 - 2018/08/12</a></li>
142
143    <li><a href="#xterm_333">Patch #333 - 2018/05/03</a></li>
144
145    <li><a href="#xterm_332">Patch #332 - 2018/04/15</a></li>
146
147    <li><a href="#xterm_331">Patch #331 - 2017/12/30</a></li>
148
149    <li><a href="#xterm_330">Patch #330 - 2017/06/20</a></li>
150
151    <li><a href="#xterm_329">Patch #329 - 2017/06/12</a></li>
152
153    <li><a href="#xterm_328">Patch #328 - 2017/06/01</a></li>
154
155    <li><a href="#xterm_327">Patch #327 - 2016/10/07</a></li>
156
157    <li><a href="#xterm_326">Patch #326 - 2016/09/25</a></li>
158
159    <li><a href="#xterm_325">Patch #325 - 2016/06/05</a></li>
160
161    <li><a href="#xterm_324">Patch #324 - 2016/03/10</a></li>
162
163    <li><a href="#xterm_323">Patch #323 - 2016/03/07</a></li>
164
165    <li><a href="#xterm_322">Patch #322 - 2016/01/02</a></li>
166
167    <li><a href="#xterm_321">Patch #321 - 2015/12/31</a></li>
168
169    <li><a href="#xterm_320">Patch #320 - 2015/08/28</a></li>
170
171    <li><a href="#xterm_319">Patch #319 - 2015/08/19</a></li>
172
173    <li><a href="#xterm_318">Patch #318 - 2015/04/12</a></li>
174
175    <li><a href="#xterm_317">Patch #317 - 2015/03/27</a></li>
176
177    <li><a href="#xterm_316">Patch #316 - 2015/03/07</a></li>
178
179    <li><a href="#xterm_315">Patch #315 - 2015/03/02</a></li>
180
181    <li><a href="#xterm_314">Patch #314 - 2014/12/28</a></li>
182
183    <li><a href="#xterm_313">Patch #313 - 2014/11/28</a></li>
184
185    <li><a href="#xterm_312">Patch #312 - 2014/09/28</a></li>
186
187    <li><a href="#xterm_311">Patch #311 - 2014/09/18</a></li>
188
189    <li><a href="#xterm_310">Patch #310 - 2014/07/25</a></li>
190
191    <li><a href="#xterm_309">Patch #309 - 2014/07/13</a></li>
192
193    <li><a href="#xterm_308">Patch #308 - 2014/06/19</a></li>
194
195    <li><a href="#xterm_307">Patch #307 - 2014/06/17</a></li>
196
197    <li><a href="#xterm_306">Patch #306 - 2014/06/03</a></li>
198
199    <li><a href="#xterm_305">Patch #305 - 2014/06/02</a></li>
200
201    <li><a href="#xterm_304">Patch #304 - 2014/05/03</a></li>
202
203    <li><a href="#xterm_303">Patch #303 - 2014/03/06</a></li>
204
205    <li><a href="#xterm_302">Patch #302 - 2014/03/02</a></li>
206
207    <li><a href="#xterm_301">Patch #301 - 2014/01/19</a></li>
208
209    <li><a href="#xterm_300">Patch #300 - 2013/12/03</a></li>
210
211    <li><a href="#xterm_299">Patch #299 - 2013/12/01</a></li>
212
213    <li><a href="#xterm_298">Patch #298 - 2013/11/27</a></li>
214
215    <li><a href="#xterm_297">Patch #297 - 2013/09/10</a></li>
216
217    <li><a href="#xterm_296">Patch #296 - 2013/07/10</a></li>
218
219    <li><a href="#xterm_295">Patch #295 - 2013/07/06</a></li>
220
221    <li><a href="#xterm_294">Patch #294 - 2013/07/05</a></li>
222
223    <li><a href="#xterm_293">Patch #293 - 2013/05/27</a></li>
224
225    <li><a href="#xterm_292">Patch #292 - 2013/04/25</a></li>
226
227    <li><a href="#xterm_291">Patch #291 - 2013/02/26</a></li>
228
229    <li><a href="#xterm_290">Patch #290 - 2013/02/12</a></li>
230
231    <li><a href="#xterm_289">Patch #289 - 2013/02/08</a></li>
232
233    <li><a href="#xterm_288">Patch #288 - 2013/01/09</a></li>
234
235    <li><a href="#xterm_287">Patch #287 - 2012/11/25</a></li>
236
237    <li><a href="#xterm_286">Patch #286 - 2012/10/29</a></li>
238
239    <li><a href="#xterm_285">Patch #285 - 2012/10/23</a></li>
240
241    <li><a href="#xterm_284">Patch #284 - 2012/10/14</a></li>
242
243    <li><a href="#xterm_283">Patch #283 - 2012/10/09</a></li>
244
245    <li><a href="#xterm_282">Patch #282 - 2012/09/28</a></li>
246
247    <li><a href="#xterm_281">Patch #281 - 2012/06/26</a></li>
248
249    <li><a href="#xterm_280">Patch #280 - 2012/06/24</a></li>
250
251    <li><a href="#xterm_279">Patch #279 - 2012/05/10</a></li>
252
253    <li><a href="#xterm_278">Patch #278 - 2012/01/18</a></li>
254
255    <li><a href="#xterm_277">Patch #277 - 2012/01/07</a></li>
256
257    <li><a href="#xterm_276">Patch #276 - 2011/10/10</a></li>
258
259    <li><a href="#xterm_275">Patch #275 - 2011/09/11</a></li>
260
261    <li><a href="#xterm_274">Patch #274 - 2011/09/05</a></li>
262
263    <li><a href="#xterm_273">Patch #273 - 2011/08/25</a></li>
264
265    <li><a href="#xterm_272">Patch #272 - 2011/08/24</a></li>
266
267    <li><a href="#xterm_271">Patch #271 - 2011/07/14</a></li>
268
269    <li><a href="#xterm_270">Patch #270 - 2011/04/26</a></li>
270
271    <li><a href="#xterm_269">Patch #269 - 2011/02/19</a></li>
272
273    <li><a href="#xterm_268">Patch #268 - 2011/02/10</a></li>
274
275    <li><a href="#xterm_267">Patch #267 - 2010/11/20</a></li>
276
277    <li><a href="#xterm_266">Patch #266 - 2010/10/24</a></li>
278
279    <li><a href="#xterm_265">Patch #265 - 2010/10/22</a></li>
280
281    <li><a href="#xterm_264">Patch #264 - 2010/10/14</a></li>
282
283    <li><a href="#xterm_263">Patch #263 - 2010/10/13</a></li>
284
285    <li><a href="#xterm_262">Patch #262 - 2010/8/30</a></li>
286
287    <li><a href="#xterm_261">Patch #261 - 2010/6/28</a></li>
288
289    <li><a href="#xterm_260">Patch #260 - 2010/6/20</a></li>
290
291    <li><a href="#xterm_259">Patch #259 - 2010/6/5</a></li>
292
293    <li><a href="#xterm_258">Patch #258 - 2010/5/1</a></li>
294
295    <li><a href="#xterm_257">Patch #257 - 2010/4/22</a></li>
296
297    <li><a href="#xterm_256">Patch #256 - 2010/3/6</a></li>
298
299    <li><a href="#xterm_255">Patch #255 - 2010/1/21</a></li>
300
301    <li><a href="#xterm_254">Patch #254 - 2010/1/6</a></li>
302
303    <li><a href="#xterm_253">Patch #253 - 2009/12/10</a></li>
304
305    <li><a href="#xterm_252">Patch #252 - 2009/12/7</a></li>
306
307    <li><a href="#xterm_251">Patch #251 - 2009/11/11</a></li>
308
309    <li><a href="#xterm_250">Patch #250 - 2009/10/13</a></li>
310
311    <li><a href="#xterm_249">Patch #249 - 2009/10/1</a></li>
312
313    <li><a href="#xterm_248">Patch #248 - 2009/9/11</a></li>
314
315    <li><a href="#xterm_247">Patch #247 - 2009/8/30</a></li>
316
317    <li><a href="#xterm_246">Patch #246 - 2009/8/16</a></li>
318
319    <li><a href="#xterm_245">Patch #245 - 2009/8/12</a></li>
320
321    <li><a href="#xterm_244">Patch #244 - 2009/8/9</a></li>
322
323    <li><a href="#xterm_243">Patch #243 - 2009/3/28</a></li>
324
325    <li><a href="#xterm_242">Patch #242 - 2009/2/15</a></li>
326
327    <li><a href="#xterm_241">Patch #241 - 2009/1/26</a></li>
328
329    <li><a href="#xterm_240">Patch #240 - 2009/1/25</a></li>
330
331    <li><a href="#xterm_239">Patch #239 - 2009/1/8</a></li>
332
333    <li><a href="#xterm_238">Patch #238 - 2008/12/30</a></li>
334
335    <li><a href="#xterm_237">Patch #237 - 2008/09/14</a></li>
336
337    <li><a href="#xterm_236">Patch #236 - 2008/07/27</a></li>
338
339    <li><a href="#xterm_235">Patch #235 - 2008/04/20</a></li>
340
341    <li><a href="#xterm_234">Patch #234 - 2008/03/02</a></li>
342
343    <li><a href="#xterm_233">Patch #233 - 2008/02/24</a></li>
344
345    <li><a href="#xterm_232">Patch #232 - 2008/01/30</a></li>
346
347    <li><a href="#xterm_231">Patch #231 - 2008/01/05</a></li>
348
349    <li><a href="#xterm_230">Patch #230 - 2007/12/31</a></li>
350
351    <li><a href="#xterm_229">Patch #229 - 2007/8/12</a></li>
352
353    <li><a href="#xterm_228">Patch #228 - 2007/7/22</a></li>
354
355    <li><a href="#xterm_227">Patch #227 - 2007/6/27</a></li>
356
357    <li><a href="#xterm_226">Patch #226 - 2007/6/17</a></li>
358
359    <li><a href="#xterm_225">Patch #225 - 2007/3/24</a></li>
360
361    <li><a href="#xterm_224">Patch #224 - 2007/2/11</a></li>
362
363    <li><a href="#xterm_223">Patch #223 - 2006/11/30</a></li>
364
365    <li><a href="#xterm_222">Patch #222 - 2006/10/17</a></li>
366
367    <li><a href="#xterm_221">Patch #221 - 2006/10/1</a></li>
368
369    <li><a href="#xterm_220">Patch #220 - 2006/9/10</a></li>
370
371    <li><a href="#xterm_219">Patch #219 - 2006/9/4</a></li>
372
373    <li><a href="#xterm_218">Patch #218 - 2006/8/27</a></li>
374
375    <li><a href="#xterm_217">Patch #217 - 2006/8/20</a></li>
376
377    <li><a href="#xterm_216">Patch #216 - 2006/8/3</a></li>
378
379    <li><a href="#xterm_215">Patch #215 - 2006/6/19 - XFree86
380    4.6.99.2</a></li>
381
382    <li><a href="#xterm_214">Patch #214 - 2006/6/18 - XFree86
383    4.6.99.2</a></li>
384
385    <li><a href="#xterm_213">Patch #213 - 2006/4/30 - XFree86
386    4.5.99.905</a></li>
387
388    <li><a href="#xterm_212">Patch #212 - 2006/4/9 - XFree86
389    4.5.99.904</a></li>
390
391    <li><a href="#xterm_211">Patch #211 - 2006/3/19 - XFree86
392    4.5.99.902</a></li>
393
394    <li><a href="#xterm_210">Patch #210 - 2006/3/12 - XFree86
395    4.5.99.902</a></li>
396
397    <li><a href="#xterm_209">Patch #209 - 2006/2/12 - XFree86
398    4.5.99.22</a></li>
399
400    <li><a href="#xterm_208">Patch #208 - 2006/1/3 - XFree86
401    4.5.99.19</a></li>
402
403    <li><a href="#xterm_207">Patch #207 - 2005/11/13 - XFree86
404    4.5.99.16</a></li>
405
406    <li><a href="#xterm_206">Patch #206 - 2005/11/3 - XFree86
407    4.5.99.15</a></li>
408
409    <li><a href="#xterm_205">Patch #205 - 2005/9/18 - XFree86
410    4.5.99.12</a></li>
411
412    <li><a href="#xterm_204">Patch #204 - 2005/8/4 - XFree86
413    4.5.99.9</a></li>
414
415    <li><a href="#xterm_203">Patch #203 - 2005/7/6 - XFree86
416    4.5.99.7</a></li>
417
418    <li><a href="#xterm_202">Patch #202 - 2005/5/2 - XFree86
419    4.5.99.3</a></li>
420
421    <li><a href="#xterm_201">Patch #201 - 2005/4/21 - XFree86
422    4.5.99.2</a></li>
423
424    <li><a href="#xterm_200">Patch #200 - 2005/2/6 - XFree86
425    4.4.99.23</a></li>
426
427    <li><a href="#xterm_199">Patch #199 - 2005/1/17 - XFree86
428    4.4.99.22</a></li>
429
430    <li><a href="#xterm_198">Patch #198 - 2005/1/13 - XFree86
431    4.4.99.21</a></li>
432
433    <li><a href="#xterm_197">Patch #197 - 2004/11/30 - XFree86
434    4.4.99.19</a></li>
435
436    <li><a href="#xterm_196">Patch #196 - 2004/8/15 - XFree86
437    4.4.99.12</a></li>
438
439    <li><a href="#xterm_195">Patch #195 - 2004/8/8 - XFree86
440    4.4.99.11</a></li>
441
442    <li><a href="#xterm_194">Patch #194 - 2004/7/27 - XFree86
443    4.4.99.11</a></li>
444
445    <li><a href="#xterm_193">Patch #193 - 2004/7/19 - XFree86
446    4.4.99.10</a></li>
447
448    <li><a href="#xterm_192">Patch #192 - 2004/7/12 - XFree86
449    4.4.99.9</a></li>
450
451    <li><a href="#xterm_191">Patch #191 - 2004/6/6 - XFree86
452    4.4.99.7</a></li>
453
454    <li><a href="#xterm_190">Patch #190 - 2004/5/25 - XFree86
455    4.4.99.6</a></li>
456
457    <li><a href="#xterm_189">Patch #189 - 2004/5/16 - XFree86
458    4.4.99.6</a></li>
459
460    <li><a href="#xterm_188">Patch #188 - 2004/5/12 - XFree86
461    4.4.99.6</a></li>
462
463    <li><a href="#xterm_187">Patch #187 - 2004/4/27 - XFree86
464    4.4.99.4</a></li>
465
466    <li><a href="#xterm_186">Patch #186 - 2004/4/18 - XFree86
467    4.4.99.4</a></li>
468
469    <li><a href="#xterm_185">Patch #185 - 2004/3/3 - XFree86
470    4.4</a></li>
471
472    <li><a href="#xterm_184">Patch #184 - 2003/12/31 - XFree86
473    4.3.99.903</a></li>
474
475    <li><a href="#xterm_183">Patch #183 - 2003/12/26 - XFree86
476    4.3.99.903</a></li>
477
478    <li><a href="#xterm_182">Patch #182 - 2003/12/2 - XFree86
479    4.3.99.901</a></li>
480
481    <li><a href="#xterm_181">Patch #181 - 2003/10/26 - XFree86
482    4.3.99.15</a></li>
483
484    <li><a href="#xterm_180">Patch #180 - 2003/10/12 - XFree86
485    4.3.99.15</a></li>
486
487    <li><a href="#xterm_179">Patch #179 - 2003/5/21 - XFree86
488    4.3.99.5</a></li>
489
490    <li><a href="#xterm_178">Patch #178 - 2003/5/18 - XFree86
491    4.3.99.5</a></li>
492
493    <li><a href="#xterm_177">Patch #177 - 2003/3/23 - XFree86
494    4.3.0</a></li>
495
496    <li><a href="#xterm_176">Patch #176 - 2003/3/22 - XFree86
497    4.3.0</a></li>
498
499    <li><a href="#xterm_175">Patch #175 - 2003/3/9 - XFree86
500    4.3.0</a></li>
501
502    <li><a href="#xterm_174">Patch #174 - 2003/2/25 - XFree86
503    4.2.99.903</a></li>
504
505    <li><a href="#xterm_173">Patch #173 - 2003/2/6 - XFree86
506    4.2.99.902</a></li>
507
508    <li><a href="#xterm_172">Patch #172 - 2002/12/27 - XFree86
509    4.2.99.3</a></li>
510
511    <li><a href="#xterm_171">Patch #171 - 2002/12/12 - XFree86
512    4.2.99.3</a></li>
513
514    <li><a href="#xterm_170">Patch #170 - 2002/10/13 - XFree86
515    4.2.1</a></li>
516
517    <li><a href="#xterm_169">Patch #169 - 2002/10/5 - XFree86
518    4.2.1</a></li>
519
520    <li><a href="#xterm_168">Patch #168 - 2002/9/29 - XFree86
521    4.2.1</a></li>
522
523    <li><a href="#xterm_167">Patch #167 - 2002/8/24 - XFree86
524    4.2.0</a></li>
525
526    <li><a href="#xterm_166">Patch #166 - 2002/3/25 - XFree86
527    4.2.0</a></li>
528
529    <li><a href="#xterm_165">Patch #165 - 2002/1/5 - XFree86
530    4.1.0</a></li>
531
532    <li><a href="#xterm_164">Patch #164 - 2001/11/13 - XFree86
533    4.1.0</a></li>
534
535    <li><a href="#xterm_163">Patch #163 - 2001/11/04 - XFree86
536    4.1.0</a></li>
537
538    <li><a href="#xterm_162">Patch #162 - 2001/10/23 - XFree86
539    4.1.0</a></li>
540
541    <li><a href="#xterm_161">Patch #161 - 2001/10/10 - XFree86
542    4.1.0</a></li>
543
544    <li><a href="#xterm_160">Patch #160 - 2001/10/7 - XFree86
545    4.1.0</a></li>
546
547    <li><a href="#xterm_159">Patch #159 - 2001/9/19 - XFree86
548    4.1.0</a></li>
549
550    <li><a href="#xterm_158">Patch #158 - 2001/9/8 - XFree86
551    4.1.0</a></li>
552
553    <li><a href="#xterm_157">Patch #157 - 2001/6/18 - XFree86
554    4.1.0</a></li>
555
556    <li><a href="#xterm_156">Patch #156 - 2001/4/28 - XFree86
557    4.0.3</a></li>
558
559    <li><a href="#xterm_155">Patch #155 - 2001/4/20 - XFree86
560    4.0.3</a></li>
561
562    <li><a href="#xterm_154">Patch #154 - 2001/4/11 - XFree86
563    4.0.3</a></li>
564
565    <li><a href="#xterm_153">Patch #153 - 2001/3/29 - XFree86
566    4.0.3</a></li>
567
568    <li><a href="#xterm_152">Patch #152 - 2001/3/13 - XFree86
569    4.0.2</a></li>
570
571    <li><a href="#xterm_151">Patch #151 - 2001/3/10 - XFree86
572    4.0.2</a></li>
573
574    <li><a href="#xterm_150">Patch #150 - 2000/12/29 - XFree86
575    4.0.2</a></li>
576
577    <li><a href="#xterm_149">Patch #149 - 2000/12/6 - XFree86
578    4.0.1h</a></li>
579
580    <li><a href="#xterm_148">Patch #148 - 2000/10/31 - XFree86
581    4.0.1d</a></li>
582
583    <li><a href="#xterm_147">Patch #147 - 2000/10/26 - XFree86
584    4.0.1c</a></li>
585
586    <li><a href="#xterm_146">Patch #146 - 2000/9/12 - XFree86
587    4.0.1c</a></li>
588
589    <li><a href="#xterm_145">Patch #145 - 2000/9/11 - XFree86
590    4.0.1c</a></li>
591
592    <li><a href="#xterm_144">Patch #144 - 2000/8/23 - XFree86
593    4.0.1b</a></li>
594
595    <li><a href="#xterm_143">Patch #143 - 2000/8/19 - XFree86
596    4.0.1b</a></li>
597
598    <li><a href="#xterm_142">Patch #142 - 2000/8/18 - XFree86
599    4.0.1b</a></li>
600
601    <li><a href="#xterm_141">Patch #141 - 2000/8/14 - XFree86
602    4.0.1b</a></li>
603
604    <li><a href="#xterm_140">Patch #140 - 2000/7/23 - XFree86
605    4.0.1</a></li>
606
607    <li><a href="#xterm_139">Patch #139 - 2000/6/17 - XFree86
608    4.0d</a></li>
609
610    <li><a href="#xterm_138">Patch #138 - 2000/6/15 - XFree86
611    4.0c</a></li>
612
613    <li><a href="#xterm_137">Patch #137 - 2000/6/10 - XFree86
614    4.0b</a></li>
615
616    <li><a href="#xterm_136">Patch #136 - 2000/6/3 - XFree86
617    4.0b</a></li>
618
619    <li><a href="#xterm_135">Patch #135 - 2000/5/29 - XFree86
620    4.0b</a></li>
621
622    <li><a href="#xterm_134">Patch #134 - 2000/5/28 - XFree86
623    4.0b</a></li>
624
625    <li><a href="#xterm_133">Patch #133 - 2000/5/2 - XFree86
626    4.0a</a></li>
627
628    <li><a href="#xterm_132">Patch #132 - 2000/4/11 - XFree86
629    4.0a</a></li>
630
631    <li><a href="#xterm_131">Patch #131 - 2000/3/3 - XFree86
632    3.9.18b</a></li>
633
634    <li><a href="#xterm_130">Patch #130 - 2000/3/1 - XFree86
635    3.9.18a</a></li>
636
637    <li><a href="#xterm_129">Patch #129 - 2000/2/26 - XFree86
638    3.9.18a</a></li>
639
640    <li><a href="#xterm_128">Patch #128 - 2000/2/17 - XFree86
641    3.9.18</a></li>
642
643    <li><a href="#xterm_127">Patch #127 - 2000/2/12 - XFree86
644    3.9.17e</a></li>
645
646    <li><a href="#xterm_126">Patch #126 - 2000/2/8 - XFree86
647    3.9.17c</a></li>
648
649    <li><a href="#xterm_125">Patch #125 - 2000/1/31 - XFree86
650    3.9.17c</a></li>
651
652    <li><a href="#xterm_124">Patch #124 - 2000/1/27 - XFree86
653    3.9.17b</a></li>
654
655    <li><a href="#xterm_123">Patch #123 - 2000/1/22 - XFree86
656    3.9.17a</a></li>
657
658    <li><a href="#xterm_122">Patch #122 - 1999/12/28 - XFree86
659    3.9.16f</a></li>
660
661    <li><a href="#xterm_121">Patch #121 - 1999/11/14 - XFree86
662    3.9.16c</a></li>
663
664    <li><a href="#xterm_120">Patch #120 - 1999/10/28 - XFree86
665    3.9.16c</a></li>
666
667    <li><a href="#xterm_119">Patch #119 - 1999/10/16 - XFree86
668    3.9.16c</a></li>
669
670    <li><a href="#xterm_118">Patch #118 - 1999/10/5 - XFree86
671    3.9.16b</a></li>
672
673    <li><a href="#xterm_117">Patch #117 - 1999/9/29 - XFree86
674    3.9.16b</a></li>
675
676    <li><a href="#xterm_116">Patch #116 - 1999/9/25 - XFree86
677    3.9.16a</a></li>
678
679    <li><a href="#xterm_115">Patch #115 - 1999/9/18 - XFree86
680    3.9.16a</a></li>
681
682    <li><a href="#xterm_114">Patch #114 - 1999/9/15 - XFree86
683    3.9.16</a></li>
684
685    <li><a href="#xterm_113">Patch #113 - 1999/8/15 - XFree86
686    3.9.15b</a></li>
687
688    <li><a href="#xterm_112">Patch #112 - 1999/7/17 - XFree86
689    3.9Pw</a></li>
690
691    <li><a href="#xterm_111">Patch #111 - 1999/7/10 - XFree86
692    3.9Pw</a></li>
693
694    <li><a href="#xterm_110">Patch #110 - 1999/6/29 - XFree86
695    3.9Pu</a></li>
696
697    <li><a href="#xterm_109">Patch #109 - 1999/6/23 - XFree86
698    3.9Pt</a></li>
699
700    <li><a href="#xterm_108">Patch #108 - 1999/6/19 - XFree86
701    3.9Ps</a></li>
702
703    <li><a href="#xterm_107">Patch #107 - 1999/6/12 - XFree86
704    3.9Pq</a></li>
705
706    <li><a href="#xterm_106">Patch #106 - 1999/6/9 - XFree86
707    3.9Pq</a></li>
708
709    <li><a href="#xterm_105">Patch #105 - 1999/6/5 - XFree86
710    3.9Pp</a></li>
711
712    <li><a href="#xterm_104">Patch #104 - 1999/5/30 - XFree86
713    3.9Pn</a></li>
714
715    <li><a href="#xterm_103">Patch #103 - 1999/5/14 - XFree86
716    3.9Pm</a></li>
717
718    <li><a href="#xterm_102">Patch #102 - 1999/5/12 - XFree86
719    3.9Pm</a></li>
720
721    <li><a href="#xterm_101">Patch #101 - 1999/5/10 - XFree86
722    3.9Pm</a></li>
723
724    <li><a href="#xterm_100">Patch #100 - 1999/5/3 - XFree86
725    3.9Pl</a></li>
726
727    <li><a href="#xterm_99">Patch #99 - 1999/5/2 - XFree86
728    3.9Pk</a></li>
729
730    <li><a href="#xterm_98">Patch #98 - 1999/4/26 - XFree86
731    3.9Pk</a></li>
732
733    <li><a href="#xterm_97">Patch #97 - 1999/4/25 - XFree86
734    3.9Pk</a></li>
735
736    <li><a href="#xterm_96">Patch #96 - 1999/4/19 - XFree86
737    3.9Pj</a></li>
738
739    <li><a href="#xterm_95">Patch #95 - 1999/4/5 - XFree86
740    3.9Ph</a></li>
741
742    <li><a href="#xterm_94">Patch #94 - 1999/3/27 - XFree86
743    3.9Pf</a></li>
744
745    <li><a href="#xterm_93">Patch #93 - 1999/3/14 - XFree86
746    3.9Pd</a></li>
747
748    <li><a href="#xterm_92">Patch #92 - 1999/2/5 - XFree86
749    3.9Nz</a></li>
750
751    <li><a href="#xterm_91">Patch #91 - 1999/1/21 - XFree86
752    3.9Nw</a></li>
753
754    <li><a href="#xterm_90">Patch #90 - 1998/12/13 - XFree86
755    3.9Nq</a></li>
756
757    <li><a href="#xterm_89">Patch #89 - 1998/11/20 - XFree86
758    3.9Nm</a></li>
759
760    <li><a href="#xterm_88">Patch #88 - 1998/10/31 - XFree86 3.9Nk
761    and 3.3.2h</a></li>
762
763    <li><a href="#xterm_87">Patch #87 - 1998/10/21 - XFree86 3.9Nj
764    and 3.3.2f</a></li>
765
766    <li><a href="#xterm_86">Patch #86 - 1998/10/14 - XFree86 3.9Nj
767    and 3.3.2e</a></li>
768
769    <li><a href="#xterm_85">Patch #85 - 1998/10/12 - XFree86 3.9Nj
770    and 3.3.2e</a></li>
771
772    <li><a href="#xterm_84">Patch #84 - 1998/10/9 - XFree86 3.9Ni
773    and 3.3.2e</a></li>
774
775    <li><a href="#sync_83">Resync #83 - 1998/10/7 - XFree86
776    3.3.2e</a></li>
777
778    <li><a href="#xterm_83">Patch #83 - 1998/8/25 - XFree86
779    3.9Nb</a></li>
780
781    <li><a href="#xterm_82">Patch #82 - 1998/7/15 - XFree86
782    3.9Aj</a></li>
783
784    <li><a href="#xterm_81">Patch #81 - 1998/7/14 - XFree86
785    3.9Aj</a></li>
786
787    <li><a href="#xterm_80">Patch #80 - 1998/6/29 - XFree86
788    3.9Ai</a></li>
789
790    <li><a href="#xterm_79">Patch #79 - 1998/6/28 - XFree86
791    3.9Ai</a></li>
792
793    <li><a href="#xterm_78">Patch #78 - 1998/6/3 - XFree86 3.9Ah
794    and 3.3.2</a></li>
795
796    <li><a href="#xterm_77">Patch #77 - 1998/5/26 - XFree86 3.9Ah
797    and 3.3.2</a></li>
798
799    <li><a href="#xterm_76">Patch #76 - 1998/5/8 - XFree86 3.9Ah
800    and 3.3.2</a></li>
801
802    <li><a href="#xterm_75">Patch #75 - 1998/5/7 - XFree86 3.9Ah
803    and 3.3.2</a></li>
804
805    <li><a href="#xterm_74">Patch #74 - 1998/4/27 - XFree86 3.9Ag
806    and 3.3.2</a></li>
807
808    <li><a href="#xterm_73">Patch #73 - 1998/4/25 - XFree86 3.9Ag
809    and 3.3.2</a></li>
810
811    <li><a href="#xterm_72">Patch #72 - 1998/4/17 - XFree86 3.9Ag
812    and 3.3.2</a></li>
813
814    <li><a href="#xterm_71">Patch #71 - 1998/4/12 - XFree86 3.9Ag
815    and 3.3.2</a></li>
816
817    <li><a href="#xterm_70">Patch #70 - 1998/3/29 - XFree86 3.9Af
818    and 3.3.2</a></li>
819
820    <li><a href="#xterm_69">Patch #69 - 1998/3/16 - XFree86 3.9Ad
821    and 3.3.2</a></li>
822
823    <li><a href="#xterm_68">Patch #68 - 1998/3/4 - XFree86 3.9Ad
824    and 3.3.1z</a></li>
825
826    <li><a href="#xterm_67">Patch #67 - 1998/2/23 - XFree86 3.9Ad
827    and 3.3.1e</a></li>
828
829    <li><a href="#xterm_66">Patch #66 - 1998/2/16 - XFree86 3.9Ad
830    and 3.3.1d</a></li>
831
832    <li><a href="#xterm_65">Patch #65 - 1998/2/14 - XFree86 3.9Ad
833    and 3.3.1c</a></li>
834
835    <li><a href="#xterm_64">Patch #64 - 1998/2/8 - XFree86
836    3.9Ad</a></li>
837
838    <li><a href="#xterm_63">Patch #63 - 1998/2/5 - XFree86
839    3.9Ad</a></li>
840
841    <li><a href="#xterm_62">Patch #62 - 1998/1/23 - XFree86
842    3.9Ac</a></li>
843
844    <li><a href="#xterm_61">Patch #61 - 1998/1/17 - XFree86
845    3.9Ac</a></li>
846
847    <li><a href="#xterm_60">Patch #60 - 1998/1/10 - XFree86
848    3.9Ab</a></li>
849
850    <li><a href="#xterm_59">Patch #59 - 1998/1/5 - XFree86
851    3.9Ab</a></li>
852
853    <li><a href="#xterm_58">Patch #58 - 1998/1/3 - XFree86
854    3.9Ab</a></li>
855
856    <li><a href="#xterm_57">Patch #57 - 1997/12/26 - XFree86
857    3.9Aa</a></li>
858
859    <li><a href="#xterm_56">Patch #56 - 1997/11/28 - XFree86
860    3.9x</a></li>
861
862    <li><a href="#xterm_55">Patch #55 - 1997/11/25 - XFree86
863    3.9x</a></li>
864
865    <li><a href="#xterm_54">Patch #54 - 1997/10/17 - XFree86
866    3.9s</a></li>
867
868    <li><a href="#xterm_53">Patch #53 - 1997/10/12 - XFree86
869    3.9r</a></li>
870
871    <li><a href="#xterm_52">Patch #52 - 1997/9/29 - XFree86
872    3.9q</a></li>
873
874    <li><a href="#xterm_51">Patch #51 - 1997/9/15 - XFree86
875    3.9p</a></li>
876
877    <li><a href="#xterm_50">Patch #50 - 1997/8/22 - XFree86
878    3.9m</a></li>
879
880    <li><a href="#xterm_49">Patch #49 - 1997/8/10 - XFree86
881    3.9k</a></li>
882
883    <li><a href="#xterm_48">Patch #48 - 1997/7/26 - XFree86
884    3.9j</a></li>
885
886    <li><a href="#xterm_47">Patch #47 - 1997/7/13 - XFree86
887    3.9i</a></li>
888
889    <li><a href="#xterm_46">Patch #46 - 1997/7/4 - XFree86 3.9h</a></li>
890
891    <li><a href="#xterm_45">Patch #45 - 1997/7/2 - XFree86 3.9h</a></li>
892
893    <li><a href="#xterm_44">Patch #44 - 1997/6/22 - XFree86
894    3.9g</a></li>
895
896    <li><a href="#xterm_43">Patch #43 - 1997/6/10 - XFree86
897    3.9d</a></li>
898
899    <li><a href="#xterm_42">Patch #42 - 1997/6/8 - XFree86
900    3.2Xl</a></li>
901
902    <li><a href="#xterm_41">Patch #41 - 1997/5/28 - XFree86
903    3.2Xl</a></li>
904
905    <li><a href="#xterm_40">Patch #40 - 1997/5/26 - XFree86
906    3.2Xl</a></li>
907
908    <li><a href="#xterm_39">Patch #39 - 1997/5/24 - XFree86
909    3.2Xl</a></li>
910
911    <li><a href="#xterm_38">Patch #38 - 1997/5/22 - XFree86
912    3.2Xh</a></li>
913
914    <li><a href="#xterm_37">Patch #37 - 1997/5/7 - XFree86 3.9a</a></li>
915
916    <li><a href="#xterm_36">Patch #36 - 1997/1/16 - XFree86
917    3.2r</a></li>
918
919    <li><a href="#xterm_35">Patch #35 - 1997/1/7 - XFree86 3.2o</a></li>
920
921    <li><a href="#xterm_34">Patch #34 - 1997/1/5 - XFree86 3.2o</a></li>
922
923    <li><a href="#xterm_33">Patch #33 - 1996/11/24 - XFree86
924    3.2</a></li>
925
926    <li><a href="#xterm_32">Patch #32 - 1996/11/21 - XFree86
927    3.2</a></li>
928
929    <li><a href="#xterm_31">Patch #31 - 1996/11/16 - XFree86
930    3.2</a></li>
931
932    <li><a href="#xterm_30">Patch #30 - 1996/11/16 - XFree86
933    3.2</a></li>
934
935    <li><a href="#xterm_29">Patch #29 - 1996/9/15 - XFree86
936    3.1.2Gb</a></li>
937
938    <li><a href="#xterm_28">Patch #28 - 1996/8/31 - XFree86
939    3.1.2F</a></li>
940
941    <li><a href="#xterm_27">Patch #27 - 1996/8/21 - XFree86
942    3.1.2Ek</a></li>
943
944    <li><a href="#xterm_26">Patch #26 - 1996/8/20 - XFree86
945    3.1.2Ei</a></li>
946
947    <li><a href="#xterm_25">Patch #25 - 1996/8/18 - XFree86
948    3.1.2Ei</a></li>
949
950    <li><a href="#xterm_24">Patch #24 - 1996/8/11 - XFree86
951    3.1.2Ee</a></li>
952
953    <li><a href="#xterm_23">Patch #23 - 1996/7/31 - XFree86
954    3.1.2Ec</a></li>
955
956    <li><a href="#xterm_22">Patch #22 - 1996/7/26 - XFree86
957    3.1.2Ec</a></li>
958
959    <li><a href="#xterm_21">Patch #21 - 1996/7/24 - XFree86
960    3.1.2Ec</a></li>
961
962    <li><a href="#xterm_20">Patch #20 - 1996/7/24 - XFree86
963    3.1.2Ec</a></li>
964
965    <li><a href="#xterm_19">Patch #19 - 1996/7/21 - XFree86
966    3.1.2Ec</a></li>
967
968    <li><a href="#xterm_18">Patch #18 - 1996/7/18 - XFree86
969    3.1.2Ec</a></li>
970
971    <li><a href="#xterm_17">Patch #17 - 1996/7/2 - XFree86
972    3.1.2Eb</a></li>
973
974    <li><a href="#xterm_16">Patch #16 - 1996/6/25 - XFree86
975    3.1.2Ea</a></li>
976
977    <li><a href="#xterm_15">Patch #15 - 1996/5/29 - XFree86
978    3.1.2E</a></li>
979
980    <li><a href="#xterm_14">Patch #14 - 1996/5/12 - XFree86
981    3.1.2Dj</a></li>
982
983    <li><a href="#xterm_13">Patch #13 - 1996/4/23 - XFree86
984    3.1.2Df</a></li>
985
986    <li><a href="#xterm_12">Patch #12 - 1996/3/16 - XFree86
987    3.1.2Dc</a></li>
988
989    <li><a href="#xterm_11">Patch #11 - 1996/3/5 - XFree86
990    3.1.2Db</a></li>
991
992    <li><a href="#xterm_10">Patch #10 - 1996/2/14 - XFree86
993    3.1.2Cd</a></li>
994
995    <li><a href="#xterm_09">Patch #9 - 1996/2/10 - XFree86
996    3.1.2Cb</a></li>
997
998    <li><a href="#xterm_08">Patch #8 - 1996/2/9 - XFree86
999    3.1.2Cb</a></li>
1000
1001    <li><a href="#xterm_07">Patch #7 - 1996/1/28 - XFree86
1002    3.1.2n</a></li>
1003
1004    <li><a href="#xterm_06">Patch #6 - 1996/1/8</a></li>
1005
1006    <li><a href="#xterm_05">Patch #5 - 1996/1/7</a></li>
1007
1008    <li><a href="#xterm_04">Patch #4 - 1996/1/7</a></li>
1009
1010    <li><a href="#xterm_03">Patch #3 - 1996/1/7</a></li>
1011
1012    <li><a href="#xterm_02">Patch #2 - 1996/1/7</a></li>
1013
1014    <li><a href="#xterm_01">Patch #1 - 1996/1/6</a></li>
1015  </ul>
1016
1017  <h1><a name="xterm_368" id="xterm_368">Patch #368 -
1018  2021/06/07</a></h1>
1019
1020  <ul>
1021    <li>add <code>DefaultOff</code> option to
1022    <code>RenderFont</code> resource, as part of the
1023    session-management feature.</li>
1024
1025    <li>add auto-scroll-lock feature (patch by add Stelios
1026    Bounanos).</li>
1027
1028    <li>update the window-size information returned via
1029    <code>TIOCGWINSZ</code> when rows/columns are unchanged but the
1030    font-size changes (report by Nick Black).</li>
1031
1032    <li>improve session-management feature by saving/restoring the
1033    font settings.</li>
1034
1035    <li>update config.guess, config.sub</li>
1036  </ul>
1037
1038  <h1><a name="xterm_367" id="xterm_367">Patch #367 -
1039  2021/03/26</a></h1>
1040
1041  <ul>
1042    <li>add <code>OSC&nbsp;22</code> to allow programs to select
1043    different pointer cursor at runtime.</li>
1044
1045    <li>change configuration for <em>no-return</em> functions to
1046    use <code>_Noreturn</code> when it is available, because
1047    <code>clang --analyze</code> does not properly handle the gcc
1048    noreturn attribute.</li>
1049
1050    <li>add <code>cursorTheme</code> resource to provide a way to
1051    enable or disable the cursor theme feature.</li>
1052
1053    <li>modified <code>CopyWait</code> event retries to use shorter
1054    sleeps, to improve responsiveness (tmux #2556).</li>
1055
1056    <li>improve quoting/escaping in demo-scripts per
1057    shellcheck.</li>
1058
1059    <li>add <code>resizeByPixel</code> resource, to permit
1060    disabling window manager resizing-hints (patch by Tim
1061    Oehl).</li>
1062
1063    <li>corrected <code>printOptsImmediate</code> handling of
1064    alternate-screen (report by Abhijit Dasgupta).</li>
1065
1066    <li>update sample terminfo to more closely match ncurses.</li>
1067
1068    <li>add/improve limit-checks for Xlib calls (report by Roman
1069    Fiedler).</li>
1070
1071    <li>fix a typo in the help-message (report by Tomas
1072    Korbar).</li>
1073  </ul>
1074
1075  <h1><a name="xterm_366" id="xterm_366">Patch #366 -
1076  2021/02/10</a></h1>
1077
1078  <ul>
1079    <li>correct a compiler-warning fix in <a href=
1080    "#xterm_352">patch #352</a> which allowed sign-extension of
1081    coordinate values (report by "CismonX").</li>
1082
1083    <li>correct upper-limit for selection buffer, accounting for
1084    combining characters (report/testcase by Tavis Ormandy).</li>
1085
1086    <li>with <code>alwaysHighlight</code> true, xterm does not
1087    properly track focus. The <em>screen-&gt;select</em>
1088    <code>FOCUS</code> flag remains always on, which prevents
1089    <code>bellIsUrgent</code> from working, as the urgent
1090    <code>WM_HINT</code> flag is only set in
1091    <code>setXUrgency()</code> when the window is not focused. Fix
1092    this by updating <em>screen-&gt;select</em> in
1093    <code>unselectwindow()</code> regardless of the value of
1094    <code>always_highlight</code> (patch by Jiri Bohac).</li>
1095
1096    <li>improve fix for interaction between SRM and ENQ (report by
1097    Grant Taylor).</li>
1098
1099    <li>build-fix for <code>--with-Xaw3dxft</code>, needed when
1100    <code>--with-toolbar</code> is omitted (report by Jimmy Olgeni,
1101    Emanuel Haupt).</li>
1102  </ul>
1103
1104  <h1><a name="xterm_365" id="xterm_365">Patch #365 -
1105  2021/02/03</a></h1>
1106
1107  <ul>
1108    <li>amend fix for &ldquo;word&rdquo; selection in <a href=
1109    "#xterm_364">patch #364</a> to limit that to the
1110    <code>insert-selectable</code> <em>action</em>, which reads
1111    data from the screen. This restores the interactive behavior
1112    where double-clicking on a &ldquo;word&rdquo; would make
1113    subsequent selection extensions by words as well as suppressing
1114    some boundary-checks (report by David Wolfskill, FreeBSD
1115    #253225).</li>
1116  </ul>
1117
1118  <h1><a name="xterm_364" id="xterm_364">Patch #364 -
1119  2021/02/02</a></h1>
1120
1121  <ul>
1122    <li>add <code>-fc</code> option.</li>
1123
1124    <li>correct/improve limit-checks for SRM versus ENQ from
1125    <a href="#xterm_344">patch #344</a> (report by Tom
1126    Szilagyi).</li>
1127
1128    <li>enable <code>XftFont</code> resource in Xaw3dxft
1129    configuration (patch by Tavis Ormandy).</li>
1130
1131    <li>improve quoting/escaping in build-scripts per
1132    shellcheck.</li>
1133
1134    <li>add <code>libpcre2-posix</code> to the packages tested for
1135    <code>--with-pcre2</code> option, needed with Fedora (report by
1136    Tomas Korbar).</li>
1137
1138    <li>correct a typo in manual page, and note that
1139    <code>KeepClipboard</code> may not be compiled-in (report/patch
1140    by Sean C Farley).</li>
1141
1142    <li>corrected boundary-checks for &ldquo;word&rdquo; selection
1143    used in <code>on<em>N</em>Clicks</code> resources (report by
1144    Tavis Ormandy).</li>
1145
1146    <li>update to autoconf-2.52-20210101, to improve shellcheck
1147    warnings.</li>
1148
1149    <li>improve configure check for desktop categories.</li>
1150  </ul>
1151
1152  <h1><a name="xterm_363" id="xterm_363">Patch #363 -
1153  2020/12/26</a></h1>
1154
1155  <ul>
1156    <li>disable groff hyphenation in generated html when using
1157    man2html.</li>
1158
1159    <li>change SCS &ldquo;<code>&amp;4</code>&rdquo; Cyrillic to
1160    non-NRCS, per VT520 manual.</li>
1161
1162    <li>amend fix for SCS in <a href="#xterm_198">patch #198</a> to
1163    remove <code>DEL</code> rather than converting it to a space
1164    (report by Thomas Wolff).</li>
1165
1166    <li>modify state transitions for selecting character sets to
1167    eliminate an ambiguity between the &ldquo;A&rdquo; used in
1168    VT220 versus VT320.</li>
1169
1170    <li>improve error recovery when selecting characters by
1171    resetting to US ASCII when no suitable encoding is found, e.g.,
1172    attempting to use an NRCS sequence when NRCS is not
1173    enabled.</li>
1174
1175    <li>turn off hyphenation in &ldquo;<code>.txt</code>&rdquo;
1176    conversion, prompted by groff changes.</li>
1177
1178    <li>add VT5xx ISO Latin-2 (prompted by discussion with Thomas
1179    Wolff).</li>
1180
1181    <li>amend change from <a href="#xterm_361">patch #361</a> to
1182    event-handling in <code>CopyWait</code> to handle active-icon
1183    as a special case (Debian #975687).</li>
1184
1185    <li>add call to <code>loadColorTable</code> to get the visual
1186    information needed to decode BE RGBA32 color format (patch by
1187    Leandro Lupori).</li>
1188
1189    <li>modify the resource-parsing for
1190    <code>disallowedPasteControls</code> and similar lists of
1191    names/numbers to recognize &ldquo;~;&rdquo; (tilde) for
1192    cancelling a given name/number.</li>
1193
1194    <li>add ENQ, EOT and NUL to default for
1195    <code>disallowedPasteControls</code>.</li>
1196
1197    <li>change default for <code>disallowedPasteControls</code> to
1198    omit the tab character (suggested by Harald Dunkel).</li>
1199
1200    <li>fix swapped height/width in <code>regisScreenSize</code>
1201    and <code>maxGraphicSize</code> resources using "auto" value,
1202    from <a href="#xterm_314">patch #314</a> (report by Anton
1203    Lavrentiev)</li>
1204
1205    <li>revise <a href="#xterm_362">patch #362</a> change for
1206    shift-modifier versus mouse protocol and select/paste by adding
1207    resource <code>shiftEscape</code>, which can be enabled via a
1208    control sequence (prompted by discussion with Matthijs van
1209    Duin).</li>
1210
1211    <li>simplify/improve ifdef in trace code for using a separate
1212    set of files for each run of xterm.</li>
1213
1214    <li>add options <code>-r</code> and <code>-t</code> to
1215    <code>vttests/query-color.pl</code> to show the 6-digit RGB
1216    code and actual colors.</li>
1217
1218    <li>add <code>nel</code> to <code>xterm-basic</code>
1219    terminfo.</li>
1220
1221    <li>alter <code>vttests/modify-keys.pl</code> to omit HTML
1222    reference links to the modified-keys table where no keycode was
1223    available.</li>
1224  </ul>
1225
1226  <h1><a name="xterm_362" id="xterm_362">Patch #362 -
1227  2020/11/11</a></h1>
1228
1229  <ul>
1230    <li>cleanup of calls to <code>free</code>, removing checks for
1231    null (Walter Harms).</li>
1232
1233    <li>improved mouse-button reporting (prompted by discussion
1234    with Stephane Chazelas)
1235      <ul>
1236        <li>narrow the scope of the change for shift-key in
1237        <a href="#xterm_361">patch #361</a> to make it apply only
1238        when the <code>modifyOtherKeys</code> resource is set to 2
1239        (i.e., &ldquo;program mode&rdquo;). Also, when checking the
1240        shift-key, ignore modifiers other than shift, control and
1241        &ldquo;meta&rdquo;</li>
1242
1243        <li>use the alt/meta modifier information obtained in
1244        <code>VTInitModifiers</code> to replace a hard-coded
1245        <em>mod1</em> used to detect &ldquo;Meta&rdquo; for
1246        mouse-button responses.</li>
1247      </ul>
1248    </li>
1249
1250    <li>reduce <code>SIGWINCH</code>'s sent to the client by
1251    filtering out duplicates.</li>
1252
1253    <li>improve display when <code>scaleHeight</code> is greater
1254    than 1:
1255      <ul>
1256        <li>the text-cursor is vertically-centered on the current
1257        line, rather than only extending below the current line
1258        (report by Manu Chaturvedi).</li>
1259
1260        <li>the built-in line-drawing characters extend to the
1261        scaled cell-height.</li>
1262      </ul>
1263    </li>
1264
1265    <li>fill-in special case for motion-events to match the changes
1266    for shift-key in pointer-button events from <a href=
1267    "#xterm_361">patch #361</a>.</li>
1268  </ul>
1269
1270  <h1><a name="xterm_361" id="xterm_361">Patch #361 -
1271  2020/10/14</a></h1>
1272
1273  <ul>
1274    <li>treat the return value of <code>strerror</code> as readonly
1275    (patch by Philipp Klaus Krause).</li>
1276
1277    <li>modify event-handling in <code>CopyWait</code> to work
1278    around hanging while writing large amounts of text to an active
1279    icon and at the same time iconifying/deiconifying (report by
1280    Dave Kemper).</li>
1281
1282    <li>initialize double-buffer for active-icon window.</li>
1283
1284    <li>improve manual page description of scrollbar resources
1285    (report by Brian Lindholm).</li>
1286
1287    <li>correct ifdef for menu entry for active-icon, when
1288    initializing it with toolbar configuration.</li>
1289
1290    <li>add preprocessor option to makefile to set internal
1291    definition of pixmaps directory to match the
1292    install-configuration (FreeBSD #250036).</li>
1293
1294    <li>cleanup of calls to <code>free</code>, removing checks for
1295    null (Walter Harms).</li>
1296
1297    <li>add fallback actions <code>pointer-button</code> and
1298    <code>pointer-motion</code> which handle events for the mouse
1299    control-sequences protocol if the <em>select</em>-related
1300    translations are omitted with
1301    <code>*omitTranslation:select</code> (prompted by discussion
1302    with "Ergus")</li>
1303
1304    <li>amend rule for using shift-key to override mouse-protocol
1305    for select/paste to limit that feature to mouse-buttons which
1306    are actually bound to select/paste actions (prompted by
1307    discussion with "Ergus").</li>
1308
1309    <li>corrected mapping in special case for repainting wrap-marks
1310    when viewing the scrollback area.</li>
1311
1312    <li>use separate <em>GCs</em> for <code>showWrapMarks</code>
1313    feature, to work around cursor coloring change in <a href=
1314    "#xterm_345">patch #345</a> (report by Paulo Silva de
1315    Al&iacute;bano).</li>
1316  </ul>
1317
1318  <h1><a name="xterm_360" id="xterm_360">Patch #360 -
1319  2020/09/20</a></h1>
1320
1321  <ul>
1322    <li>mention <code>decGraphicsID</code> in
1323    <code>ctlseqs.ms</code> (suggested by Thomas Wolff).</li>
1324
1325    <li>modify pixel-coordinate mouse response to use as origin the
1326    VT100-window rather than the underlying widget, which includes
1327    the scrollbar (report by Thomas Wolff).</li>
1328
1329    <li>add configure option <code>--disable-print-graphics</code>
1330    (Ross Combs).</li>
1331
1332    <li>add <code>test_ptydata</code> to &ldquo;make check&rdquo;
1333    rule.</li>
1334
1335    <li>minor fixes for <code>ctlseqs.ms</code> (report by
1336    Jean-Marc Bourguet).</li>
1337
1338    <li>minor fixes for manpage style (report/patch by
1339    "a1346054").</li>
1340
1341    <li>correct cleanup from switch between italics/normal font in
1342    the show/hide cursor functions (report/testcase by Peter
1343    Fabinski).</li>
1344
1345    <li>integrated patch by Ross Combs:
1346      <ul>
1347        <li>internal renaming of GraphicsID symbols, for
1348        readability.</li>
1349
1350        <li>adjust logic for VT125, treating it as a ReGIS
1351        terminal.</li>
1352      </ul>
1353    </li>
1354
1355    <li>update configure macros, for compiler-warning fixes.</li>
1356
1357    <li>integrated patch by Ross Combs:
1358      <ul>
1359        <li>add control sequence modes for graphics printing.</li>
1360
1361        <li>improve conversion to bitmaps for TrueType fonts in
1362        ReGIS</li>
1363
1364        <li>add <code>font7</code> resource, for an
1365        &ldquo;enormous&rdquo; bitmap font.</li>
1366
1367        <li>do not reset graphics in a soft-reset.</li>
1368
1369        <li>add <code>pointerFont</code> resource, and
1370        <code>-pf</code> command-line option.</li>
1371      </ul>
1372    </li>
1373
1374    <li>improve typography of manual page (patch by Branden
1375    Robinson).</li>
1376
1377    <li>amend <a href="#xterm_359">patch #359</a> change to
1378    <code>df-install.in</code> to ignore a command-line assignment
1379    to <code>DESTDIR</code> if followed by an explicit
1380    <code>--dir</code> (report by Sven Joachim).</li>
1381  </ul>
1382
1383  <h1><a name="xterm_359" id="xterm_359">Patch #359 -
1384  2020/08/17</a></h1>
1385
1386  <ul>
1387    <li>add special case in <code>WriteText</code> to allow colors
1388    8-15 to override <code>colorBDMode</code> (patch by Ingo
1389    Br&uuml;ckl).</li>
1390
1391    <li>add <code>utf8Weblike</code> resource, to provide an
1392    alternate scheme for handling ill-formed UTF-8 sequences
1393    (adapted from patch by Dan Gohman).</li>
1394
1395    <li>improve computation for the number of lines needed to
1396    scroll-up a SIXEL graphic (report/patch by Ben Wong).</li>
1397
1398    <li>correct manpage description for default value of
1399    <code>disallowWindowOps</code> from changes in <a href=
1400    "#xterm_331">xterm #331</a> (patch by Ben Wong).</li>
1401
1402    <li>correct a loop starting-point in
1403    <code>refresh_graphics</code> from optimization in <a href=
1404    "#xterm_358">patch #358</a> changes (report by Ben Wong).</li>
1405
1406    <li>add a new mouse mode 1016, which uses the same format as
1407    mode 1006, but sends the mouse's position in pixels (suggested
1408    by Igor van den Hoven).</li>
1409
1410    <li>fix an issue from <a href="#xterm_338">patch #338</a>
1411    changes where only the first selection buffer specified in the
1412    request would be updated using OSC 52 (patch by Michael
1413    Gulick).</li>
1414
1415    <li>modify makefile/scripts to allow <code>DESTDIR</code> to
1416    prefix the target directory for desktop-file-install (report by
1417    Fred Heitkamp).</li>
1418
1419    <li>enable SIXEL feature by default.</li>
1420
1421    <li>update config.guess, config.sub</li>
1422  </ul>
1423
1424  <h1><a name="xterm_358" id="xterm_358">Patch #358 -
1425  2020/07/12</a></h1>
1426
1427  <ul>
1428    <li>correct logic for decodeTerminalID changes in <a href=
1429    "#xterm_357">patch #357</a> (report by "Chartreuse").</li>
1430
1431    <li>modify makefile to use <code>plink.sh</code> when linking
1432    test-programs, to fix build when using pcre (report by H Merijn
1433    Brand)</li>
1434
1435    <li>build-fix for test_ptydata program (patch by H Merijn
1436    Brand)</li>
1437  </ul>
1438
1439  <h1><a name="xterm_357" id="xterm_357">Patch #357 -
1440  2020/07/05</a></h1>
1441
1442  <ul>
1443    <li>several minor optimizations for the ReGIS and SIXEL
1444    features, improving performance by 10%.</li>
1445
1446    <li>add resource <code>decGraphicsID</code> to allow displaying
1447    graphics when the emulation level would ordinarily disallow
1448    this (prompted by discussion with Thomas Wolff).</li>
1449
1450    <li>add control sequences for fast switching of color palettes:
1451    <code>XTPUSHCOLORS</code>, <code>XTPOPCOLORS</code>,
1452    <code>XTREPORTCOLORS</code></li>
1453
1454    <li>amend change for soft-hyphen from <a href=
1455    "#xterm_328">patch #328</a> to avoid stripping
1456    replacement-characters which would be shown with malformed or
1457    overlong UTF-8 input.</li>
1458
1459    <li>corrected an error-handling case in
1460    <code>decodeUtf8</code>, matching a similar fix in <a href=
1461    "#xterm_268">patch #268</a> (report/patch by Dan Gohman).</li>
1462
1463    <li>add a test-driver for <code>ptydata.c</code></li>
1464
1465    <li>minor cleanup of macros (adapted from patch by Walter
1466    Harms).</li>
1467
1468    <li>fix some errata in <code>ctlseqs.ms</code> (report by
1469    Thomas Wolff).</li>
1470
1471    <li>allow immediate repaint-on-palette-changed if
1472    double-buffering is enabled.</li>
1473
1474    <li>deprecate codes 10/11 in sgr push controls, changing those
1475    to 30/31, to avoid confusion with sgr 10-19.</li>
1476
1477    <li>modify <code>SGR</code> parameter handling to stop if an
1478    unrecognized parameter is encountered, to guard against
1479    malformed or nonstandard sequences (report by Bram
1480    Moolenaar).</li>
1481
1482    <li>modify <code>DECERA</code> color for consistency with other
1483    erasures/clearing (report by Thomas Wolff).</li>
1484
1485    <li><code>ECH</code> should not be masked by
1486    <code>DECSCA</code> (report by Thomas Wolff).</li>
1487
1488    <li>extend <code>DECFRA</code> and <code>REP</code> to accept
1489    any &ldquo;graphic&rdquo; character rather than just Latin1,
1490    etc. (report by Thomas Wolff).</li>
1491
1492    <li>add <code>-C</code> option to 256colors2.pl and
1493    88colors2.pl, to demonstrate mixed semicolon/colon separators
1494    which are implied by ECMA-48.</li>
1495
1496    <li>update sample terminfo to reflect the documentation
1497    improvements.</li>
1498
1499    <li>update description of 88/256/direct color in
1500    <code>ctlseqs.ms</code> to point out that using semicolons is a
1501    deprecated legacy feature, and standard terminal applications
1502    should use colons (prompted by discussion with Bram
1503    Moolenaar).</li>
1504
1505    <li>modify configure-check for <code>tgetent</code> to
1506    conditionally include <code>termcap.h</code>, enabling
1507    configuration using <code>clang</code>'s pedantic-errors option
1508    (report by Dennis Clarke). See <a href=
1509    "https://invisible-island.net/ncurses/man/curs_termcap.3x.html#h3-Other-Compatibility">
1510    <em>Other Compatibility</em></a> in ncurses'
1511    <em>curs_termcap(3X)</em>.</li>
1512
1513    <li>remove some unnecessary pointer checks (patch by Walter
1514    Harms).</li>
1515
1516    <li>accept terminal-id and add DA response for VT131,
1517    VT132.</li>
1518  </ul>
1519
1520  <h1><a name="xterm_356" id="xterm_356">Patch #356 -
1521  2020/05/02</a></h1>
1522
1523  <ul>
1524    <li>revise fix for Debian #954730, which interfered with wheel
1525    mouse events (report by Gabriele Balducci).</li>
1526  </ul>
1527
1528  <h1><a name="xterm_355" id="xterm_355">Patch #355 -
1529  2020/05/01</a></h1>
1530
1531  <ul>
1532    <li>revise fix for Debian #954730, which interfered with wheel
1533    mouse events (report by Henri Menke).</li>
1534
1535    <li>fix typos in documentation (reports by Stephen Hurd, Stefan
1536    Assmann).</li>
1537
1538    <li>add mapping for <code>decTerminalID</code> for
1539    &ldquo;100&rdquo; overlooked in <a href="#xterm_354">patch
1540    #354</a>.</li>
1541
1542    <li>update tables in wcwidth.c based on Unicode 13.0.0</li>
1543
1544    <li>build-fix for &ldquo;make check&rdquo; when building
1545    out-of-tree (report by Sven Joachim).</li>
1546  </ul>
1547
1548  <h1><a name="xterm_354" id="xterm_354">Patch #354 -
1549  2020/04/26</a></h1>
1550
1551  <ul>
1552    <li>work around performance problems of
1553    <code>XDrawImageString</code> and
1554    <code>XDrawImageString16</code> functions (Debian
1555    #954845).</li>
1556
1557    <li>add a control sequence which reports xterm's version (patch
1558    by Nicholas Marriott, mintty #881).</li>
1559
1560    <li>temporarily set numeric locale category to "C" when parsing
1561    resources, so that <code>scaleHeight</code> and
1562    <code>faceSize</code> settings do not depend on locale (Debian
1563    #820803).</li>
1564
1565    <li>improve DA/DA2 response by ensuring that the
1566    <code>decTerminalID</code> maps to one of the known
1567    identifiers, as well as providing DA2 response for VT241 and
1568    VT382.</li>
1569
1570    <li>terminfo improvements:
1571      <ul>
1572        <li>add (my) comments from ncurses which explain the keypad
1573        layouts.</li>
1574
1575        <li>add <code>vt52+keypad</code> from ncurses</li>
1576
1577        <li>use improved <code>xm</code> example for
1578        <code>xterm+x11mouse</code>, <code>xterm+sm+1006</code>
1579        from ncurses 6.2 terminfo.src</li>
1580      </ul>
1581    </li>
1582
1583    <li>two fixes for left/right wheel mouse event reporting
1584    (Debian #954730):
1585      <ul>
1586        <li>filter identical button-events</li>
1587
1588        <li>correct order of button-range versus protocol type (see
1589        <a href="#xterm_345">patch #345</a>)</li>
1590      </ul>
1591    </li>
1592
1593    <li>change &ldquo;make check&rdquo; makefile-rule to use
1594    test-drivers for charclass and wcwidth data.</li>
1595
1596    <li>quiet &ldquo;did not find a usable <em>xxx</em> TrueType
1597    font&rdquo; warnings by making <code>fontWarnings</code> apply
1598    to these messages (report by Jim Rees).</li>
1599
1600    <li>improve reinitialization of parameter list (report/testcase
1601    by James Holderness).</li>
1602
1603    <li>temporarily set numeric locale category to "C" when
1604    formatting SVG or XHTML screendumps, to make the radix
1605    separator used in RGB values consistent (adapted from patch by
1606    George Kouryachy).</li>
1607
1608    <li>add resource <code>forceXftHeight</code> to control whether
1609    workaround from Debian #880407 is used.</li>
1610
1611    <li>apply updated ascent/descent in workaround from Debian
1612    #880407 to fix a 1-pixel gap in built-in vertical lines
1613    (report/testcase by Stefan Assmann).</li>
1614
1615    <li>improve round-off of scaling for built-in line-drawing
1616    (prompted by discussion with Stefan Assmann).</li>
1617
1618    <li>adjust fonts in svg-icon files to accommodate reduced
1619    functionality of new pango (report/analysis by YOKOTA
1620    Hiroshi).</li>
1621
1622    <li>improve configure check for X Toolkit library.</li>
1623
1624    <li>correct Y-coordinate transformation in
1625    <code>ClearCurBackground</code>, overlooked in changes for
1626    <a href="#xterm_334">patch #334</a> (report/analysis by Chuck
1627    Silvers).</li>
1628
1629    <li>remove <code>--vendor</code> option from test-packages'
1630    install of desktop files; the feature is badly broken in
1631    <em>gnome-shell</em>.</li>
1632
1633    <li>modify <code>uxterm</code> to make it possible to select
1634    nonstandard locale <em>C.UTF-8</em>, e.g, if the user's locale
1635    is set to &ldquo;C&rdquo; (Debian #940626).</li>
1636
1637    <li>re-save/tweak &ldquo;.svg&rdquo; icon-files to work around
1638    breakage in toolset since the files were created in <a href=
1639    "#xterm_283">patch #283</a>.</li>
1640  </ul>
1641
1642  <h1><a name="xterm_353" id="xterm_353">Patch #353 -
1643  2020/02/01</a></h1>
1644
1645  <ul>
1646    <li>amend change in <a href="#xterm_352">patch #352</a> for
1647    button-events to fix a case where some followup events were not
1648    processed soon enough (report/patch by Jimmy Aguilar
1649    Mena).</li>
1650
1651    <li>handle <em>MappingNotify</em> X event, to improve recovery
1652    when switching keyboard configurations using
1653    <code>xkbcomp</code> (prompted by discussion with Frank Mosch,
1654    Debian #661295). There is more work needed here, possibly in
1655    the X libraries.</li>
1656
1657    <li>improve discussion of mouse-mode in <code>ctlseqs.ms</code>
1658    (suggested by Igor van den Hoven).</li>
1659
1660    <li>further improve checks for Xft <em>max-advance-width</em>
1661    to take into account fonts which use two cells for ambiguous
1662    width characters. Also improve the time used for these checks
1663    (reports by Yuri Pankov, Frank Mosch).</li>
1664
1665    <li>fix a few spelling errors reported by codespell (report by
1666    Jens Schleusener).</li>
1667
1668    <li>modify <code>run-tic.sh</code> to prefer development
1669    version of ncurses since changes to terminfo file in <a href=
1670    "#xterm_345">patch #345</a> rely upon bug-fixes in ncurses
1671    (prompted by discussion with Will Senn).</li>
1672  </ul>
1673
1674  <h1><a name="xterm_352" id="xterm_352">Patch #352 -
1675  2020/01/16</a></h1>
1676
1677  <ul>
1678    <li>adjust fontsize data to handle a minor inconsistency from
1679    recent Xft versions (Debian #880407, adapted from patch by
1680    Vincent Lef&egrave;vre).</li>
1681
1682    <li>add a table to the manual page description of
1683    <code>forceBoxChars</code> to alert the reader to the special
1684    characters aside from &ldquo;line-drawing&rdquo; which are
1685    drawn directly when this resource is set (Debian #931305).</li>
1686
1687    <li>improve <code>checkXft</code> logic which attempts to
1688    detect fonts whose <em>max-advance-width</em> is inconsistent
1689    with the actual glyph widths. For some fonts, it is necessary
1690    to check additional characters (report/analysis by Jan
1691    Engelhardt).</li>
1692
1693    <li>improve configure-checks for X headers and libraries on
1694    recent MacOS, which has moved those files under
1695    <code>/usr/X11</code>.</li>
1696
1697    <li>improve portability of iconify/deiconify feature by taking
1698    into account some window managers which manipulate the EWMH
1699    <code>_NET_WM_STATE</code> property, adding/removing
1700    <code>_NET_WM_STATE_HIDDEN</code> rather than actually
1701    <em>minimizing</em> the window (prompted by discussion with
1702    J&ouml;rg Breitbart).</li>
1703
1704    <li>improve workaround from <a href="#xterm_287">patch #287</a>
1705    for the <code>-iconic</code> option when configured with
1706    toolbar by postponing the extra request for minimizing the
1707    window to the end of menu-initialization.</li>
1708
1709    <li>modify <code>xevents</code> special-case for mouse-events
1710    to include button-events so that the meta key by itself can
1711    generate button-events (report/analysis by Mattias
1712    Engdeg&aring;rd).</li>
1713
1714    <li>amend SGR-stack change from <a href="#xterm_348">patch
1715    #348</a> to not associate bold attribute with background color
1716    (report by Nicholas Marriott).</li>
1717
1718    <li>fix copy/paste error in manual page (patch by Larry
1719    Hynes).</li>
1720
1721    <li>add definitions in <code>xterm_io.h</code> so that GNU/Hurd
1722    will use <code>posix_openpty</code> (patch by Samuel
1723    Thibault).</li>
1724
1725    <li>build-fix in debug-tracing, for <code>esctest</code>.</li>
1726
1727    <li>updated autoconf macros</li>
1728
1729    <li>update config.guess</li>
1730  </ul>
1731
1732  <h1><a name="xterm_351" id="xterm_351">Patch #351 -
1733  2019/11/17</a></h1>
1734
1735  <ul>
1736    <li>correct logic in <code>property_to_string</code> for
1737    deciding when to fallback from UTF-8 decoding to ISO-8859-1
1738    decoding, broken in <a href="#xterm_350">xterm #350</a>
1739    (FreeBSD #241961).</li>
1740
1741    <li>add <code>-report-icons</code> to help-message.</li>
1742
1743    <li>improved autoconf macros:
1744      <ul>
1745        <li><code>CF_ADD_LIBS</code>: the change to filter out
1746        duplicates caused this to append rather than prepend.
1747        revise to fix that.</li>
1748
1749        <li><code>CF_GCC_VERSION</code> and
1750        <code>CF_GCC_WARNINGS</code>: move checks to distinguish
1751        icc/clang from gcc from the macro which handles the
1752        --enable-warnings option, to make this work
1753        without-warnings for the inline-checks.</li>
1754      </ul>
1755    </li>
1756
1757    <li>update config.guess, config.sub</li>
1758
1759    <li>correct status in <code>XTGETXRES</code> replies when the
1760    resource was not found.</li>
1761
1762    <li>fix some gcc, cppcheck, clang and coverity warnings.</li>
1763
1764    <li>guard call to <code>RequestResize</code> from the
1765    struct-notify event handler to prevent recursion in the
1766    Xft+buffered workaround in some cases when doing manual
1767    resizing rather than resizing via escape sequences (reports by
1768    Stefan Assmann, Mike Thornburg).</li>
1769
1770    <li>amend the workaround for Xft+buffered blanking by moving
1771    the switch to bitmap-fonts to account for differences in font
1772    metrics between bitmap- and TrueType-fonts (report by Stefan
1773    Assmann).</li>
1774
1775    <li>improve the note on the <code>xterm-rep</code> terminfo
1776    entry (prompted by discussion with Sven Joachim).</li>
1777  </ul>
1778
1779  <h1><a name="xterm_350" id="xterm_350">Patch #350 -
1780  2019/11/02</a></h1>
1781
1782  <ul>
1783    <li>modify html/svg dump to not ignore zero'd/blank cells.</li>
1784
1785    <li>align terminfo file with ncurses, e.g., add
1786    <code>xterm+osc104</code> block.</li>
1787
1788    <li>improve discussion of <code>modifyOtherKeys</code> in
1789    manual page and in <code>ctlseqs.ms</code>.</li>
1790
1791    <li>add <code>vttests/modify-keys.pl</code> script to
1792    illustrate the <code>modifyOtherKeys</code> resource (prompted
1793    by discussion with Bram Moolenaar).</li>
1794
1795    <li>various improvements to <code>ctlseqs.ms</code>, as part of
1796    autogenerating links for the website.</li>
1797
1798    <li>update manual page default for <code>saveLines</code>
1799    resource default value (Branden Robinson, Debian #913815).</li>
1800
1801    <li>add command-line option <code>-report-xres</code> to show
1802    the values of the VT100 widget X resources when initialization
1803    is complete.</li>
1804
1805    <li>add a control sequence which, like tcap-query, allows an
1806    application to inspect most X resource settings of the VT100
1807    widget.</li>
1808
1809    <li>adjust some optional features to enable them in the imake
1810    configuration as they would be by default via the configure
1811    script.</li>
1812
1813    <li>add null-pointer checks to improve error recovery when
1814    bitmap fonts are missing or corrupt (report by Jonne
1815    Ransijn).</li>
1816
1817    <li>correct the condition for deleting the EWMH window-title
1818    property, i.e., if UTF-8 titles are disabled, rather than if an
1819    update to the EWHM property found no change (report by Sven
1820    Joachim).</li>
1821
1822    <li>build-fix for the case when configure
1823    <code>--enable-trace</code> is used without
1824    <code>--enable-warnings</code> (report by Sven Joachim).</li>
1825
1826    <li>fix a few minor bugs found with Coverity.</li>
1827
1828    <li>add a check in <code>property_to_string</code> to avoid
1829    translating <code>UTF8_STRING</code> or
1830    <code>COMPOUND_TEXT</code> into Latin-1 when UTF-8 encoding is
1831    active, e.g., when pushing onto the title-stack while switching
1832    to the alternate screen.</li>
1833
1834    <li>build-fix for the <code>--disable-doublechars</code>
1835    configure option (report by Brian Lindholm).</li>
1836  </ul>
1837
1838  <h1><a name="xterm_349" id="xterm_349">Patch #349 -
1839  2019/09/22</a></h1>
1840
1841  <ul>
1842    <li>add graphic context to support bold+italics (patch by Quinn
1843    Strahl).</li>
1844
1845    <li>document window properties in the manual page.</li>
1846
1847    <li>improve title-string feature:
1848      <ul>
1849        <li>if any of <code>allowC1Printable</code>,
1850        <code>utf8Title</code> or <code>titleModes</code> hint that
1851        an application might send a title-string encoded in UTF-8,
1852        check if that is the case, and if it is recodable into
1853        ISO-8859-1, use that for the ICCCM-style title.</li>
1854
1855        <li>check if the title given by a control sequence happens
1856        to be already encoded in UTF-8, to avoid double-encoding
1857        (FreeBSD #240393).</li>
1858
1859        <li>Make <code>sameName</code> resource work for the EWMH
1860        titles.</li>
1861
1862        <li>Modify menu-state of <code>utf8Title</code> to be
1863        consistent with the <code>utf8</code> source, i.e., setting
1864        the EWMH properties automatically when UTF-8 is
1865        active.</li>
1866      </ul>
1867    </li>
1868
1869    <li>reorganize text-drawing to make it possible to investigate
1870    using Xft to implement VT100-style double-sized characters.
1871    While doing this, made a workaround for apparent Xft bug which
1872    loses its drawable state when switching from 132 to 80
1873    columns.</li>
1874
1875    <li>improve font-warning messages by showing which are
1876    <em>derived</em> rather than directly from resource settings
1877    (suggested by Tomas Korbar). Also filter repeated font-warning
1878    messages, to accommodate broken X configurations.</li>
1879
1880    <li>fix an inconsistency between failure to load derived wide
1881    font versus failure to load derived wide-bold font (Redhat
1882    #1679790). That relies upon the &ldquo;:unscaled&rdquo;
1883    property which is broken in some distributions (however, recent
1884    Debian and the BSDs such as MacOS work).</li>
1885
1886    <li>updated autoconf-252 to check X11R7 include/lib directories
1887    found on some older configurations.</li>
1888
1889    <li>set a graphic-context for border when double-buffering is
1890    active; to prevent the border color from changing when
1891    switching to reverse-video.</li>
1892
1893    <li>build-fix for <code>--disable-ziconbeep</code>, which
1894    conflicted with the new double-buffer configuration (report by
1895    Brian Lindholm).</li>
1896
1897    <li>fix loop-limit for lookup of <code>fullscreen</code>
1898    resource broken in <a href="#xterm_347">xterm #347</a> (report
1899    by Scott Bertilson).</li>
1900  </ul>
1901
1902  <h1><a name="xterm_348" id="xterm_348">Patch #348 -
1903  2019/07/22</a></h1>
1904
1905  <ul>
1906    <li>update window-manager hints when exiting Tek4014 mode
1907    (Debian #932569, patch by Jonathan Irwin).</li>
1908
1909    <li>fix a misformatted printf in
1910    <code>report-sgr.pl</code>.</li>
1911
1912    <li>add configure check for termios types, to improve
1913    compiler-warnings.</li>
1914
1915    <li>ensure that when resetting margins, to also reset
1916    <code>DECLRMM</code>. This affects <code>DECCOLM</code>,
1917    <code>DECALN</code> (although DEC STD 070 mentions only
1918    top/bottom margins), and <code>DECSTR</code>.</li>
1919
1920    <li>corrected order of reset/move when setting
1921    <code>DECCOLM</code>, and make it more consistent by always
1922    resetting margins, rather than only when the mode is changed
1923    (report by James Holderness).</li>
1924
1925    <li>compile-in double-buffer support by default, changing the
1926    configure option to set the default resource value for
1927    <code>buffered</code> to true or false.</li>
1928
1929    <li>take in account the reverse-video state when computing the
1930    filler-color used when clearing the screen in double-buffering
1931    configuration.</li>
1932
1933    <li>correct logic for filtering scrollbar-updates when
1934    <code>buffered</code> resource is compiled-in but not enabled
1935    (report by Paul Lampert).</li>
1936
1937    <li>improve state saved/restored for cursor-save and SGR stack
1938    features.</li>
1939
1940    <li>improve description of 1006 and 1005 mouse modes, to avoid
1941    implying that they use character-parameters (report by Bryan
1942    Christ).</li>
1943
1944    <li>explain in <code>ctlseqs.ms</code> that some of the numeric
1945    keypad keys were xterm extensions rather than VT100/VT220
1946    terminal features (prompted by discussion with Thomas
1947    Wolff).</li>
1948
1949    <li>explain in <code>ctlseqs.ms</code> how the DEC windowing
1950    extension is supported by xterm.</li>
1951
1952    <li>add 28 rectangular editing to the primary response
1953    (suggested by Thomas Wolff).</li>
1954
1955    <li>fix a typo, improve wording in <code>ctlseqs.ms</code>
1956    (Thomas Wolff).</li>
1957
1958    <li>fix internal column-parameter when <code>SL</code> or
1959    <code>SR</code> is used with left/right margins (patch by
1960    Thomas Wolff).</li>
1961
1962    <li>fix off-by-one in VT52 graphics character mapping (patch by
1963    Thomas Wolff).</li>
1964
1965    <li>use <code>_X_UNUSED</code>, etc., when available as a
1966    fallback for <code>GCC_UNUSED</code>, etc., to reduce compiler
1967    warnings when building with <code><em>imake</em></code>.</li>
1968
1969    <li>update config.sub</li>
1970  </ul>
1971
1972  <h1><a name="xterm_347" id="xterm_347">Patch #347 -
1973  2019/06/30</a></h1>
1974
1975  <ul>
1976    <li>fix a few minor bugs found with Coverity.</li>
1977
1978    <li>improve double-buffering for scrollbars combined with
1979    scrolled text; add <code>bufferedFPS</code> resource to control
1980    the maximum rate of screen updates (report by Mike
1981    Thornburg).</li>
1982
1983    <li>improve fixes for <code>DECCRA</code> handling of
1984    double-width characters (patch by Martin Hostettler).</li>
1985
1986    <li>improve discussion of ECMA-48's typographical error for
1987    <code>SD</code> in <code>ctlseqs.ms</code> (prompted by report
1988    by Martin Hostettler).</li>
1989
1990    <li>correct off-by-one in parameter limit-check for
1991    <code>DECCRA</code> (report by Martin Hostettler).</li>
1992
1993    <li>modify <code>saveCellData</code> to handle case where
1994    double-width character is partially copied; that should be
1995    blanked (report/testcase by Thomas Wolff).</li>
1996
1997    <li>add resource <code>buffered</code> to allow
1998    enabling/disabling double-buffered mode.</li>
1999
2000    <li>two fixes for the double-buffer configuration, prompted by
2001    MacPorts' switch to double-buffering (patch by Mike Thornburg,
2002    MacPorts #58313):
2003      <ul>
2004        <li>ensure that the needSwap flag is set after drawing
2005        TrueType text</li>
2006
2007        <li>corrected the drawable-parameter used for the
2008        bar-cursor</li>
2009      </ul>
2010    </li>
2011
2012    <li>modify <code>ScrnRefresh</code> to ignore a case where the
2013    left/right halves of a double-width character have been set to
2014    different video attributes. The attribute to use is in the
2015    left-half (report/testcase by Thomas Wolff).</li>
2016
2017    <li>correct a limit-check for <code>DECCRA</code> in case the
2018    target lies off-screen (report/testcase by Thomas Wolff).</li>
2019
2020    <li>documentation errata (report by Thomas Wolff).</li>
2021
2022    <li>reset flags including wraparound and reverse-wrap when
2023    switching to VT52 mode, while noting that DEC's standard
2024    documentation leaves that behavior <em>undefined</em> (report
2025    by Thomas Wolff).</li>
2026
2027    <li>ensure that italic font is turned off on hard/soft resets
2028    (report by Martin Hostettler).</li>
2029
2030    <li>improve responsiveness to X events while processing HTML or
2031    SVG dumps (report by Martin Hostettler).</li>
2032
2033    <li>replace logic in <code>wcwidth.c</code> for detecting
2034    double-width characters with binary-search table generated
2035    using updated <code>uniset</code> (report by Robert Ross).</li>
2036
2037    <li>add test-driver for <code>wcwidth.c</code> to simplify
2038    comparison with system's <code>wcwidth</code>.</li>
2039
2040    <li>ensure that window-manager name comparisons work when
2041    active-icon is enabled, since <code><em>CSI</em>13t</code> uses
2042    the window-manager name (report by Glenn Golden, Arch
2043    #62818).</li>
2044
2045    <li>trim a stray &ldquo;experimental&rdquo; in one of the
2046    comments about the tcap-query feature, which has been a
2047    supported feature since 2008 (see <a href="#xterm_238">patch
2048    #238</a>).</li>
2049  </ul>
2050
2051  <h1><a name="xterm_346" id="xterm_346">Patch #346 -
2052  2019/05/27</a></h1>
2053
2054  <ul>
2055    <li>update description of the &ldquo;default&rdquo; setting for
2056    the <code>renderFont</code> resource to match the behavior in
2057    <a href="#xterm_261">patch #261</a> (Debian #862042).</li>
2058
2059    <li>account for <code>internalBorder</code> in
2060    <code>useBorderClipping</code> (report by Robert Ross).</li>
2061
2062    <li>update table of unknown-width characters in wcwidth.c based
2063    on Unicode 12.1.0 (prompted by discussion with Robert
2064    Ross).</li>
2065
2066    <li>improve description of DECSCL versus S7C1T and S8C1T in
2067    <code>ctlseqs.ms</code>.</li>
2068
2069    <li>improve consistency between <code><em>CSI</em>3t</code> and
2070    <code><em>CSI</em>13t</code>, accounting for differences
2071    between some window managers' handling of EMWH extents (report
2072    by Bram Moolenaar).</li>
2073
2074    <li>fix a sign-extension when reporting offscreen window
2075    position (report by Bram Moolenaar).</li>
2076  </ul>
2077
2078  <h1><a name="xterm_345" id="xterm_345">Patch #345 -
2079  2019/05/14</a></h1>
2080
2081  <ul>
2082    <li>updated FreeBSD test-package from recent /usr/ports
2083    scripts.</li>
2084
2085    <li>workaround in <code>run-tic.sh</code> for HPUX, whose
2086    <code>mktemp</code> prints the name of a temporary directory
2087    without creating it.</li>
2088
2089    <li>add left/right margin capabilities to terminfo, since the
2090    default terminal emulation is VT420 (suggested by Thomas
2091    Wolff).</li>
2092
2093    <li>modify treatment of <code>reverseVideo</code> for dynamic
2094    colors to make text foreground/background consistent with the
2095    cursor color (prompted by discussion with Ben Wong, lsix
2096    #20).</li>
2097
2098    <li>modify button-handling to make SGR button-release distinct
2099    from button-press for button-codes starting with 8 (patch by
2100    Mikulas Patocka).</li>
2101
2102    <li>add aliases for the sgr push/pop controls to work around
2103    language limitations of C# (request by Dan Thompson).</li>
2104
2105    <li>correct a typo in <code>setDirectFG</code>, which could
2106    cause setting of indexed-color after a direct-color to be
2107    ignored.</li>
2108
2109    <li>add resource <code>useBorderClipping</code> as an
2110    alternative to <code>useClipping</code> (request by Robert
2111    Ross).</li>
2112
2113    <li>improve logic for displaying xterm's built-in line-drawing
2114    characters vs missing glyphs, e.g., for U+2409 to U+240D (patch
2115    by Robert Ross).</li>
2116
2117    <li>add <code>vttests/sgrPushPop2.pl</code> to illustrate how
2118    selective pushes work, as well as to demonstrate push/pop of
2119    the various color types supported by xterm.</li>
2120
2121    <li>fix a special case in <code>XTPOPSGR</code> where
2122    direct-colors were not checked as a dependency of
2123    indexed-colors, contrary to documentation.</li>
2124
2125    <li>reduce buffer-flushes for <code>OSC&nbsp;4</code> and
2126    <code>OSC&nbsp;5</code> color-queries, as well as in the
2127    queries for dynamic colors.<br>
2128    <strong>Note:</strong> this change makes the reply for
2129    <code>OSC&nbsp;5</code> use the &ldquo;5&rdquo; in the
2130    response; formerly it was mapped to &rdquo;4&rdquo; after
2131    adding the maximum number of colors.</li>
2132
2133    <li>modify <code>vttests/query-color.pl</code> to demonstrate
2134    multiple queries in one request.</li>
2135
2136    <li>update tables of combining and unknown-width characters in
2137    wcwidth.c based on Unicode 12.0.0.</li>
2138
2139    <li>modify response for <code>OSC&nbsp;5</code> to be
2140    consistent with documentation.</li>
2141
2142    <li>add <code>vttests/query-dynamic.pl</code></li>
2143
2144    <li>modify <code>vttests/query-color.pl</code> to accept bold,
2145    underline, etc., keywords to decide whether to use
2146    <code>OSC&nbsp;5</code> rather than
2147    <code>OSC&nbsp;4</code>.</li>
2148
2149    <li>modify cursor coloring to avoid a case where the cursor
2150    matched the foreground color while the text was displayed in
2151    reverse-video (report by Nuno Silva).</li>
2152
2153    <li>fix an inconsistency in X10 mouse responses from <a href=
2154    "#xterm_342">patch #342</a> changes; the legacy protocol
2155    supports only buttons 1-3.</li>
2156
2157    <li>reduce the number of buffer-flushes for tcap-query
2158    batches.</li>
2159
2160    <li>modify <code>tcapquery.pl</code> to demonstrate batch
2161    queries with <code>-q</code> option.</li>
2162
2163    <li>increase response-buffer size, and make it configurable as
2164    <code>limitResponse</code> (prompted by discussion with Stephen
2165    P Wall).</li>
2166
2167    <li>modified configure script:
2168      <ul>
2169        <li>check/workaround for non-POSIX manipulation of
2170        predefined symbols</li>
2171
2172        <li>check for updated X Toolkit, which uses
2173        <code>const</code>.</li>
2174      </ul>
2175    </li>
2176
2177    <li>update config.guess, config.sub</li>
2178
2179    <li>provide for secondary-selection, overlooked in <a href=
2180    "#xterm_338">patch #338</a> (report by Emile LeBlanc).</li>
2181
2182    <li>documentation errata (patch by Larry Hynes).</li>
2183
2184    <li>improve pointer-checks in <code>Tekproc.c</code></li>
2185
2186    <li>revise solution for Debian #919475, to allow for
2187    struct-notify events occurring as a side-effect of toggling
2188    to/from full-screen mode.</li>
2189
2190    <li>window's border-size was incorrectly added to position when
2191    maximizing window (report by Gary Langshaw).</li>
2192  </ul>
2193
2194  <h1><a name="xterm_344" id="xterm_344">Patch #344 -
2195  2019/02/12</a></h1>
2196
2197  <ul>
2198    <li>add ASCII escape to default for
2199    <code>disallowedPasteControls</code> (prompted by discussion
2200    with Martin Hostettler).</li>
2201
2202    <li>fix typo in <code>ctlseqs.ms</code> (Robert Ross).</li>
2203
2204    <li>implement DEC Cyrillic NRCS (based on screenshots of vttest
2205    provided by Markus Schmidt).</li>
2206
2207    <li>correct control returning sixel geometry maximum versus
2208    actual size (patch by Ben Wong).</li>
2209
2210    <li>improve manual page for <code>resize</code> to clarify that
2211    <code>resize</code> does not execute the shell commands which
2212    it generates for setting environment variables.</li>
2213
2214    <li>improve memory-management for parser, to handle response
2215    strings that might occur with <code>ENQ</code> or when
2216    <code>SRM</code> mode is active (patch by Martin
2217    Hostettler).</li>
2218
2219    <li>change <code>Comment</code> text in uxterm's desktop file
2220    to work around a limitation of GNOME's GIO application
2221      (<a href="https://gitlab.gnome.org/GNOME/gnome-shell/issues/940#note_427334">issue
2222      #940</a>). The <a href=
2223      "https://developer.gnome.org/gio/stable/gio-Desktop-file-based-GAppInfo.html#g-desktop-app-info-search">
2224      documentation</a> reads:
2225      <blockquote>
2226        <p>Searches desktop files for ones that match
2227        <em><code>search_string</code></em>.</p>
2228
2229        <p>The return value is an array of <em>strv</em>s. Each
2230        <em>strv</em> contains a list of applications that matched
2231        search_string with an equal score. The outer list is sorted
2232        by score so that the first <em>strv</em> contains the
2233        best-matching applications, and so on. The algorithm for
2234        determining matches is undefined and may change at any
2235        time.</p>
2236      </blockquote>
2237    </li>
2238
2239    <li>a check of <code>zIconBeep</code> resource was removed in
2240    double-buffer fix in <a href="#xterm_334">patch #334</a>. That
2241    is used to decide whether to handle struct-notify events. When
2242    xterm does handle the events, it may negotiate a new
2243    window-size with the window manager. In that case, the
2244    <code>limitResize</code> resource setting limited the new
2245    window-size to the screen-size. Amended that by eliminating the
2246    limit for this special case when double-buffer is configured,
2247    and restoring the check for <code>zIconBeep</code> when
2248    double-buffer is not configured (Debian #919475).</li>
2249
2250    <li>disallow recursion which could happen if a user configures
2251    the <code>answerbackString</code> resource with the
2252    <code>ENQ</code> code and experiments with that code when
2253    <code>SRM</code> is enabled (report by by Martin
2254    Hostettler).</li>
2255
2256    <li>add remaining credits in <code>COPYING</code> file.</li>
2257
2258    <li>modify <code>run-tic.sh</code> to check if it is using an
2259    older version of ncurses which does not support large terminal
2260    descriptions, and if so, remove a non-essential feature to keep
2261    within the 4096-byte legacy limit.</li>
2262  </ul>
2263
2264  <h1><a name="xterm_343" id="xterm_343">Patch #343 -
2265  2019/01/13</a></h1>
2266
2267  <ul>
2268    <li>modify <code>run-tic.sh</code> to prefer ncurses6 over
2269    ncurses5, when available.</li>
2270
2271    <li>add <code>COPYING</code> file, and dummy "check" makefile
2272    rule for testing Arch packages.</li>
2273
2274    <li>add/update package scripts for FreeBSD and NetBSD, for
2275    testing.</li>
2276
2277    <li>update tables of combining and ambiguous-width characters
2278    in wcwidth.c based on Unicode 11.0.0.</li>
2279
2280    <li>modify <code>xterm-new</code> sample terminfo entry to
2281    correspond to ncurses 6.1, using the SGR 1006 mouse
2282    protocol.</li>
2283
2284    <li>improve manual page discussion of selection ownership
2285    versus highlighting (prompted by discussion with Martin
2286    Hostettler).</li>
2287
2288    <li>restore/repair <code>keepClipboard</code> feature which was
2289    broken by changes in <a href="#xterm_338">patch #338</a>
2290    (report by Martin Hostettler).</li>
2291
2292    <li>improve documentation for <code>deleteIsDEL</code>
2293    resource.</li>
2294
2295    <li>modify DECRQM response for private mode 1037 to account for
2296    cases where the resource <code>deleteIsDEL</code> is initially
2297    neither true nor false, but dependent upon the keyboard type
2298    (report/analysis by Martin Hostettler).</li>
2299
2300    <li>clear pointers for pattern/fontset after destroying their
2301    data when switching facename with an escape sequence (report by
2302    Robert Ross).</li>
2303
2304    <li>modify logic for TrueType fallback fonts to match the
2305    sort-order used by <code>fc-match</code> (report by Robert
2306    Ross).</li>
2307
2308    <li>add resource setting <code>limitFontsets</code> which can
2309    be used to limit or disable the new TrueType fontset feature
2310    (request by Robert Ross).</li>
2311  </ul>
2312
2313  <h1><a name="xterm_342" id="xterm_342">Patch #342 -
2314  2019/01/03</a></h1>
2315
2316  <ul>
2317    <li>limit mouse-button events to 11 buttons in the original
2318    protocol, and 15 in the extended mouse-protocol (patch by
2319    Martin Hostettler).</li>
2320
2321    <li>correct calculation for buttons past 11 in
2322    <code>mouse-codes</code> sample script (patch by Martin
2323    Hostettler).</li>
2324
2325    <li>disable a supplementary check added in <a href=
2326    "#xterm_341">patch #341</a> which interferes with using
2327    fontconfig to select different-sized bitmap fonts (Arch
2328    #61237).</li>
2329  </ul>
2330
2331  <h1><a name="xterm_341" id="xterm_341">Patch #341 -
2332  2018/12/24</a></h1>
2333
2334  <ul>
2335    <li>add options to <code>mouse-codes</code> script to
2336    demonstrate that the encoding used for mouse events limits
2337    button numbers to 11.</li>
2338
2339    <li>allow mouse button numbers up to 11 using an offset of 128
2340    for button numbers 8-11 rather than the offset of 64 used for
2341    wheel-mouse, etc., buttons 4-7 in <a href="#xterm_338">patch
2342    #338</a> (adapted from patch by Martin Hostettler).</li>
2343
2344    <li>correct off-by-one right-margin checks for double-width
2345    character adjustments in DECERA/DECFRA (patch by Martin
2346    Hostettler).</li>
2347
2348    <li>allocated size of selection buffer was not reset when
2349    freeing the buffer in <a href="#xterm_338">patch #338</a>
2350    (report/analysis by Stefan Assmann).</li>
2351
2352    <li>modify the initial pattern passed to fontconfig to disallow
2353    color bitmap fonts.</li>
2354
2355    <li>improve error recovery for a case where fontconfig ignores
2356    the requested pattern due to override in the user's font
2357    configuration (report/testcase by Stefan Assmann).</li>
2358  </ul>
2359
2360  <h1><a name="xterm_340" id="xterm_340">Patch #340 -
2361  2018/12/16</a></h1>
2362
2363  <ul>
2364    <li>suppress a spurious warning about fontsets when
2365    initializing menus for the toolbar configuration.</li>
2366
2367    <li>fix some strict compiler warnings.</li>
2368
2369    <li>improve checks for TrueType font, to help with the case of
2370    color bitmap fonts, which fontconfig misrepresents (Arch Linux
2371    #58706).</li>
2372  </ul>
2373
2374  <h1><a name="xterm_339" id="xterm_339">Patch #339 -
2375  2018/12/12</a></h1>
2376
2377  <ul>
2378    <li>modify <code>CF_GNU_SOURCE</code> macro to treat
2379    <em>newlib</em> as similar to <em>glibc</em>, fixing a problem
2380    with the configure checks for pseudoterminals in Cygwin
2381    overlooked in <a href="#xterm_334">patch #334</a> updates for
2382    configure-macros.</li>
2383  </ul>
2384
2385  <h1><a name="xterm_338" id="xterm_338">Patch #338 -
2386  2018/12/09</a></h1>
2387
2388  <ul>
2389    <li>ignore <code>$TERMINFO</code> in the configure script if it
2390    is set to a non-directory value.</li>
2391
2392    <li>updated configure macros:
2393      <ul>
2394        <li><code>CF_WITH_PCRE2</code>, modified to work with
2395        Debian's (mis-numbered) pcre3 package.</li>
2396
2397        <li><code>CF_CC_ENV_FLAGS</code> , report preprocessor
2398        options in <code>CFLAGS</code></li>
2399
2400        <li><code>CF_LD_RPATH_OPT</code> , suppress check if
2401        <code>--disable-rpath</code> option was given.</li>
2402
2403        <li><code>CF_XOPEN_SOURCE</code>, add case for
2404        midnightbsd</li>
2405      </ul>
2406    </li>
2407
2408    <li>update config.guess, config.sub</li>
2409
2410    <li>add a check to ensure that the filename parameter passed to
2411    <code>XpmReadFileToPixmap</code> is actually a file, since that
2412    function does not check (report by Ben Nott).</li>
2413
2414    <li>amend solution for Debian #758633 to ensure that replies
2415    for bracketed paste are not sent while processing a selection
2416    for <code>exec-formatted</code> (Debian #913237).</li>
2417
2418    <li>improve adjustments/clearing for double-width characters in
2419    <code>DECERA</code>, <code>DECFRA</code>,
2420    <code>DECSERA</code>.</li>
2421
2422    <li>improve adjustments/clearing for double-width characters
2423    when doing vertical scrolling within left/right margins (patch
2424    by Martin Hostettler).</li>
2425
2426    <li>modify wcwidth to encode a few spacing combining marks as
2427    regular combining characters.</li>
2428
2429    <li>change compiled-in default for <code>saveLines</code> to
2430    match the resource-file changed in <a href="#xterm_192">patch
2431    #192</a> (Debian #913815).</li>
2432
2433    <li>change default <code>faceSize</code> to 8.0, to simplify
2434    switching back/forth between bitmap fonts and TrueType. This
2435    was originally (mis)set to 14.0 in <a href="#xterm_148">patch
2436    #148</a>.</li>
2437
2438    <li>add fallback support in Xft configuration for missing
2439    glyphs (prompted by discussion with Mike Burns).</li>
2440
2441    <li>fix a problem with using direct-colors for the background
2442    color when clearing/scrolling (report by Nicholas
2443    Marriott).</li>
2444
2445    <li>add a "sources" rule for the makefile's generated
2446    source.</li>
2447
2448    <li>add a short explanation in <code>ctlseqs.ms</code>
2449    discussing the differences in error-recovery for malformed
2450    sequences versus unimplemented features, and amend one case for
2451    consistency (prompted by discussion with Martin
2452    Hostettler).</li>
2453
2454    <li>adjusted ifdef's so that the paste64 configure option does
2455    not automatically enable the readline-mouse configure
2456    option.</li>
2457
2458    <li>revert the change which prevented concurrent ownership of
2459    different selection targets, and instead modify selection
2460    storage so that different concurrent requests for different
2461    selection targets will be stored/retrieved independently
2462    (Debian #901249).</li>
2463
2464    <li>remove a check which prevented returning button-codes past
2465    the documented 4/5 for wheel mouse, and add a script
2466    <code>mouse-codes</code> which makes a report showing the
2467    various mouse codes for different button/modifier combinations
2468    (discussion with P&#345;emysl Janouch).</li>
2469
2470    <li>improve display and checksum for DEC Special Graphics by
2471    mapping 0x5f to 0.</li>
2472
2473    <li>add a null-pointer check for table-ending in the
2474    extended-boolean resource-handling (report by Felix von
2475    Leitner).</li>
2476
2477    <li>remove stray <code>]</code>'s from INSTALL-file (Larry
2478    Hynes).</li>
2479  </ul>
2480
2481  <h1><a name="xterm_337" id="xterm_337">Patch #337 -
2482  2018/09/21</a></h1>
2483
2484  <ul>
2485    <li>regenerated configure script (report by Sven Joachim).</li>
2486
2487    <li>revise/improve fix for scrolling in margins
2488    (report/analysis by Martin Hostettler):</li>
2489
2490    <li>amend change to default-translations "select" subset to
2491    ensure that specific key-press actions are listed before
2492    generic key-press actions (reports by H Merijn Brand, Sven
2493    Joachim).</li>
2494  </ul>
2495
2496  <h1><a name="xterm_336" id="xterm_336">Patch #336 -
2497  2018/09/19</a></h1>
2498
2499  <ul>
2500    <li>ensure that only one of PRIMARY and CLIPBOARD is owned by
2501    xterm at a given time (Debian #901249).</li>
2502
2503    <li>documentation fixes (report by Lars Krueger):
2504      <ul>
2505        <li>document <code>SL</code> and <code>SR</code>.</li>
2506
2507        <li>document <code>DECRPTUI</code>, change number of digits
2508        to match VT420.</li>
2509      </ul>
2510    </li>
2511
2512    <li>revise <code>omitTranslation</code> resource, e.g.,
2513    splitting &ldquo;default&rdquo; into several more useful
2514    categories.</li>
2515
2516    <li>modify mask-logic to permit <em>control-</em> and
2517    <em>meta-</em> modifiers to be used in mouse protocol.</li>
2518
2519    <li>several fixes for parsing/state (report/testcases by Martin
2520    Hostettler):
2521      <ul>
2522        <li>remove an old/unimplemented entry for xterm-title from
2523        state table.</li>
2524
2525        <li>save/restore wrap-flag when scrolling, to fix an
2526        inconsistency between jump-scrolling and
2527        normal-scrolling.</li>
2528
2529        <li>improve a special case of wrapping where the cursor
2530        starts beyond the right-margin, and wraps at the terminal's
2531        last-column before the settable-margins can take
2532        effect.</li>
2533
2534        <li>if origin mode is set, adjust a restored cursor column
2535        relative to the left margin.</li>
2536
2537        <li>when scrolling a line within left/right margins,
2538        correct order of the fixups needed when a double-width
2539        character crosses the margin boundary.</li>
2540      </ul>
2541    </li>
2542
2543    <li>review/fix a few cases where the parsing state was not
2544    reset after completing a control sequence (prompted by report
2545    by Martin Hostettler).</li>
2546
2547    <li>disallow <code>XTCHECKSUM</code> if the corresponding
2548    window-ops "SetChecksum" is unset.</li>
2549
2550    <li>add <code>print-vt-chars.pl</code> script to illustrate the
2551    NRCS and codepages supported by xterm.</li>
2552
2553    <li>add <code>other-sgr.sh</code> script to demonstrate the
2554    non-VT100 video attributes implemented in <a href=
2555    "#xterm_305">patch #305</a>, and added a summary of their
2556    introduction in ECMA-48 to the control sequences document.</li>
2557
2558    <li>add <code>tabs</code> and <code>-tabs</code> keywords to
2559    <code>ttyModes</code> resource to simplify workaround for
2560    terminal drivers which are not aware of UTF-8 (FreeBSD
2561    #229682).</li>
2562
2563    <li>add VT5xx NRCS 7-bit Turkish and DEC Turkish.</li>
2564
2565    <li>add VT5xx NRCS 7-bit Hebrew and DEC Hebrew.</li>
2566
2567    <li>add VT5xx NRCS 7-bit Greek and DEC Greek.</li>
2568
2569    <li>correct a few post-VT220 codepages to make them display
2570    without setting the NRCS state.</li>
2571
2572    <li>extend <code>vt100Graphics</code> resource to include other
2573    character-sets such as the VT500 codepages in UTF-8 mode.</li>
2574
2575    <li>add some VT5xx codepages to help with the discussion of
2576    96-character sets: <em>ISO Greek Supplemental</em>, <em>ISO
2577    Hebrew Supplemental</em>, <em>ISO Latin&ndash;5
2578    Supplemental</em>, and <em>ISO Latin&ndash;Cyrillic</em>.</li>
2579
2580    <li>improve description of the VT300-controls for designating
2581    character sets, and fix a typo which indicated that some were
2582    used for 94-character sets (prompted by discussion with Lars
2583    Krueger).</li>
2584
2585    <li>add private control <code>XTCHECKSUM</code> for modifying
2586    <code>checksumExtension</code>.</li>
2587
2588    <li>factor out xterm's <code>DECRQCRA</code> checksum
2589    extensions as a resource setting
2590    <code>checksumExtension</code>.</li>
2591
2592    <li>revise calculation of checksum for <code>DECRQCRA</code> to
2593    match DEC's terminals (using screenshots of vttest provided by
2594    Markus Schmidt).</li>
2595
2596    <li>restore a fix for memory-checksum setup of
2597    <code>DECCKSR</code> from <a href="#xterm_315">patch #315</a>
2598    incorrectly reverted in <a href="#xterm_334">patch #334</a> as
2599    part of fix for <code>DECRQCRA</code>.</li>
2600  </ul>
2601
2602  <h1><a name="xterm_335" id="xterm_335">Patch #335 -
2603  2018/08/14</a></h1>
2604
2605  <ul>
2606    <li>add <code>colorInnerBorder</code> resource to make a change
2607    from <a href="#xterm_334">patch #334</a> configurable (reports
2608    by H Merijn Brand, Gabriele Balducci).</li>
2609  </ul>
2610
2611  <h1><a name="xterm_334" id="xterm_334">Patch #334 -
2612  2018/08/12</a></h1>
2613
2614  <ul>
2615    <li>modify <code>Imakefile</code> to reflect the fact that
2616    NetBSD no longer has a working termcap emulation.</li>
2617
2618    <li>add resource-setting <code>validShells</code> which can be
2619    used to augment the system's <code>/etc/shell</code> (prompted
2620    by discussion with Paul Lampert).</li>
2621
2622    <li>stifle some useless warnings from lintian in
2623    test-packages.</li>
2624
2625    <li>add the ncurses extension &ldquo;RGB&rdquo; to the
2626    responses for the termcap-query feature.</li>
2627
2628    <li>improved getopts-handling in sample scripts.</li>
2629
2630    <li>fix some warnings from gcc8 and clang --analyze.</li>
2631
2632    <li>update note about incorrect documentation for
2633    <code>DECRQSS</code> to include VT525 (report by Markus
2634    Schmidt).</li>
2635
2636    <li>correct check for default-values in rectangular parsing; a
2637    zero counts as a missing or default parameter (report/testcase
2638    by Markus Schmidt).</li>
2639
2640    <li>correct some ranges in the <code>ambiguous[]</code> table
2641    in wcwidth (adapted from patch by KUGA Tsutomu).</li>
2642
2643    <li>fix a special case with faint video attribute incorrectly
2644    combined with default color.</li>
2645
2646    <li>add private control <code>XTREPORTSGR</code> for reporting
2647    video-attributes and color on a rectangle, and script
2648    <code>report-sgr.pl</code> to demonstrate it.</li>
2649
2650    <li>modify some of the markup in <code>ctlseqs.ms</code> to
2651    work around groff's reassignment of ASCII punctuation
2652    characters as documented in <em>groff_char(7)</em>.</li>
2653
2654    <li>treat ECMA-48 SGR 6 the same as SGR 5.</li>
2655
2656    <li>add private controls <code>XTPUSHSGR</code> and
2657    <code>XTPOPSGR</code> for saving/restoring the current
2658    video-attributes on a stack (adapted from patch by Dan
2659    Thompson).</li>
2660
2661    <li>modify <code>DECRPM</code> response for logging enable to
2662    indicate its state even when enabling/disabling it is not
2663    allowed.</li>
2664
2665    <li>implement <code>DECSNLS</code></li>
2666
2667    <li>implement <code>DECRSPS</code></li>
2668
2669    <li>improve fill-color for double-buffer configuration, which
2670    was sharing a graphic context with the cursor.</li>
2671
2672    <li>fix a couple of cases where double-sized VT100 characters
2673    were not clipped, seen in Joe Smith's <a href=
2674    "http://www.inwap.com/pdp10/#Tymnet">VT100 torture
2675    test</a>.</li>
2676
2677    <li>color the inner border using the same
2678    <code>borderColor</code> as the outer border, rather than
2679    filling with the VT100's default background.</li>
2680
2681    <li>change encoding of &ldquo;THANKS&rdquo; to UTF-8.</li>
2682
2683    <li>modify handling of <code>DECELR</code> to recognize
2684    <code>MotionNotify</code> events again, amending a check for
2685    <code>allowMouseOps</code> which limited that to button-events
2686    in <a href="#xterm_328">patch #328</a> (Olaf Rogalsky).</li>
2687
2688    <li>fix some screen-painting problems with left/right margins
2689    when using insert-line or delete-line (report/testcase by
2690    Martin Hostettler). also fix similar case with
2691    index/reverse-index.</li>
2692
2693    <li>several minor performance improvements using macros, e.g.,
2694    inline checks for character width.</li>
2695
2696    <li>add <code>DECSCPP</code> and <code>DECSLPP</code> to
2697    <code>DECRQSS</code>.</li>
2698
2699    <li>implement <code>DECSCPP</code>.</li>
2700
2701    <li>implement <code>DECCIR</code> and <code>DECTABSR</code>
2702    presentation reports.</li>
2703
2704    <li>modify checksum computation for <code>DECRQCRA</code> to
2705    treat uninitialized cells as blanks rather than nulls.</li>
2706
2707    <li>drop custom-entity from HTML-dump, use UTF-8 for &amp;nbsp;
2708    (Debian #902381).</li>
2709
2710    <li>modify display of non-BMP characters when using bitmap
2711    fonts to show a null/empty box rather than the replacement
2712    character which was used in cleanup changes for <a href=
2713    "#xterm_233">patch #233</a> (report by Christian
2714    Weisgerber).</li>
2715
2716    <li>when setting up clipping rectangle for Xft, allow for the
2717    case where xterm is only displaying a combining character,
2718    where the base was already written (report by Joshua
2719    Crowgey).</li>
2720
2721    <li>allow reset Xft's state if switching font-sizes when
2722    double-buffering is used.</li>
2723
2724    <li>fix repainting, e.g., on resize, when double-buffering is
2725    used with Xft (patch by Daniel Colascione).</li>
2726
2727    <li>correct some interchanged pairs of symbols in
2728    <code>unicode/keysym.map</code> (Brad Town).</li>
2729
2730    <li>improve configure macros CF_GCC_WARNINGS, CF_GNU_SOURCE,
2731    CF_POSIX_C_SOURCE, CF_TRY_XOPEN_SOURCE, CF_XOPEN_SOURCE,
2732    CF_X_ATHENA_CPPFLAGS.</li>
2733
2734    <li>modify <code>logFile</code> resource to interpret
2735    &ldquo;<code>-</code>&rdquo; as the standard output (adapted
2736    patch by Colum Paget).</li>
2737
2738    <li>improve documentation of Tek4014 menu options; fix a case
2739    where the Tek4014 window was not displayed before switching
2740    modes.</li>
2741
2742    <li>re-correct parameter for <em>pid</em> used for DECCKSR,
2743    DECRQCSR (see <a href="#xterm_315">xterm #315</a>).</li>
2744
2745    <li>hard/soft reset now resets the cursor-blinking state that
2746    may have been set via escape sequences; the cursor-blinking
2747    menu-entry feature is unmodified (report by Matthieu
2748    Herrb).</li>
2749
2750    <li>update config.guess, config.sub</li>
2751  </ul>
2752
2753  <h1><a name="xterm_333" id="xterm_333">Patch #333 -
2754  2018/05/03</a></h1>
2755
2756  <ul>
2757    <li>ensure that i18n is enabled if input-method is
2758    enabled.</li>
2759
2760    <li>modify logic for pre-edit to update spot-location while the
2761    cursor is invisible (Kakoune #1940).</li>
2762
2763    <li>change default icon to newer one, "mini.xterm".</li>
2764
2765    <li>install a complete set of icons, to simplify post-install
2766    customization.</li>
2767
2768    <li>add resource <code>disallowedPasteControls</code> to extend
2769    filtering of control characters from pastes.</li>
2770
2771    <li>add <code>print-on-error</code> action-hook, and document
2772    action-hooks for dump-html, dump-svg.</li>
2773
2774    <li>provide action-hook for <code>print-immediate</code>, which
2775    was available only as a menu-item (report by Rastislav
2776    Barlik).</li>
2777
2778    <li>continue to improve notes in <code>ctlseqs.ms</code> which
2779    mention where various controls originated.</li>
2780
2781    <li>add case to accept ECMA-48's bogus <code>SD</code>, but
2782    document the issue in <code>ctlseqs.ms</code>.</li>
2783
2784    <li>add control sequence for loading XPM-icon file, using the
2785    analogous control sequence from shelltool/dtterm.</li>
2786
2787    <li>add <code>-report-icons</code> option, to report on
2788    XPM-icon and title-bar updates.</li>
2789
2790    <li>correct a discrepancy between locator-reports for VT220 vs
2791    VT330.</li>
2792
2793    <li>add window-ops control sequences to complement existing
2794    ones for reporting window-position and text-area size with
2795    reports for text-area position and window-size.</li>
2796
2797    <li>display vt52 graphics mode characters.</li>
2798
2799    <li>correct case-statement for window-ops 10, overlooked since
2800    some window managers equate vertical-maximize and
2801    horizontal-maximize window hints with full-screen
2802    maximize.</li>
2803  </ul>
2804
2805  <h1><a name="xterm_332" id="xterm_332">Patch #332 -
2806  2018/04/15</a></h1>
2807
2808  <ul>
2809    <li>add a <code>GetChecksum</code> item to
2810    <code>disallowedWindowOps</code></li>
2811
2812    <li>improve notes in <code>ctlseqs.ms</code> which mention
2813    where various controls originated.</li>
2814
2815    <li>add control sequences for querying the X display size and
2816    the character size, both in pixels to help eliminate some of
2817    the constants in <code>esctest</code>.</li>
2818
2819    <li>fixes prompted by review of George Nachman's
2820    <code>esctest</code> script:
2821      <ul>
2822        <li>add a null-pointer check and a limit-check in
2823        <code>xtermCheckRect</code>.</li>
2824
2825        <li>correct limit-check for right-margin when processing
2826        autowrapping if xterm is not built for
2827        wide-characters.</li>
2828
2829        <li>repair logic in <code>RIS</code> to reset 132-column
2830        mode when an escape sequence is used to enable
2831        80/132-column switching.</li>
2832
2833        <li>correct array-limit for EWMH working state.</li>
2834
2835        <li>further improve limit-checks versus assert's (see
2836        <a href="#xterm_315">patch #315</a>).</li>
2837
2838        <li>correct order of check-margins and move-to-left margin
2839        for <code>DL</code> and <code>IL</code>.</li>
2840
2841        <li>modify reverse-wrap to pay attention to top/bottom
2842        margins as it has done for left/right margins since
2843        <a href="#xterm_279">patch #279</a>.</li>
2844
2845        <li>modify behavior of <code>DECFI</code> and
2846        <code>DECBI</code> to not index the screen at the
2847        left/right edge of the display unless those happen to be
2848        the left/right margins.</li>
2849
2850        <li>add case for VT320 DSR response for keyboard
2851        status.</li>
2852      </ul>
2853    </li>
2854
2855    <li>improve check for valid shell path using
2856    <code>getusershell</code> and <code>endusershell</code> if
2857    available, in case <code>/etc/shells</code> does not exist
2858    (suggested by Rainer Orth).</li>
2859
2860    <li>modified configure checks for groff and man2html, to use
2861    the latter by default, but allowing mandoc as a partial
2862    replacement for former.</li>
2863
2864    <li>revisited the inconsistent copyright notices mentioned in
2865    <a href="#xterm_165">patch #165</a>, and eliminate the issue as
2866    mentioned in this <a href=
2867    "https://invisible-island.net/personal/copyrights.html">copyright
2868    discussion</a>.</li>
2869
2870    <li>fix typo in this change-log (report by Sven Joachim)</li>
2871
2872    <li>update config.guess, config.sub</li>
2873  </ul>
2874
2875  <h1><a name="xterm_331" id="xterm_331">Patch #331 -
2876  2017/12/30</a></h1>
2877
2878  <ul>
2879    <li>add workaround for improper grayscale adjustments made in
2880    FreeType library, exposed by changes to rounding in 2.8.1,
2881    which shows up as a gap in line-drawing characters (Debian
2882    #880407).</li>
2883
2884    <li>improve a special case where a non-Unicode font's
2885    line-drawing characters were not used, when specifying it via
2886    the <code>utf8Fonts</code> resource, e.g.,
2887      <blockquote>
2888        <pre>
2889        -fs 15 \
2890        -xrm '*VT100.font:12x24' \
2891        -xrm '*VT100.boldFont:12x24' \
2892        -xrm '*VT100.utf8Fonts.font: 12x24' \
2893        -xrm '*VT100.utf8Fonts.boldFont: 12x24' \
2894</pre>
2895      </blockquote>
2896    </li>
2897
2898    <li>replace constant 10msec delay for next X event with new
2899    resource <code>nextEventDelay</code>, and reduce that to 1msec
2900    to accommodate faster machines than used when
2901    <code>-hold</code> was implemented in <a href=
2902    "#xterm_116">1999</a> (Debian #877628).</li>
2903
2904    <li>add <code>scroll-to</code> action, which simplifies binding
2905    a key to scroll to the beginning or end of the saved-lines
2906    (Debian #880120).</li>
2907
2908    <li>add building blocks for alternate screen and/or title-stack
2909    features in the <code>terminfo</code> file.</li>
2910
2911    <li>improve calculations for cell-data size.</li>
2912
2913    <li>change configure script to enable XHTML/SVG screen dumps by
2914    default.</li>
2915
2916    <li>change configure script to enable 256-colors by
2917    default.</li>
2918
2919    <li>update config.guess, config.sub</li>
2920
2921    <li>change configure script option for
2922    <code>--with-man2html</code> to use improved script by
2923    default.</li>
2924
2925    <li>add case for private mode 1044 in DECRQM, to report the
2926    keepClipboard resource setting and corresponding menu
2927    entry.</li>
2928
2929    <li>fix an inconsistency between private mode 12 (the AT&amp;T
2930    610 cursor blink) and <code>DECSCUSR</code>: the former relied
2931    on having the <code>cursorBlink</code> resource set initially
2932    to enable the escape sequence, while the latter does not.</li>
2933
2934    <li>add private modes 13 and 14, as well as resource
2935    <code>cursorBlinkXOR</code> to allow better control over the
2936    cursor-blinking state (discussion with Bram Moolenaar).</li>
2937
2938    <li>modify the html and svg screen dumps to support direct
2939    color</li>
2940
2941    <li>modify media copy (screen-printing) to support the same SGR
2942    codes as <code>DECRQSS</code>, including 88/256 indexed color
2943    as well as direct color.</li>
2944
2945    <li>improve options-parsing for query-status.pl script.</li>
2946
2947    <li>modify parsing of <code>SGR</code> direct-color control
2948    making <em>color space identitier</em> optional. The
2949    corresponding <code>DECRQSS</code> reply always returns an
2950    empty (default) field for the identifier.</li>
2951
2952    <li>add wide-attributes to <code>DECRQSS</code> reply for
2953    <code>SGR</code>.</li>
2954
2955    <li>add private mode 1046 to help with scripting
2956    applications.</li>
2957
2958    <li>correct expression used for readline-flags in DECRQM; to
2959    test the current flag rather than information <em>stacked</em>
2960    within the same variable.</li>
2961
2962    <li>correct typo in <code>ctlseqs.ms</code> reference to
2963    ISO-8613-6 (patch by Mike Frysinger).</li>
2964
2965    <li>fix lintian warning for test-package.</li>
2966
2967    <li>fix typo in <code>DECRQSS</code> for <code>SGR</code> 48,
2968    which printed the foreground value for colors past 15. Also use
2969    colon delimiter for codes 38/48 in response (report by Paul
2970    LeoNerd Evans).</li>
2971
2972    <li>improve workaround for Debian #542434 by using the font's
2973    maximum width when no ISO-8859-1 glyphs are provided (Debian
2974    #879936).</li>
2975
2976    <li>work around a special case of <em>Xft</em>'s mismanagement
2977    of its cached data by adding a check before the
2978    <code>-report-fonts</code> option to ensure that it does not
2979    use an <code>XftPattern</code> which may have been freed during
2980    a call to <code>XftFontOpenPattern</code>.</li>
2981
2982    <li>improve manual page description of <code>regex</code>
2983    option for <code>on<em>X</em>Clicks</code> resources (report by
2984    Lukas Mai).</li>
2985
2986    <li>add <code>directColor</code> resource.</li>
2987
2988    <li>additional manpage macro cleanup (Branden Robinson, Debian
2989    #880551).</li>
2990
2991    <li>add optional support for direct-colors (adapted from patch
2992    by anonymous &ldquo;Nibby Nebbulous&rdquo;).</li>
2993
2994    <li>improve legacy/NRC character set mapping (patch by Thomas
2995    Wolff), e.g.,
2996      <ul>
2997        <li>enable alternate NRC set designators for French and
2998        French Canadian, &lsquo;9&rsquo; and &lsquo;f&rsquo;
2999        respectively, as documented in ctlseqs. (&lsquo;9&rsquo; is
3000        documented for VT510, &lsquo;f&rsquo; is a Kermit
3001        feature).</li>
3002
3003        <li>correct the Unicode value in the <em>DEC Technical</em>
3004        table to show capital delta.</li>
3005
3006        <li>referring to
3007          <blockquote>
3008            <p><a href=
3009            "http://vt100.net/docs/vt220-rm/table2-3b.html">http://vt100.net/docs/vt220-rm/table2-3b.html</a><br>
3010
3011            <a href=
3012            "http://vt100.net/docs/vt320-uu/appendixe.html">http://vt100.net/docs/vt320-uu/appendixe.html</a></p>
3013          </blockquote>
3014
3015          <p>add entries for the <em>DEC Supplemental Graphics</em>
3016          table to display 0x28/0xa8 as &curren; and 0x5d/0xdd as
3017          &Yuml;.</p>
3018        </li>
3019
3020        <li>referring to
3021          <blockquote>
3022            <p><a href=
3023            "http://www.vt100.net/charsets/technical.html">http://www.vt100.net/charsets/technical.html</a></p>
3024          </blockquote>
3025
3026          <p>alter the Unicode values used for 0x2b through 0x2c to
3027          use <em>curly braces</em> to work with the
3028          &ldquo;middle&rdquo; parts displayed with 0x2f and
3029          0x30.</p>
3030        </li>
3031
3032        <li>modify the VT220 &ldquo;Supplemental&rdquo; table,
3033        giving a hint that it was probably meant to be
3034        &ldquo;Supplemental Graphics&rdquo; and is the same as
3035        VT320's table.</li>
3036      </ul>
3037    </li>
3038
3039    <li>quiet a few font-warnings when a derived fontname cannot be
3040    opened, overlooked in refactoring of font resources in <a href=
3041    "#xterm_328">patch #328</a> (initially reported on <a href=
3042    "https://cygwin.com/ml/cygwin/2017-06/msg00255.html">Cygwin
3043    mailing list</a>, with <a href=
3044    "https://cygwin.com/ml/cygwin/2017-07/msg00216.html">followup</a>).</li>
3045
3046    <li>correct error response for <code>DECRQSS</code> broken in
3047    cleanup of Coverity reports in <a href="#xterm_288">patch
3048    #288</a> (reports by Bram Moolenaar and IWAMOTO Kouichi).</li>
3049
3050    <li>improve <code>DECRPM</code> responses by returning <em>mode
3051    not recognized</em> for modes which may not be settable due to
3052    the selected <code>decTerminalID</code> resource (report by
3053    IWAMOTO Kouichi).</li>
3054
3055    <li>correct logic for <code>print-immediate</code> action, and
3056    enable corresponding menu entry (patch by Lauri
3057    Tirkkonen).</li>
3058
3059    <li>add configure option <code>--with-pcre2</code> (patch by
3060    David Michael).</li>
3061
3062    <li>fix a misspelled subsection title in ctlseqs.ms and add a
3063    note regarding blink which was rendered as bold in X11R6.
3064    Blinking text was implemented in <a href="#xterm_60">Patch
3065    #60</a>.</li>
3066
3067    <li>fix typos in <code>xterm.man</code> (patches by Sven
3068    Joachim, Larry Hynes).</li>
3069
3070    <li>fix typography in <code>xterm.man</code> (patch by Bjarni
3071    Ingi Gislason, Debian #869248).</li>
3072
3073    <li>fix typo in <code>INSTALL</code> (Larry Hynes).</li>
3074
3075    <li>add <code>xterm-direct</code> terminal description based on
3076    changes introduced in <a href="#xterm_277">patch #277</a>, and
3077    relying upon ncurses <code><strong>RGB</strong></code>
3078    extension.</li>
3079
3080    <li>modify <code>xterm-new</code> terminal description to use
3081    ECMA-48 <code>REP</code>, reflecting its use in xterm since
3082    <a href="#xterm_32">patch #32</a> (1996).</li>
3083
3084    <li>clarify comment in ctlseqs.ms regarding blink: it has been
3085    part of xterm since <a href="#xterm_60">patch #60</a>
3086    (1998).</li>
3087
3088    <li>update ftp URLs in documentation.</li>
3089  </ul>
3090
3091  <h1><a name="xterm_330" id="xterm_330">Patch #330 -
3092  2017/06/20</a></h1>
3093
3094  <ul>
3095    <li>updates for ReGIS (Ross Combs):
3096      <ul>
3097        <li>remove redundant text command error check which broke
3098        <code>T(B)</code> and <code>T(E)</code>.</li>
3099
3100        <li>retain the loading alphabet number across multiple
3101        &ldquo;L&rdquo; commands.</li>
3102
3103        <li>add <code>S(T)</code> delay handler.</li>
3104
3105        <li>fix some color handling error messages.</li>
3106
3107        <li>add stubbed-out macrograph handling.</li>
3108
3109        <li>use <code>fragment_remaining()</code> and
3110        <code>fragment_consumed()</code> instead of manually
3111        checking position / length in various places.</li>
3112
3113        <li>rename some local variables in string / extent / option
3114        parsing</li>
3115
3116        <li>wrap some long lines.</li>
3117
3118        <li>move macrograph command handling out of the
3119        top-level.</li>
3120      </ul>
3121    </li>
3122
3123    <li>add a summary of the italic fonts loaded to
3124    <code>-report-fonts</code> option.</li>
3125
3126    <li>modify the font-lookup for italics to allow for
3127    &ldquo;<code>-i-</code>&rdquo; if no match is found with slant
3128    &ldquo;<code>-o-</code>&rdquo; (prompted by patch by Ben
3129    Wong).</li>
3130
3131    <li>change default values for <code>mkSamplePass</code> and
3132    <code>mkSampleSize</code> to reflect generally-improved locale
3133    support in various operating systems (FreeBSD #219800).</li>
3134
3135    <li>modify <code>wcwidth.c</code> to return -1 for non-Unicode
3136    values, and adjust a couple of blocks to better match
3137    assumptions about ambiguous-width characters in other
3138    implementations. Also modify <code>wcwidth.c</code> to support
3139    configurable soft-hyphen, so there is no drawback to using this
3140    version rather than a system <code>wcwidth</code>.</li>
3141
3142    <li>amend change made in <a href="#xterm_328">patch #328</a>
3143    for cursor-visibility to handle case where an application is
3144    updating the reverse-video state (FreeBSD #219800).</li>
3145
3146    <li>update tables of combining and ambiguous-width characters
3147    in wcwidth.c based on Unicode 10.0.0.</li>
3148
3149    <li>build-fix for <code>--enable-sixel-graphics</code> without
3150    <code>--enable-regis-graphics</code> (reports by Sven Joachim,
3151    FreeBSD #219945).</li>
3152  </ul>
3153
3154  <h1><a name="xterm_329" id="xterm_329">Patch #329 -
3155  2017/06/12</a></h1>
3156
3157  <ul>
3158    <li>add control sequences for reading the Sixel and ReGIS
3159    graphics sizes (suggested by Ben Wong).</li>
3160
3161    <li>add a workaround for <code>wcwidth</code> returning -1 for
3162    characters which should have been printable (FreeBSD
3163    #219800).</li>
3164
3165    <li>fix a bug in font initialization from <a href=
3166    "#xterm_328">patch #328</a> (FreeBSD #219800).</li>
3167
3168    <li>fix a special case in <code>HideCursor</code> which
3169    assigned a bold font to the slot used for normal font in
3170    changes for italics in <a href="#xterm_307">patch #307</a>
3171    (Debian #858304).</li>
3172
3173    <li>updates for ReGIS (Ross Combs):
3174      <ul>
3175        <li>Strings specified with no command are used as
3176        "comments". Print these in the log when tracing.</li>
3177
3178        <li>Catch attempts to use "alternate display" mode (AKA
3179        "blink") from the GIGI, but do not implement it.</li>
3180
3181        <li>The <code>T(M)</code> command should only multiply the
3182        height by 10, not 20.</li>
3183
3184        <li>Make the <code>S(E)</code> command reset more state
3185        than just the screen contents.</li>
3186
3187        <li>Remove two rotation variables which were only being
3188        printed.</li>
3189
3190        <li>Numerous minor fixes and comment updates in the
3191        <code>R</code> command.</li>
3192
3193        <li>Unknown <code>R</code> command option names trigger an
3194        empty response.</li>
3195
3196        <li>Fix the output position after printing rotated text (it
3197        was missing the the sign before).</li>
3198
3199        <li>Fix the position change with pixelvectors and rotated
3200        text (the rotation transform was not being applied).</li>
3201
3202        <li>Update the <em>TODO</em> list and remove a verification
3203        <em>FIXME</em> (slanted text positioning is correct as
3204        is).</li>
3205
3206        <li>Emulate the approximately 1.4x enlargement for text
3207        which isn't rotated at right angles.</li>
3208
3209        <li>Only update the color planes specified in the plane
3210        mask (the <code>W</code> command's <code>F</code>
3211        option).</li>
3212      </ul>
3213    </li>
3214
3215    <li>fix a bug introduced by the changes to font information in
3216    <a href="#xterm_328">patch #328</a>. When processing the
3217    "checkfont" option of the <code>locale</code> resource, the
3218    program referred to the <em>request</em> data, to an array
3219    which was only allocated in the <em>new/result</em> widget
3220    (report by H Merijn Brand).</li>
3221
3222    <li>fix a missing assignment initialization to make the
3223    <code>utf8</code> resource control whether escape sequences to
3224    enable/disable UTF-8 mode are allowed.</li>
3225  </ul>
3226
3227  <h1><a name="xterm_328" id="xterm_328">Patch #328 -
3228  2017/06/01</a></h1>
3229
3230  <ul>
3231    <li>revise parser for <code>charClass</code> resource, making
3232    these improvements:
3233      <ul>
3234        <li>accept octal and hexadecimal values</li>
3235
3236        <li>allow embedded whitespace</li>
3237
3238        <li>allow the class after colon to be optional, e.g., to
3239        clear class settings for a range of characters.</li>
3240      </ul>
3241    </li>
3242
3243    <li>add command-line option
3244    <code>-report-charclass</code>.</li>
3245
3246    <li>fix most lintian warnings about test-package</li>
3247
3248    <li>add <code>eraseSavedLines</code> resource.</li>
3249
3250    <li>document <code>DECSED&nbsp;3</code> in
3251    <code>ctlseqs.ms</code> (report by Ben Longmans).</li>
3252
3253    <li>improve integration between configure-events and updates
3254    for reported screensize, in particular when switching between
3255    vt100 and tek4014 modes.</li>
3256
3257    <li>modify selection-highlighting of reverse-video text to keep
3258    that distinct, e.g., by reversing the selection foreground and
3259    background colors as one would expect. This fixes a "useless"
3260    case in the description of
3261    <code>highlightColorMode</code>.</li>
3262
3263    <li>improve fix for Debian #759734, addressing a case where
3264    non-colored cursor would be invisible against reverse-video
3265    (see <a href="#xterm_311">patch #311</a>).</li>
3266
3267    <li>updates for ReGIS (Ross Combs):
3268      <ul>
3269        <li>the "H" option of the "T" command should multiply by
3270        10, not 20.</li>
3271
3272        <li>display unknown glyphs as a solid block.</li>
3273
3274        <li>given a succession of text-direction options, use the
3275        last.</li>
3276
3277        <li>fix the direction of ReGIS slanted text so that
3278        negative values produce oblique output .</li>
3279
3280        <li>fix the ReGIS text direction option to only rotate
3281        characters when no following size option is used.</li>
3282      </ul>
3283    </li>
3284
3285    <li>update terminfo to better match corresponding entries in
3286    ncurses, e.g., <code>u8</code> pattern to match the VT220,
3287    VT420, etc., primary responses, as well as adding
3288    <code>smxx</code> and <code>rmxx</code>.</li>
3289
3290    <li>fixes from J&ouml;rg Sommer:
3291      <ul>
3292        <li>corrected a trace-message regarding maximum
3293        graphics-size; it used the similar ReGIS maximum size which
3294        might not be configured.</li>
3295
3296        <li>in <code>do_select_regex</code>, clear selection if
3297        there is no match. If the regex does not match anything
3298        around the cursor, the selection returned must be empty,
3299        otherwise the whole line is treated as a match. This way
3300        the command defined by <code>exec-selectable</code> will
3301        not be executed if there is no match.</li>
3302
3303        <li>modify limit in <code>do_select_regex</code> to include
3304        the character at the cursor in the match, making it easier
3305        to type something and then hit the key to trigger
3306        <code>exec-selectable</code>.</li>
3307
3308        <li>If <code>exec-selectable</code> or
3309        <code>insert-selection</code> is triggered by a mouse
3310        button click, the position of the mouse pointer should be
3311        used. This makes it easier to address any position on the
3312        window and it makes it possible to use the mouse, e.g., for
3313        applications such as mutt where you cannot move the
3314        cursor.</li>
3315      </ul>
3316    </li>
3317
3318    <li>modify <code>DECRC</code> to save/restore xterm's
3319    last-column flag used to control wrapping behavior rather than
3320    manipulating <code>DECAWM</code> (report/analysis by Mattias
3321    Engdeg&aring;rd).</li>
3322
3323    <li>add configure option <code>--enable-terminfo-env</code> to
3324    use the value set by <code>--with-own-terminfo</code> for the
3325    <code>$TERMINFO</code> environment variable. That variable was
3326    set automatically for HPUX, but would be useful in other
3327    systems, e.g., for Solaris (request by Jeff Wieland).</li>
3328
3329    <li>fix a race condition when setting up a signal handler to
3330    timeout if opening <code>/dev/tty</code> hangs (patch by Tobias
3331    Stoeckmann).</li>
3332
3333    <li>review/cleanup resources which were not in the manual page
3334    (report by Maxwell Anselm):
3335      <ul>
3336        <li>add manual page description as needed.</li>
3337
3338        <li>drop resource name for <code>menuBar</code>, as
3339        unnecessary.</li>
3340
3341        <li>modify fallback numeric value for
3342        <code>regisScreenSize</code> resource to match that for
3343        <code>maxGraphicSize</code>.</li>
3344      </ul>
3345    </li>
3346
3347    <li>updated configure macros <code>CF_ADD_CFLAGS</code>,
3348    <code>CF_CC_ENV_FLAGS</code>, <code>CF_GNU_SOURCE</code>,
3349    <code>CF_MATH_LIB</code>, and <code>CF_XOPEN_SOURCE</code> from
3350    other program-changes.</li>
3351
3352    <li>update config.guess, config.sub</li>
3353
3354    <li>change &ldquo;maximum screensize&rdquo; assumed by
3355    <code>resize</code> to 9999x9999, to accommodate people using
3356    the <em><code>Unreadable</code></em> font.</li>
3357
3358    <li>drop <code>Utility</code> from default value of
3359    <code>--with-desktop-category</code> (Debian #780176).</li>
3360
3361    <li>widen the configure script pattern used for finding related
3362    ".desktop" files, including &ldquo;Terminal&rdquo;</li>
3363
3364    <li>several minor improvements to font utility functions:
3365      <ul>
3366        <li>provide for later modification to implement font-sets
3367        by parsing the font resources as comma-separated
3368        lists.</li>
3369
3370        <li>parse <code>-fn</code> and <code>-fa</code> similarly,
3371        using &ldquo;x:&rdquo; and &ldquo;xft:&rdquo; prefixes for
3372        font name/family strings to distinguish between XLFD and
3373        Xft font specifications.</li>
3374
3375        <li>use loops to iterate over font classes</li>
3376
3377        <li>use getters/setters for font data to allow for
3378        on-demand lookups.</li>
3379
3380        <li>make the debugging trace for missing glyph less verbose
3381        since that interferes with the <code>-report-fonts</code>
3382        option.</li>
3383
3384        <li>refactor <code>xtermLoadFont</code> to make it clearer
3385        how some fonts are derived from others, e.g., bold,
3386        wide.</li>
3387
3388        <li>make the triggering and suppressing of font-warnings
3389        more consistent by storing the last state in the
3390        widget.</li>
3391
3392        <li>reduce font-warnings by checking for repeated
3393        warnings.</li>
3394      </ul>
3395    </li>
3396
3397    <li>add <code>vttests/query-status.pl</code></li>
3398
3399    <li>add <code>vttests/closest-rgb</code></li>
3400
3401    <li>add special case for displaying soft-hyphen if it happens
3402    to fall at the right margin, and omitting similar case such as
3403    the BIDI markers, where a zero-width character is neither a
3404    control character nor a combining character (Debian
3405    #844325).</li>
3406
3407    <li>modify logic for <code>OSC&nbsp;52</code>, <em>manipulate
3408    selection data</em>, to update the selection-time to include
3409    the latest X events. This fixes some cases where the selection
3410    was invalid, e.g., after an event due to focus-follows-mouse
3411    (report/testcase by Stephane Chauveau).</li>
3412
3413    <li>revise macro <code>CastMallocN</code> as new macro
3414    <code>TextAlloc</code> to make explicit use of
3415    <code>sizeof(char)</code> (prompted by patch by Cade
3416    Foster).</li>
3417
3418    <li>add <em>&ldquo;Mouse Ops&rdquo;</em> menu entry and related
3419    resources to allow runtime disabling/enabling of the mouse
3420    protocol escape sequences (discussion with Bob Proulx).</li>
3421
3422    <li>improve discussion of mouse actions versus protocol in the
3423    manual (discussion with Bob Proulx).</li>
3424
3425    <li>improve discussion of environment variables in the manual,
3426    pointing out where some features (such as termcap and the
3427    System5 <code>COLUMNS</code> and <code>LINES</code> variables)
3428    are used rarely, mainly to support legacy applications.</li>
3429
3430    <li>add examples of <code>translations</code> resource for
3431    select/paste, and for font-size changes to the manual.</li>
3432
3433    <li>minor reordering of some entries in <code>ctlseqs.ms</code>
3434    for consistency (report by Arran Ubels).</li>
3435
3436    <li>add <code>-s</code> option to <code>256colors2.pl</code>
3437    and <code>88colors2.pl</code>, to demonstrate modifying the
3438    &ldquo;system&rdquo; colors 0&ndash;15.</li>
3439
3440    <li>omit <code>XFT_SPACING</code> property from call to <code>
3441      XftPatternBuild</code>, to work around a bug in
3442      <em>fontconfig</em> for handling Google Go fonts, whose names
3443      sort in an order not expected by <em>fontconfig</em>, causing
3444      the request for a monospaced font to return <em>italics</em>,
3445      e.g.,
3446      <blockquote>
3447        <pre>
3448$ fc-match 'Go Mono:spacing=monospace'
3449Go-Mono-Italic.ttf: "Go Mono" "Italic"
3450(report by Giacomo Boffi on <a href=
3451"http://unix.stackexchange.com/questions/324941/xterm-displays-an-italic-face-instead-of-regular">Stackoverflow</a>).
3452
3453</pre>
3454      </blockquote>
3455    </li>
3456
3457    <li>modify <code>minstall.in</code> to improve a workaround
3458    added to the manual page in <a href="#xterm_182">patch #182</a>
3459    to avoid having the C preprocessor used in the imake
3460    configuration strip out the comments in the character classes
3461    section (reports by Ted Unangst, Anthony J Bentley).</li>
3462  </ul>
3463
3464  <h1><a name="xterm_327" id="xterm_327">Patch #327 -
3465  2016/10/07</a></h1>
3466
3467  <ul>
3468    <li>add a check in the function which handles end-of-line
3469    wrapping to ensure that C1 controls are allocated one column
3470    when <code>allowC1Printable</code> is set (Debian
3471    #738794).</li>
3472
3473    <li>use consistent error-checking after <code>strtol</code>
3474    calls, fixes a case where a query with OSC 6 did not ensure
3475    there was a valid color number (report by Alex Smith).</li>
3476
3477    <li>add <code>-baudrate</code> option, for testing
3478    ncurses.</li>
3479
3480    <li>always generate the <code>CASE_<em>xxx</em></code> symbols
3481    in <code>VTparse.h</code> and <code>Tekparse.h</code>, as part
3482    of a change to improve debug-logging. This makes the build
3483    always depend upon <code>awk</code>.</li>
3484
3485    <li>modify <code>allowC1Printable</code> to disallow codes
3486    160-254 as being equivalent to codes 32-126 when parsing escape
3487    sequences (Debian #839220).</li>
3488
3489    <li>amend fix from <a href="#xterm_326">patch #326</a> for
3490    TrueType fonts to exclude the hidden character used for
3491    double-width cells (report by Grady Martin).</li>
3492
3493    <li>fix a typo in <code>ctlseqs.ms</code></li>
3494  </ul>
3495
3496  <h1><a name="xterm_326" id="xterm_326">Patch #326 -
3497  2016/09/25</a></h1>
3498
3499  <ul>
3500    <li>updated appdata file (report by Richard Hughes).</li>
3501
3502    <li>improve discussion of the different terminal emulations
3503    provided by xterm in the manual page.</li>
3504
3505    <li>add examples of setting the icon title with/without the
3506    window title in the manual (Debian #833984).</li>
3507
3508    <li>correct a limit-check when using a numeric value for
3509    extended Booleans e.g., <code>*fullscreen:3</code> rather than
3510    a name such as <code>*fullscreen:never</code>.</li>
3511
3512    <li>add action <code>allow-bold-fonts</code></li>
3513
3514    <li>improved formatting fixes for manual page, using script to
3515    find mismatches in spelling of resources, actions and menu
3516    entries.</li>
3517
3518    <li>improve documentation of logging resources.</li>
3519
3520    <li>fix a special case of flickering cursor by adding
3521    <code>GraphicsExpose</code> to the list of event types that
3522    should not trigger making the mouse cursor visible (patch by
3523    Joe Peterson).</li>
3524
3525    <li>correct initialization of line-drawing in VT52-mode,
3526    overlooked in changes for <a href="#xterm_297">patch #297</a>
3527    (report/patch by Ben Wiley Sittler).</li>
3528
3529    <li>minor clarification of form-feed versus line-feed in
3530    <code>ctlseqs.ms</code> (suggested by David Kemper).</li>
3531
3532    <li>amend fix for Debian #738794 to restore a check for missing
3533    characters which are <em>not</em> combining characters. Also
3534    fill in a corresponding special case for TrueType fonts (Debian
3535    #827905).</li>
3536  </ul>
3537
3538  <h1><a name="xterm_325" id="xterm_325">Patch #325 -
3539  2016/06/05</a></h1>
3540
3541  <ul>
3542    <li>improve manual page discussion of function keys (discussion
3543    with Ross Combs).</li>
3544
3545    <li>further improve fix for Debian #545220 in <a href=
3546    "#xterm_248">patch #248</a>, to avoid conflict with combining
3547    characters (Debian #738794).</li>
3548
3549    <li>improve <code>-hold</code> option to avoid 100% CPU usage
3550    with NetBSD after closing the shell, which makes subsequent
3551    checks for X input events fail (prompted by patch by Pierre
3552    Pronchery).</li>
3553
3554    <li>review <code>#ifdef</code> statements, listed those which
3555    do not have a configure option in
3556    <code>xtermcfg.hin</code>.</li>
3557
3558    <li>fixed one case where the menu sensistivity for
3559    <em>Print-All Immediately</em> and <em>Print-All on Error</em>
3560    was not properly ifdef'd.</li>
3561
3562    <li>modify terminfo entries for 16-, 88- and 256-color to reset
3563    palette with <code>rs1</code> capability.</li>
3564
3565    <li>accept <code>legacy</code> value of <code>-kt</code> as
3566    synonym for the <code>oldXtermFKeys</code> resource, and extend
3567    the full-reset logic to use the keyboard type set via
3568    <code>-kt</code>.</li>
3569
3570    <li>modify <code>ioctl</code> calls for <code>I_PUSH</code> to
3571    first check if the module has been added, using
3572    <code>I_FIND</code>. This is needed for newer Solaris libraries
3573    with c11 support (adapted from patch by Alan Coopersmith).</li>
3574
3575    <li>add check in <code>getXtermCombining</code> to ensure that
3576    combining characters were allocated (report by Tor
3577    Andersson).</li>
3578
3579    <li>add configure option <code>--without-xinerama</code> to
3580    allow suppressing the extension (Gentoo #580936).</li>
3581
3582    <li>update keysym2ucs.c based on Unicode 9.0</li>
3583
3584    <li>fixed most <code>cppcheck --enable=all</code> warnings,
3585    including for style (prompted by report by David Binderman).
3586    There was one bug-fix:
3587      <ul>
3588        <li>RGB least-squares computation in
3589        <code>allocateClosestRGB</code> used only one ordinate</li>
3590      </ul>
3591    </li>
3592
3593    <li>add <code>cppcheck</code> to lint-like programs in
3594    configure script and makefile.</li>
3595
3596    <li>fix some const correctness issues and point out an array
3597    lifetime issue (Ross Combs).</li>
3598
3599    <li>updates for SIXEL and ReGIS (Ross Combs):
3600      <ul>
3601        <li>Sixel drawing should still happen after an error if
3602        some commands have been processed</li>
3603
3604        <li>Tiny steps toward reporting ReGIS input</li>
3605      </ul>
3606    </li>
3607  </ul>
3608
3609  <h1><a name="xterm_324" id="xterm_324">Patch #324 -
3610  2016/03/10</a></h1>
3611
3612  <ul>
3613    <li>updated configure macro <code>CF_LD_RPATH_OPT</code> from
3614    ncurses changes.</li>
3615
3616    <li>provide alternate fix for Juha Nurmela's report by turning
3617    on POSIX signals if <code>_POSIX_C_SOURCE</code> is at least
3618    one. This is done to improve the behavior if a direct child
3619    process receives a <code>STOP</code> signal.</li>
3620
3621    <li>revert change to <code>CF_POSIX_C_SOURCE</code> from
3622    <a href="#xterm_323">patch #323</a> (reports by Ashish Shukla,
3623    Christian Weisgerber).</li>
3624  </ul>
3625
3626  <h1><a name="xterm_323" id="xterm_323">Patch #323 -
3627  2016/03/07</a></h1>
3628
3629  <ul>
3630    <li>updated appdata and desktop files to add keywords (report
3631    by Richard Hughes).</li>
3632
3633    <li>modify configure macro <code>CF_POSIX_C_SOURCE</code> to
3634    accommodate some systems, e.g., FreeBSD, which have separated
3635    their implementation specific preprocessor symbols from the
3636    POSIX ones, requiring both to be defined (report by Juha
3637    Nurmela).</li>
3638
3639    <li>change the directory to the current working dir of the
3640    child process in exec-formatted and exec-selectable actions
3641    (patch by Alexander Pohoyda).</li>
3642
3643    <li>correct typo in xterm.man (patch by Larry Hynes).</li>
3644
3645    <li>correct typo in ctlseqs.ms (report by Shriramana
3646    Sharma).</li>
3647
3648    <li>add feature to support XHTML and SVG screen dumps (patch by
3649    Jens Schweikhardt).</li>
3650
3651    <li>correct response to DECRQSS when terminal id is less than
3652    400 (patch by Iwamoto Kouichi).</li>
3653  </ul>
3654
3655  <h1><a name="xterm_322" id="xterm_322">Patch #322 -
3656  2016/01/02</a></h1>
3657
3658  <ul>
3659    <li>fix regression due to incorrect fix for compiler warning
3660    when allocating storage for <code>/etc/shells</code> (reports
3661    by Ashish Shukla, Debian #809646).</li>
3662  </ul>
3663
3664  <h1><a name="xterm_321" id="xterm_321">Patch #321 -
3665  2015/12/31</a></h1>
3666
3667  <ul>
3668    <li>add resource <code>keepClipboard</code>, escape sequence
3669    and action <code>keep-clipboard</code>.</li>
3670
3671    <li>add optional feature to capture text copied to clipboard at
3672    the time of copying rather than at the time the clipboard
3673    contents are requested for pasting (patch by Milan
3674    Mehner).</li>
3675
3676    <li>improve a special case where the <code>-e</code> option was
3677    used to pass a single-quoted command via <code>luit</code>, by
3678    wrapping it in a &ldquo;sh -c&rdquo; (report by Keith
3679    Hedger).</li>
3680
3681    <li>minor fix for type-cleanliness when allocating storage for
3682    <code>/etc/shells</code> (Tobias Stoeckmann).</li>
3683
3684    <li>fix a typo in manual page (Dan Church).</li>
3685
3686    <li>fix minor file-descriptor leak; after calling
3687    <code>openpty</code>, the slave's file descriptor is not needed
3688    (report by Juha Nurmela).</li>
3689
3690    <li>editorial change to ctlseqs.ms (report by David
3691    Gomboc).</li>
3692
3693    <li>minor updates for autoconf macros.</li>
3694
3695    <li>update config.guess, config.sub</li>
3696  </ul>
3697
3698  <h1><a name="xterm_320" id="xterm_320">Patch #320 -
3699  2015/08/28</a></h1>
3700
3701  <ul>
3702    <li>correct documentation for <code>%t</code> format (report by
3703    Martin Tournoij).</li>
3704
3705    <li>add <code>%R</code> for consistency to
3706    <code>exec-formatted()</code> and
3707    <code>insert-formatted()</code> actions.</li>
3708
3709    <li>add <code>%r</code> format to <code>exec-formatted()</code>
3710    and <code>insert-formatted()</code> actions (patch by Martin
3711    Tournoij).</li>
3712
3713    <li>Amend fix for Debian #794201 (report forwarded from
3714    Christian Jachmann by Emanuel Haupt, Debian #797008).</li>
3715  </ul>
3716
3717  <h1><a name="xterm_319" id="xterm_319">Patch #319 -
3718  2015/08/19</a></h1>
3719
3720  <ul>
3721    <li>add a section to <code>ctlseqs.ms</code> discussing control
3722    sequences and ECMA-48, to explain why C1 controls do not occur
3723    in the decoded characters from UTF-8 byte streams (prompted by
3724    discussion with Poul-Henning Kamp).</li>
3725
3726    <li>modify check for cursor-theme from <a href=
3727    "#xterm_301">patch #301</a> to also check if the resource
3728    <code>Xcursor.theme</code> is set to a nonempty value before
3729    fallback to xterm's own dummy theme (request by Robert
3730    Kloefkorn).</li>
3731
3732    <li>explain in <code>ctlseqs.ms</code> that some keys which
3733    normally send SS3-prefixes are changed to CSI-prefixes if
3734    key-modifiers are passed as parameters (report by George
3735    Nachman).</li>
3736
3737    <li>correct double-free of font information when multiple
3738    problems are found, particularly for the wide fonts loaded via
3739    the <code>-wc</code> option (report/testcase by Nelson
3740    Beebe).</li>
3741
3742    <li>make configure option <code>--enable-builtin-xpms</code>
3743    actually work (report by William Bulley).</li>
3744
3745    <li>correct combination of <code>-ls</code> and <code>-e</code>
3746    options for utempter configuration (Debian #794201).</li>
3747
3748    <li>NetBSD build-fix for OPT_RENDERFONT versus OPT_SHIFT_FONTS
3749    (patch by Matthew Green, forwarded by Thomas Klausner).</li>
3750
3751    <li>fix a few minor bugs found with Coverity.</li>
3752
3753    <li>update pixelvector handling (Ross Combs):
3754      <ul>
3755        <li>split pixel-based and coord-based functions with common
3756        parts factored out to a "raw" function</li>
3757
3758        <li>add a "step" variant which loads a single PV digit</li>
3759      </ul>
3760    </li>
3761
3762    <li>make the graphic dirty upon resize or clear, fixing some
3763    missing refreshes (patch by Ross Combs)</li>
3764
3765    <li>fixes scrolling to use user coordinates and move in the
3766    correct direction (patch by Ross Combs)</li>
3767
3768    <li>several fixes/improvements for ReGIS whitespace and
3769    page-handling (patch by Ross Combs).</li>
3770  </ul>
3771
3772  <h1><a name="xterm_318" id="xterm_318">Patch #318 -
3773  2015/04/12</a></h1>
3774
3775  <ul>
3776    <li>rename new(er) configure option
3777    <code>--enable-initial-erase</code> to
3778    <code>--enable-pty-erase</code>, since that conflicted with an
3779    existing option (report by Jens Schweikhardt).</li>
3780
3781    <li>fix cut/paste error in <code>--with-builtin-xpms</code>
3782    configure option (reports by Jens Schweikhardt, Ross
3783    Combs).</li>
3784
3785    <li>fix minor formatting issue in xterm manual (report by Jens
3786    Schweikhardt).</li>
3787
3788    <li>eliminate unnecessary "#(vi" markers in autoconf macros by
3789    using "(" to begin case-statement cases (suggested by Jens
3790    Schweikhardt).</li>
3791
3792    <li>minor fixes to improve <code>const</code> usage (Ross
3793    Combs).</li>
3794  </ul>
3795
3796  <h1><a name="xterm_317" id="xterm_317">Patch #317 -
3797  2015/03/27</a></h1>
3798
3799  <ul>
3800    <li>adapt example for <code>exec-formatted</code> from <a href=
3801    "http://lukas.zapletalovi.com/2013/07/hidden-gems-of-xterm.html">
3802    Luk&aacute;&scaron; Zapletal's</a> webpage to manual (Debian
3803    #780008).</li>
3804
3805    <li>add a short usage section to the xterm manual, including
3806    notes on setting the window title (Debian #742477).</li>
3807
3808    <li>revise a change made to <code>ICH</code> in <a href=
3809    "#xterm_314">patch #314</a> to address limit-checks
3810    (reports/testcases by Zolt&aacute;n K&eacute;ri and Joe
3811    Peterson, also reported by Christian Weisgerber).</li>
3812  </ul>
3813
3814  <h1><a name="xterm_316" id="xterm_316">Patch #316 -
3815  2015/03/07</a></h1>
3816
3817  <ul>
3818    <li>revert change to make <code>DCH</code> honor top/bottom
3819    scrolling margins. For the record, both the VT420 and VT520
3820    reference manuals incorrectly state that <em>"DCH has no effect
3821    outside the scrolling margins."</em></li>
3822
3823    <li>fix regression in <code>DCH</code> introduced in adjustment
3824    for limit-check in <a href="#xterm_314">patch #315</a>
3825    (report/testcase by Zolt&aacute;n K&eacute;ri, also reported by
3826    Christian Weisgerber).</li>
3827
3828    <li>correct default value for configure option
3829    <code>--enable-initial-erase</code>; it should be "False", but
3830    in <a href="#xterm_315">patch #315</a> it was "Maybe", which
3831    differed from default set in <a href="#xterm_192">patch
3832    #192</a>.</li>
3833  </ul>
3834
3835  <h1><a name="xterm_315" id="xterm_315">Patch #315 -
3836  2015/03/02</a></h1>
3837
3838  <ul>
3839    <li>change default for <code>--enable-narrowproto</code> for
3840    Cygwin to "no" to better match contemporary configurations
3841    (report by Jens Schweikhardt, prompted by <a href=
3842    "http://stackoverflow.com/questions/28137618/what-is-a-narrow-prototype-and-why-would-i-need-one/28334574?noredirect=1#comment45022128_28334574">
3843    discussion</a>).</li>
3844
3845    <li>provide <code>OSC&nbsp;106</code> as an alternative to
3846    <code>OSC&nbsp;6</code>, avoiding conflict with one of
3847    Terminal.app's undocumented escape sequences (report by Egmont
3848    Koblinger).</li>
3849
3850    <li>fix an off-by-one in comparison when autowrap and
3851    left/right margins are combined (report by George
3852    Nachman).</li>
3853
3854    <li>modify <code>DECBI</code> and <code>DECFI</code> to work
3855    outside the left/right margins, since the vague VT520 reference
3856    manual could support that interpretation (suggested by George
3857    Nachman).</li>
3858
3859    <li>correct response for <code>DECSCUSR</code> in
3860    <code>DECRQSS</code> (report/analysis by George Nachman).</li>
3861
3862    <li>add <code>DECSLRM</code> to list for <code>DECRQSS</code>
3863    in ctlseqs.ms (report by George Nachman).</li>
3864
3865    <li>improve limit-checks versus assert's in the debugging
3866    version (reports by George Nachman).</li>
3867
3868    <li>correct a problem with multiple writes to the right-margin
3869    when autowrap is turned off (report by George Nachman, also
3870    reported in Gnome #744819 by Ulf Magnusson).</li>
3871
3872    <li>modify <code>DCH</code> to honor top/bottom and left/right
3873    margins (report by George Nachman).</li>
3874
3875    <li>correct off-by-one in comparison so that <code>DL</code>
3876    honors left/right margins (report by George Nachman).</li>
3877
3878    <li>correct logic of <code>DECSCL</code>, which always set
3879    8-bit controls as a side-effect (report by George
3880    Nachman).</li>
3881
3882    <li>correct loop limit for <code>DECSED&nbsp;1</code>, when
3883    <code>DECSCA</code> is enabled (report by George Nachman).</li>
3884
3885    <li>fix a entry in csi_table for &ldquo;<code>$</code>&rdquo;,
3886    needed for <code><em>CSI</em>&nbsp;[&nbsp;$&nbsp;z</code>
3887    (report by George Nachman).</li>
3888
3889    <li>remove restriction from <a href="#xterm_279">patch #279</a>
3890    changes on <code>DECIC</code> and <code>DECDC</code> to
3891    left-right mode (report by George Nachman).</li>
3892
3893    <li>correct PID value returned in response to DECRQCRA
3894    (report/analysis by George Nachman).</li>
3895
3896    <li>fix an ifdef'ing problem, where
3897    <code>--disable-dec-locator</code> would turn off logic needed
3898    for <code>DECIC</code> and <code>DECDC</code> (report by George
3899    Nachman).</li>
3900
3901    <li>correct order of parameters in report for
3902    <code><em>CSI</em>&nbsp;1&nbsp;9&nbsp;t</code>, which gives the
3903    screensize in characters (report by George Nachman).</li>
3904
3905    <li>add null pointer checks for a case in DECCRA where part of
3906    the target rectangle lies outside the screen limits (report by
3907    George Nachman).</li>
3908
3909    <li>remove extra "6" for selective erase from DA1 response
3910    (report by George Nachman).</li>
3911
3912    <li>support Xinerama screen specification in geometry parsing
3913    (patch by Nicolas George).</li>
3914
3915    <li>add configure option <code>--enable-initial-erase</code> to
3916    set <code>ptyInitialErase</code> consistently with manpage, as
3917    well as adding a table in manpage to clarify the relationship
3918    between the resources related to the backarrow key (Debian
3919    #775952).</li>
3920
3921    <li>add configure <code>--enable-builtin-xpms</code> to
3922    simplify compiling-in the icons introduced in <a href=
3923    "#xterm_284">patch #284</a> (prompted by discussion with
3924    William Bulley).</li>
3925
3926    <li>fix/improve autoconf macros:
3927      <ul>
3928        <li>CF_WITH_APP_DEFAULTS, add paths for OSX</li>
3929
3930        <li>CF_WITH_MAN2HTML, configure option "--with-man2html"
3931        provides "man2html" as alternative to groff's man/html
3932        conversion</li>
3933      </ul>
3934    </li>
3935
3936    <li>fix some minor issues in manpage (Jens Schweikhardt).</li>
3937  </ul>
3938
3939  <h1><a name="xterm_314" id="xterm_314">Patch #314 -
3940  2014/12/28</a></h1>
3941
3942  <ul>
3943    <li>fix a minor bug in the termcap-specific version of
3944    <code>resize</code> when the lines or columns values are at the
3945    very end of an incomplete termcap string (prompted by coverity
3946    report).</li>
3947
3948    <li>improve paste64 feature (report by Olaf Rogalsky)
3949      <ul>
3950        <li>fix &ldquo;<code>p</code>;&rdquo; command in
3951        <code>paste64.pl</code> example.</li>
3952
3953        <li>modify <code>_OwnSelection</code> to allow the paste64
3954        control to cause primary/clipboard selections to be
3955        disowned and cleared.</li>
3956
3957        <li>omit an extra "=" used in padding, to make the base64
3958        response a multiple of four characters.</li>
3959
3960        <li>modify <code>_ConvertSelectionHelper</code> to not stop
3961        converting on embedded nulls in the primary or clipboard
3962        selection. That makes the behavior consistent with
3963        cut-buffers. Nulls are not passed on to the application
3964        because they are used for separators in the X library calls
3965        that convert <code>XTextProperty</code> values.</li>
3966      </ul>
3967    </li>
3968
3969    <li>add configure option <code>--with-man2html</code> to allow
3970    an alternative to groff's man/html conversion.</li>
3971
3972    <li>review and modify resource-settings which can be set via
3973    control sequences, etc:
3974      <ul>
3975        <li>add <code>OSC&nbsp;6</code>, to enable/disable colors
3976        set via <code>OSC&nbsp;5</code>, without changing the color
3977        assignments (prompted by patch by Ingo Br&uuml;ckl).</li>
3978
3979        <li>add command-line option <code>-itc</code> for
3980        italics.</li>
3981
3982        <li>add <code>colorIT</code> and <code>colorITMode</code>
3983        for italics, like <code>colorBD</code>, etc.</li>
3984
3985        <li>guard <code>allowPasteControls</code> against
3986        modification by <code>editres</code>.</li>
3987      </ul>
3988    </li>
3989
3990    <li>change <code>passedPty</code> from fixed-length to
3991    allocated to ensure that it is long enough to hold the
3992    <code>-S</code> option value (report by Ben Longbons).</li>
3993
3994    <li>improve ReGIS graphics initialization (Ross Combs):
3995      <ul>
3996        <li>add a new string resource to set the default ReGIS
3997        font.</li>
3998
3999        <li>fix a caching problem where the font name wasn't taken
4000        into consideration when looking up cached metrics.</li>
4001
4002        <li>enables use of fractional values in coordinates (which
4003        in turn allows setting the coordinates to something like
4004        [0,1][1,0])</li>
4005
4006        <li>doubles the minimum ReGIS graphic to 200x200</li>
4007
4008        <li>set the default ReGIS image size to "auto"</li>
4009
4010        <li>fix some swapped width/height parameters in TRACE
4011        messages</li>
4012
4013        <li>add support for scaling and mirrored coordinate systems
4014        to the screen address command</li>
4015
4016        <li>sets a minimum ReGIS graphics size of 100x100 --
4017        smaller address ranges will be scaled up</li>
4018
4019        <li>reset the image if either the width or height is zero
4020        (which should happen together or not at all, but switching
4021        the logic gets rid of some parentheses)</li>
4022
4023        <li>adds support for alternate screen coordinates (just
4024        offsets, not inverted coordinates or scaling)</li>
4025
4026        <li>keeps the graphics state across ReGIS calls unless P1
4027        or P3 entry codes are used</li>
4028
4029        <li>changes loops to continue after parsing whitespace to
4030        allow trailing whitespace</li>
4031
4032        <li>fixes some incorrect character casts</li>
4033      </ul>
4034    </li>
4035  </ul>
4036
4037  <h1><a name="xterm_313" id="xterm_313">Patch #313 -
4038  2014/11/28</a></h1>
4039
4040  <ul>
4041    <li>add <code>regisScreenSize</code> resource setting to allow
4042    custom screensizes for ReGIS graphics (prompted by discussion
4043    with Scott Froebe).</li>
4044
4045    <li>fix some minor issues in manpage (Jens Schweikhardt).</li>
4046
4047    <li>improve ReGIS font-handling (Ross Combs):
4048      <ul>
4049        <li>remove "random junk" generation for unknown
4050        characters</li>
4051
4052        <li>add xterm extension to load user glyphs for alphabet
4053        0</li>
4054
4055        <li>add xterm extension to specify loading an alphabet from
4056        a font by name</li>
4057
4058        <li>fix bug with use of empty alphabet slots which caused
4059        slot 0 to be clobbered</li>
4060
4061        <li>update/clarify ReGIS-related comments</li>
4062
4063        <li>add DECprint extension for printing/clearing the screen
4064        (only clearing is performed)</li>
4065      </ul>
4066    </li>
4067
4068    <li>improve ReGIS colorspec conversion (Ross Combs):
4069      <ul>
4070        <li>avoid some floating point math for colorspace
4071        conversion</li>
4072
4073        <li>move two copies of colorspec parsing to a single
4074        function</li>
4075
4076        <li>change colorspec parsing to handle components being out
4077        of order or with spaces and commas between them</li>
4078
4079        <li>add support for an extension where RGB components can
4080        be given instead of HLS</li>
4081      </ul>
4082    </li>
4083
4084    <li>improve use of const, e.g., for the <code>LineData</code>
4085    pointers (patch by Ross Combs).</li>
4086
4087    <li>clip of graphics that overlap the scrollback buffer and alt
4088    screen (patch by Ross Combs).</li>
4089
4090    <li>amend change to focus-change events in <a href=
4091    "#xterm_287">patch #287</a> to limit it to suppressing the
4092    reset of the urgency-hint, because some useful
4093    <code>FocusOut</code> events were lost (report by Joe
4094    Peterson).</li>
4095
4096    <li>modify dpkg build-script to configure xterm-dev as an
4097    <code>x-terminal-emulator</code> alternative.</li>
4098
4099    <li>extend the <code>--with-xterm-symlink</code> feature to
4100    make symbolic links for the other programs and scripts.</li>
4101
4102    <li>minor fix to <code>vttests/resize.pl</code> to avoid
4103    undefined variable when receiving broken/missing response,
4104    e.g., from mrxvt.</li>
4105
4106    <li>change the way that ReGIS graphics are refreshed (patch by
4107    Ross Combs):
4108      <ul>
4109        <li>it pre-composes any overlapping graphics to avoid
4110        unnecessary and flickering draws</li>
4111
4112        <li>it adds a three-dimensional lookup table for RGB -&gt;
4113        pixel values and uses this across all graphics</li>
4114
4115        <li>it draws in line segments when there is a run of the
4116        same color</li>
4117
4118        <li>in cases where there are no transparent parts, it uses
4119        an XImage to draw</li>
4120
4121        <li>it hooks into the double-buffering support if it is
4122        enabled (though this doesn't seem to get rid of all
4123        flicker).</li>
4124      </ul>
4125      This has the effect of reducing flicker and speeding up
4126      redraws.
4127    </li>
4128  </ul>
4129
4130  <h1><a name="xterm_312" id="xterm_312">Patch #312 -
4131  2014/09/28</a></h1>
4132
4133  <ul>
4134    <li>undo change to <code>do_select_regex()</code> in <a href=
4135    "#xterm_311">patch #311</a> (reports by H Merijn Brand,
4136    Sven-Haegar Koch, Debian #762978).</li>
4137  </ul>
4138
4139  <h1><a name="xterm_311" id="xterm_311">Patch #311 -
4140  2014/09/18</a></h1>
4141
4142  <ul>
4143    <li>mention <code>xclip</code> in manpage as an alternative
4144    workaround for copying clipboard data, noting that
4145    <code>selectToClipboard</code> (see <a href="#xterm_209">patch
4146    #209</a>) is the recommended approach (Debian #639094).</li>
4147
4148    <li>correct comparison in do_select_regex() of working position
4149    against starting column.</li>
4150
4151    <li>correct initialization for regular-expression feature of
4152    <code>exec-selectable</code> and <code>insert-selectable</code>
4153    actions (Debian #758633).</li>
4154
4155    <li>modify logic for <code>exec-formatted</code> and
4156    <code>insert-formatted</code> actions to ensure that the
4157    formatting occurs just after the selection is received (Debian
4158    #758633).</li>
4159
4160    <li>account for state of reverse-video in special case of
4161    cursor coloring (Debian #759734).</li>
4162
4163    <li>fix a sign-extension problem in ReGIS support, as well as
4164    correcting a case where ignored-characters were not really
4165    ignored (patch by Ross Combs).</li>
4166
4167    <li>Enable the "Escape Sequence" menu entry when an OSC&nbsp;50
4168    is received. Also disable it if the escape sequence specifies
4169    no font (Debian #760208).</li>
4170
4171    <li>improve fix for the <code>fontsel</code> menu entry from
4172    <a href="#xterm_304">patch #304</a>: because the recovery used
4173    the "current font", it would fail if one first selected a valid
4174    font, then an invalid font (Debian #760207).</li>
4175
4176    <li>correct an off-by-one in limit-check for
4177    <code>ScrnLimitChar</code> function (report by Egmont
4178    Koblinger).</li>
4179  </ul>
4180
4181  <h1><a name="xterm_310" id="xterm_310">Patch #310 -
4182  2014/07/25</a></h1>
4183
4184  <ul>
4185    <li>update package/freebsd files based on xterm #309 port.</li>
4186
4187    <li>adapt changes from Minux3.2 which ported <a href=
4188    "#xterm_197">xterm #197</a>, to allow building on that platform
4189    both using <code>imake</code> as well as using the configure
4190    script.</li>
4191
4192    <li>update precompose.c based on Unicode 7.0</li>
4193
4194    <li>build-fix for <code>--with-Xaw3dxft</code> option (report
4195    by Emanuel Haupt).</li>
4196  </ul>
4197
4198  <h1><a name="xterm_309" id="xterm_309">Patch #309 -
4199  2014/07/13</a></h1>
4200
4201  <ul>
4202    <li>modify configure script to work around debris left by
4203    XQuartz upgrades.</li>
4204
4205    <li>modify test-package scripts to enable ReGIS graphics.</li>
4206
4207    <li>improvements/additions to ReGIS graphics, e.g., drawing
4208    text (Ross Combs).</li>
4209
4210    <li>add <code>--with-Xaw3dxft</code>, to link with Xaw 3d xft
4211    library (Stephen P Wall).</li>
4212
4213    <li>amend reset for cursor-shape to take into account
4214    <code>cursorUnderline</code> resource (report by Christian
4215    Weisgerber).</li>
4216
4217    <li>update config.guess, config.sub</li>
4218  </ul>
4219
4220  <h1><a name="xterm_308" id="xterm_308">Patch #308 -
4221  2014/06/19</a></h1>
4222
4223  <ul>
4224    <li>corrected font used for clipping double-width bitmap fonts
4225    from <a href="#xterm_307">patch #307</a> changes to work around
4226    mis-scaled fonts (Debian #752947).</li>
4227
4228    <li>improve wording of a warning message.</li>
4229  </ul>
4230
4231  <h1><a name="xterm_307" id="xterm_307">Patch #307 -
4232  2014/06/17</a></h1>
4233
4234  <ul>
4235    <li>fill background for top/bottom parts of
4236    double-width/double-height characters, to cover occasional gaps
4237    due to bitmap font-scaling (report by Egmont Koblinger).</li>
4238
4239    <li>amend resets for keyboard-type, pointer-mode and
4240    title-modes from <a href="#xterm_305">xterm #305</a> changes to
4241    account for resource settings (Debian #751351).</li>
4242
4243    <li>modify <em>printAttributes</em> feature to include new SGR
4244    codes.</li>
4245
4246    <li>modify cursor show/hide logic to work with italic
4247    fonts.</li>
4248
4249    <li>do clipping and filling for a case with bitmap-fonts and
4250    italics when the font server returns only a "close" match
4251    (report/testcase by Egmont Koblinger).</li>
4252
4253    <li>adjust loop comparison for underlining to display
4254    underlines on 5x8 font as in <a href="#xterm_304">patch
4255    #304</a> (Debian #750733).</li>
4256
4257    <li>amend fix for Freedesktop #15979 (Debian #750733).</li>
4258
4259    <li>amend xterm.appdata.xml, making it validate with current
4260    schema.</li>
4261  </ul>
4262
4263  <h1><a name="xterm_306" id="xterm_306">Patch #306 -
4264  2014/06/03</a></h1>
4265
4266  <ul>
4267    <li>fixes for display-errors in new SGR codes (report by Egmont
4268    Koblinger).</li>
4269  </ul>
4270
4271  <h1><a name="xterm_305" id="xterm_305">Patch #305 -
4272  2014/06/02</a></h1>
4273
4274  <ul>
4275    <li>add <code>xterm.appdata.xml</code> (request by Richard
4276    Hughes). By the way, none of the <em>released</em> validators
4277    yet handle <code>&lt;licence&gt;</code> tags (or
4278    <code>&lt;metadata_license&gt;</code>, etc).</li>
4279
4280    <li>fix memory leaks in bitmap font-name caching.</li>
4281
4282    <li>other changes to hard-reset behavior:
4283      <ul>
4284        <li>reset keyboard-type on hard-reset.</li>
4285
4286        <li>reset pointer-mode (<code>pointerMode</code>) on
4287        hard-reset</li>
4288
4289        <li>reset title-modes (<code>titleModes</code>) on
4290        hard-reset</li>
4291
4292        <li>reset cursor-shape on hard or soft-reset</li>
4293
4294        <li>reset LEDs on hard-reset.</li>
4295
4296        <li>reset DECSACE on hard-reset.</li>
4297      </ul>
4298    </li>
4299
4300    <li>reset bracketed-paste mode on hard-reset (suggested by
4301    Egmont Koblinger).</li>
4302
4303    <li>modify UTF-8 decoder to account for
4304    <code>allowC1Printable</code> resource.</li>
4305
4306    <li>revise <code>getXftColor</code> to ensure that its sequence
4307    number will not overflow in long-running sessions.</li>
4308
4309    <li>minor fix to selection to prevent hidden character from
4310    being returned in selection data (report by Egmont
4311    Koblinger).</li>
4312
4313    <li>add <code>-sh</code> to help-message.</li>
4314
4315    <li>amend check for incomplete fonts to always decide that a
4316    character is missing if the font lacks per-character metrics
4317    (prompted by Freedesktop #15979).</li>
4318
4319    <li>minor reorganization to implement &ldquo;filler&rdquo; SGR
4320    features. There are no established applications which rely upon
4321    these; some people find them amusing.
4322      <ul>
4323        <li>separate bits used to manage drawing state from
4324        attribute-bits.</li>
4325
4326        <li>implement SGR codes 2, 3, 9, 21 and their corresponding
4327        resets.</li>
4328
4329        <li>add configure option <code>--disable-wide-attrs</code>
4330        to disable the feature.</li>
4331      </ul>
4332    </li>
4333
4334    <li>additional changes for ReGIS support (Ross Combs):
4335      <ul>
4336        <li>fix some arc drawing bugs and add support for pattern
4337        shading.</li>
4338      </ul>
4339    </li>
4340  </ul>
4341
4342  <h1><a name="xterm_304" id="xterm_304">Patch #304 -
4343  2014/05/03</a></h1>
4344
4345  <ul>
4346    <li>add debugging check for parsing table entries, fixed a few
4347    inconsistencies.</li>
4348
4349    <li>handle utmp/utmpx strings consistently with new function
4350    that null-pads unused locations.</li>
4351
4352    <li>build-fix for imake configuration with FreeBSD 9 and later,
4353    to account for replacing <code>utmp</code> with
4354    <code>utmpx</code>.</li>
4355
4356    <li>improve handling of the <code>fontsel</code>
4357    (font-selection) menu item:
4358      <ul>
4359        <li>initialize the menu entry differently if the toolbar
4360        configuration is used, i.e., enabling it without attempting
4361        to use the current selection as a font name. Because of the
4362        way in which the toolbar is setup, this attempt usually
4363        failed, and would result in a warning.</li>
4364
4365        <li>if the menu action fails, e.g., no font can be loaded
4366        for the given selected name, then recover by resuming with
4367        the current font. Before, the recovery went to the default
4368        font. That was done to work around missing bitmap font in
4369        <a href="#xterm_276">patch #276</a>.</li>
4370      </ul>
4371    </li>
4372
4373    <li>document OSC&nbsp;119 in the control sequences listing
4374    (report by Egmont Koblinger).</li>
4375
4376    <li>modify special handling of <code>XF86Paste</code> or
4377    <code>SunPaste</code> keysyms (see <a href="#xterm_227">patch
4378    #227</a>) to use the standard shift/lock modifiers in case
4379    those are, for example, used in level 3 in an XKB file (patch
4380    by Matthieu Herrb).</li>
4381
4382    <li>configure macro updates:
4383      <ul>
4384        <li>drop the <code>-no-gcc</code> option from
4385        CF_INTEL_COMPILER</li>
4386
4387        <li>modify CF_XOPEN_SOURCE to suppress the check for
4388        defining _XOPEN_SOURCE on Solaris</li>
4389      </ul>
4390    </li>
4391
4392    <li>reduce bss storage used for ReGIS/Sixel modules, as well as
4393    cleanup storage usage in other modules.</li>
4394
4395    <li>initial changes for ReGIS support (Ross Combs):
4396      <ul>
4397        <li>document control-sequences</li>
4398
4399        <li>separate ifdef's for sixel and color-register
4400        features</li>
4401
4402        <li>add configuration for VT382</li>
4403      </ul>
4404    </li>
4405  </ul>
4406
4407  <h1><a name="xterm_303" id="xterm_303">Patch #303 -
4408  2014/03/06</a></h1>
4409
4410  <ul>
4411    <li>improve check for <code>/etc/shells</code> to allow its
4412    entries to be symbolic links.</li>
4413
4414    <li>fix a regression in <a href="#xterm_302">patch #302</a>
4415    fixes relating to interaction of <code>SHELL</code> and
4416    <code>XTERM_SHELL</code> variables (Debian #740919).</li>
4417
4418    <li>improve manpage discussion of use of
4419    <code>/etc/shells</code> for validating the <code>SHELL</code>
4420    environment variable.</li>
4421
4422    <li>further improve the approximation for color map by ignoring
4423    bits which would not be applied by the rgb masks for the
4424    current visual (report by Joe Peterson).</li>
4425
4426    <li>add <code>-report-colors</code> to usage-message (report by
4427    Joe Peterson).</li>
4428  </ul>
4429
4430  <h1><a name="xterm_302" id="xterm_302">Patch #302 -
4431  2014/03/02</a></h1>
4432
4433  <ul>
4434    <li>amend approximation for color map introduced in <a href=
4435    "#xterm_277">patch #277</a> to make that apply only to
4436    <code>TrueColor</code> (adapted from patch by Joe
4437    Peterson).</li>
4438
4439    <li>add <code>-report-colors</code> option, to show colors as
4440    they are allocated.</li>
4441
4442    <li>fix some gcc <code>-Wcast-qual</code> warnings.</li>
4443
4444    <li>correct app-defaults location for CentOS-4 in
4445    xterm.spec</li>
4446
4447    <li>improve check in <code>minstall.sh</code> for X manpage's
4448    section number; add sample dependencies for the relevant
4449    documentation package to packaging test-scripts (prompted by
4450    Novell #779474).</li>
4451
4452    <li>modify sample build-scripts for dpkg and rpm to ensure that
4453    <code>vttests</code> scripts are uncompressed and
4454    executable.</li>
4455
4456    <li>modify Perl scripts in <code>vttests</code> to use
4457    <code>env</code> to find Perl rather than relying on
4458    <code>/usr/bin/perl</code> This makes the sample scripts usable
4459    with NetBSD and other systems using <em>pkgsrc</em>.</li>
4460
4461    <li>amend check from <a href="#xterm_301">patch #301</a> for
4462    valid shell to permit existing <code>SHELL</code> value to
4463    specify the shell; clarify the behavior in the manpage (report
4464    by Emmanuel Thom&eacute;).</li>
4465
4466    <li>amend change to wide-character processing from <a href=
4467    "#xterm_257">patch #257</a> to allow switching to/from UTF-8
4468    encoding if the <code>utf8</code> resource was not set to
4469    &ldquo;always&rdquo; (report by Honza Maly).</li>
4470
4471    <li>fix incorrect free from <a href="#xterm_301">patch #301</a>
4472    changes, if explicit program without <code>-e</code> option is
4473    a valid shell (patch by Romain Francoise).</li>
4474  </ul>
4475
4476  <h1><a name="xterm_301" id="xterm_301">Patch #301 -
4477  2014/01/19</a></h1>
4478
4479  <ul>
4480    <li>OSC&nbsp;104 and 105 did not accept parameter to reset a
4481    specific color (patch by Egmont Koblinger).</li>
4482
4483    <li>add configure check for <code>initgroups</code>, and use
4484    that function to complement its use of <code>setgid</code>
4485    (prompted by patch by Miroslav Lichvar).</li>
4486
4487    <li>improve manpage description of scrollbar translations
4488    versus the vt100 translations (Debian #723573).</li>
4489
4490    <li>add a few paragraphs to manpage explaining the implications
4491    of xterm's reliance on X Toolkit for command-line parsing.</li>
4492
4493    <li>modify cursor-theme logic to check if the environment
4494    variable <code>XCURSOR_THEME</code> is set to a nonempty value
4495    before constructing a dummy them (prompted by similar check
4496    added in OpenBSD CVS).</li>
4497
4498    <li>add check for a case where TrueType bold font is missing a
4499    glyph where the non-bold font has it. Temporarily switch to the
4500    non-bold font to draw the glyph (report by David
4501    Demelier).</li>
4502
4503    <li>minor documentation fixes for ctlseqs.ms</li>
4504
4505    <li>only set <code>SHELL</code> environment variable to
4506    programs found in <code>/etc/shells</code> (prompted by
4507    patch/report by Al Poole).</li>
4508
4509    <li>build-fix, when <code>--disable-wide-chars</code>
4510    <code>--disable-boxchar</code> is used (prompted by patch by
4511    Andrey Panov).</li>
4512  </ul>
4513
4514  <h1><a name="xterm_300" id="xterm_300">Patch #300 -
4515  2013/12/03</a></h1>
4516
4517  <ul>
4518    <li>amend workaround for <code>Xcursor</code> library from
4519    <a href="#xterm_298">patch #298</a>; the suggested solution for
4520    Debian #466704 fell afoul of a bug in <code>Xcursor</code>
4521    which treated an empty value for <code>Inherits=</code> as a
4522    valid theme&mdash;and resulted in a stack overflow due to
4523    unbounded recursion. Certain environments such as XFCE4 exposed
4524    the bug. A related report in Debian #531679 was closed without
4525    following the recommendation to limit stack recursion in this
4526    library (reported by Sergey V Dyatko, Debian #731269).</li>
4527  </ul>
4528
4529  <h1><a name="xterm_299" id="xterm_299">Patch #299 -
4530  2013/12/01</a></h1>
4531
4532  <ul>
4533    <li>fix regression in line-drawing from <a href=
4534    "#xterm_297">patch #297</a> changes for NRCS exposed by change
4535    to <code>assumeAllChars</code> resource in <a href=
4536    "#xterm_298">patch #298</a> (report by Markus Waldeck).</li>
4537  </ul>
4538
4539  <h1><a name="xterm_298" id="xterm_298">Patch #298 -
4540  2013/11/27</a></h1>
4541
4542  <ul>
4543    <li>quiet a warning about ambiguity when <code>-h</code>
4544    command-line option is parsed, since <code>-help</code> is used
4545    rather than the options mentioned in the message. This warning
4546    was caused by fixes in <a href="#xterm_272">patch
4547    #272</a>.</li>
4548
4549    <li>remove an extra check for keypad-mode which interfered with
4550    the <a href="#xterm_280">patch #280</a>
4551    <code>modifyKeyboard</code> feature for the numeric keypad
4552    (report by David Conners).</li>
4553
4554    <li>change default for <code>assumeAllChars</code> resource
4555    (Debian #725682). There are unresolved issues with Terminus
4556    fonts, e.g., Debian #722017.</li>
4557
4558    <li>add <code>-report-fonts</code> command-line option and
4559    <code>reportFonts</code> resource to optionally report the
4560    fonts which are loaded, and their metrics such as the number of
4561    missing glyphs.</li>
4562
4563    <li>work around <code>Xcursor</code> library to make
4564    <code>pointerColor</code> resource work as documented (Debian
4565    #466704, analysis by Vincent Lef&egrave;vre).</li>
4566
4567    <li>amend change from <a href="#xterm_297">patch #297</a> for
4568    ASCII-equivalents to ensure that missing characters which
4569    happen to be double-width are padded to the expected number of
4570    columns. Also, correct the choice between normal/wide Xft fonts
4571    used when checking for missing characters (reported by WU Yue,
4572    Debian #728949, Gentoo #491334).</li>
4573
4574    <li>modify sixel-graphics drawing to account for scrollbar
4575    width (report by Mario Edelmann).</li>
4576
4577    <li>fix remaining issue with <code>DECNRCM</code>; the British
4578    character set was confused with ISO Latin-1 (report by Hayaki
4579    Saito).</li>
4580
4581    <li>build-fix for <code>--disable-boxchars</code> configure
4582    option.</li>
4583
4584    <li>updated configure macros, from ongoing work on lynx and
4585    ncurses.</li>
4586
4587    <li>update config.guess, config.sub</li>
4588  </ul>
4589
4590  <h1><a name="xterm_297" id="xterm_297">Patch #297 -
4591  2013/09/10</a></h1>
4592
4593  <ul>
4594    <li>modify check for missing cells in bitmap font to work
4595    around terminus 10646 encoding, which is mostly missing, add
4596    <code>assumeAllChars</code> resource to provide the older
4597    behavior.</li>
4598
4599    <li>modify macros used to check for missing cells in bitmap
4600    fonts to pick up a long-overlooked improvement made to xfd in
4601    XFree86.</li>
4602
4603    <li>improve workaround for groff versus ASCII-equivalents;
4604    <a href="#xterm_185">patch #185</a> had overlooked Xft
4605    configuration (reported by anonymous user on Arch Linux
4606    forum).</li>
4607
4608    <li>review/extend <code>DECNRCM</code> support (prompted by
4609    report by Hayaki Saito asking about the two "A" codes).
4610      <ul>
4611        <li>make pasting of DECNRCM data work by translating the
4612        pasted data into the selected encoding.</li>
4613
4614        <li>limit mode changes to VT220 and up.</li>
4615
4616        <li>ignore SCS for National Replacement Characters if
4617        <code>DECNRCM</code> is not set.</li>
4618
4619        <li>add tables and logic to decode SCS controls ending with
4620        "%" and one additional character. This expects the parsing
4621        of SCS to VT320.</li>
4622
4623        <li>also added parsing for SCS of DEC Supplemental and DEC
4624        Technical, which are for VT2xx and VT3xx respectively.</li>
4625
4626        <li>implement VT220 Multinational character set "GR" aka
4627        "DEC Supplemental Graphic".</li>
4628
4629        <li>DEC Technical character set based on <a href=
4630        "http://www.vt100.net/charsets/technical.html">vt100.net
4631        description</a>.</li>
4632
4633        <li>implement Portuguese NRC.</li>
4634
4635        <li>provide for temporarily switching to/from NRC mode from
4636        UTF-8 mode when <code>DECNRCM</code> is set or reset.</li>
4637      </ul>
4638    </li>
4639
4640    <li>minor fix to assert's found while testing examples from
4641    <a href="https://gist.github.com/ttdoda">ttdoda's
4642    slrm-test1.txt</a>.</li>
4643
4644    <li>modify <code>DECLRMM</code> to not update the cursor
4645    position (report by Iwamoto Kouichi forwarded by Hayaki
4646    Saito).</li>
4647
4648    <li>modify cursor-position report to take origin-mode into
4649    account (report by Hayaki Saito, see also <a href=
4650    "https://github.com/gnachman/iTerm2/pull/129">iTerm2 pull
4651    request 129</a>).</li>
4652
4653    <li>correct off-by-one comparison in when handling
4654    carriage-return at left margin (patch by Iwamoto Kouichi,
4655    forwarded by Hayaki Saito).</li>
4656
4657    <li>improve handling of <code>faceName</code> resource when a
4658    "size=" property is embedded in it, by using that size to
4659    replace the default <code>faceSize</code> resource. This lets
4660    xterm honor the other faceSize resources (report by Jens
4661    Schweikhardt).</li>
4662
4663    <li>improve OSC&nbsp;52 selection-data by setting its timestamp
4664    to correspond to the most-recent event received by xterm, to
4665    ensure that calls to <code>XtOwnSelect</code> succeed even if
4666    the selection is manipulated solely through the keyboard
4667    (prompted by patch by Richard Tollerton).</li>
4668
4669    <li>change configure-script defaults for "luit" and
4670    "wide-chars" options to match the values used in the imake
4671    configuration, to lessen user surprise if they are accustomed
4672    to building xterm using imake(report by Andries E
4673    Brouwer).</li>
4674
4675    <li>improve the imake-related configuration's check if xterm is
4676    started in a locale that uses UTF-8 encoding. Before, this
4677    checked the locale settings only for "UTF-8", now it checks
4678    ignoring case for "UTF-8" and "UTF-8" (report by Andries E
4679    Brouwer).</li>
4680  </ul>
4681
4682  <h1><a name="xterm_296" id="xterm_296">Patch #296 -
4683  2013/07/10</a></h1>
4684
4685  <ul>
4686    <li>improve experimental sixel feature (Ross Combs).</li>
4687
4688    <li>modify delimiter in configure macro used to add a library
4689    after a given library to avoid confusion with <code>-Wl</code>
4690    pass-through options to linker (NetBSD #48031).</li>
4691
4692    <li>fix quoting in expression used to trim extra libraries from
4693    <a href="#xterm_295">patch #295</a> changes (report by Thomas
4694    Klausner).</li>
4695  </ul>
4696
4697  <h1><a name="xterm_295" id="xterm_295">Patch #295 -
4698  2013/07/06</a></h1>
4699
4700  <ul>
4701    <li>adjust order of libraries to work around incomplete symbol
4702    resolution when using <code>--as-needed</code> option
4703    (ArchLinux #36047).</li>
4704
4705    <li>minor fix for <code>plink.sh</code>, for IRIX64.</li>
4706  </ul>
4707
4708  <h1><a name="xterm_294" id="xterm_294">Patch #294 -
4709  2013/07/05</a></h1>
4710
4711  <ul>
4712    <li>add note in ctlseqs.ms for CPR response pointing out a
4713    potential point of confusion with the string sent by a modified
4714    F1 key (suggested by Bram Moolenaar).</li>
4715
4716    <li>improve <code>plink.sh</code> by checking if the linker
4717    supports the <code>--as-needed</code> option (suggested by
4718    David Philippi).</li>
4719
4720    <li>improve clearing for private mode 1049 when switching to
4721    the alternate screen (Debian #711758).</li>
4722
4723    <li>amend fix from <a href="#xterm_292">patch #292</a> by
4724    removing now-unneeded chunk which introduced problem in
4725    selection (Debian #714527).</li>
4726
4727    <li>add definition to optionally override compiled-in class for
4728    xterm from makefile, needed for test-packages.</li>
4729
4730    <li>add configure option
4731    <code>--enable-sixel-graphics</code></li>
4732
4733    <li>add experimental support for sixel graphics (Ross
4734    Combs).</li>
4735  </ul>
4736
4737  <h1><a name="xterm_293" id="xterm_293">Patch #293 -
4738  2013/05/27</a></h1>
4739
4740  <ul>
4741    <li>modify sample xterm.spec to use newer icon</li>
4742
4743    <li>add configure option <code>--with-icon-symlink</code> to
4744    work around systems which map icon requests for to a single
4745    "xterm" icon, but neglect to install the icon needed for window
4746    decorations (report by H Merijn Brand).</li>
4747
4748    <li>improve parameterizing of sample xterm.spec</li>
4749
4750    <li>amend fix for printer from <a href="#xterm_280">patch
4751    #280</a>, removing a reset of the signal handler for
4752    <code>SIGCHLD</code> (report by Joe Julian).</li>
4753
4754    <li>set environment variable <code>XTERM_FILTER</code> if a
4755    locale-filter is used.</li>
4756
4757    <li>enable <code>DEBUG</code> logic when
4758    <code>--enable-trace</code> configure option is given.</li>
4759
4760    <li>improve description of <code>initialFont</code>,
4761    <code>set-vt-font</code> and <code>set-tex-text</code> in
4762    manpage (Debian #707899).</li>
4763
4764    <li>fix regression from <a href="#xterm_292">patch #292</a>;
4765    selecting a word that ended at the right margin without
4766    wrapping would not select the last cell (report by Christian
4767    Weisgerber).</li>
4768  </ul>
4769
4770  <h1><a name="xterm_292" id="xterm_292">Patch #292 -
4771  2013/04/25</a></h1>
4772
4773  <ul>
4774    <li>add limit-check when double-click selects a word; if the
4775    saved-lines were scrolled back and the word selected wrapped at
4776    the screen's lower right corner, an assertion was triggered
4777    (patch by Taketo Kabe).</li>
4778
4779    <li>correct limit-check in <code>unsaveEditBufLines</code>,
4780    fixing a case where enlarging the terminal size could show a
4781    blank line where there actually is available text (patch by
4782    Bertram Felgenhauer).</li>
4783
4784    <li>add <code>PasteControls</code> feature to
4785    <code>allowWindowOps</code> which by default disallows pasting
4786    control characters other than formatting such as carriage
4787    return (discussion with Hayaki Saito).</li>
4788
4789    <li>fix typo in ctlseqs.ms for DECRQM response (patch by
4790    Emanuele Giaquinta).</li>
4791
4792    <li>update default shown in configure <code>--help</code>
4793    message for <code>--with-terminal-id</code> option (patch by
4794    Andres Perera).</li>
4795
4796    <li>rename script/preprocessor variables used for substituting
4797    the <code>backarrowKey</code> default value for consistency
4798    (patch by Andres Perera).</li>
4799
4800    <li>set umask to 077 before creating debugging-trace
4801    files.</li>
4802
4803    <li>add configure option <code>--disable-openpty</code> to
4804    control whether openpty() may be used in preference to
4805    posix_openpt().</li>
4806
4807    <li>improve workaround from <a href="#xterm_279">patch #279</a>
4808    for BSD systems which do not complete initialization until both
4809    sides of the pseudoterminal are opened, by preferring openpty()
4810    function over posix_openpt() when available (report by
4811    Christian Weisgerber).</li>
4812  </ul>
4813
4814  <h1><a name="xterm_291" id="xterm_291">Patch #291 -
4815  2013/02/26</a></h1>
4816
4817  <ul>
4818    <li>add validity check for xterm widget parameter to
4819    <code>AlternateScroll</code> function, needed to handle wheel
4820    mouse events in the scrollbar area since <a href=
4821    "#xterm_282">patch #282</a> changes which introduced
4822    <code>alternateScroll</code> feature (Redhat #874327).</li>
4823  </ul>
4824
4825  <h1><a name="xterm_290" id="xterm_290">Patch #290 -
4826  2013/02/12</a></h1>
4827
4828  <ul>
4829    <li>revert of <a href="#xterm_282">patch #282</a> change was
4830    incomplete (report by Jim Reisert).</li>
4831
4832    <li>fix typo in manpage (report by Vincent
4833    Lef&egrave;vre).</li>
4834  </ul>
4835
4836  <h1><a name="xterm_289" id="xterm_289">Patch #289 -
4837  2013/02/08</a></h1>
4838
4839  <ul>
4840    <li>revert the <a href="#xterm_282">patch #282</a> change which
4841    restored "lost" text after shrinking/growing the screen size.
4842    If the screen was updated between the two resizing operations,
4843    unexpected text might be shown at the end (report/testcase by
4844    Joe Peterson).</li>
4845
4846    <li>reverse the arrow-keys sent for
4847    <code>alternateScroll</code> to match the usage in browsers
4848    (suggested by Dieter Roelants).</li>
4849
4850    <li>modify mouse reports to consistently indicate motion events
4851    whether or not a button is pressed. Old behavior (since
4852    <a href="#xterm_127">patch #127</a> modified encoding for wheel
4853    mouse) showed only that the button was released if no button
4854    had been pressed (report by Andy Koppe).</li>
4855
4856    <li>correct and improve behavior for SGR 1006 mouse protocol on
4857    button release in any-event mode. Initial implementation in
4858    <a href="#xterm_277">patch #277</a> left internal state showing
4859    the last button pressed when reporting motion events. It now
4860    keeps track of all buttons which have been pressed and
4861    released, showing the lowest remaining button by number in the
4862    response (reports by Hayaki Saito, Andy Koppe).</li>
4863
4864    <li>fix inconsistency between <code>TermColors</code> and
4865    <code>OscTextColors</code> enums which interchanged values for
4866    tektronix cursor color and highlight foreground in control
4867    sequences in <a href="#xterm_225">patch #225</a> (report/patch
4868    by Peder Stray).</li>
4869
4870    <li>fix inconsistent use of noreturn-attribute in
4871    <code>Exit</code> function which interfered with clang
4872    --analyze.</li>
4873
4874    <li>remove incorrect <code>free</code> used in computation of
4875    <code>XTERM_SHELL</code> variable, from Coverity fixes in
4876    <a href="#xterm_288">patch #288</a> (FreeBSD #175782).</li>
4877
4878    <li>add <code>--with-valgrind</code> option to configure script
4879    for consistency with my other programs.</li>
4880
4881    <li>update table of ambiguous width characters in wcwidth.c
4882    based on Unicode 6.2.0</li>
4883
4884    <li>update table of combining characters in wcwidth.c based on
4885    Unicode 6.2.0</li>
4886
4887    <li>update precompose.c based on Unicode 6.2.0</li>
4888  </ul>
4889
4890  <h1><a name="xterm_288" id="xterm_288">Patch #288 -
4891  2013/01/09</a></h1>
4892
4893  <ul>
4894    <li>fix a special case in <code>ShowCursor</code> where the
4895    foreground and background colors of the current position are
4896    the same. In that case, choose the further of the window's
4897    foreground and background colors for the cursor color.</li>
4898
4899    <li>modify <code>alternateScroll</code> feature added in
4900    <a href="#xterm_282">patch #282</a> to use either
4901    <code>CSI</code> or <code>SS3</code> according to the cursor
4902    keys application mode setting, to simplify using it in vi, etc.
4903    (suggested by Dietar Roelants).</li>
4904
4905    <li>revise manpage for <code>resize</code> to clarify the
4906    changes which <code>resize</code> may make to the terminal
4907    settings as well as to the terminal itself.</li>
4908
4909    <li>remove code such as <code>struct ttysize</code>, used for
4910    SunOS 3 and 4.</li>
4911
4912    <li>modify configure script and makefile to check for
4913    <code>groff</code> and suppress groff-specific rules if groff
4914    is not found.</li>
4915
4916    <li>modify ctlseqs.ms and makefile to work around bugs in
4917    <code>grohtml</code> which cause ".png" files to be truncated
4918    when producing html documentation.</li>
4919
4920    <li>modify suffix rules for "make docs" to make the names of
4921    the generated ".png" files predictable, helping to work around
4922    longstanding problems with this feature of groff&mdash;none of
4923    its releases work for <em>all</em> of xterm's tables..</li>
4924
4925    <li>correct typo in ctlseqs.ms for DECIC and DECDC; the
4926    character preceding the final "<code>~</code>" is an ASCII
4927    single-quote "<code>'</code>" rather than a space (report by
4928    Paul LeoNerd Evans).</li>
4929
4930    <li>update CF_GCC_VERSION macro, handling both Debian and
4931    Darwin.</li>
4932
4933    <li>improve configure script checks for the
4934    <code>--with-desktop-category</code> option. After <a href=
4935    "#xterm_280">patch #280</a> changes, if no value was given for
4936    this option, and no existing desktop files found for
4937    comparison, the incorrect "auto" value was passed into the
4938    generated desktop file (report by Julien Cristau).</li>
4939
4940    <li>modify sample build-scripts to disable check for
4941    <code>imake</code> due to code-rot in Xorg.</li>
4942
4943    <li>add <code>-v</code> command-line option to
4944    <code>resize</code>, reporting the same version string as
4945    <code>xterm</code> and the two shell-wrappers.</li>
4946
4947    <li>make name-transformation apply to other occurrences of
4948    <code>resize</code>, other manpages.</li>
4949
4950    <li>special-case the name-transformation in xterm's manpage in
4951    the NAME section so that the result works with
4952    <code>makewhatis</code> (report by Julien Cristau).</li>
4953
4954    <li>modify install-rules for manpages to put each program's
4955    respective transformed name into the header rather than
4956    xterm's.</li>
4957
4958    <li>remove deprecated files: proto.h, os2main.c</li>
4959
4960    <li>minor fixes based on Coverity scan, including:
4961      <ul>
4962        <li>correct caching of Atom value for the font menu's
4963        "Selection" entry.</li>
4964
4965        <li>ensure that utmp/utmpx calls do not depend upon
4966        trailing nulls in the <code>ut_id</code> and
4967        <code>ut_line</code> values.</li>
4968      </ul>
4969    </li>
4970  </ul>
4971
4972  <h1><a name="xterm_287" id="xterm_287">Patch #287 -
4973  2012/11/25</a></h1>
4974
4975  <ul>
4976    <li>fix a case where in_put() loop could continue when it has
4977    found an X event rather than the pty, causing the pty-read to
4978    be delayed (patch by Balazs Kezes).</li>
4979
4980    <li>add option to <code>pointerMode</code> resource and
4981    corresponding control sequences to allow text-cursor to remain
4982    hidden if the pointer leaves/enters the window via accelerator
4983    keys. Ordinary motion within the window restores the pointer
4984    (prompted by patch by Balazs Kezes).</li>
4985
4986    <li>remove special case of modifiers for the
4987    <code>Mode_switch</code> and <code>XK_ISO_Level3_Shift</code>
4988    from <a href="#xterm_223">patch #223</a>. Verified that the
4989    conflict which this was intended to resolve does not happen for
4990    normal compose- or modeswitch-handling (prompted by patch by
4991    Balazs Kezes, Debian #638694).</li>
4992
4993    <li>modify the handling of focus-change events to ignore those
4994    whose detail is <code>NotifyPointer</code>, since those are
4995    sent in addition to focus-change events directed to the old/new
4996    windows having focus. In particular, this prevents the
4997    urgency-hint from being reset inadvertently (prompted by patch
4998    by Balazs Kezes).</li>
4999
5000    <li>modify description of <code>iconName</code> in manpage to
5001    make it clearer that this resource does not specify the
5002    filename of an icon (discussion with Ian Collier).</li>
5003
5004    <li>modify <code>iconHint</code> resource to allow suppressing
5005    the built-in icon by setting this to "none" (discussion with
5006    Ian Collier).</li>
5007
5008    <li>make <code>-iconic</code> option work with the toolbar
5009    configuration.</li>
5010
5011    <li>correct initialization of window manager hints used to set
5012    the icon-pixmap. That detail from <a href="#xterm_282">patch
5013    #282</a> overwrote state used to control the
5014    <code>-iconic</code> command-line option (report by Ian
5015    Collier).</li>
5016
5017    <li>fix paste64 feature for the case where the selection comes
5018    from the current terminal. The selection callback can happen
5019    after the reply is partly built, making it necessary to flush
5020    the reply-buffer to keep things in the proper order (report by
5021    Ailin Nemui).</li>
5022
5023    <li>reject command-line options which are longer than the
5024    options in xterm's table, to avoid mismatches (Redhat
5025    #875305).</li>
5026
5027    <li>correct attribution for <a href="#xterm_282">patch #282</a>
5028    changes.</li>
5029  </ul>
5030
5031  <h1><a name="xterm_286" id="xterm_286">Patch #286 -
5032  2012/10/29</a></h1>
5033
5034  <ul>
5035    <li>fix <code>minstall.in</code> to work with "make docs" rule,
5036    so that patch number appears in the corresponding generated
5037    documentation.</li>
5038
5039    <li>modify <code>minstall.in</code> to keep the name shown in
5040    the heading consistent with any renaming, e.g., for
5041    test-builds.</li>
5042
5043    <li>check for misconfigured <code>printerCommand</code>
5044    resource on the first use, warn and disable it if it does not
5045    specify an executable command (Debian #691642).</li>
5046
5047    <li>improve check for window-manager name needed to establish
5048    usable default for activeIcon resource. This works around a
5049    scenario where <code>gdm</code> does incomplete cleanup,
5050    leaving window properties that refer to windows which no longer
5051    exist (Redhat #869959).</li>
5052  </ul>
5053
5054  <h1><a name="xterm_285" id="xterm_285">Patch #285 -
5055  2012/10/23</a></h1>
5056
5057  <ul>
5058    <li>add/adapt FreeBSD ports files for test-building.</li>
5059
5060    <li>modify <code>minstall.sh</code> to use the patch-number and
5061    date in the manpage footer.</li>
5062
5063    <li>add check for failure to allocate the fg/bg colors at
5064    startup, e.g., misconfiguration. Work around by setting both to
5065    the default colors (suggested by Scott Bertilson).</li>
5066
5067    <li>amend change for <a href="#xterm_280">patch #280</a> which
5068    added <code>modifyKeyboard</code>, to make
5069    <code>modifyOtherKeys</code> work (report by Ailin Nemui).</li>
5070
5071    <li>add <code>query-colors.pl</code> example for
5072    OSC&nbsp;4.</li>
5073
5074    <li>correct mis-applied fix for minstall.sh (report by Miroslav
5075    Lichvar).</li>
5076  </ul>
5077
5078  <h1><a name="xterm_284" id="xterm_284">Patch #284 -
5079  2012/10/14</a></h1>
5080
5081  <ul>
5082    <li>amend configurability changes for icons from <a href=
5083    "#xterm_283">patch #283</a>, moving the new functionality to
5084    the <code>iconHint</code> resource to avoid conflict with
5085    existing uses of the <code>iconName</code> resource in the
5086    <code>Shell</code> widget (report by Emanuel Haupt).</li>
5087
5088    <li>fix documentation errata reported by Miroslav Lichvar:
5089      <ul>
5090        <li>correct manpage default for <code>allowTcapOps</code>
5091        (see <a href="#xterm_243">patch #243</a></li>
5092
5093        <li>modify documentation for configure
5094        <code>--enable-backarrow-key</code> to match the script
5095        (see <a href="#xterm_280">patch #280</a>).</li>
5096
5097        <li>fix typo in <code>minstall.sh</code> in <a href=
5098        "#xterm_283">patch #283</a>, which made the leading-cap
5099        "Xterm" become "xterm" (patch by Miroslav).</li>
5100      </ul>
5101    </li>
5102
5103    <li>fix two typos in configure.in from <a href=
5104    "#xterm_283">patch #283</a> changes; one broke the
5105    <code>--regex</code> configure option (report by H Merijn
5106    Brand).</li>
5107  </ul>
5108
5109  <h1><a name="xterm_283" id="xterm_283">Patch #283 -
5110  2012/10/09</a></h1>
5111
5112  <ul>
5113    <li>modify makefile and script to generate appropriate renaming
5114    s/xterm/xterm-dev/ for test-package's manpage.</li>
5115
5116    <li>improve makefile rules for installing/uninstalling pixmap
5117    files, to include the newer mini- and filled- variants.</li>
5118
5119    <li>clarify change in manpage regarding <a href=
5120    "#xterm_282">patch #282</a> change to always set a
5121    window-decoration icon, even if <code>iconName</code> is not
5122    set.</li>
5123
5124    <li>add a fourth flavor of window-decoration icons,
5125    "filled-xterm" for a monochrome xterm with filled
5126    interior.</li>
5127
5128    <li>use shape-mask to improve contrast of the window-decoration
5129    icons.</li>
5130
5131    <li>minor changes to icon colors to improve contrast on
5132    bright-mud backgrounds.</li>
5133
5134    <li>drop configure checks for memmove versus bcopy, and
5135    strerror function; all currently tested platforms support
5136    these.</li>
5137
5138    <li>cleanup configure macros, as done in byacc 20121003.</li>
5139
5140    <li>improve configurability of the built-in icon selectable via
5141    the <code>iconName</code> resource.</li>
5142
5143    <li>update config.guess, config.sub</li>
5144  </ul>
5145
5146  <h1><a name="xterm_282" id="xterm_282">Patch #282 -
5147  2012/09/28</a></h1>
5148
5149  <ul>
5150    <li>improve configure check for
5151    <code>XkbKeycodeToKeysym</code>, fixing a regression on some
5152    older systems in the <a href="#xterm_280">patch #280</a>
5153    changes.</li>
5154
5155    <li>add clarification in manpage for
5156    <code>alwaysBoldMode</code> and <code>veryBoldColors</code>
5157    resources (prompted by Derek Martin question about using the
5158    former with TrueType fonts).</li>
5159
5160    <li>add <code>alternateScroll</code> resource and corresponding
5161    control sequences which modify the <code>scroll-forw</code> and
5162    <code>scroll-back</code> actions: when the alternate screen is
5163    displayed, wheel mouse up/down will send cursor keys (Debian
5164    #683942).</li>
5165
5166    <li>improve rendering for the case when a Unicode character is
5167    absent in the bold font but present in the normal font by
5168    temporarily falling back to the normal font (Debian #359006,
5169    Debian #408666).</li>
5170
5171    <li>provide configure option
5172    <code>--enable-double-buffer</code> and ifdef's to allow
5173    comparisons with/without double-buffering. The default uses
5174    normal buffering.</li>
5175
5176    <li>add feature to optionally scroll current page before
5177    clearing, controlled by resource setting
5178    <code>cdXtraScroll</code> (prompted by patch by Balazs
5179    Kezes):</li>
5180
5181    <li>integrated patches from Arch Linux forum posting (patches
5182    by Balazs Kezes):
5183      <ul>
5184        <li>modify reallocation limit of line-data when resizing
5185        screen so that "lost" text will be restored if the screen
5186        is first shrunk and then grown.</li>
5187
5188        <li>modify output to use double-buffering to reduce
5189        flicker.</li>
5190      </ul>
5191    </li>
5192
5193    <li>modify <code>scroll-lock</code> action to handle
5194    on/off/toggle keywords like other actions. Previously the
5195    optional parameter was interpreted as an integer.</li>
5196
5197    <li>extend <code>DECSCUSR</code> to provide a way to set the
5198    cursor to a vertical bar (patch by Paul Bolle).</li>
5199
5200    <li>add <code>-8</code>, <code>-c</code>, <code>-d</code> and
5201    <code>-u</code> options to <code>88colors2.pl</code> and
5202    <code>256colors2.pl</code> scripts. No current terminal
5203    emulator recognizes C1 controls while handling UTF-8
5204    encoding&mdash;see notes in <a href="#xterm_119">patch #119</a>
5205    and <a href="#xterm_109">patch #109</a> regarding
5206    <code>utf8controls</code>&mdash;but the <code>-u</code> and
5207    <code>-8</code> options are useful for demonstrating this
5208    point.</li>
5209
5210    <li>improve speed when changing color palettes using OSC
5211    controls by deferring repaint while followup controls might be
5212    additional color palette changes.</li>
5213
5214    <li>modify <code>SGR&nbsp;38</code> and
5215    <code>SGR&nbsp;48</code> to accept RGB index, matching the
5216    closest entry in xterm's palette.</li>
5217
5218    <li>extend <code>SGR&nbsp;38</code> and
5219    <code>SGR&nbsp;48</code> to accept colon as parameter separator
5220    (request by Paul LeoNerd Evans).</li>
5221
5222    <li>modify <code>fullscreen</code> action to allow it to toggle
5223    the full-screen mode rather than only set or unset it (prompted
5224    by Eeri Kask's suggestion to support
5225    <code>_NET_WM_TOGGLE</code>). This implementation does not yet
5226    use <code>_NET_WM_TOGGLE</code>.</li>
5227
5228    <li>add support for <code>_NET_WM_STATE_MAXIMIZED_VERT</code>
5229    and <code>_NET_WM_STATE_MAXIMIZED_HORZ</code> EWMH properties
5230    (suggested by Eeri Kask).</li>
5231
5232    <li>make fullscreen mode work with the tek4014 window. This
5233    change makes only the currently active window to be changed to
5234    fullscreen rather than changing both windows.</li>
5235
5236    <li>modify <code>TekClear</code> function to discard pending
5237    output before clearing the tek4014 display (patch by Kevin
5238    Ryde).</li>
5239
5240    <li>fix <code>deleteIsDEL</code> feature, broken in <a href=
5241    "#xterm_280">patch #280</a> changes (report by Mike Thornburg,
5242    forwarded by Jeremy Huddleston).</li>
5243
5244    <li>fix a special case of wrapping double-width characters
5245    (report/test-case by Ken Winstein).</li>
5246
5247    <li>add <code>E3</code> extended capability to
5248    <code>xterm-basic</code> to match ncurses <a href=
5249    "https://invisible-island.net/ncurses/NEWS.html#t20120728">20120728</a>
5250    patch.</li>
5251
5252    <li>fix incorrect transformation of row-parameter for
5253    <code>ClearCurBackground</code> in <a href="#xterm_279">patch
5254    #279</a> which caused incorrect painting in some scrolling
5255    scenarios (report by Chuck Silvers).</li>
5256
5257    <li>fix typo in manpage description of <code>+maximized</code>
5258    option (Paul Maier).</li>
5259
5260    <li>change default for configure option
5261    <code>--with-xpm</code>, turning it on unless requested
5262    otherwise.</li>
5263
5264    <li>add configure option <code>--with-icon-name</code> which
5265    can be used to override the default icon used in
5266    icon-themes.</li>
5267
5268    <li>extend <code>activeIcon</code> resource to provide
5269    <code>default</code> value which tells xterm to determine the
5270    window manager's name and automatically enable the feature for
5271    fvwm and window maker. The explicit true/false values can be
5272    used to override this behavior.</li>
5273
5274    <li>add "mini" xterm icon, which scales better than the
5275    standard xterm icon, e.g., for the gnome/kde "panel"
5276    feature.</li>
5277
5278    <li>extend <code>iconName</code> resource to search for icon
5279    named according to resource value and use that if found. If not
5280    found, use compiled-in pixmap. Both set the WM_ICON_NAME
5281    property which is used by various window managers, usually for
5282    window decoration.</li>
5283
5284    <li>updated autoconf patch, adding support for --datarootdir,
5285    which changes the default location of manpages.</li>
5286
5287    <li>further improved autoconf macros for configuring icons,
5288    from vile 9.8h</li>
5289  </ul>
5290
5291  <h1><a name="xterm_281" id="xterm_281">Patch #281 -
5292  2012/06/26</a></h1>
5293
5294  <ul>
5295    <li>remove "$(srcdir)/" from install-icon rule to fix builds
5296    when --srcdir configuration option is used.</li>
5297
5298    <li>fix for configure script's search for icon file when it is
5299    not found in the current directory, e.g., when building out of
5300    tree (patch by Thierry Reding).</li>
5301
5302    <li>undo the XK_Home / XK_End change from <a href=
5303    "#xterm_280">patch #280</a> which broke the non-VT220 keyboard
5304    for those keys (report by H Merijn Brand).</li>
5305  </ul>
5306
5307  <h1><a name="xterm_280" id="xterm_280">Patch #280 -
5308  2012/06/24</a></h1>
5309
5310  <ul>
5311    <li>add configure check to work around warning from
5312    desktop-file-install for "Encoding", noting that it emits
5313    deprecation warnings without providing its version
5314    information.</li>
5315
5316    <li>add configure option <code>--with-icon-theme</code> to tell
5317    xterm whether to install into an icon theme, defaulting to
5318    "hicolor" (Redhat #755206, Redhat #799614 and Redhat
5319    #804279).</li>
5320
5321    <li>change <code>--with-icondir</code> to look for "icons"
5322    directory rather than "pixmaps" by default. Add new option
5323    <code>--with-pixmapdir</code> to allow these two uses to be
5324    installed concurrently.</li>
5325
5326    <li>modify configure options <code>--with-app-defaults</code>
5327    and <code>--with-icondir</code> to accept "auto" as value to
5328    look for existing directory from well-known locations.</li>
5329
5330    <li>add missing codes for secondary DA response which tell the
5331    type of terminal as in the primary DA response.</li>
5332
5333    <li>update primary DA response for VT420 to include user
5334    windows and horizontal scrolling.</li>
5335
5336    <li>add <code>modifyKeyboard</code> resource to support
5337    keypad-modifier changes per request by Thomas Wolff.</li>
5338
5339    <li>add XK_Home / XK_End to editing-keypad checks</li>
5340
5341    <li>add back-tab key <code>kB</code> to termcap entries to
5342    match the terminfo.</li>
5343
5344    <li>update terminfo to match corresponding entries in ncurses,
5345    e.g., add <code>XT</code> and adjust <code>sgr</code> string
5346    for xterm-bold entry.</li>
5347
5348    <li>add configure options to predefine the most commonly
5349    customized resources for terminal-settings, use those to
5350    substitute into the manpage the corresponding compiled-in
5351    values: <code>altSendsEscape</code>, <code>backarrowKey</code>,
5352    <code>backarrowKeyIsErase</code>, <code>deleteIsDEL</code>,
5353    <code>metaSendsEscape</code> (Redhat #819588).</li>
5354
5355    <li>change default emulation level to VT420 (discussion with
5356    Ailin Nemui).</li>
5357
5358    <li>improve logic for DECSCL; <a href="#xterm_279">patch
5359    279</a> partly enforced limitation of this to higher-level
5360    emulations. This patch finishes that change.</li>
5361
5362    <li>improve check for base of combining characters, preventing
5363    combination when cursor movement has intervened. Mosh's webpage
5364    gives two different examples of this, with other causes
5365    ascribed to the behavior.</li>
5366
5367    <li>modify IL/DL to set cursor to first column on row for
5368    better VT102/VT220 compatibility (prompted by code review of
5369    mosh).</li>
5370
5371    <li>separate state-table entries for DECSC/DECRC from the
5372    ANSI.SYS save/restore cursor, since the latter conflicts with
5373    DECSLRM when DECLRMM is enabled since <a href=
5374    "#xterm_279">patch #279</a> (report/analysis by Ailin
5375    Nemui).</li>
5376
5377    <li>fixes to avoid using <code>SIGCHLD</code> handler of main
5378    program in printer's subprocess (report by Joe Julian).</li>
5379
5380    <li>correct restore-parameter for mouse-modes from <a href=
5381    "#xterm_279">patch #279</a> changes.</li>
5382
5383    <li>add null-pointer checks to input-method caching added in
5384    <a href="#xterm_277">patch #277</a> to fix a problem in the
5385    exposure code, when deselecting a window (report by Kriston
5386    Rehberg).</li>
5387
5388    <li>unset <code>DESKTOP_STARTUP_ID</code> environment variable
5389    to lessen confusion on the part of GTK applications which use
5390    the variable without checking it (report by John Little).</li>
5391  </ul>
5392
5393  <h1><a name="xterm_279" id="xterm_279">Patch #279 -
5394  2012/05/10</a></h1>
5395
5396  <ul>
5397    <li>fill in missing cases in the save/restore modes feature
5398    (report by Thomas Wolff).</li>
5399
5400    <li>add check to ensure that combining characters are
5401    precomposed in the order given (report/analysis by Andries E
5402    Brouwer).</li>
5403
5404    <li>improve workability check for posix_openpt(), to take into
5405    account BSD systems which do not complete initialization until
5406    both sides of the pseudoterminal are opened (report by
5407    Christian Weisgerber).</li>
5408
5409    <li>amend fix for Debian #650291 in <a href="#xterm_277">patch
5410    #277</a> changes to account for different data returned by
5411    vnc4server (Debian #670638).</li>
5412
5413    <li>add check in DECCRA operation to make copies of blinking
5414    text also blink by updating a line-level flag.</li>
5415
5416    <li>modify rectangle operations to work with DECOM.</li>
5417
5418    <li>modify DECSERA to use the current protected state rather
5419    than preserving it.</li>
5420
5421    <li>add <code>precompose</code> resource to allow storing
5422    character data in Normalized Form D as described in <a href=
5423    "http://unicode.org/reports/tr15/">http://unicode.org/reports/tr15/</a>
5424    (report/discussion with Andries E Brouwer).</li>
5425
5426    <li>modify CBT, other ISO-6429 controls which are used by VT520
5427    to work with DECOM.</li>
5428
5429    <li>add HPR and VPR controls, ISO 6429 cursor movement used in
5430    VT520.</li>
5431
5432    <li>remove "linux" restriction for IUTF8 ifdef in main.c
5433    (prompted by Matthew Dempsky posting on
5434    mailing.openbsd.tech).</li>
5435
5436    <li>implement the remaining VT420-level device status
5437    reports.</li>
5438
5439    <li>change DECXCPR to return page 1, rather than 0.</li>
5440
5441    <li>improve VT-level checks on reporting functions, such as
5442    DECXCPR.</li>
5443
5444    <li>change limit on <code>decTerminalID</code> to 525.</li>
5445
5446    <li>fixes to improve vttest vt52 screen when running as a
5447    VT420:
5448      <ul>
5449        <li>add checks for some VT2xx and up controls for
5450        consistency: DECSCL, S1C8T, S1C7T.</li>
5451
5452        <li>modify DECRQSS return for DECSCL to only return that
5453        when running as VT2xx and up.</li>
5454
5455        <li>when exiting from VT52-mode, resume in VT100 level
5456        rather than the level before starting VT52-mode.</li>
5457      </ul>
5458    </li>
5459
5460    <li>implement DECLRMM, DECSLRMM and DECNCSM (prompted by
5461    discussions with Ailin Nemui and Paul LeoNerd Evans). This
5462    modifies several controls to obey top/bottom and left/right
5463    margins.</li>
5464
5465    <li>correct macro definition used for testing modes used in
5466    ANSI/DEC request-mode controls introduced in <a href=
5467    "#xterm_262">patch #262</a>.</li>
5468
5469    <li>modify <code>x_getlogin</code> to check $LOGNAME and $USER
5470    before fallback to <code>getlogin</code>, so that user's choice
5471    for these variables can be carried forward to the xterm process
5472    (Debian #611487).</li>
5473
5474    <li>document DECSCUSR response for DECRQSS in ctlseqs.ms</li>
5475
5476    <li>add <code>zIconTitleFormat</code> resource to allow
5477    customizing the "***&nbsp;" prefixed to the icon title when the
5478    <code>zIconBeep</code> feature is activated (request by Thomas
5479    Adam).</li>
5480
5481    <li>modify DECSCUSR to update the same internal variable as
5482    RM/SM 12, and document in manpage the two variables used for
5483    controlling blinking cursor (report by Paul LeoNerd
5484    Evans).</li>
5485
5486    <li>correct response data for DECSCUSR in reply for DECRQSS
5487    response, which had inverted the blink-value (reports by Ailin
5488    Nemui, Paul LeoNerd Evans).</li>
5489
5490    <li>add a null-pointer check in <code>OkPasswd</code> macro to
5491    fix a problem in <code>resize</code> with Fedora 17 and a
5492    serial console (report/patch by Daniel Drake).</li>
5493
5494    <li>add workaround for Mac OS X, which loses the window size of
5495    a pseudo-terminal when the tty device is opened
5496    (report/analysis by Egmont Koblinger).</li>
5497
5498    <li>updated configure check for workable
5499    <code>posix_openpt</code> versus <code>grantpt</code>, from
5500    <code>luit</code> fixes.</li>
5501
5502    <li>modify DECIC/DECDC/DECBI/DECFI implemented in <a href=
5503    "#xterm_277">patch #277</a> to enable them only in VT4xx mode
5504    and up (report by Ailin Nemui).</li>
5505
5506    <li>update config.guess, config.sub</li>
5507  </ul>
5508
5509  <h1><a name="xterm_278" id="xterm_278">Patch #278 -
5510  2012/01/18</a></h1>
5511
5512  <ul>
5513    <li>correct initialization for <code>eightBitMeta</code>
5514    resource (FreeBSD #164101).</li>
5515
5516    <li>make special check for Darwin 9 (and lower) to <em>not</em>
5517    use <code>posix_openpt</code> (report by Christian Ebert).</li>
5518
5519    <li>minor fixes (adding ".ne" directives) to reduce the cases
5520    where groff's utility for generating images for tables dumps
5521    core. Most versions of groff (I've found 1.19.2 to be the most
5522    stable) dump core when attempting to report that there are too
5523    few lines on a page for a table to be shown.</li>
5524  </ul>
5525
5526  <h1><a name="xterm_277" id="xterm_277">Patch #277 -
5527  2012/01/07</a></h1>
5528
5529  <ul>
5530    <li>remove special case for ISC pseudo-terminals which attempts
5531    to open the pty in two different ways.</li>
5532
5533    <li>move call to <code>grantpt</code> before asking utempter to
5534    add a record, to work with kFreeBSD which does not update the
5535    terminal's ownership until this point (Debian #652907).</li>
5536
5537    <li>document limitation of XIM interface in manpage (Debian
5538    #230787).</li>
5539
5540    <li>cleanup error reporting with new xtermWarning
5541    function.</li>
5542
5543    <li>add configure option <code>--disable-selection-ops</code>
5544    to make the new actions optional.</li>
5545
5546    <li>add four new actions for making the selection or data
5547    directly copied from the screen (prompted by discussion in
5548    Debian #637001, as well as report by Arjen van Tol):
5549      <ul>
5550        <li>exec-formatted</li>
5551
5552        <li>exec-selectable</li>
5553
5554        <li>insert-formatted</li>
5555
5556        <li>insert-selectable</li>
5557      </ul>
5558    </li>
5559
5560    <li>add <code>visualBellLine</code> resource to allow
5561    <code>visualBell</code> to flash only the current line
5562    (prompted by patch by Gertjan Halkes).</li>
5563
5564    <li>add <code>eightBitMeta</code> resource to control the
5565    features which modify or interpret the eighth bit of a key when
5566    the meta modifier key is pressed (prompted by Debian
5567    #326200).</li>
5568
5569    <li>improve discussion of <code>eightBitInput</code> in the
5570    manpage (prompted by Debian #326200).</li>
5571
5572    <li>correct logic for <code>alt-sends-escape</code> action,
5573    overlooked when implementing <code>altSendsEscape</code>
5574    resource, which still used <code>eightBitInput</code> resource
5575    value.</li>
5576
5577    <li>add a workaround for <code>XAllocColor()</code>, which does
5578    not actually allocate "a read-only colormap entry corresponding
5579    to the closest RGB value supported by the hardware", but rather
5580    a rough approximation (Debian #650291).</li>
5581
5582    <li>undo parameter checks for <code>RequestResize()</code>
5583    added in <a href="#xterm_251">patch #251</a> and amended in
5584    <a href="#xterm_270">patch #270</a>, because zeros also are
5585    special cases (report by John S Urban).</li>
5586
5587    <li>modify some test-scripts to use <code>/bin/echo</code>
5588    rather than the shell's possibly-builtin <code>echo</code>, to
5589    work around broken configuration on Mac OS X, i.e., neither
5590    honoring the option nor flagging an error.</li>
5591
5592    <li>add SGR 1006, as a better technical solution than SGR 1015:
5593      <ul>
5594        <li>the responses will not be confused with line-deletion
5595        and scrolling controls.</li>
5596
5597        <li>the button encoding is a little simpler, since it does
5598        not add an unnecessary 32 because the integer parameter
5599        does not have to be represented as a printable
5600        character.</li>
5601
5602        <li>the control responses for pressing and releasing a
5603        mouse button differ, allowing an application to tell which
5604        button was released.</li>
5605      </ul>
5606
5607      <p>Besides these improvements, in discussion, it was noted
5608      that urxvt's implementation of 1005 is incorrect, relying
5609      upon a locale that provides UTF-8 encoding. In contrast,
5610      vttest demonstrates a correct decoding, independent of
5611      locale.</p>
5612    </li>
5613
5614    <li>add support for urxvt SGR 1015 to address shortcoming of
5615    SGR 1005 with luit (patch by Egmont Koblinger).</li>
5616
5617    <li>add ISO and DEC controls useful for left/right
5618    scrolling.</li>
5619
5620    <li>add some changes for OpenBSD and MirBSD (adapted from patch
5621    by Thorsten Glaser):
5622      <ul>
5623        <li>disable search for non-Unix96 ptys.</li>
5624
5625        <li>fix a gcc warning in
5626        <code>timestamp_filename</code></li>
5627
5628        <li>modify <code>Imakefile</code> to install xterm setgid
5629        to utmp.</li>
5630      </ul>
5631    </li>
5632
5633    <li>add/use/prefer <code>posix_openpt()</code> for opening
5634    pseudo-terminal.</li>
5635
5636    <li>modify special errno handling case in ptydata.c from
5637    <a href="#xterm_158">patch #158</a> to allow for the
5638    possibility that any platform may have special cases where
5639    "/dev/tty" is absent. For example, this can happen in a FreeBSD
5640    jail (patch by David Wolfskill).</li>
5641
5642    <li>add keyboard logic to map shift-tab into XK_ISO_Left_Tab,
5643    which is usually, not always, done by the X keyboard
5644    configuration.</li>
5645
5646    <li>portability fixes for some configure macros:
5647    <code>CF_XOPEN_SOURCE</code></li>
5648  </ul>
5649
5650  <h1><a name="xterm_276" id="xterm_276">Patch #276 -
5651  2011/10/10</a></h1>
5652
5653  <ul>
5654    <li>modify clipping limits for TrueType fonts to account for
5655    the <code>scaleHeight</code> resource setting, to work around
5656    another problem due to recent FreeType changes. In this case,
5657    the <code>DejaVu Sans Mono</code> set to pixelsize=13.5 is
5658    truncated because the font descent is reduced by FreeType to
5659    match an incorrect height metric (report by Adam Lee).</li>
5660
5661    <li>improve recovery when bitmap fonts are not installed, e.g.,
5662    so that switching font-sizes works for TrueType fonts.</li>
5663
5664    <li>modify lookup for <code>XTERM_SHELL</code> feature to allow
5665    relative pathnames.</li>
5666
5667    <li>modify abbreviation disambiguation check for command-line
5668    parameters to account for <code>-geometry</code>, whose
5669    parameter may begin with "+" or "-" (report by Scott
5670    Bertilson).</li>
5671  </ul>
5672
5673  <h1><a name="xterm_275" id="xterm_275">Patch #275 -
5674  2011/09/11</a></h1>
5675
5676  <ul>
5677    <li>add <code>ash</code>, <code>zsh</code> to known shells for
5678    <code>resize</code>.</li>
5679
5680    <li>modify <code>resize</code> to reuse the logic from
5681    <code>xterm</code> which determines the actual logon-user's
5682    shell if <code>$SHELL</code> is not set.</li>
5683
5684    <li>revert the <code>unsetenv("SHELL")</code> added in <a href=
5685    "#xterm_272">patch #272</a>.</li>
5686
5687    <li>an <code>unsetenv("SHELL")</code> added in <a href=
5688    "#xterm_272">patch #272</a> to help ensure that
5689    <code>luit</code> would get the user's shell consistently did
5690    not work as expected for cases where multiple names are in the
5691    password-file for a given uid. That was because changes in
5692    <a href="#xterm_157">patch #157</a> to handle this situation
5693    did not take into account that repeated calls to
5694    <code>getpwnam</code> and <code>getpwuid</code> return a
5695    pointer to the same static buffer. Fixed the older logic to
5696    work as intended, by ensuring that the passwd-data from each
5697    call is stored separately (report by Paul Keusemann).</li>
5698
5699    <li>adjust ifdef's for <code>putenv</code> and
5700    <code>unsetenv</code> in case only one of those is provided on
5701    a given platform.</li>
5702
5703    <li>correct comparison used in <code>ExposeContains</code>
5704    macro from <a href="#xterm_274">patch #274</a> changes, to
5705    handle window-dragging (patch by Todd Eigenschink).</li>
5706  </ul>
5707
5708  <h1><a name="xterm_274" id="xterm_274">Patch #274 -
5709  2011/09/05</a></h1>
5710
5711  <ul>
5712    <li>portability fixes for cygwin: do not define
5713    <code>SVR4</code>, and work around nonstandard header
5714    location.</li>
5715
5716    <li>ifdef'd use of <code>unsetenv</code> from <a href=
5717    "#xterm_273">patch #273</a> changes to work with Solaris 9
5718    (report by Waldemar Rachwal).</li>
5719
5720    <li>modify logic for <code>XtAppPending</code> to merge
5721    adjacent <code>Expose</code> and <code>ConfigureNotify</code>
5722    events which are redundant (report by Edward McGuire).</li>
5723
5724    <li>fix an unneeded warning message when <code>-r</code> option
5725    is given.</li>
5726
5727    <li>remove a few redundant entries from table used for helping
5728    abbreviation-checking of command-line options, makes
5729    <code>-geom</code> work again after <a href="#xterm_272">patch
5730    #272</a> changes as an abbreviation of
5731    <code>-geometry</code>.</li>
5732
5733    <li>add <code>scaleHeight</code> resource and command-line
5734    option <code>-sh</code> as workaround for some
5735    font-configurations broken by changes in FreeType 2.4.6 (report
5736    by Miroslav Hodak).</li>
5737
5738    <li>portability fixes for some configure macros:
5739    <code>CF_FUNC_TGETENT</code>, <code>CF_XOPEN_SOURCE</code>,
5740    <code>CF_X_ATHENA_LIBS</code>.</li>
5741
5742    <li>add configure option <code>--with-freetype-config</code> to
5743    improve selection over the plethora of configuration options
5744    which freetype has so far provided.</li>
5745
5746    <li>build-fix for configure <code>--enable-load-vt-fonts</code>
5747    when <code>--enable-widec</code> is not specified.</li>
5748
5749    <li>build-fixes for suppressing various features, needed after
5750    changes in patches 270, 271 and 272 (report by Brian
5751    Lindholm)</li>
5752  </ul>
5753
5754  <h1><a name="xterm_273" id="xterm_273">Patch #273 -
5755  2011/08/25</a></h1>
5756
5757  <ul>
5758    <li>build-fix for out-of-tree "make docs" rule.</li>
5759
5760    <li>correct a typo in <code>x_strdup</code>, from <a href=
5761    "#xterm_198">patch #198</a> changes.</li>
5762
5763    <li>correct initialization for <code>-e</code> option, broken
5764    in <a href="#xterm_272">patch #272</a> changes (report by
5765    Gabriele Balducci).</li>
5766
5767    <li>build-fix for out-of-tree builds to address
5768    <code>minstall</code> script changes in <a href=
5769    "#xterm_272">patch #272</a> (patch by Thierry Reding).</li>
5770  </ul>
5771
5772  <h1><a name="xterm_272" id="xterm_272">Patch #272 -
5773  2011/08/24</a></h1>
5774
5775  <ul>
5776    <li>document limitation of <code>Gtk</code> in connection with
5777    xterm's <code>-into</code> option, in the manpage (Ubuntu
5778    #806969).</li>
5779
5780    <li>improve <code>-into</code> by checking for and using the
5781    size of the window within which xterm is embedded, overriding
5782    other clues.</li>
5783
5784    <li>modify logic for <code>localeFilter</code> resource to
5785    allow that to include command-line options of luit.</li>
5786
5787    <li>improve <code>-into</code> by checking for invalid
5788    window-id, and allowing hexadecimal/decimal/octal values.</li>
5789
5790    <li>improve <code>keepSelection</code>, adding the case where
5791    the highlighting is cleared, overlooked in <a href=
5792    "#xterm_230">patch #230</a> (patch by Marco Peereboom).</li>
5793
5794    <li>improve command-line parsing to make abbreviate options
5795    work consistently across xterm-specific versus standard X
5796    toolkit options, and report cases where an abbreviated option
5797    happens to be ambiguous. In particular, <code>-d</code> now
5798    works as an abbreviation for <code>-display</code>.</li>
5799
5800    <li>fix regression in command-line parsing introduced in
5801    <a href="#xterm_271">patch #271</a> changes for Debian #629358,
5802    (Debian #637910).</li>
5803
5804    <li>split-out new termcap/terminfo building block
5805    <code>xterm+kbs</code> for configurability.</li>
5806
5807    <li>modify <code>terminfo</code> file to reflect changes in
5808    ncurses for <code>xterm-16color</code> and
5809    <code>xterm-256color</code>.</li>
5810
5811    <li>modify <code>minstall.sh</code>, etc., to reflect the
5812    default default class, <code>$TERM</code> and
5813    <code>decTerminalID</code> values.</li>
5814
5815    <li>reword <code>resize</code> manpage to reflect the fact that
5816    <code>$TERMCAP</code> is not set on all systems (patch by Alan
5817    Coopersmith).</li>
5818
5819    <li>work around combined Xaw6/Xaw7 package in DragonFlyBSD
5820    which omits the usual symbolic link to the preferred library
5821    name.</li>
5822
5823    <li>further improve build-fix for termcap systems by checking
5824    for some which are only partial implementations, e.g., termcap
5825    2.08 in CentOS 5.2</li>
5826  </ul>
5827
5828  <h1><a name="xterm_271" id="xterm_271">Patch #271 -
5829  2011/07/14</a></h1>
5830
5831  <ul>
5832    <li>omit permissions adjustments to pty on exit except for
5833    pre-Unix98 ptys, since modern implementations handle this
5834    (report by Sean C Farley).</li>
5835
5836    <li>modify logic for switching fonts between UTF-8 and
5837    non-UTF-8 encoding to not merge the derivable bold-, wide- and
5838    widebold values from the VT100 fonts. Also suppress warning
5839    when not using UTF-8 fonts if wide- and widebold-fonts cannot
5840    be derived or otherwise loaded (report by Werner
5841    Scheinast).</li>
5842
5843    <li>modify menu-creation to suppress entries which will never
5844    be used in the current configuration, rather than simply
5845    disabling them.</li>
5846
5847    <li>add resource <code>printModeImmediate</code> and menu item
5848    to allow print of screen plus saved lines to a file.</li>
5849
5850    <li>add menu item to allow runtime enable/disable of the
5851    <code>printFileOnXError</code> feature.</li>
5852
5853    <li>append a timestamp to filename used in
5854    <code>printFileOnXError</code> feature, and restrict its
5855    permissions (request by Vincent Lef&egrave;vre).</li>
5856
5857    <li>add a check when cancelling cursor-blinking, in case the
5858    cursor is blinked off. Fix so that the cursor is repainted
5859    without waiting for other events, e.g., keypress (report by
5860    Ailin Nemui).</li>
5861
5862    <li>add configure <code>--with-app-class</code> option, to
5863    simplify building "xterm-dev" packages with filenames that do
5864    not conflict with conventional "xterm" packages.</li>
5865
5866    <li>corrected logic flow for DECSCL, which prevented the
5867    updated operating level from being reported via DECRQSS (report
5868    by Ailin Nemui).</li>
5869
5870    <li>corrected default for <code>brokenStringTerm</code>
5871    resource to match manpage.</li>
5872
5873    <li>add vttests/dynamic.pl</li>
5874
5875    <li>add runtime check for locale not supported by X libraries,
5876    and fallback to XA_STRING in this case (request by Bryan
5877    Henderson).</li>
5878
5879    <li>fix a special case in configure script after no FreeType
5880    libraries are found. The script was proceeding to check for a
5881    usable configuration.</li>
5882
5883    <li>add <code>xterm+tmux</code> building block to terminfo
5884    (adapted from changes proposed by Ailin Nemui and Nicholas
5885    Marriott).</li>
5886
5887    <li>improve discussion of <code>faceName</code> resource in
5888    manpage (adapted from suggestions by Jens Schweikhardt).</li>
5889
5890    <li>correct mapping of shifted up/down cursor-keys in termcap
5891    function-keys mode, i.e., resource
5892    <code>tcapFunctionKeys</code> (patch by Gertjan Halkes).</li>
5893
5894    <li>update AIX case in <code>CF_XOPEN_SOURCE</code> configure
5895    macro to add release 7.x.</li>
5896
5897    <li>modify ifdef's in <code>xterm_io.h</code> for
5898    <code>__hpux</code> to force that to use the hacked SYSV
5899    support in that file. This fixes a problem with a non-blocking
5900    socket call (patch by Paul Lampert).</li>
5901
5902    <li>improve filtering of desktop category scanning, to exclude
5903    XFCE.</li>
5904
5905    <li>modify configure script to work with systems that have both
5906    ncurses (or other terminfo) as well as a real termcap library,
5907    e.g., Slackware (report by Andrew Watts).</li>
5908
5909    <li>modify configure script to work around special case where
5910    user's environment adds compiler flags to the <code>CC</code>
5911    variable (prompted by report by Paul Lampert).</li>
5912
5913    <li>amend change for Debian #110226 so that "-h" or "-v"
5914    options cause an exit, rather than simply printing to stdout
5915    while the window is displayed (Debian #629358).</li>
5916
5917    <li>add response for <code>DECRQSS</code> which gives the
5918    setting for <code>DECSCUSR</code>.</li>
5919
5920    <li>modify AllocateTermColor() to handle
5921    <code>XtDefaultForeground</code> and
5922    <code>XtDefaultBackground</code>, which are not recognized by
5923    <code>XParseColor</code>. For example, this fixes the use of
5924    OSC&nbsp;112 when no explicit cursor color was set (report by
5925    Ailin Nemui).</li>
5926
5927    <li>handle special-case of <code>KeyPress</code> translated to
5928    <code>popup-menu</code> action (Ubuntu #756273).</li>
5929  </ul>
5930
5931  <h1><a name="xterm_270" id="xterm_270">Patch #270 -
5932  2011/04/26</a></h1>
5933
5934  <ul>
5935    <li>build-fix, e.g., for using <code>imake</code> on platforms
5936    which use the termcap library.</li>
5937
5938    <li>modify <code>utf8</code> resource to accept a name.</li>
5939
5940    <li>mention default for <code>fontWarnings</code> in manpage
5941    (report by Werner Scheinast).</li>
5942
5943    <li>split "UTF-8" menu entry into "UTF-8 Encoding" and "UTF-8
5944    Fonts" (prompted by discussion with Werner Scheinast).</li>
5945
5946    <li>gray-out font-menu entries when a font fails to load, e.g.,
5947    a bitmap font is not installed.</li>
5948
5949    <li>improve behavior when there is no app-defaults file:
5950      <ul>
5951        <li>set the <code>toolBar</code> resource to false</li>
5952
5953        <li>gray-out the font menu entries where no resource is
5954        found.</li>
5955      </ul>
5956    </li>
5957
5958    <li>add configure option <code>--with-desktop-category</code>
5959    to allow customization of the ".desktop" files.</li>
5960
5961    <li>build-fix for the <code>install-desktop</code>
5962    makefile-rule, when the source/build directories differ (patch
5963    by Lo&iuml;c Minier).</li>
5964
5965    <li>add menu entry and corresponding resource which can be used
5966    to suppress all bold-fonts (discussion with Jan
5967    Engelhardt).</li>
5968
5969    <li>make internal line-size value consistent with allocated
5970    sizes of character and related arrays to ensure that bulk
5971    copying of line data, e.g., in scrolling, accounts for the
5972    padding used for pointer alignment (adapted from patch by
5973    Rajesh Mandalemula, also reported by Ali Bahar).</li>
5974
5975    <li>widen ifdef for screen-resizing logic from <a href=
5976    "#xterm_176">patch #176</a> changes to send
5977    <code>SIGWINCH</code> to process group to include any system
5978    supporting <code>ioctl(*,TIOCGPGRP,*)</code> (prompted by
5979    linux-specific patch in OpenSUSE rpm package).</li>
5980
5981    <li>add <code>printModeOnXError</code> and
5982    <code>printFileOnXError</code> resources, which allow the user
5983    to specify that xterm will write the contents of its screen to
5984    a file if it is exiting due to an X error (Debian
5985    #280457).</li>
5986
5987    <li>restore logic that made reverse-video apply to the
5988    scrollbar's foreground/background, broken in <a href=
5989    "#xterm_158">patch #158</a> (report by Bryan Ischo).</li>
5990
5991    <li>amend some of the window operations parameter-checks added
5992    in <a href="#xterm_251">patch #251</a> for the push/pop title
5993    feature, to allow the parameters used for window resizing to be
5994    -1's, which makes the corresponding values ignored rather than
5995    using the window's maximum width/height (report by Noah
5996    Friedman).</li>
5997
5998    <li>correct order of initialization for
5999    <code>translations</code> vs <code>fullscreen</code> resources
6000    to enable a special case which omits the Alt-Enter translation
6001    when <code>fullscreen</code> is disabled (Debian #612978).</li>
6002
6003    <li>update config.guess, config.sub</li>
6004  </ul>
6005
6006  <h1><a name="xterm_269" id="xterm_269">Patch #269 -
6007  2011/02/19</a></h1>
6008
6009  <ul>
6010    <li>build-fixes for <code>imake</code> (report by Heiko
6011    Berges).</li>
6012
6013    <li>modify autoconf macro CF_PKG_CONFIG to work with
6014    cross-compile environments (patch by Thierry Reding).</li>
6015
6016    <li>modify <code>MapToColorMode()</code> to favor bold over
6017    underline, matching the precedence used before <a href=
6018    "#xterm_252">patch #252</a> (report/analysis by Nicolas
6019    George).</li>
6020
6021    <li>add <code>omitTranslation</code> resource, which can be
6022    used to suppress the default translations for these features:
6023      <ul>
6024        <li>fullscreen</li>
6025
6026        <li>scroll-lock</li>
6027
6028        <li>shift-fonts</li>
6029
6030        <li>wheel-mouse</li>
6031      </ul>
6032    </li>
6033
6034    <li>make the fullscreen feature configurable (Debian #612978)
6035      <ul>
6036        <li>add it to the configurable list
6037        <code>disallowedWindowOps</code>.</li>
6038
6039        <li>add command-line option <code>-fullscreen</code> to
6040        allow the feature to be enabled at startup.</li>
6041
6042        <li>add resource <code>fullscreen</code> to control whether
6043        the feature is active or may be enabled.</li>
6044      </ul>
6045    </li>
6046
6047    <li>modify <code>probe_netwm_fullscreen_capability</code> for
6048    64-bit machines. Contrary to <code>XGetWindowProperty</code>
6049    manpage, that function returns 32-bit data packed as
6050    <code>long</code>'s.</li>
6051
6052    <li>eliminate copy of <code>name</code> resource, which was
6053    otherwise used only to give the terminal-description name for
6054    the tcap-query feature. Use the actual <code>$TERM</code> value
6055    instead, as derived from <code>termName</code> resource,
6056    etc.</li>
6057
6058    <li>eliminate an old inconsistency with error messages, some
6059    used the <code>-name</code> option, while others used
6060    <code>argv[0]</code>. The latter is now used consistently.</li>
6061
6062    <li>improve configure check for rpath-hack, to improve builds
6063    on systems where gcc will not search /usr/local/lib, etc.</li>
6064
6065    <li>build-fix for Xaw3d configuration (report by H Merijn
6066    Brand).</li>
6067
6068    <li>update config.guess, config.sub</li>
6069  </ul>
6070
6071  <h1><a name="xterm_268" id="xterm_268">Patch #268 -
6072  2011/02/10</a></h1>
6073
6074  <ul>
6075    <li>fix an inconsistency of the "Enable Reverse Video" checkbox
6076    in the VT Options menu. This also removes a special case added
6077    in <a href="#xterm_217">patch #217</a> which limited the effect
6078    of the <code>reverseVideo</code> resource (Debian
6079    #603808).</li>
6080
6081    <li>amend decoding of misformed UTF-8 sequences to avoid
6082    absorbing valid characters as documented in Unicode 6.0 section
6083    3.9 (report by Keith Winstein).</li>
6084
6085    <li>do not set urgency hint when window already has focus
6086    (patch by Dimitrios Christidis).</li>
6087
6088    <li>amend extended mouse-coordinate mode from <a href=
6089    "#xterm_262">patch #262</a> changes to include the <em>Cb</em>
6090    button-code, which also may be greater than 127 (report by
6091    Ailin Nemui).</li>
6092
6093    <li>ensure that underline-cursor is visible when an application
6094    happens to set the background color (report by Christian
6095    Weisgerber).</li>
6096
6097    <li>add feature for <a href=
6098    "http://www.davidsimmons.com/soft/xtermhacks/xterm-fullscreen.patch">
6099    full-screen toggling</a> using either Alt-Enter or a menu
6100    selection (integrated patch by Dave Simmons).</li>
6101
6102    <li>add missing logic to handle reallocation of FIFO index for
6103    the "UTF-8" menu entry (report by David Holland, NetBSD
6104    #44344).</li>
6105
6106    <li>add makefile rules <code>docs-ctlseqs</code>,
6107    <code>docs-xterm</code>, etc.</li>
6108
6109    <li>correct typo in description of DECRPM in control sequences
6110    document (report by Ailin Nemui).</li>
6111  </ul>
6112
6113  <h1><a name="xterm_267" id="xterm_267">Patch #267 -
6114  2010/11/20</a></h1>
6115
6116  <ul>
6117    <li>minor formatting changes to ctlseqs.ms to simplify a script
6118    which extracts the feature information. See the results in
6119    <a href=
6120    "https://invisible-island.net/xterm/xterm.faq.html#compare_versions">
6121    Comparing versions, by counting controls</a> in the xterm
6122    FAQ.</li>
6123
6124    <li>add <code>docs-clean</code> makefile rule.</li>
6125
6126    <li>add <code>copy-selection</code> action (request by Timo
6127    Juhani Lindfors, Debian #588785).</li>
6128
6129    <li>trim leading/trailing blanks from string used for
6130    "Selection" font-menu data.</li>
6131
6132    <li>trim leading/trailing blanks from color resource
6133    values.</li>
6134
6135    <li>configure script improvements:
6136      <ul>
6137        <li>add workaround for removal of X11 dependency from Xt's
6138        package file (report by Robert Hooker).</li>
6139
6140        <li>add workaround for removal of fontconfig dependency
6141        from Xft's package file (report by Jeremy Huddleston).</li>
6142
6143        <li>add workaround for removal of Xmu dependency from Xaw's
6144        package file (report by Jeremy Huddleston).</li>
6145
6146        <li>improve workaround in <code>CF_X_TOOLKIT</code> macro,
6147        checking for other possible packages where Xt's
6148        dependencies may be given.</li>
6149
6150        <li>prefer <code>${name:=value}</code> to
6151        <code>${name-value}</code>, since recent bash changes break
6152        legacy support for that feature.</li>
6153      </ul>
6154    </li>
6155  </ul>
6156
6157  <h1><a name="xterm_266" id="xterm_266">Patch #266 -
6158  2010/10/24</a></h1>
6159
6160  <ul>
6161    <li>add rpm and dpkg scripts, for testing.</li>
6162
6163    <li>more fixes for Debian #600707 (report by Cyril
6164    Brulebois).</li>
6165  </ul>
6166
6167  <h1><a name="xterm_265" id="xterm_265">Patch #265 -
6168  2010/10/22</a></h1>
6169
6170  <ul>
6171    <li>fix a regression in fontname logic from <a href=
6172    "#xterm_263">patch #263</a> changes (Debian #600707, reported
6173    by Vincent Lef&egrave;vre).</li>
6174
6175    <li>revert modification of any-event/any-button protocol from
6176    <a href="#xterm_263">patch #263</a> changes. It interferes with
6177    selection using a shifted mouse button (reports by Neil Bird,
6178    Bram Moolenaar).</li>
6179  </ul>
6180
6181  <h1><a name="xterm_264" id="xterm_264">Patch #264 -
6182  2010/10/14</a></h1>
6183
6184  <ul>
6185    <li>replace a null-pointer check with check for empty string in
6186    <code>xtermOpenFont</code>, to eliminate a warning message from
6187    <a href="#xterm_263">patch #263</a> changes.</li>
6188
6189    <li>build-fix for <a href="#xterm_263">patch #263</a> when
6190    toolbar is not configured (patch by Chris Clayton) (reports by
6191    Robby Workman, David Wood).</li>
6192  </ul>
6193
6194  <h1><a name="xterm_263" id="xterm_263">Patch #263 -
6195  2010/10/13</a></h1>
6196
6197  <ul>
6198    <li>corrected initialization of "misc" resource values, to
6199    ensure that xterm has allocated a copy of strings which may not
6200    have been malloc'd by the X library (Debian #600129).</li>
6201
6202    <li>modify handling of any-event/any-button mouse protocol; it
6203    now is active with any combination of key-modifiers.</li>
6204
6205    <li>add debugging feature <code>showWrapMarks</code>, which
6206    marks lines which xterm knows are wrapped, showing where a
6207    double-click will select past the end of a line.</li>
6208
6209    <li>build-fix to address change in include-guards for
6210    <code>Xlib.h</code> in ongoing Xorg edits (patch by Jeremy
6211    Huddleston).</li>
6212
6213    <li>improve <code>pointerMode</code> by continuing to watch for
6214    motion events after mouse tracking is disabled if the pointer
6215    is hidden (Debian #594856).</li>
6216
6217    <li>further extend initialization for active-icon font to check
6218    if the font was not loaded successfully, to retry with
6219    <code>font1</code>, or as even (if TrueType fonts are used) to
6220    use a TrueType font. The retries are to help with cases as in
6221    <a href="#xterm_241">patch #241</a> where the bitmap fonts are
6222    not available.</li>
6223
6224    <li>fix special case of active-icon used when TrueType font is
6225    specified for the xterm window, from <a href="#xterm_261">patch
6226    #261</a> change. In that case, the default font's size was used
6227    for layout of the active icon's window (Debian #591265).</li>
6228  </ul>
6229
6230  <h1><a name="xterm_262" id="xterm_262">Patch #262 - 2010/8/30</a></h1>
6231
6232  <ul>
6233    <li>fix a case where changing the cursor color via escape
6234    sequences did not immediately update the screen (report by
6235    Andreas Wagner).</li>
6236
6237    <li>implement ANSI and DEC request-mode control sequences. The
6238    latter includes the xterm-specific private modes such as the
6239    mouse mode. The feature is ifdef'd with the rectangle
6240    operations since its decoding overlaps that feature.</li>
6241
6242    <li>correct typo in ctlseqs.ms for response of OSC 21 (patch by
6243    Kevin Schoedel).</li>
6244
6245    <li>improve discussion of mouse tracking in ctlseqs.ms</li>
6246
6247    <li>increase an array limit used in reporting mouse events
6248    (report by Ryan Johnson).</li>
6249
6250    <li>add extended mouse-coordinates mode, allowing up to
6251    2015x2015 windows, using UTF-8 encoding (patch by Ryan
6252    Johnson).</li>
6253
6254    <li>modify manpage hyphens to conform with <a href=
6255    "http://lintian.debian.org/tags/hyphen-used-as-minus-sign.html">
6256    Debian</a>.</li>
6257  </ul>
6258
6259  <h1><a name="xterm_261" id="xterm_261">Patch #261 - 2010/6/28</a></h1>
6260
6261  <ul>
6262    <li>fix regression in <code>renderFont</code> logic, from
6263    <a href="#xterm_260">patch #260</a> changes (report by Joseph
6264    Quinsey).</li>
6265  </ul>
6266
6267  <h1><a name="xterm_260" id="xterm_260">Patch #260 - 2010/6/20</a></h1>
6268
6269  <ul>
6270    <li>modify <code>plink.sh</code> to work around problem linking
6271    to recent PCRE libraries.</li>
6272
6273    <li>extend <code>renderFont</code> resource to allow deferred
6274    switch to TrueType fonts without affecting existing resource
6275    settings (Debian #585620).</li>
6276
6277    <li>modify configure macro CF_X_TOOLKIT to work around omission
6278    of ICE library from ".pc" file (report by Miroslav
6279    Lichvar).</li>
6280
6281    <li>change configure script default for
6282    <code>--enable-broken-st</code> i.e., the
6283    <code>brokenStringTerm</code> feature) to normally enable it.
6284    If the corresponding resource is enabled, this feature
6285    eliminates an apparent freeze of xterm when sending mis-encoded
6286    data to the screen (Debian #584801).</li>
6287
6288    <li>document in manpage some actions which were overlooked:
6289      <ul>
6290        <li>readline-button</li>
6291
6292        <li>scroll-lock</li>
6293
6294        <li>set-8-bit-control</li>
6295      </ul>
6296    </li>
6297
6298    <li>undo a change to limit-check in <code>ScrnRefresh</code> in
6299    <a href="#xterm_257">patch #257</a>, which broke
6300    <code>fastScroll</code> feature (Debian #584841).</li>
6301
6302    <li>modify handling of <code>brokenLinuxOSC</code> and
6303    <code>brokenStringTerm</code> to also sound the bell.</li>
6304
6305    <li>add control/D and control/Q to controls which will cause
6306    early exit from control string per
6307    <code>brokenStringTerm</code> resource.</li>
6308
6309    <li>improve documentation of <code>brokenStringTerm</code>
6310    resource in manpage.</li>
6311  </ul>
6312
6313  <h1><a name="xterm_259" id="xterm_259">Patch #259 - 2010/6/5</a></h1>
6314
6315  <ul>
6316    <li>modify configure check for <a href=
6317    "https://invisible-island.net/luit/">luit</a> to include new
6318    aliases for the program (<code>xterm-filter</code> and
6319    <code>bluit</code>).</li>
6320
6321    <li>add workaround in <code>xtermClearLEDs()</code> to account
6322    for Xkb's override, making vttest's LED demo reset the scroll
6323    lock.</li>
6324
6325    <li>filter out client-message events when deciding whether to
6326    hide cursor, e.g., when using SCIM (patch/report by anonymous
6327    user).</li>
6328
6329    <li>improve description of <code>-bd</code> option in manpage
6330    (report by Guy Daniel Clotilde).</li>
6331
6332    <li>modify configure checks for PCRE and other libraries to use
6333    <code>pkg-config</code>, if available.</li>
6334
6335    <li>amend change from <a href="#xterm_252">patch #252</a>, to
6336    take <code>veryColorColors</code> resource into account when
6337    checking <code>colorBDMode</code> resource for TrueType fonts
6338    (report by anonymous user).</li>
6339
6340    <li>add <code>vttests/query-fonts.pl</code> script for
6341    demonstrating the <code>OSC&nbsp;50</code> font query.</li>
6342
6343    <li>improve manpage discussion of Scroll Lock feature.</li>
6344
6345    <li>improve configure macros CF_GCC_VERSION and
6346    CF_GCC_WARNINGS.</li>
6347
6348    <li>fix warnings for "clang --analyze".</li>
6349
6350    <li>change default for <code>allowScrollLock</code> resource to
6351    <code>false</code>, noting that the supposedly unused key has
6352    been useful for various rebindings (Debian #580946).</li>
6353  </ul>
6354
6355  <h1><a name="xterm_258" id="xterm_258">Patch #258 - 2010/5/1</a></h1>
6356
6357  <ul>
6358    <li>add pointer-checks in <code>ScrnRefresh</code> to fix a
6359    case in rapid scrolling where an empty record is fetched from
6360    the scrollback FIFO.</li>
6361  </ul>
6362
6363  <h1><a name="xterm_257" id="xterm_257">Patch #257 - 2010/4/22</a></h1>
6364
6365  <ul>
6366    <li>correct ctlseqs.ms description of OSC 17 and OSC 19 (patch
6367    by Emanuele Giaquinta).</li>
6368
6369    <li>corrected logic for <code>menuLocale</code> resource; the
6370    <code>setlocale</code> function returns the original locale
6371    only when querying.</li>
6372
6373    <li>improve filtering of translations resource, narrowing the
6374    scope of the <code>alwaysUseMods</code> to address only the
6375    translations that would cause a key to be sent to the host
6376    (report by Andrew Gaylard).</li>
6377
6378    <li>change default value of <code>menuLocale</code> resource to
6379    "C", to work around longstanding <a href=
6380    "https://invisible-island.net/xterm/xterm.faq.html#slow_menus">Xorg
6381    bug</a>.</li>
6382
6383    <li>modify handling of <code>scrollKey</code> feature to ignore
6384    XON/XOFF keys.</li>
6385
6386    <li>implement scroll-lock feature.</li>
6387
6388    <li>revise memory allocation in UTF8toLatin1() to fix an
6389    out-of-bounds index (Mandriva #54531).</li>
6390
6391    <li>compute value for first wide-character rather than assuming
6392    it is 256, fixes problem with <code>-cjk_width</code>
6393    introduced in patches <a href="#xterm_242">242</a> and <a href=
6394    "#xterm_249">249</a> (report by Thomas Wolff).</li>
6395
6396    <li>improve configure script:
6397      <ul>
6398        <li>corrected check for <code>_XOPEN_SOURCE</code> for
6399        OpenSolaris.</li>
6400
6401        <li>when possible, add rpath option for libraries in
6402        unusual places</li>
6403
6404        <li>add configure option <code>--disable-rpath-hack</code>
6405        to control whether the rpath option can be added.</li>
6406      </ul>
6407    </li>
6408
6409    <li>modify <code>AllocateTermColor()</code> to separate
6410    initialization from control sequences, fixing problem from
6411    <a href="#xterm_254">patch #254</a> changes where enabling
6412    <code>allowSendEvents</code> resource prevents setting cursor
6413    color on command-line (Debian #572928).</li>
6414
6415    <li>amend logic from <a href="#xterm_185">patch #185</a> to not
6416    reallocate cell-array if processing
6417    <code>ESC&nbsp;%&nbsp;G</code> to switch from UTF-8 if already
6418    in ISO-8859-1 character set (report by Michael Koehne).</li>
6419
6420    <li>fix to avoid calling <code>XmuInternStrings()</code> with
6421    zero count (report by Johan Bockg&aring;rd).</li>
6422
6423    <li>fix build when --disable-ansi-color configure option is
6424    used.</li>
6425
6426    <li>fix build when neither OPT_TCAP_QUERY or OPT_TCAP_FKEYS is
6427    defined (patch by Matthieu Herrb)</li>
6428  </ul>
6429
6430  <h1><a name="xterm_256" id="xterm_256">Patch #256 - 2010/3/6</a></h1>
6431
6432  <ul>
6433    <li>add TerminalEmulator to desktop category files.</li>
6434
6435    <li>modify <code>sinstall.sh</code> to ignore the "." appended
6436    to permissions by selinux.</li>
6437
6438    <li>change app-defaults organization, installing UXTerm-color
6439    and KOI8XTerm-color for consistent behavior regarding
6440    <code>customization:&nbsp;color</code> (prompted by discussion
6441    in Ubuntu #421261).</li>
6442
6443    <li>fix typo in <code>minstall.sh</code> from <a href=
6444    "#xterm_255">patch #255</a> changes, and add case for
6445    <code>/var/run</code> needed for full path of utmp (report by
6446    Julien Cristau).</li>
6447
6448    <li>minor fix to xterm manpage, remove a comment stating that
6449    margin bell can be changed via the VT Options menu. That was
6450    replaced in <a href="#xterm_225">patch #225</a></li>
6451
6452    <li>add a "docs" rule to makefile.</li>
6453
6454    <li>fix initialization of Atom used for <code>XkbBell</code>
6455    feature from <a href="#xterm_243">patch 243</a> changes. Unlike
6456    the other calls to <code>XInternAtom()</code>, in this case the
6457    flag telling X to create the Atom was unset (patch by Chris
6458    Adams).</li>
6459  </ul>
6460
6461  <h1><a name="xterm_255" id="xterm_255">Patch #255 - 2010/1/21</a></h1>
6462
6463  <ul>
6464    <li>rename <code>install.sh</code> to <code>install-sh</code>
6465    in case suffix-rules might interfere.</li>
6466
6467    <li>extend range for <code>convertToUTF8</code> function to
6468    full 31-bits, to use with printing, etc.</li>
6469
6470    <li>improve manpage by checking for actual locations of
6471    utmp/wtmp files (Debian #562640).</li>
6472
6473    <li>modify configure macro CF_XOPEN_SOURCE to remove -D's
6474    before adding the same name rather than relying on -U's, to
6475    reduce redefinition warnings for some platforms that have
6476    conflicting definitions in headers.</li>
6477
6478    <li>correct logic used to switch to alternate screen using
6479    FIFO-lines configuration (Debian #565772).</li>
6480
6481    <li>update config.guess, config.sub</li>
6482  </ul>
6483
6484  <h1><a name="xterm_254" id="xterm_254">Patch #254 - 2010/1/6</a></h1>
6485
6486  <ul>
6487    <li>add a configure-check to eliminate <code>install-ti</code>
6488    rule from Makefile when the system has no tic (terminfo
6489    compiler) program. This lets one use the
6490    <code>install-full</code> rule more consistently.</li>
6491
6492    <li>amend change to WriteText() function in <a href=
6493    "#xterm_252">patch #252</a> to take into account the
6494    <code>colorAttrMode</code> resource (report by Krzysztof
6495    Kotlenga).</li>
6496
6497    <li>document <code>titleModes</code> resource in manpage, added
6498    in <a href="#xterm_252">patch #252</a>.</li>
6499
6500    <li>modify tcap-query table entries for shifted up/down cursor
6501    keys to match ncurses convention.</li>
6502
6503    <li>improve lookup of termcap-query data, allowing for
6504    duplicate keycodes versus missing entries.</li>
6505
6506    <li>add control sequence which can be used to modify the
6507    terminal data used for the termcap-keyboard.</li>
6508
6509    <li>improve portability of tcap-query feature, using terminfo
6510    functions in preference to termcap on systems having
6511    terminfo.</li>
6512
6513    <li>improve font-setting/querying control
6514    (<code>OSC&nbsp;50</code>):
6515      <ul>
6516        <li>when TrueType font is selected, the TrueType
6517        <code>faceName</code> will be set, rather than the bitmap
6518        font.</li>
6519
6520        <li>when TrueType font is selected, querying returns the
6521        name of the TrueType font.</li>
6522
6523        <li>querying a font recognizes the relative-font convention
6524        that setting a font could use.</li>
6525      </ul>
6526    </li>
6527
6528    <li>add menu-entry for allowColorOps.</li>
6529
6530    <li>add new resources for fine-tuning menu entries:
6531    <code>allowColorOps</code>, <code>disallowedColorOps</code>,
6532    <code>disallowedFontOps</code> and
6533    <code>disallowedTcapOps</code>.</li>
6534
6535    <li>correct logic for disabling the "TrueType Fonts" menu item;
6536    it was not ensuring that the <code>faceName</code> resource
6537    value was non-empty.</li>
6538
6539    <li>implement VT520-style controls <code>DECSMBV</code> and
6540    <code>DECSWBV</code> for setting the margin- and warning-bell
6541    volume.</li>
6542
6543    <li>fix a minor error from <a href="#xterm_243">patch #243</a>
6544    which made the zIconBeep feature use a minor-error tone rather
6545    than an informational tone.</li>
6546
6547    <li>add a null-pointer check for the case where
6548    <code>renderFont</code> resource is true, but
6549    <code>faceName</code> resource is unset, used in logic to strip
6550    "xft:" prefix from <a href="#xterm_251">patch #251</a> changes
6551    (patch by Michael Riepe).</li>
6552
6553    <li>add special case to configure CF_XOPEN_SOURCE macro to use
6554    extensions on Darwin (patch by Dennis Preiser).</li>
6555
6556    <li>improve configure checks for regular expressions header and
6557    library</li>
6558
6559    <li>update config.guess, config.sub</li>
6560  </ul>
6561
6562  <h1><a name="xterm_253" id="xterm_253">Patch #253 -
6563  2009/12/10</a></h1>
6564
6565  <ul>
6566    <li>add a null-pointer check in <code>getPrinterFlags()</code>
6567    per changes in <a href="#xterm_252">patch #252</a>.</li>
6568
6569    <li>add a null-pointer check, needed in UTF-8 mode for Xft
6570    fonts after changes in <a href="#xterm_252">patch #252</a>
6571    (patch by Alan Coopersmith).</li>
6572
6573    <li>correct size when clearing struct for tek4014 (patch by
6574    Jochen Voss).</li>
6575
6576    <li>parenthesize expression in <code>MoreRows</code> macro,
6577    fixing a limit check added in <a href="#xterm_251">patch
6578    #251</a> (Debian #560039).</li>
6579  </ul>
6580
6581  <h1><a name="xterm_252" id="xterm_252">Patch #252 - 2009/12/7</a></h1>
6582
6583  <ul>
6584    <li>modify title-querying logic to support retrieval of titles
6585    encoded using UTF-8.</li>
6586
6587    <li>add new "title-modes" control sequence for controlling
6588    whether window/icon titles can be set or queried using UTF-8,
6589    optionally encoded in a hexadecimal string.</li>
6590
6591    <li>use <code>mkdir&nbsp;-p</code> rather than
6592    <code>mkdirs.sh</code> (prompted by discussion of mawk by
6593    Aleksey Cheusov).</li>
6594
6595    <li>add appropriate copyright/license notices to the bulk of
6596    files lacking same, and modify to use identical terms in others
6597    which used different wording. The main exceptions are the files
6598    contributed by Markus Kuhn, who appears to prefer public domain
6599    distribution, noting that I have modified/improved several of
6600    these without changing the terms of distribution (request by
6601    Jari Aalto).</li>
6602
6603    <li>add control sequences for resetting the "dynamic" colors to
6604    their default values.</li>
6605
6606    <li>add control sequences for resetting the "special" colors to
6607    their default values.</li>
6608
6609    <li>add control sequences for setting the "special" colors such
6610    as <code>colorBD</code> (bold).</li>
6611
6612    <li>add overlooked case for setting highlight foreground color
6613    with the dynamic-colors control.</li>
6614
6615    <li>add <code>OSC 104</code>, for resetting ANSI/16/88/256
6616    colors to default.</li>
6617
6618    <li>reset ANSI/16/88/256 colors to default in soft/hard reset
6619    functions.</li>
6620
6621    <li>strip "xft:" prefix from <code>faceName</code> and
6622    <code>faceNameDoublesize</code> resource values,</li>
6623
6624    <li>add <code>DECSCUSR</code> (discussion with Andy
6625    Koppe).</li>
6626
6627    <li>add check/warning on failure to load font, to see if the
6628    name looks like an Xft pattern rather than XLFD. This can
6629    happen if someone happens to modify their X resource settings
6630    for programs that read data from xterm's namespace.</li>
6631
6632    <li>modify handling of <code>print</code> and
6633    <code>print-everything</code> actions to allow the various
6634    printer flags to be overridden by supplying parameters.</li>
6635
6636    <li>add resource <code>printerNewLine</code> (request by Ovidiu
6637    Gheorghioiu).</li>
6638
6639    <li>minor cleanup, finish using <code>TScreenOf()</code> and
6640    <code>TekScreenOf()</code> macros introduced in <a href=
6641    "#xterm_224">patch #224</a>.</li>
6642
6643    <li>improve checks in ShowCursor/HideCursor to get the
6644    background color, particularly when
6645    <code>highlightReverse</code> resource is used (reports by Jan
6646    Engelhardt, Christian Weisgerber).</li>
6647
6648    <li>correct <code>checkVeryBoldAttr</code> to omit comparison
6649    of foreground color to special color values used for
6650    <code>color&lt;XX&gt;</code> resources (report by Jan
6651    Engelhardt).</li>
6652
6653    <li>make <code>colorBDMode</code> and <code>colorULMode</code>
6654    resources work with TrueType configuration (report by Jan
6655    Engelhardt).</li>
6656  </ul>
6657
6658  <h1><a name="xterm_251" id="xterm_251">Patch #251 -
6659  2009/11/11</a></h1>
6660
6661  <ul>
6662    <li>add window-ops controls to push/pop icon and/or window
6663    labels on a stack.</li>
6664
6665    <li>minor fixes to align termcap file with terminfo.</li>
6666
6667    <li>add resource <code>disallowedWindowOps</code>, to allow
6668    fine-tuning of features to suppress with the
6669    <code>allowWindowOps</code> resource (prompted by discussion
6670    with Bram Moolenaar).</li>
6671
6672    <li>add makefile rules for resize-manpage to pdf, etc.</li>
6673
6674    <li>further improve limit-checks in select/paste (Mandriva
6675    #54531).</li>
6676  </ul>
6677
6678  <h1><a name="xterm_250" id="xterm_250">Patch #250 -
6679  2009/10/13</a></h1>
6680
6681  <ul>
6682    <li>add check and error-message for fonts that have no
6683    printable values in the ISO-8859-1 range (Debian #542434).</li>
6684
6685    <li>some compiler-warning cleanup, in particular workaround for
6686    defective implementation of gcc's attribute warn_unused_result
6687    (report by Bram Moolenaar).</li>
6688
6689    <li>improve estimate of single-column width for packed TrueType
6690    fonts by ignoring extents for codes 127 and 159.</li>
6691
6692    <li>improve line-drawing for TrueType fonts which happen to
6693    have defined glyphs which are <em>not</em> line-drawing in
6694    0..31 by assuming they're not, and just checking the existence
6695    of the Unicode codepoints. This makes it more likely that the
6696    user can override a misconfigured font using the "Line-Drawing
6697    Characters" menu entry.</li>
6698
6699    <li>limit minimum cell-width for packed font to maximum-advance
6700    reported by Xft. Some fonts are wider than that, even in the
6701    Latin-1 range (Debian #550497).</li>
6702
6703    <li>add list of direct-contributors in "THANKS" file.</li>
6704
6705    <li>stylistic changes to this file to help scripted extraction
6706    of list of contributors.</li>
6707
6708    <li>correct off-by-one in <code>okPosition</code> fix from
6709    <a href="#xterm_249">patch #249</a> limit-checks which
6710    prevented double-click selection on the bottom line of the
6711    screen (reports by Rajeev V. Pillai, Debian #550368).</li>
6712
6713    <li>add <code>-q</code> option to
6714    <code>vttests/256colors2.pl</code> and
6715    <code>vttests/88colors2.pl</code> to demonstrate bulk
6716    initialization of color palette.</li>
6717
6718    <li>improve the workaround from patch #188 by enabling
6719    resources for the 88-color model.</li>
6720
6721    <li>document in xterm manpage the limited availability of
6722    resources <code>color16</code> to <code>color255</code> as
6723    noted in <a href="#xterm_188">patch #188</a> (Ubuntu
6724    #438850).</li>
6725  </ul>
6726
6727  <h1><a name="xterm_249" id="xterm_249">Patch #249 - 2009/10/1</a></h1>
6728
6729  <ul>
6730    <li>change default for <code>allowWindowOps</code> resource to
6731    false. 
6732    <!-- on the other hand, gnome-terminal, pterm and rxvt-unicode
6733                leave most of the related functionality enabled ;-) --></li>
6734
6735    <li>add limit-checks for result of visual_width() function,
6736    needed from <a href="#xterm_242">patch #242</a> and exposed by
6737    #244 changes (Debian #548321).</li>
6738
6739    <li>improve limit-checks in select/paste.</li>
6740
6741    <li>fix a remaining bug from <a href="#xterm_230">patch
6742    #230</a> changes for displaying multi-column characters in a
6743    proportional font (report by Chris Jones).</li>
6744
6745    <li>add new resource forcePackedFont and menu entry "Packed
6746    Font" to control whether to use the font's minimum (default) or
6747    maximum width when those differ. The workaround which xterm
6748    uses to accommodate proportional fonts is not necessary with
6749    certain fonts such as unifont which happen to store a mixture
6750    of multicolumn glyphs (report by Chris Jones).</li>
6751
6752    <li>fix an (old) bug which did not restart the timer for
6753    blinking text if the only blinking text was temporarily
6754    scrolled out of view, e.g., using the scrollbar.</li>
6755
6756    <li>fix an (old) flaw in the delete-line operation where the
6757    text which is scrolled into view while the display is scrolled
6758    up was not repainted.</li>
6759
6760    <li>improve delete-line and insert-line operations, retaining
6761    selection when the selection does not intersect the
6762    deleted/inserted lines.</li>
6763
6764    <li>fix an (old) off-by-one error when an application cleared
6765    above the cursor position while the display was scrolled up,
6766    that would leave an extra line of text uncleared.</li>
6767
6768    <li>fix a similar problem where the double-size attribute would
6769    not be reset when clearing the screen while the display was
6770    scrolled up.</li>
6771
6772    <li>fix an indexing error which would occur if an application
6773    cleared a line while the display was scrolled up and was also
6774    in UTF-8 mode (Redhat #524503). The error was from <a href=
6775    "#xterm_228">patch #228</a> but more visible after changes from
6776    <a href="#xterm_244">patch #244</a>.</li>
6777  </ul>
6778
6779  <h1><a name="xterm_248" id="xterm_248">Patch #248 - 2009/9/11</a></h1>
6780
6781  <ul>
6782    <li>fix an overlooked adjustment for selecting double-width
6783    characters in the narrow-character configuration.</li>
6784
6785    <li>eliminate uses of <code>XTERM_CELL</code> and
6786    <code>XTERM_CELLC</code> where an appropriate
6787    <code>LineData</code> pointer is available.</li>
6788
6789    <li>correct expression in <code>okScrnRow</code> macro, making
6790    selections give the length of lines below the visible screen
6791    (report by Stuart Henderson).</li>
6792
6793    <li>correct logic used to improve performance of missing-glyph
6794    check, which did not handle line-drawing characters (Debian
6795    #545220).</li>
6796  </ul>
6797
6798  <h1><a name="xterm_247" id="xterm_247">Patch #247 - 2009/8/30</a></h1>
6799
6800  <ul>
6801    <li>add ifdef's and check for openpty() on DragonFly (patch by
6802    Alex Hornung).</li>
6803
6804    <li>correct calculation for size of line's data block, which
6805    was sometimes off-by-one when configured using
6806    <code>--enable-16bit-chars</code> (report by H Merijn
6807    Brand).</li>
6808
6809    <li>fix indexing error in print-everything feature from
6810    <a href="#xterm_246">patch #246</a> (patch by Ovidiu
6811    Gheorghioiu).</li>
6812  </ul>
6813
6814  <h1><a name="xterm_246" id="xterm_246">Patch #246 - 2009/8/16</a></h1>
6815
6816  <ul>
6817    <li>remove obsolete logic for saving/restoring wrapping flags,
6818    which did not work on 64-bit platform. Wrapping flags (stored
6819    in the line-index) are now copied with line-data (Debian
6820    #541160).</li>
6821
6822    <li>modify comments in app-defaults files to avoid problem with
6823    C preprocessor used by <code>xrdb</code> (Debian #541603).</li>
6824
6825    <li>restore special case in <code>makeColorPair</code>, needed
6826    for <code>colorBDMode</code> resource (Debian #541089).</li>
6827
6828    <li>correct <code>SetLineFlags()</code> macro, broken in
6829    <a href="#xterm_244">patch #244</a> when recoding to avoid
6830    gcc-specific bitfields (Debian #541236).</li>
6831
6832    <li>modify initialization of screen buffers to ensure that
6833    pointers align to int-boundaries. This fixes a problem
6834    introduced in <a href="#xterm_244">patch #244</a> where the
6835    color- and character-arrays (stored after the video-attributes
6836    in each row) might be misaligned (report by Rajeev V
6837    Pillai).</li>
6838
6839    <li>add limit-check in <code>ScrnRefresh</code> for handling
6840    saved-lines from the circular buffer which are repainted on a
6841    screen whose width has increased. To improve performance,
6842    circular buffer entries are not resized (report by Rajeev V
6843    Pillai).</li>
6844
6845    <li>correct type for <code>CellColor</code> (a late change in
6846    <a href="#xterm_244">patch #244</a> to avoid gcc-specifc enums
6847    made that unsigned rather than unsigned short, for the
6848    256-color option).</li>
6849
6850    <li>fix typo in configure option --enable-16bit-chars (report
6851    by Rajeev V. Pillai).</li>
6852  </ul>
6853
6854  <h1><a name="xterm_245" id="xterm_245">Patch #245 - 2009/8/12</a></h1>
6855
6856  <ul>
6857    <li>correct a special case in saving FIFO-lines from <a href=
6858    "#xterm_244">patch #244</a>. If the screen was shrunk, xterm
6859    used the wrong amount for copying to FIFO-lines, and then used
6860    this amount to adjust the current row on the screen. That was
6861    both a visible defect (Debian #541109) as well as a potential
6862    addressing error (Debian #541132, Debian #541160, and Debian
6863    #541236).</li>
6864
6865    <li>add clarification in xterm manual about the various
6866    <code>allow<em>XXX</em>Ops</code> resources, which are disabled
6867    when the <code>allowSendEvents</code> resource is active (patch
6868    by Julien Cristau, Debian #531597).</li>
6869  </ul>
6870
6871  <h1><a name="xterm_244" id="xterm_244">Patch #244 - 2009/8/9</a></h1>
6872
6873  <ul>
6874    <li>refactored storage of saved-lines, providing a configure
6875    option to manage them as a FIFO (actually a circular buffer),
6876    improving performance. Added configure option
6877    <code>--enable-fifo-lines</code> to enable/disable the new
6878    feature (it is enabled by default).</li>
6879
6880    <li>added <code>fastScroll</code> resource, to amuse people who
6881    measure terminal emulator performance by <code>cat</code>'ing
6882    large files to the screen.</li>
6883
6884    <li>modify check in <code>readPtyData</code> from return values
6885    to provide exit on zero-bytes read from pty for FreeBSD, or
6886    eliminate high-CPU in "xterm-hold" processing (discussion with
6887    Ulrich Spoerlein, FreeBSD ports/136686). The check was
6888    originally modified to combine negative/zero values in
6889    XFree86-3.1.2E, 1996/05/06.</li>
6890
6891    <li>add configure option <code>--enable-16bit-chars</code> to
6892    provide wide-characters with 16-bits (rather than the default
6893    32-bits).</li>
6894
6895    <li>add <code>retryInputMethod</code> resource to allow
6896    configuring out the retries xterm uses to connect to
6897    non-responsive XIM server, to work around defective X
6898    configurations as noted in <a href=
6899    "http://mail-index.netbsd.org/tech-x11/2009/06/07/msg000511.html">
6900    NetBSD mailing list</a>.</li>
6901
6902    <li>make regular-expression selection work for VT100
6903    double-sized characters.</li>
6904
6905    <li>improve layout when drawing missing characters in a
6906    proportional font, e.g., as boxes, to take into account whether
6907    they are double-width (report by Guilbert Stabilo on
6908    comp.unix.shell).</li>
6909
6910    <li>add capability for keypad-center (kb2/KA2) to termcap entry
6911    for xterm-new, as well as xterm-8bit, xterm-sun and xterm-vt220
6912    (FreeBSD conf/136336).</li>
6913
6914    <li>change default for <code>keepSelection</code> resource to
6915    true (prompted by discussion with David Muir Sharnoff).</li>
6916
6917    <li>remove a limit-check in ptydata.c, allowing Unicode values
6918    past 64k to be displayed using TrueType fonts (Debian
6919    #458432).</li>
6920
6921    <li>remove a vt52-specific ifdef to allow mapping F1-F4 to
6922    PF1-PF4 when vt52 support is not compiled (report by Olaf
6923    'Rhialto' Seibert).</li>
6924
6925    <li>save/restore line-wrapping flags when converting from
6926    ISO-8859-1 encoding to UTF-8 encoding, as well as when resizing
6927    screen.</li>
6928
6929    <li>remove extra adjustment of position in fix for Debian
6930    #418324.</li>
6931
6932    <li>modify default check for <code>mkWidth</code> resource to
6933    check for line-drawing characters, which are categorized as
6934    double-width in Solaris 10 (report by Sebastian Kayser).</li>
6935
6936    <li>add "print-everything" action (patch by Ovidiu
6937    Gheorghioiu).</li>
6938
6939    <li>start refactoring scrollback data using new getLineData()
6940    function.</li>
6941
6942    <li>demote recent change to Debian #252873 fix to experimental,
6943    ifdef'd out as <code>EXP_BOGUS_FG</code> (Debian #522141).</li>
6944
6945    <li>work around groff mapping of ASCII quotes using macros
6946    (requested by Reuben Thomas based on Colin Watson advice, fixes
6947    Debian #378700).</li>
6948
6949    <li>correct symbol used for default of
6950    <code>allowWindowOps</code> which was
6951    <code>DEF_ALLOW_FONT</code> rather than
6952    <code>DEF_ALLOW_WINDOW</code> (report by Matthieu Herrb).</li>
6953
6954    <li>amend fix for tek4014 from <a href="#xterm_243">patch
6955    #243</a> to make it only apply to the Tek Options menu.</li>
6956  </ul>
6957
6958  <h1><a name="xterm_243" id="xterm_243">Patch #243 - 2009/3/28</a></h1>
6959
6960  <ul>
6961    <li>revert change to default for <code>allowTcapOps</code>
6962    (request by Bram Moolenaar).</li>
6963
6964    <li>reallocate result returned by <code>xtermEnvLocale()</code>
6965    to avoid reference to freed memory after handling
6966    <code>menuLocale</code> resource.</li>
6967
6968    <li>fix an old (X11R5) bug in tek4014 for switching
6969    fontsizes.</li>
6970
6971    <li>add resource <code>defaultString</code> to make
6972    configurable the use of "#" when pastes of UTF-8 text fail due
6973    to limitations in the current locale settings.</li>
6974
6975    <li>make the set of selection target Atom's configurable by two
6976    new resources <code>eightBitSelectTypes</code> and
6977    <code>utf8SelectTypes</code>, e.g., to use the
6978    <code>TEXT</code> Atom in preference to
6979    <code>UTF8_STRING</code> (discussion with Stanislav Sedov
6980    regarding koi8rxterm and the FreeBSD port).</li>
6981
6982    <li>modify handling of <code>TARGETS</code> Atom by making it
6983    return exactly the set of targets as those which xterm is
6984    currently providing.</li>
6985
6986    <li>set <code>MANPAGER</code> and <code>PAGER</code> explicitly
6987    to /bin/cat in <code>minstall.sh</code> to work around
6988    /etc/man.conf's with those variables already set (report by
6989    &#1052;&#1072;&#1088;&#1100;&#1103;&#1089;&#1080;&#1085;
6990    &#1057;&#1077;&#1084;&#1105;&#1085;).</li>
6991
6992    <li>improve error-checking of tcap-query parser.</li>
6993
6994    <li>add check for keyboard <code>tcap</code>), which ensures
6995    that terminal descriptions containing the same string for
6996    shifted/unshifted keys will be seen by tcap-query as only the
6997    unshifted key. (This would only happen with an incorrect
6998    terminal description).</li>
6999
7000    <li>fix conversion for input event-state to modifier-parameter
7001    which made tcap-query feature not work with
7002    <code>tcapFunctionKeys</code> (keyboard type
7003    <code>tcap</code>).</li>
7004
7005    <li>add "DEF_ALLOW_<em>XXX</em>" definitions to main.h to allow
7006    overriding the default compiled-in values for
7007    "allow<em>xxx</em>" resources.</li>
7008
7009    <li>remove check on bell-percentage added in <a href=
7010    "#xterm_242">patch #242</a>, which disallowed zero/negative
7011    values (Redhat Bugzilla #487829).</li>
7012  </ul>
7013
7014  <h1><a name="xterm_242" id="xterm_242">Patch #242 - 2009/2/15</a></h1>
7015
7016  <ul>
7017    <li>fix configure check for <code>XkbBell</code> and provide
7018    appropriate parameter for it.</li>
7019
7020    <li>fix a caching problem with double-size fonts versus reverse
7021    video that could cause core dump.</li>
7022
7023    <li>repair double-size fonts from workaround used in <a href=
7024    "#xterm_240">patch #240</a>.</li>
7025
7026    <li>add new section to the VT Fonts menu which allows enabling
7027    or disabling the font, termcap (tcap-query), title and window
7028    operations.</li>
7029
7030    <li>add <code>fontWarnings</code> resource, to control whether
7031    to show warnings on failure to load a font.</li>
7032
7033    <li>improve warnings for unloadable fonts introduced in
7034    <a href="#xterm_240">patch #240</a> by limiting those to the
7035    cases where a font would be specified directly by a resource
7036    setting rather than a derived fontname.</li>
7037
7038    <li>further amend fix for Debian #252873 from <a href=
7039    "#xterm_197">patch #197</a> to treat a blank cell which does
7040    not have both foreground and background colored as a
7041    non-colored cell. This improves a special case where the cursor
7042    is on a blank cell which had foreground color scrolled in
7043    (report by Miroslav Lichvar).
7044      <p>Also add the same logic when hiding cursor, so the outline
7045      matches the in-focus cursor.</p>
7046    </li>
7047
7048    <li>modify internals to reduce places PAIRED_CHARS() is used,
7049    making WriteText() and ScrnWriteText() accept IChar array, as
7050    well as providing a wrapper for drawXtermText().</li>
7051
7052    <li>change default XIM font from "*" to "fixed" to improve
7053    startup time in zh_CN.UTF-8 locale (Mike Fabian, SuSE Bugzilla
7054    #464930).</li>
7055
7056    <li>typo in #240 log (Slava Semushin)</li>
7057  </ul>
7058
7059  <h1><a name="xterm_241" id="xterm_241">Patch #241 - 2009/1/26</a></h1>
7060
7061  <ul>
7062    <li>improve checks for missing bitmap fonts, fallback to
7063    "fixed" as needed to work around broken font-packages (report
7064    by Jacek Luczak).</li>
7065
7066    <li>fix breakage from <a href="#xterm_240">patch #240</a>
7067    changes for <code>xtermAddInput()</code> (patches by Jeff Chua,
7068    Julien Cristau).</li>
7069  </ul>
7070
7071  <h1><a name="xterm_240" id="xterm_240">Patch #240 - 2009/1/25</a></h1>
7072
7073  <ul>
7074    <li>use <code>plink.sh</code> for linking xterm (suggested by
7075    Larry Doolittle).</li>
7076
7077    <li>add resource descriptions for input method to xterm
7078    manpage.</li>
7079
7080    <li>update configure script; consistently append to $CFLAGS
7081    rather than prepend.</li>
7082
7083    <li>add <code>install-scripts</code> rule to makefile, to allow
7084    koi8rxterm and uxterm scripts to be altered independently of
7085    <code>install-bin</code></li>
7086
7087    <li>add <code>-maximized</code> command-line option and
7088    corresponding resource (prompted by alt.os.linux newsgroup
7089    comment).</li>
7090
7091    <li>modify translations of scrollbar widget using
7092    <code>xtermAddInput()</code> (see <a href="#xterm_181">patch
7093    #181</a>) to accept the actions that the vt100 widget accepts,
7094    such as shift-insert to perform a paste operation (request by
7095    Martin Zwickel).</li>
7096
7097    <li>change default for <code>allowTcapsOps</code> resource to
7098    false, since it causes unexpected behavior for vim users with
7099    <code>AltGr</code>.</li>
7100
7101    <li>update config.guess, config.sub</li>
7102  </ul>
7103
7104  <h1><a name="xterm_239" id="xterm_239">Patch #239 - 2009/1/8</a></h1>
7105
7106  <ul>
7107    <li>correct a cast in input.c, which broke translation of
7108    numeric keypad codes to pageup, pagedown, etc., on 64-bit
7109    platform (Debian #511138, report by Larry Doolittle).</li>
7110  </ul>
7111
7112  <h1><a name="xterm_238" id="xterm_238">Patch #238 -
7113  2008/12/30</a></h1>
7114
7115  <ul>
7116    <li>update configure macro CF_XOPEN_SOURCE for AIX 6.x and Mint
7117    platforms.</li>
7118
7119    <li>reset the screen wrapping-flag at the end of
7120    <code>ClearRight</code> to fix an occasional case where the
7121    last character of a scrolled and wrapped line would be cleared
7122    (patch by Joe Peterson).</li>
7123
7124    <li>modify to use POSIX coding for comparing resource settings
7125    such as <code>locale</code>, to work with locales such as
7126    Turkish (report by M Vefa Bicakci).</li>
7127
7128    <li>turn on configure <code>paste64</code> feature by default
7129    (request by Jean-Philippe Bernardy). It is runtime
7130    enabled/disabled with <code>allowWindowOps</code>.</li>
7131
7132    <li>turn on configure <code>tcap-query</code> feature by
7133    default, add resource <code>allowTcapOps</code> to make this
7134    runtime enabled/disabled.</li>
7135
7136    <li>make <code>OSC 3</code> (change X property, from <a href=
7137    "#xterm_110">patch #110</a>) subject to
7138    <code>allowWindowOps</code> resource.</li>
7139
7140    <li>make VT220 <code>DSR</code> responses inactive in
7141    VT100-mode.</li>
7142
7143    <li>make <code>DECUDK</code> feature inactive in
7144    VT100-mode.</li>
7145
7146    <li>respond to incorrectly formatted <code>DECRQSS</code> with
7147    a cancel.</li>
7148
7149    <li>add <code>allowFontOps</code> resource to allow the
7150    fontsize-switching and font query/set control sequences to be
7151    enabled/disabled (prompted by Debian #510030).</li>
7152
7153    <li>some code cleanup based on gcc 4.x
7154    <code>-Wconversion</code> warnings in button.c and
7155    charproc.c</li>
7156
7157    <li>modify <code>tcap-query</code> feature to not return data
7158    for shifted cursor-keys when the keyboard type is set to vt220,
7159    since returning the same string for shifted/unshifted keys may
7160    confuse some applications (Gentoo #212546).</li>
7161  </ul>
7162
7163  <h1><a name="xterm_237" id="xterm_237">Patch #237 -
7164  2008/09/14</a></h1>
7165
7166  <ul>
7167    <li>improve usability of TrueType fonts by making the font-size
7168    switching for shifted keypad plus/minus use the
7169    <code>faceSize</code> resources to determine the order of fonts
7170    (when TrueType fonts are used) rather than the bitmap fonts,
7171    since their sizes may not be in the same order (report by H
7172    Merijn Brand)</li>
7173
7174    <li>remove an optimization of <code>ConfigureNotify</code>
7175    events from <a href="#xterm_236">patch #236</a> which seems to
7176    interfere with passing <code>SIGWINCH</code> to applications
7177    (Gentoo #233836).</li>
7178
7179    <li>modify handling of <code>altSendsEscape</code> to reset the
7180    <code>eightBitInput</code> mode, like
7181    <code>metaSendsEscape</code> (patch by Ted Phelps).</li>
7182
7183    <li>add feature to show the text-cursor as an underline rather
7184    than a box, plus command-line options <code>-uc</code> and
7185    <code>+uc</code> and resource <code>cursorUnderLine</code> to
7186    control the feature (patch by Paul Lampert).</li>
7187
7188    <li>update config.guess, config.sub</li>
7189  </ul>
7190
7191  <h1><a name="xterm_236" id="xterm_236">Patch #236 -
7192  2008/07/27</a></h1>
7193
7194  <ul>
7195    <li>correct memory reallocation when handling a paste of UTF-8
7196    text from <a href="#xterm_225">patch #225</a> changes
7197    (report/patch by Max Mikhanosha).</li>
7198
7199    <li>correct allocation of temporary buffer in
7200    <code>xtermFindShell</code> in case the user's
7201    <code>$PATH</code> contains no ":" (report/analysis by Victor
7202    Stinner, Freedesktop.Org Bugzilla #16790).</li>
7203
7204    <li>modify CF_XOPEN_SOURCE to add case for DragonFly BSD, to
7205    fix new compile problem exposed by fix for fd_mask (patch by
7206    Hasso Tepper).</li>
7207
7208    <li>add configure-check for ncurses
7209    <code>use_extended_names</code>, (report by Martin
7210    Mokrejs).</li>
7211
7212    <li>correct computation for toolbar height; layout manager
7213    already takes into account <code>borderWidth</code>
7214    resource.</li>
7215
7216    <li>implement VT320-style SCS (select character set) for ISO
7217    Latin-1 supplemental.</li>
7218
7219    <li>fixes for vt100-style character sets in UTF-8 mode (Ubuntu
7220    #230919).</li>
7221
7222    <li>fix to make <code>luit</code> work with xterm's
7223    <code>-ls</code> option (report/patch by Marius Tolzmann).</li>
7224
7225    <li>update config.guess, config.sub</li>
7226  </ul>
7227
7228  <h1><a name="xterm_235" id="xterm_235">Patch #235 -
7229  2008/04/20</a></h1>
7230
7231  <ul>
7232    <li>add control sequences for some of the recent resource/menu
7233    settings:
7234      <ul>
7235        <li><code>altSendsEscape</code> (private mode 1039)</li>
7236
7237        <li><code>keepSelection</code> (private mode 1040)</li>
7238
7239        <li><code>selectToClipboard</code> (private mode 1041)</li>
7240
7241        <li><code>bellIsUrgent</code> (private mode 1042)</li>
7242
7243        <li><code>popOnBell</code> (private mode 1043)</li>
7244      </ul>
7245    </li>
7246
7247    <li>add resource <code>formatOtherKeys</code> to provide an
7248    alternate escape sequence format for the
7249    <code>modifyOtherKeys</code> resource (request by Paul LeoNerd
7250    Evans).</li>
7251
7252    <li>adjust saved-cursor position if the window is resized while
7253    displaying the alternate screen (Novell #196880, Debian
7254    #383384).</li>
7255
7256    <li>improve pointer-checks to fix a bug exposed by resizing
7257    during initialization under StumpWM window manager (Fedora
7258    Bugzilla #437928).</li>
7259
7260    <li>modify <code>unselectwindow()</code> to ensure that the
7261    mouse pointer is not hidden after xterm loses focus (report by
7262    Jeremy Huddleston).</li>
7263
7264    <li>add special check for fd_mask on Mac OS X (report by Jeremy
7265    Huddleston).</li>
7266
7267    <li>add <code>dylib</code> to autoconf's suffix list used for
7268    checking the result from <code>xmkmf</code>, to work with Mac
7269    OS X (report by Jeremy Huddleston).</li>
7270
7271    <li>correct initialization of bold- and wide-, wide-bold fonts
7272    which may be set via the <code>utf8Fonts</code> subresource
7273    (Debian #347790).</li>
7274  </ul>
7275
7276  <h1><a name="xterm_234" id="xterm_234">Patch #234 -
7277  2008/03/02</a></h1>
7278
7279  <ul>
7280    <li>modify <code>sinstall.sh</code> to use POSIX locale to
7281    bypass GNU ls changes to date-format.</li>
7282
7283    <li>improved/refined changes for closing bitmap font (patch by
7284    Andrea Odetti).</li>
7285
7286    <li>improve resize computation for situations where the
7287    negotiation fails, by invoking the xterm widget's core-class
7288    resize method (Debian #365602, patch by Jim Paris).</li>
7289
7290    <li>restore initialization of terminal's <code>VMIN</code> and
7291    <code>VTIME</code> settings, from <a href="#xterm_232">patch
7292    #232</a> changes (patch by Matthieu Herrb).</li>
7293  </ul>
7294
7295  <h1><a name="xterm_233" id="xterm_233">Patch #233 -
7296  2008/02/24</a></h1>
7297
7298  <ul>
7299    <li>add configure check for <code>ttydefaults.h</code>, include
7300    if needed, e.g., for systems where defining
7301    <code>_POSIX_C_SOURCE</code>, etc., prevents it from being
7302    included via <code>termios.h</code> (prompted by comments by
7303    Robert Delius Royar and Jeremy Huddleston).</li>
7304
7305    <li>bug-fixes for bugs.opensolaris.org (patches from Alan
7306    Coopersmith)
7307      <dl>
7308        <dt>4029911</dt>
7309
7310        <dd>fix a typo in manpage</dd>
7311
7312        <dt>4045962</dt>
7313
7314        <dd>xterm doesn't properly set ut_syslen</dd>
7315
7316        <dt>4192572</dt>
7317
7318        <dd>left-left-right misinterpreted as triple click</dd>
7319      </dl>
7320    </li>
7321
7322    <li>minor optimization to tab-initialization (patch by
7323    N&eacute;meth M&aacute;rton).</li>
7324
7325    <li>fix a case where an incorrect font was freed during
7326    initialization from <a href="#xterm_232">patch #232</a> changes
7327    (patch by Andrea Odetti).</li>
7328
7329    <li>improve comparison used in <code>SameFont</code> function
7330    for GC-caching (Julien Cristau).</li>
7331
7332    <li>correct macro name used for default <code>CKILL</code>
7333    definition to work with Mac OS X (report by Jeremy
7334    Huddleston).</li>
7335  </ul>
7336
7337  <h1><a name="xterm_232" id="xterm_232">Patch #232 -
7338  2008/01/30</a></h1>
7339
7340  <ul>
7341    <li>corrected logic in a font-cache used for reverse-video
7342    (Debian #404079).</li>
7343
7344    <li>add control sequence to alter <code>pointerMode</code> at
7345    runtime.</li>
7346
7347    <li>add limit-checks for rectangle operation parameters (report
7348    by Martin Pirker).</li>
7349
7350    <li>modify <code>minstall.sh</code> to suppress
7351    <code>$MANPAGER</code> and <code>$PAGER</code> environment
7352    variables, which may interfere with redirecting output of
7353    <code>man</code> to a shell variable (report/patch by Zdenek
7354    Sekera).</li>
7355
7356    <li>do not try to hide mouse pointer in the tek4014 window,
7357    fixes broken "-t" option at startup from <a href=
7358    "#xterm_230">patch #230</a> changes (report by Robert K.
7359    Nelson).</li>
7360
7361    <li>correct datatype used when drawing tek4014 data using xterm
7362    compiled for wide-characters, on big-endian machines (reports
7363    by Jeremy Huddleston, Harald Hanche-Olsen, Martin Costabel,
7364    Merle Reinhart).</li>
7365
7366    <li>modify to cache the font-names along with the bitmap font
7367    data, to improve comparison of fonts.</li>
7368
7369    <li>modify to allow building with configure options
7370    <code>--disable-ansi-color</code> and
7371    <code>--disable-leaks</code> (Debian #459817, report/patch by
7372    N&eacute;meth M&aacute;rton).</li>
7373
7374    <li>modify to allow building with configure options
7375    <code>--enable-wide-chars</code> and
7376    <code>--disable-c1-print</code> (Debian #459816, report/patch
7377    by N&eacute;meth M&aacute;rton).</li>
7378
7379    <li>add <code>pointerMode</code> resource to control whether
7380    and when the pointer cursor is hidden as the user types.</li>
7381
7382    <li>simplify initialization of ttyMode- and related characters
7383    using a table.</li>
7384
7385    <li>modify initialization-logic for stty values that correspond
7386    to ltchars structure and the BSD TIOCSLTC ioctl (susp, dsusp,
7387    rprnt flush, werase, lnext). These were reset to constants for
7388    both termios and legacy interfaces immediately after asking the
7389    system for the existing values since X11R6.1, rather than using
7390    them to provide inherited values. While the legacy interface
7391    has some constraints, e.g., on HPUX, the POSIX or termios
7392    interface should not. Your shell may reset these anyway
7393    (prompted by patch by Ed Schouten).</li>
7394
7395    <li>improve logic for hiding/displaying pointer-cursor (report
7396    by Mark Brukhartz).</li>
7397
7398    <li>add limit-checks to tabs.c, increase maximum column for
7399    setting tab-stops from 320 to 1024 (report by N&eacute;meth
7400    M&aacute;rton).</li>
7401
7402    <li>correct length, i.e., number of types of selection targets,
7403    computed by <code>ConvertSelection()</code> when not handling
7404    wide characters for the <code>XA_TARGETS()</code> case. This
7405    leaves an extra Atom on the end of the list which is not
7406    handled by <a href=
7407    "http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6322854">Java
7408    applications</a>. The problem was introduced in <a href=
7409    "#xterm_151">patch #151</a> (report by David Wood).</li>
7410  </ul>
7411
7412  <h1><a name="xterm_231" id="xterm_231">Patch #231 -
7413  2008/01/05</a></h1>
7414
7415  <ul>
7416    <li>undo change to <code>getXtermCell()</code> from patch #230
7417    using <code>PACK_PAIR</code> macro (Debian #459014, analysis by
7418    Caetano Jimenez Carezzato).</li>
7419
7420    <li>minor documentation fixes (patch by Slava Semushin)</li>
7421
7422    <li>add makefile actions to install KOI8RXTerm app-defaults
7423    file (patch by Julien Cristau).</li>
7424  </ul>
7425
7426  <h1><a name="xterm_230" id="xterm_230">Patch #230 -
7427  2007/12/31</a></h1>
7428
7429  <ul>
7430    <li>add <code>quietGrab</code> resource, which when true,
7431    suppresses cursor repainting when <code>NotifyGrab</code> and
7432    <code>NotifyUngrab</code> event types are received during
7433    change of focus (request by Nicolas George).</li>
7434
7435    <li>do not treat Unicode BIDI control characters as combining
7436    characters (Debian #457634).</li>
7437
7438    <li>add <code>koi8rxterm</code>, from Debian.</li>
7439
7440    <li>add manpage for <code>uxterm</code>, from Debian (Ubuntu
7441    #128136, Debian #438645)</li>
7442
7443    <li>remove ".xpm" suffixes from Icon filenames in desktop files
7444    since it confuses some lookups following the <a href=
7445    "http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html">
7446    Icon Theme Specification</a> (report by Slava Semushin)</li>
7447
7448    <li>correct width-calculation used for adjusting proportional
7449    fonts, to work with wide-characters (Debian #441354).</li>
7450
7451    <li>fixes/improvements for double-size characters:
7452      <ul>
7453        <li>correct old clipping calculation which used total
7454        height of glyphs where ascent was needed.</li>
7455
7456        <li>if bold font is unavailable, fall back to normal
7457        font</li>
7458
7459        <li>adjust to "work" with Xft (which does not support
7460        double-width single-height characters).</li>
7461
7462        <li>restore reset of doublesize for a line when it is
7463        cleared, broken in <a href="#xterm_228">patch
7464        #228</a>.</li>
7465      </ul>
7466    </li>
7467
7468    <li>modify logic for <code>forceBoxChars</code> resource when
7469    using TrueType fonts to be consistent with bitmap fonts</li>
7470
7471    <li>modify logic for <code>forceBoxChars</code> resource to
7472    make the "Line-Drawing Characters" menu entry use xterm's
7473    line-drawing characters even asked to draw wide line-drawing
7474    characters which are available in the font.</li>
7475
7476    <li>modify rectangle-support functions to preserve colors when
7477    filling/erasing to match WRQ Reflection behavior (request by
7478    Enzo Toscano).</li>
7479
7480    <li>add getopt-parsing to tcapquery.pl, including feature to
7481    test the extended cursor/editing keys.</li>
7482
7483    <li>make missing double-width glyphs display as double-width
7484    (Debian #456236).</li>
7485
7486    <li>change <code>tcap-fkeys</code> and <code>rectangles</code>
7487    configure options to enable them by default.</li>
7488
7489    <li>hide the mouse pointer while user is typing (request by
7490    Rodolfo Borges).</li>
7491
7492    <li>extend configure options <code>--enable-tcap-query</code>
7493    and <code>--enable-tcap-fkeys</code> to send cursor- and
7494    editing-keypad keys modified according to the keyboard (or
7495    termcap) selection for shift, alt, control, meta.</li>
7496
7497    <li>modify <code>kdch1</code> in termcap, e.g.,
7498    <code>xterm-r6</code> to match the terminfo file.</li>
7499
7500    <li>add <code>-hm</code> option to turn
7501    <code>highlightColorMode</code> on or off.</li>
7502
7503    <li>add <code>highlightColorMode</code> resource to separate
7504    the new (since <a href="#xterm_225">patch #225</a>)
7505    highlighting with both text- and background-colors (prompted by
7506    report/example by Thomas Wolff).</li>
7507
7508    <li>add <em>Keep Selection</em> menu entry to turn the
7509    <code>keepSelection</code> resource on/off at runtime.</li>
7510
7511    <li>add <code>keepSelection</code> resource, which when
7512    enabled, tells xterm to retain the X selection even after it
7513    stops highlighting it (patch by Sergey Vlasov).</li>
7514
7515    <li>extend the <code>CSI&nbsp;&gt;&nbsp;n</code> sequence to
7516    allow disabling all types of modified-keys that the
7517    <code>CSI&nbsp;&gt;&nbsp;m</code> sequence affects.</li>
7518
7519    <li>move include for <code>&lt;xtermcap.h&gt;</code> in
7520    <code>resize.c</code> to avoid redefinition of
7521    <code>termios</code> structure on OpenSolaris (report by Rahul
7522    Gopinathan Nair).</li>
7523
7524    <li>extend terminfo building blocks for modified editing keys
7525    to include all six keys.</li>
7526
7527    <li>synchronize terminfo with ncurses (report by Stephane
7528    Chazelas)
7529      <ul>
7530        <li>equate <code>xterm-xfree86</code> and
7531        <code>xterm-xf86-v44</code>.</li>
7532
7533        <li>add ncurses extensions OTbs, AX, for termcap
7534        conversions.</li>
7535
7536        <li>make old/legacy entries such as <code>xterm-24</code>,
7537        <code>xterm-65</code> and aliases <code>xterms</code>,
7538        <code>vs100</code> inherit from
7539        <code>xterm-old</code>.</li>
7540
7541        <li>make <code>xterm-r5</code> and <code>xterm-r6</code>
7542        the same, ignoring historical errors in X Consortium's
7543        version.</li>
7544      </ul>
7545    </li>
7546
7547    <li>fix an ifdef in logic for selecting regular expressions
7548    while in a narrow-character locale (Debian #449227).</li>
7549  </ul>
7550
7551  <h1><a name="xterm_229" id="xterm_229">Patch #229 - 2007/8/12</a></h1>
7552
7553  <ul>
7554    <li>override locale in minstall.sh; change in <a href=
7555    "#xterm_226">patch #226</a> does not work in UTF-8 locale
7556    (report by Zdenek Sekera).</li>
7557
7558    <li>undo an incorrect fix for a memory leak in <a href=
7559    "#xterm_209">patch #209</a> (Debian #435858).</li>
7560  </ul>
7561
7562  <h1><a name="xterm_228" id="xterm_228">Patch #228 - 2007/7/22</a></h1>
7563
7564  <ul>
7565    <li>modify configure script to permit combining
7566    <code>--with-utempter</code> and <code>--enable-setuid</code>,
7567    e.g., for using xterm with the utempter library on FreeBSD
7568    (report by Andriy Gapon).</li>
7569
7570    <li>modify "Quit" menu entry to override the <code>-hold</code>
7571    command-line option.</li>
7572
7573    <li>add a check in the startup error-reporting to avoid writing
7574    to pipe when it has not been opened. In that case, report
7575    errors directly to the standard error.</li>
7576
7577    <li>add OPT_READLINE definition to xtermcfg.hin, overlooked in
7578    <a href="#xterm_205">patch #205</a> (report by Kalle Olavi
7579    Niemitalo).</li>
7580
7581    <li>modify <code>88colors2.pl</code> and
7582    <code>256colors2.pl</code>, adding <code>-r</code> option to
7583    reverse the palettes for the extended colors.</li>
7584
7585    <li>check for partial overwrite or deletion of multi-column
7586    characters in several cases, e.g., insert-character,
7587    delete-character, etc., and fill the remainder of the cells
7588    used by the multi-column characters affected with blanks.</li>
7589
7590    <li>correct character-class codes in wide-character mode for
7591    characters 215, 247 (see also <a href="#xterm_165">patch
7592    #165</a>).</li>
7593
7594    <li>fix missing assignment for UTF-8 parsing in widget
7595    initialization (Debian #403360).</li>
7596
7597    <li>correct index expression used to set line-wrapping flag,
7598    making selection from scrollback work consistently (Debian
7599    #430121, report by Vincent Lef&egrave;vre).</li>
7600
7601    <li>amend changes to handshake in <a href="#xterm_226">patch
7602    #226</a> to accommodate Solaris, which relies on the extra
7603    setting of the terminal size after I/O initialization. Do this
7604    by adding new resource <code>ptySttySize</code>, which is false
7605    for Linux and MacOS X, i.e., true for for Solaris and other
7606    SVR4 platforms, as well as FreeBSD (reports by David Wood,
7607    Renato Botelho).</li>
7608
7609    <li>check for X events after cursor-left, and carriage return,
7610    consistent with indexing operations (comments by Vegard Nossum
7611    and Ingo Molnar on a mailing-list).</li>
7612
7613    <li>initialize the <code>.keyboard</code> structure, needed for
7614    some platforms (such as Solaris) after <a href=
7615    "#xterm_227">patch #227</a> fixes for keysyms (patch by David
7616    Wood).</li>
7617
7618    <li>update config.guess, config.sub</li>
7619  </ul>
7620
7621  <h1><a name="xterm_227" id="xterm_227">Patch #227 - 2007/6/27</a></h1>
7622
7623  <ul>
7624    <li>exclude the Intel compiler from the extra gcc warning
7625    options added in <a href="#xterm_226">patch #226</a>.</li>
7626
7627    <li>modify change for Debian #422521 from <a href=
7628    "#xterm_226">patch #226</a> to work with configurations where
7629    the X server does not recognize the <code>XF86Paste</code> or
7630    <code>SunPaste</code> keysyms (report by Paolo Pumilia).</li>
7631
7632    <li>fix incorrect free in fix for "Selection" menu entry in
7633    <a href="#xterm_226">patch #226</a>.</li>
7634  </ul>
7635
7636  <h1><a name="xterm_226" id="xterm_226">Patch #226 - 2007/6/17</a></h1>
7637
7638  <ul>
7639    <li>add configure check to use
7640    <code>-Wno-unknown-pragmas</code> for Solaris, and a few other
7641    new gcc warning options to address regressions in its warning
7642    options.</li>
7643
7644    <li>add sample desktop and icon files, along with configure
7645    options for manipulating them.</li>
7646
7647    <li>fix an infinite loop when showing a 2-column character in a
7648    1-column screen (Debian #426863).</li>
7649
7650    <li>add <code>XF86Paste</code> and <code>SunPaste</code> to the
7651    default translations (Debian #422521, patch by Bernhard R
7652    Link).</li>
7653
7654    <li>update wcwidth.c (partly based on/prompted by mailing list
7655    comment).</li>
7656
7657    <li>update/improve keysym2ucs.c based on Unicode 5.0.1d3 and
7658    Xorg 7.1 keysymdef.h file.</li>
7659
7660    <li>improve <code>gen-pc-fkeys.pl</code>, making it show all of
7661    the building-block terminfo entries used by xterm.</li>
7662
7663    <li>correct strings used for modifiers applied to F1-F4 in
7664    xterm+pcf1 terminfo entry.</li>
7665
7666    <li>improve session management by adding the ICE connection
7667    number to the <code>select</code> call rather than waking up
7668    once per second (patch by Miroslav Lichvar).</li>
7669
7670    <li>add environment variable <code>$XTERM_LOCALE</code> to help
7671    with shell initialization, e.g., to set a specific locale for
7672    xterm on systems where a global locale is set in the shell
7673    startup scripts.</li>
7674
7675    <li>add resource settings <code>mkSampleSize</code> and
7676    <code>mkSamplePass</code> to modify the <code>mkWidth</code>
7677    added in <a href="#xterm_201">patch #201</a>. In <a href=
7678    "#xterm_202">patch #202</a>, xterm would also check if the
7679    system's <code>wcwidth</code> matched its built-in tables "well
7680    enough" to be used when <code>mkWidth</code> was false, and if
7681    not would use the built-in tables anyway. These resources allow
7682    the user to customize the decision (prompted by comments by
7683    Emanuele Giaquinta)</li>
7684
7685    <li>modify logic which resets/updates the screensize on the
7686    child process side of the pseudo-terminal to do this only if a
7687    successful handshake was received, e.g., as determined by the
7688    <code>waitForMap</code> resource (prompted by reports by
7689    Emanuele Giaquinta and Bernhard R Link, but see also <a href=
7690    "#xterm_177">patch #177</a> and <a href="#xterm_159">patch
7691    #159</a>.</li>
7692
7693    <li>improve permissions logic when closing pseudo-terminal
7694    (Debian #12261, patch by Nathanael Nerode, analysis by Richard
7695    Braakman).</li>
7696
7697    <li>add resource <code>highlightReverse</code> which controls
7698    whether xterm will allow selection highlighting to hide
7699    reverse-video or use the older behavior which inverts the
7700    foreground and background colors when selected text with
7701    reverse-video attribute (report by Adam M Costello, comments by
7702    Victor Vaile).</li>
7703
7704    <li>restore a special case for cursor-color in
7705    <code>ReverseVideo()</code> lost in rewrite for <a href=
7706    "#xterm_224">patch #224</a> (report by Adam Sulmicki).</li>
7707
7708    <li>correct initialization for menu entry for
7709    <code>bellIsUrgent</code> (patch by Emanuele Giaquinta).</li>
7710
7711    <li>correct length of underlining for double-width Xft fonts
7712    (report by Shidai Liu "Leo").</li>
7713
7714    <li>correct clipping for double-width Xft fonts (report by
7715    Shidai Liu "Leo").</li>
7716
7717    <li>modify initialization for <code>italicULMode</code> to
7718    avoid <code>XftPatternBuild</code> reusing bold attributes
7719    (report by Shidai Liu "Leo").</li>
7720
7721    <li>add a check in case someone tries to call the
7722    <code>popup-menu()</code> action on a menu which is not
7723    initialized (Debian #426364).</li>
7724
7725    <li>improve CF_IMAKE_CFLAGS to work with Solaris sed (report by
7726    Peter Bray).</li>
7727
7728    <li>improve guess for X's manpage section in
7729    <code>minstall.sh</code>, (prompted by comment by Miroslav
7730    Lichvar).</li>
7731
7732    <li>modify <code>minstall.sh</code> to handle manpage patch
7733    with more than one dot (patch by Miroslav Lichvar).</li>
7734
7735    <li>fix configure message for --disable-setgid option (patch by
7736    Miroslav Lichvar).</li>
7737
7738    <li>add <code>allowTitleOps</code> resource to allow users to
7739    prevent the title- and icon-names from changing (request by
7740    John Bashinski).</li>
7741
7742    <li>fix "spawn-new-terminal" action, for the case where no
7743    parameter is passed to the action (patch by Daniel
7744    Colascione).</li>
7745
7746    <li>fix error-checking on internal font switching for
7747    "Selection" menu entry (Debian #421523).</li>
7748
7749    <li>amend select/paste change from <a href="#xterm_225">patch
7750    #225</a> by limiting it to non-UTF-8/non-KOI8-R encoding
7751    (Debian #420974).</li>
7752
7753    <li>add workaround for groff ".URL" codes which are not present
7754    in some commonly-used bitmap fonts (Debian #418324).</li>
7755  </ul>
7756
7757  <h1><a name="xterm_225" id="xterm_225">Patch #225 - 2007/3/24</a></h1>
7758
7759  <ul>
7760    <li>add <code>useClipping</code> resource to allow clipping to
7761    be disabled.</li>
7762
7763    <li>use <code>XftDrawSetClipRectangles</code> to work around
7764    Xft pixel-trash (report by Reuben Thomas).</li>
7765
7766    <li>add configure option <code>--enable-tcap-fkeys</code>, and
7767    resource <code>tcapFunctionKeys</code>, which can be used to
7768    tell xterm to use function-key definitions from the termcap (or
7769    terminfo) which it uses to set $TERM on startup.</li>
7770
7771    <li>add resources <code>altIsNotMeta</code> and
7772    <code>altSendsEscape</code> to allow one to use Alt-keys like
7773    the meta-key even if they are bound to different keycodes
7774    (prompted by discussion with Daniel Jacobowitz).</li>
7775
7776    <li>revert a change from <a href="#xterm_216">patch #216</a>
7777    that unnecessarily made the meta modifier override the
7778    <code>eightBitInput</code> resource if the alt- and
7779    meta-modifiers happened to overlap (report/patch by Daniel
7780    Jacobowitz).</li>
7781
7782    <li>correct associated font for active icon for colored text
7783    (broken in <a href="#xterm_224">patch #224</a>).</li>
7784
7785    <li>correct ifdef's for Darwin (patch by Emanuele
7786    Giaquinta).</li>
7787
7788    <li>add <code>highlightTextColor</code> resource, and options
7789    <code>-selfg</code>, <code>-selbg</code> like <code>xwsh</code>
7790    (adapted from patch by Victor Vaile).</li>
7791
7792    <li>revise <code>find_closest_color()</code> function to
7793    address concern about borrowing from <code>Tcl/Tk</code>
7794    (request by Dan McNichol).</li>
7795
7796    <li>add "spawn-new-terminal" action, which can be assigned to
7797    key translation, allowing one to spawn a new copy of xterm
7798    using the current process's working directory (adapted from
7799    patch by Daniel Colascione).</li>
7800
7801    <li>improve select/paste between UTF-8 and Latin1 xterms by
7802    adapting the translations from <a href="#xterm_185">patch
7803    #185</a>. Extend that to include Unicode fullwidth forms
7804    FF00-FF5E. Also modify select/paste of DEC line-drawing
7805    characters in Latin1 mode to use ASCII characters.</li>
7806
7807    <li>add "Enable Bell Urgency" to VT Options menu, removed
7808    "Enable Margin Bell".</li>
7809
7810    <li>add <code>bellIsUrgent</code> resource to control whether
7811    the Urgency hint is set/reset.</li>
7812
7813    <li>modify to set Urgency window manager hint on bell, reset it
7814    on Focus-In event (patch by Emanuele Giaquinta).</li>
7815
7816    <li>add <code>--disable-setgid</code> configure option (request
7817    by Miroslav Lichvar).</li>
7818
7819    <li>fix a possible infinite loop in last change to
7820    <code>dabbrev-expand()</code> (patch by Emanuele
7821    Giaquinta).</li>
7822
7823    <li>modify initialization to set the pty erase value if the
7824    <code>erase</code> is set in the <code>ttyModes</code>
7825    resource. This overrides the <code>ptyInitialErase</code>
7826    setting (request by Llu&iacute;s Batlle i Rossell).</li>
7827
7828    <li>add <code>initialFont</code> resource to xterm widget, like
7829    tek-widget (Debian #299669).</li>
7830
7831    <li>amend change to <code>boldMode</code> from <a href=
7832    "#xterm_223">patch #223</a> for Debian #347790. As noted in
7833    Debian #412599, that made xterm no longer match the documented
7834    behavior. Add new resource <code>alwaysBoldMode</code> to allow
7835    overriding the comparison between normal/bold fonts when
7836    deciding whether to use overstriking to simulate bold
7837    fonts.</li>
7838
7839    <li>restore background color in ClearCurBackground(), omitted
7840    in changes for <a href="#xterm_223">patch #223</a> (report by
7841    Miroslav Lichvar).</li>
7842
7843    <li>correct logic for repainting double-width TrueType
7844    characters (prompted by test-case for Novell #246573).</li>
7845
7846    <li>add a check to avoid trying to repeat a multibyte character
7847    (report by Sami Farin).</li>
7848
7849    <li>modify parameter to <code>XftNameParse()</code> to select
7850    wide face-name as needed, to make <code>-fd</code> option work
7851    (patch by Mike Fabian, Novell #246573).</li>
7852
7853    <li>correct logic for mouse highlight tracking's abort
7854    sequence, broken in a restructuring modification from <a href=
7855    "#xterm_224">patch #224</a> (report by Thomas Wolff).</li>
7856
7857    <li>revert the simplification of blinking cursor, since that
7858    broke the xor'ing introduced in <a href="#xterm_193">patch
7859    #193</a> (report by Thomas Wolff).</li>
7860  </ul>
7861
7862  <h1><a name="xterm_224" id="xterm_224">Patch #224 - 2007/2/11</a></h1>
7863
7864  <ul>
7865    <li>simplify code for set/reset mode for blinking cursor (patch
7866    by Emanuele Giaquinta).</li>
7867
7868    <li>modify <code>dabbrev-expand()</code> to restart after the
7869    last match (patch by Emanuele Giaquinta).</li>
7870
7871    <li>add control sequences for enabling/disabling focus in/out
7872    event reporting (request by Bram Moolenaar).</li>
7873
7874    <li>improve startup performance of menus by adding resource
7875    setting <code>menuLocale</code> which can be set to override
7876    X's lengthy initialization of fontsets - which are seldom used
7877    for the <code>Xaw</code> popup menus (adapted from patch by
7878    Dave Coffin).</li>
7879
7880    <li>modify <code>do_precomposition()</code> function and
7881    <code>make-precompose.sh</code> to handle 21-bit codes vs the
7882    16-bit codes those were written for, and fix a few mis-sorted
7883    codes (patch by Thomas Wolff).</li>
7884
7885    <li>handle special case in <code>-cjk_width</code> which
7886    unexpectedly caused a character's width to change when a
7887    combining character (patch by Thomas Wolff)</li>
7888
7889    <li>fix build for GNU/KFreeBSD (Debian #40111).</li>
7890
7891    <li>consolidate GC creation/updating into a single module to
7892    reduce GC manipulation (prompted by Debian #389476, though a
7893    complete fix would involve optimizing the scrolling
7894    behavior).</li>
7895
7896    <li>fix ifdef of xtermCellWidth(), which broke for a case
7897    without TrueType and without wide-character support (report by
7898    Martin Pirker).</li>
7899
7900    <li>undo a comparison in
7901    <code>handle_translated_exposure</code> which did not work due
7902    to X server optimization. That caused the inner border to be
7903    repainted with unexpected colors when handling a repaint, e.g.,
7904    after switching to/from another workspace (Debian #401726,
7905    Redhat Bugzilla #223027).</li>
7906
7907    <li>allow <code>-cr</code> option to override cursor color when
7908    <code>-ah</code> option is used (Debian #406502).</li>
7909
7910    <li>add a note in xterm's manpage explaining that the
7911    <code>-bw</code> (or <code>-w</code>) option is only used by
7912    the window manager, if at all (Debian #405043).</li>
7913
7914    <li>make <code>Selection</code> of <code>VT&nbsp;Fonts</code>
7915    work with <code>selectToClipboard</code> resource.</li>
7916
7917    <li>correct length calculation for <code>Selection</code> entry
7918    of <code>VT&nbsp;Fonts</code> menu, broken since it ignored the
7919    actual selection length since X11R4.</li>
7920
7921    <li>fixes for fontsize changes with <code>-fa</code> option
7922    (Redhat Bugzilla #222340).</li>
7923  </ul>
7924
7925  <h1><a name="xterm_223" id="xterm_223">Patch #223 -
7926  2006/11/30</a></h1>
7927
7928  <ul>
7929    <li>add <code>--enable-rectangles</code> configure option
7930    (request by Martin Pirker).</li>
7931
7932    <li>correct default value for <code>--with-symlink</code>
7933    configure option.</li>
7934
7935    <li>fixes configure script macros that use
7936    <code>$X_EXTRA_LIBS</code>.</li>
7937
7938    <li>modify configure script to provide support for pre-package
7939    config versions of Xft aka "FreeType".</li>
7940
7941    <li>add the Xaw scrollbar translations resource to the xterm
7942    manpage, add an example showing how to change the mouse button
7943    assignments (Debian #382225).</li>
7944
7945    <li>amend a change from <a href="#xterm_216">patch #216</a>,
7946    which omitted modifiers for control, meta, etc., if they were
7947    mixed with any other modifiers. The intent of the change was to
7948    avoid confusion with <code>XK_Mode_switch</code> and
7949    <code>XK_ISO_Level3_Shift</code>; the check is now done
7950    explicitly (report by Daniel Jacobowitz).</li>
7951
7952    <li>interpret a negative value for
7953    <code>modifyCursorKeys</code> or
7954    <code>modifyFunctionKeys</code> resources to disable the
7955    respective features (prompted by Novell #220728).</li>
7956
7957    <li>amend cell-width computation for FreeType from <a href=
7958    "#xterm_217">patch #217</a>, which did not work for VT100
7959    line-drawing characters (Debian #399638, Gentoo #147111).</li>
7960
7961    <li>amend a change from <a href="#xterm_216">patch #216</a>,
7962    which made alt-modifier on a cursor-key send a modifier
7963    parameter (Novell #220728).</li>
7964
7965    <li>correct an off-by-one that made DECCRA not work
7966    (report/patch by Martin Pirker).</li>
7967
7968    <li>revert an optimization in SGR_Foreground() and
7969    SGR_Background from <a href="#xterm_209">patch #209</a> (Debian
7970    #347722, analysis by Pierre Lombard).</li>
7971
7972    <li>fix for <code>boldMode</code> (Debian #347790, patch by Tim
7973    Pope).</li>
7974
7975    <li>amend fix for <code>-iconic</code> in <a href=
7976    "#xterm_208">patch #208</a>, which broke the positioning part
7977    of <code>-geom</code> with toolbar configuration.</li>
7978
7979    <li>fix to prevent indexing error in regular expressions (patch
7980    by Dennis Schneider).</li>
7981
7982    <li>fixes to make the <code>internalBorder</code> area not
7983    change color due to reverseVideo and/or related exposure
7984    events. The latter was a very old bug exposed in <a href=
7985    "#xterm_196">patch #196</a> (report by Neil Hoggarth, also
7986    Debian #397624).</li>
7987  </ul>
7988
7989  <h1><a name="xterm_222" id="xterm_222">Patch #222 -
7990  2006/10/17</a></h1>
7991
7992  <ul>
7993    <li>minor optimization for recoloring cursor via dynamic
7994    colors.</li>
7995
7996    <li>fix a bug caused by restructuring of tek4014 widget (report
7997    by Paul Schenkeveld)</li>
7998  </ul>
7999
8000  <h1><a name="xterm_221" id="xterm_221">Patch #221 - 2006/10/1</a></h1>
8001
8002  <ul>
8003    <li>fix for regular expressions: the code which converted the
8004    column offset within a line did not check properly for the end
8005    of a line, and if allowed to match the whole line, would select
8006    the beginning of the following line. If the following line were
8007    empty, in turn it would select from the next, etc. (report by
8008    Sean Reifschneider).</li>
8009
8010    <li>minor optimization of color allocation to avoid repainting
8011    the screen if the corresponding color had not been
8012    allocated.</li>
8013
8014    <li>fixes for vttests/256colors.pl (report by Egmont
8015    Koblinger).</li>
8016
8017    <li>add terminfo building block entries for modifiers of the
8018    6-key editing keypad.</li>
8019
8020    <li>fix for initialization of tek4014 which broke on QNX
8021    6.1</li>
8022  </ul>
8023
8024  <h1><a name="xterm_220" id="xterm_220">Patch #220 - 2006/9/10</a></h1>
8025
8026  <ul>
8027    <li>make "xterm -t -iconic" work as expected, i.e., start in
8028    tek4014 mode, but iconified.</li>
8029  </ul>
8030
8031  <h1><a name="xterm_219" id="xterm_219">Patch #219 - 2006/9/4</a></h1>
8032
8033  <ul>
8034    <li>some internal restructuring to separate data for vt100 and
8035    tek4014 widgets.</li>
8036
8037    <li>fix a few cases where form-events would be seen by the
8038    vt100 widget when built with the toolbar configuration.</li>
8039  </ul>
8040
8041  <h1><a name="xterm_218" id="xterm_218">Patch #218 - 2006/8/27</a></h1>
8042
8043  <ul>
8044    <li>change behavior when encountering an illegal character in a
8045    title string. Rather than reject the string, translate illegal
8046    characters into "?" and use the string (requested by Thomas
8047    Wolff).</li>
8048
8049    <li>improve checks for nonprinting characters in title strings
8050    (report by Samuel Thibault).</li>
8051
8052    <li>correct typo in menu labels, changing
8053    <code>print-redirect</code> to <code>print-redir</code>, making
8054    it follow the manpage and match the usage for the actions table
8055    (report by Samuel Thibault).</li>
8056
8057    <li>correct a typo that prevents building with some older
8058    systems such as Solaris 2.6 (report by Julian Bridle).</li>
8059  </ul>
8060
8061  <h1><a name="xterm_217" id="xterm_217">Patch #217 - 2006/8/20</a></h1>
8062
8063  <ul>
8064    <li>minor improvements to FreeType font layout and
8065    drawing.</li>
8066
8067    <li>add a check in the ptyInitialErase logic to ensure that the
8068    termcap was read (Redhat Bugzilla #201246).</li>
8069
8070    <li>limit changes for reverse-video from <a href=
8071    "#xterm_216">patch #216</a> to cases where the reverse-video
8072    command-line option is used (report by Zdenek Sekera).</li>
8073
8074    <li>correct bitmap-derived pointsizes for TrueType fonts; they
8075    should be proportional to the square root of the area of the
8076    bitmap fonts.</li>
8077
8078    <li>add resources to specify pointsize of TrueType fonts
8079    (request by Reuben Thomas).</li>
8080
8081    <li>improve install of terminfo by filtering out harmless
8082    messages related to extended capabilities. At the same time,
8083    use ncurses tic to compile the extended capabilities if
8084    possible (report by Zdenek Sekera).</li>
8085
8086    <li>update "xterm+pcfkeys" terminfo entry to correspond to
8087    <a href="#xterm_216">patch #216</a>.</li>
8088  </ul>
8089
8090  <h1><a name="xterm_216" id="xterm_216">Patch #216 - 2006/8/3</a></h1>
8091
8092  <ul>
8093    <li>improve handling of <code>ConfigureNotify</code> events by
8094    checking if there are further events in the queue which
8095    obsolete the current one (adapted from rxvt 2.7.5). Only the
8096    normal normal (non-toolbar) configuration is addressed in this
8097    patch.</li>
8098
8099    <li>several changes to terminfo:
8100      <ul>
8101        <li>incorporate some minor changes from ncurses to help
8102        keep these synchronized:
8103          <dl>
8104            <dt>2005-02-26</dt>
8105
8106            <dd>modify sgr/sgr0 in xterm-new to improve tgetent's
8107            derived "me".</dd>
8108
8109            <dt>2006-02-18</dt>
8110
8111            <dd>remove ncv flag from xterm-16color</dd>
8112
8113            <dt>2006-06-24</dt>
8114
8115            <dd>improve xterm-256color by combining the 16-color
8116            setaf/setab strings with SGR 48, and cancelling the
8117            setf/setb strings.</dd>
8118          </dl>
8119        </li>
8120
8121        <li>use extended function-key definitions for xterm-sun,
8122        xterm-sco entries.</li>
8123
8124        <li>add terminfo building-blocks corresponding to the
8125        <code>modifyFunctionKeys</code> and
8126        <code>modifyCursorKeys</code> resources.</li>
8127      </ul>
8128    </li>
8129
8130    <li>ifdef'd Sun function-key feature to make it optional, like
8131    HP and SCO.</li>
8132
8133    <li>extend table for termcap-query feature through F63, and
8134    updated tcapquery.pl to match.</li>
8135
8136    <li>modify logic for function-key input processing to allow
8137    function key numbers which are constructed by control- and
8138    shift-modifiers to extend beyond X's hardcoded limit of
8139    35.</li>
8140
8141    <li>add control sequence to set or reset the
8142    <code>eightBitInput</code> resource.</li>
8143
8144    <li>change default resource <code>modifyFunctionKeys</code> to
8145    2 to avoid sending SS3 with parameters (report by Kalle Olavi
8146    Niemitalo).</li>
8147
8148    <li>add control sequences for setting and resetting the values
8149    of the <code>modifyCursorKeys</code>,
8150    <code>modifyFunctionKeys</code> and
8151    <code>modifyOtherKeys</code> resources.</li>
8152
8153    <li>add <code>modifyFunctionKeys</code> resource like
8154    <code>modifyCursorKeys</code>. Setting this to zero allows one
8155    to use the control- and shift-modifiers to construct function
8156    key strings, for terminals using many function keys, e.g., for
8157    <code>xterm-sun</code> or <code>xterm-sco</code>.</li>
8158
8159    <li>modify screen responses and function-key logic to reduce
8160    the number of writes made, to make it less likely that an
8161    application would read only part of a function-key in a read
8162    operation (suggested by John E Urbanczyk).</li>
8163
8164    <li>add <code>combiningChars</code> resource, which allows the
8165    user to specify the maximum number of combining characters that
8166    xterm will store for each cell in wide-character mode (prompted
8167    by request by Markus Kuhn to increase the limit from 2).</li>
8168
8169    <li>improve logic in <code>metaSendsEscape</code> in case the
8170    Alt- and Meta-keys are mapped to different modifiers. That
8171    allows one to use the Alt-key for shifting in the
8172    <code>eightBitInput</code> and use a Meta-key modifier to
8173    prefix the result with an <code>&lt;ESC&gt;</code>.</li>
8174
8175    <li>improve <code>modifyCursorKeys</code> logic to prevent it
8176    from modifying codes where <code>eightBitInput</code> or
8177    <code>metaSendsEscape</code> are set (request by Dan
8178    Nicolaescu).</li>
8179
8180    <li>improve <code>modifyCursorKeys</code> logic to prevent it
8181    from changing the user input when other modifiers such as AltGr
8182    are used (report by Thomas Wolff).</li>
8183
8184    <li>extend <code>modifyCursorKeys</code> to include the numeric
8185    keypad when in application mode.</li>
8186
8187    <li>improve <code>-reverse</code> (<code>-rv</code>) option
8188    (patch by Jason Vas Dias, Redhat #189161).</li>
8189
8190    <li>workaround for color resources on Fedora-5 which made the
8191    toolbar colors inconsistent.</li>
8192
8193    <li>corrected calls used for <code>--disable-setuid</code>
8194    option, add debugging traces to help diagnose this area.</li>
8195
8196    <li>modify configure script to ensure that
8197    <code>USE_UTMP_SETGID</code> is defined only if the check for
8198    POSIX saved-ids succeeds, or corresponds to one of the BSD
8199    systems known to have a workable <code>setegid</code>
8200    function.</li>
8201
8202    <li>extend configure check for POSIX saved-ids to include BSD
8203    systems</li>
8204
8205    <li>modify CF_SYSV configure macro to work with gcc on HPUX
8206    10.20, whose broken <code>&lt;term.h&gt;</code> relies on
8207    including <code>&lt;termios.h&gt;</code>.</li>
8208
8209    <li>change order of setuid/setgid ifdef checks in Imakefile to
8210    make it simpler to produce a setgid install, allowing the
8211    latter to override the former (prompted by an XFree86
8212    commit).</li>
8213
8214    <li>adapt a fix for setgid support from subsequent XFree86
8215    changes (patch by Emanuele Giaquinta).</li>
8216
8217    <li>further improve setgid support (patches by Emanuele
8218    Giaquinta).</li>
8219  </ul>
8220
8221  <h1><a name="xterm_215" id="xterm_215">Patch #215 - 2006/6/19 -
8222  XFree86 4.6.99.2</a></h1>
8223
8224  <ul>
8225    <li>improve setgid support by exploiting the saved-ids feature
8226    on which it relies (patch by Emanuele Giaquinta).</li>
8227
8228    <li>make the <code>modifyOtherKeys</code> resource disabled by
8229    default since the intermediate setting altered some common
8230    bindings (report by Emanuele Giaquinta).</li>
8231  </ul>
8232
8233  <h1><a name="xterm_214" id="xterm_214">Patch #214 - 2006/6/18 -
8234  XFree86 4.6.99.2</a></h1>
8235
8236  <ul>
8237    <li>modify makefile rule for ctlseqs.txt to strip
8238    backspace/overstrikes, and add a copy of ctlseqs.txt to the
8239    source tarballs (requests by Bram Moolenaar, Emanuele
8240    Giaquinta).</li>
8241
8242    <li>add <code>modifyOtherKeys</code> resource, analogous to the
8243    <code>modifyCursorKeys</code> resource. This applies to keys
8244    that normally would transmit nothing when a given modifier is
8245    applied (request by Dan Nicolaescu).</li>
8246
8247    <li>add <code>default</code> to the acceptable values for the
8248    <code>keyboardType</code> resource, allowing the
8249    <code>-kt</code> command-line option to override app-defaults
8250    resource settings of <code>sunKeyboard</code>, etc.</li>
8251
8252    <li>correct ifdef's for <code>XkbBell()</code> which used the
8253    header file but not the corresponding function in <a href=
8254    "#xterm_175">patch #175</a> (report by Zach Beane).</li>
8255
8256    <li>add xterm manpage to the <code>--with-symlink</code>
8257    logic.</li>
8258
8259    <li>regenerated configure script to omit some debugging
8260    artifacts of the SIGWINCH test.</li>
8261
8262    <li>fix <code>install-man</code> rule in
8263    <code>Makefile.in</code> to avoid including the
8264    <code>$(DESTDIR)</code> value in substitutions made on the
8265    manpages (patch by Emanuele Giaquinta).</li>
8266
8267    <li>improved fix for cursor deallocation (Redhat #186935, patch
8268    by Jason Vas Dias).</li>
8269
8270    <li>improve checks for setuid/setgid operation to accommodate
8271    limited resource management in some kernels (Gentoo
8272    #193238).</li>
8273
8274    <li>update config.guess, config.sub</li>
8275  </ul>
8276
8277  <h1><a name="xterm_213" id="xterm_213">Patch #213 - 2006/4/30 -
8278  XFree86 4.5.99.905</a></h1>
8279
8280  <ul>
8281    <li>minor optimization to cell layout; will use that to
8282    simplify some logic and allow for more than two combining
8283    characters in another patch.</li>
8284
8285    <li>add <code>utf8Latin1</code> resource to make optional the
8286    feature from <a href="#xterm_209">patch #209</a> which allowed
8287    ISO-8859-1 fonts to be used in cases where a wide font was
8288    given. This would only work for the special case where the user
8289    normally used Latin-1 and wanted some wide characters (report
8290    by Rostislav Krasny).</li>
8291
8292    <li>add <code>utf8Title</code> resource to manpage (Novell
8293    #52655).</li>
8294
8295    <li>fix typo in table entry for <code>utf8Title</code> resource
8296    which made it treated as an integer rather than boolean (patch
8297    by Mike Fabian, Novell #52655).</li>
8298  </ul>
8299
8300  <h1><a name="xterm_212" id="xterm_212">Patch #212 - 2006/4/9 -
8301  XFree86 4.5.99.904</a></h1>
8302
8303  <ul>
8304    <li>improve description of <code>forceBoxChars</code> in
8305    manpage (discussion with Joe Wells).</li>
8306
8307    <li>set checkmark for "Select To Clipboard" menu entry on
8308    startup, from resource setting.</li>
8309
8310    <li>update manpage to note that
8311    <code>*customization:color</code> is not needed, though it is
8312    useful (Redhat #188034).</li>
8313
8314    <li>add underscore to sample pattern for URL in
8315    <code>XTerm.ad</code> (Redhat #188037).</li>
8316
8317    <li>modify install rule for manpage to use the configured
8318    app-defaults directory (Redhat #188031).</li>
8319
8320    <li>add checks in <code>releaseCursorGCs()</code> to ensure
8321    GC's are distinct, needed since memory leak changes for
8322    <a href="#xterm_208">patch #208</a> (Redhat #186935, patch by
8323    Jason Vas Dias).</li>
8324
8325    <li>modify <code>Imakefile</code> definitions to allow
8326    <code>imake</code> to set <code>InstallXtermSetGID</code>. Add
8327    symbol <code>InstGidFlags</code>.</li>
8328
8329    <li>add configure script check to ensure that SIGWINCH if
8330    defined even when headers undefine this as a side-effect of
8331    <code>_POSIX_C_SOURCE</code>, etc.</li>
8332
8333    <li>resync with XFree86 CVS
8334      <ul>
8335        <li>ifdef-out chmod of terminal device for OS/2 (XFree86
8336        #1663, Frank Giessler).</li>
8337
8338        <li>move new <code>Imakefile</code> chunk which defines
8339        <code>$(CSGIDFLAGS)</code> before DEFINES, e.g., for IRIX64
8340        (Marc La France).</li>
8341      </ul>
8342    </li>
8343  </ul>
8344
8345  <h1><a name="xterm_211" id="xterm_211">Patch #211 - 2006/3/19 -
8346  XFree86 4.5.99.902</a></h1>
8347
8348  <ul>
8349    <li>modify prefix/suffix transformation in makefile to make
8350    <code>uxterm</code> install properly on Cygwin.</li>
8351
8352    <li>restore the sizeof-comparison for <code>struct
8353    lastlog</code> added in <a href="#xterm_208">patch #208</a>,
8354    rendered (mostly) obsolete in <a href="#xterm_210">patch
8355    #210</a>, since an imake configuration can still turn that code
8356    on (prompted by comment by David Dawes).</li>
8357
8358    <li>remove feature for <code>FreeBSDArchitecture</code> from
8359    <code>Imakefile</code> which would install xterm using the
8360    <code>utmp</code> group since a standard FreeBSD system has no
8361    such group, though it would support this configuration. FreeBSD
8362    packager uses the <code>configure</code> script, which can make
8363    the appropriate check (prompted by comment by David
8364    Dawes).</li>
8365
8366    <li>fixes for gcc redefinition warnings when built using imake
8367    (reports by David Dawes, Marc La France).</li>
8368  </ul>
8369
8370  <h1><a name="xterm_210" id="xterm_210">Patch #210 - 2006/3/12 -
8371  XFree86 4.5.99.902</a></h1>
8372
8373  <ul>
8374    <li>add configure check for workaround in <a href=
8375    "#xterm_208">patch #208</a> for Solaris' inconsistent support
8376    for struct lastlog to quiet compiler warnings (prompted by
8377    David Dawes commit message for XFree86).</li>
8378
8379    <li>fixes for BASE64 selection manipulation, e.g., ensure that
8380    the string terminator is written after cut-buffer data (report
8381    by Joe Allen).</li>
8382
8383    <li>add vttests/paste64.pl script to test experimental option
8384    for setting/getting selection data.</li>
8385
8386    <li>add some error-checking in fontutils.c (prompted by David
8387    Dawes commit message for XFree86).</li>
8388
8389    <li>change xterm manpage to show the actual color resource
8390    names <code>XtDefaultForeground</code> and
8391    <code>XtDefaultBackground</code> rather than black and white
8392    (prompted by discussion with Emanuele Giaquinta).</li>
8393
8394    <li>add <code>utf8Title</code> resource and menu entry,
8395    allowing the user to control whether title strings are
8396    interpreted as ISO-8859-1 or UTF-8 encoding (Novell #52655,
8397    Novell #113206).</li>
8398
8399    <li>change order of ifdef's for utempter versus platforms in
8400    <code>Imakefile</code> to ensure a proper value for
8401    <code>InstallXtermSetGID</code> (prompted by Marc La France
8402    commit message for XFree86).</li>
8403
8404    <li>update the cursor GCs when menu entry for reverse video is
8405    toggled. (Redhat #183993).</li>
8406
8407    <li>a memory-leak fix for <code>set_cursor_gcs()</code> in
8408    <a href="#xterm_208">patch #208</a> broke the <code>-cm</code>
8409    option (Redhat #182382).</li>
8410  </ul>
8411
8412  <h1><a name="xterm_209" id="xterm_209">Patch #209 - 2006/2/12 -
8413  XFree86 4.5.99.22</a></h1>
8414
8415  <ul>
8416    <li>remove <code>setf</code> and <code>setb</code> from
8417    <code>xterm-256color</code> terminfo entry to avoid issues with
8418    applications that ignore the ANSI strings (report by Emanuele
8419    Giaquinta).</li>
8420
8421    <li>remove obsolete references to "Xorg" to avoid confusion
8422    with "X.org" (prompted by David Dawes commit message for
8423    XFree86).</li>
8424
8425    <li>improve initial layout performance for the toolbar
8426    configuration by precalculating the height of the toolbar.</li>
8427
8428    <li>remove menu entry for "Enable Curses Emulation" (to make
8429    room for "Select To Clipboard").</li>
8430
8431    <li>add resource <code>selectToClipboard</code>, action
8432    <code>set-select</code> and a menu entry to allow users to
8433    switch between PRIMARY and CLIPBOARD for select/paste.</li>
8434
8435    <li>allow cursor to have the same color as foreground (text),
8436    since it is rendered as reverse (Debian #350664).</li>
8437
8438    <li>amend change for loading <code>utf8Fonts</code> resource
8439    from <a href="#xterm_204">patch #204</a> to allow an ISO-8859-1
8440    "normal" font to be combined with an ISO-10646 font if the
8441    latter is given via the <code>-fw</code> option or its
8442    corresponding resource value (prompted by comment in Novell
8443    #49305).</li>
8444
8445    <li>add <code>TIOCSCTTY</code> <code>ioctl()</code> ifdef'd for
8446    <code>__GNU__</code> to set the controlling terminal (Debian
8447    #348457).</li>
8448
8449    <li>add configure option <code>--disable-leaks</code>.</li>
8450
8451    <li>add a check in <code>Bell</code> to ensure that the VT100
8452    widget is realized, since it may be called by
8453    <code>xtermLoadFont</code> given an incorrect font resource
8454    (Redhat #180450).</li>
8455
8456    <li>improve initialization of wide-bold font by not using the
8457    derived value when it happens to have few glyphs (report by
8458    Mboso Sampson).</li>
8459
8460    <li>improve dynamic colors by not repainting the screen if only
8461    the cursor color changes (request by Bram Moolenaar).</li>
8462
8463    <li>fix menu initialization for tek4014 window broken in
8464    <a href="#xterm_206">patch #206</a>.</li>
8465
8466    <li>typo in manpage (Debian #351425).</li>
8467
8468    <li>correct loop logic in <code>dotext</code> to prevent an
8469    infinite loop if a wide character was just at the right margin
8470    when wrapping was disabled (report by Serge van den Boom).</li>
8471
8472    <li>initialize the saved-cursor data so a restore-cursor
8473    operation without a preceding save-cursor operation will not
8474    modify the foreground color.</li>
8475
8476    <li>add a new selection feature: regular expressions, and new
8477    resources which specify what happens on multiple mouse clicks:
8478    <code>on2Clicks</code>, <code>on3Clicks</code>,
8479    <code>on4Clicks</code> and <code>on5Clicks</code>.</li>
8480
8481    <li>revert the <code>XTerm.ad</code> change from <a href=
8482    "#xterm_208">patch #208</a> (Debian #348384).</li>
8483
8484    <li>fixes for the print-window to make it handle combining
8485    characters in UTF-8 mode.</li>
8486
8487    <li>add check to ensure that double-clicking to extend
8488    selection will not extend it into the scrollback area. This
8489    still allows users to scroll back and select text (Debian
8490    #347415).</li>
8491
8492    <li>add configure option <code>--with-tty-group</code> to help
8493    work around deficiencies in packager's build environment
8494    (Debian #349142).</li>
8495
8496    <li>fix typo in configure script option
8497    <code>--disable-narrowproto</code> (report by David
8498    Mart&iacute;nez Moreno).</li>
8499
8500    <li>amend CF_X_FREETYPE changes for <code>pkg-config</code>
8501    check to ensure that <code>Xft</code> is known to that tool
8502    (report and patch by Emanuele Giaquinta).</li>
8503
8504    <li>add an ifdef to allow <code>./configure
8505    --disable-active-icon</code> to work, broken by new code for
8506    testing memory leaks in <a href="#xterm_208">patch #208</a>
8507    (report by Brian Lindholm).</li>
8508  </ul>
8509
8510  <h1><a name="xterm_208" id="xterm_208">Patch #208 - 2006/1/3 -
8511  XFree86 4.5.99.19</a></h1>
8512
8513  <ul>
8514    <li>add <code>charClass</code> resource to
8515    <code>XTerm.ad</code> and <code>UXTerm.ad</code> which
8516    simplifies selecting URLs (prompted by Kirill Ponomarew).</li>
8517
8518    <li>modify install rule for <code>uxterm</code> to account for
8519    the <code>--program-prefix</code>, etc., options by invoking
8520    the transformed name of xterm rather than simply "xterm".</li>
8521
8522    <li>modify configure <code>--with-app-defaults</code> option to
8523    allow <code>--without-app-defaults</code>.</li>
8524
8525    <li>add configure <code>--with-symlink</code> option to make it
8526    simpler to install successive versions of <code>xterm</code>
8527    renamed using the <code>--program-prefix</code>, etc., options
8528    with a symbolic link pointing to the most recent.</li>
8529
8530    <li>make <code>-iconic</code> option work with toolbar
8531    configuration (Gentoo #113604).</li>
8532
8533    <li>suppress <code>lastlog</code> feature for 64-bit Solaris
8534    configuration since that platform provides only a 32-bit
8535    interface (report by Peter Bray).</li>
8536
8537    <li>fix memory reallocation for the "UTF-8" menu entry when
8538    xterm is started using the <code>+u8</code> option (reported by
8539    Jan Willem Stumpel).</li>
8540
8541    <li>add a configure check for the actual path of
8542    <code>luit</code>, to work around broken <code>imake</code>
8543    configurations.</li>
8544
8545    <li>add a configure check for <code>pkg-config</code> (Redhat
8546    Bugzilla #173541).</li>
8547
8548    <li>modify install-rule for <code>uxterm</code> to omit
8549    executable suffix, e.g., for Cygwin.</li>
8550
8551    <li>modify <code>sinstall.sh</code> to work around quirks in
8552    Cygwin configuration.</li>
8553  </ul>
8554
8555  <h1><a name="xterm_207" id="xterm_207">Patch #207 - 2005/11/13 -
8556  XFree86 4.5.99.16</a></h1>
8557
8558  <ul>
8559    <li>enable <code>lastlogx</code> support for NetBSD (was added,
8560    but not enabled in <a href="#xterm_186">patch #186</a>).</li>
8561
8562    <li>work around broken <code>lastlog.h</code> in glibc 2.3.5,
8563    which includes <code>utmp.h</code>.</li>
8564
8565    <li>revert part of recent XFree86 Imakefile change, restoring
8566    the <code>-I.</code> needed for <code>xmkmf</code> builds of
8567    xterm (XFree86 Bugzilla #1633, reports by Alexander Pohoyda,
8568    Matthieu Herrb).</li>
8569
8570    <li>change compiled-in default for <code>printerCommand</code>
8571    resource to an empty string. People who want to use the printer
8572    should be able to read the manual (Debian #311490).</li>
8573
8574    <li>modify <code>Imakefile</code> to work around old problems
8575    in <code>imake</code> configuration to allow test-builds using
8576    <code>xmkmf</code> on Linux. (This was not noticed since
8577    several releases had broken definitions relating to Xft which
8578    were harder to work around).</li>
8579
8580    <li>link <code>resize</code> for SCO platforms (Kean
8581    Johnston).</li>
8582  </ul>
8583
8584  <h1><a name="xterm_206" id="xterm_206">Patch #206 - 2005/11/3 -
8585  XFree86 4.5.99.15</a></h1>
8586
8587  <ul>
8588    <li>add configure <code>--with-app-defaults</code> option to
8589    allow app-defaults directory for install-rules to be
8590    customized.</li>
8591
8592    <li>remove default translations for
8593    <code>dabbrev-expand()</code> due to conflicts with existing
8594    keyboard arrangements.</li>
8595
8596    <li>remove redundant check for <code>_NET_WM_PID</code> (report
8597    by Emanuele Giaquinta).</li>
8598
8599    <li>set icon border width explicitly to work around fvwm
8600    problem with active icon resizing (report by Steve Morris,
8601    analysis by Dominik Vogt).</li>
8602
8603    <li>modify resource files to make the font-resources a little
8604    more specific, e.g., changing "*VT100*" to "*VT100.", to make
8605    the distinction between VT100.font and VT100.utf8Fonts.font
8606    sharper, in case a packager modifies one of those.</li>
8607
8608    <li>expanded comments in <code>UXTerm.ad</code> regarding the
8609    font resources (Debian #319179).</li>
8610
8611    <li>add <code>--enable-narrowproto</code> configure option to
8612    accommodate X.org "modular" build (report by Stephan Hermann,
8613    Gentoo #17220).</li>
8614
8615    <li>fix typo in xterm.man description of <code>+wf</code>
8616    (patch by Tobias Stoeckmann).</li>
8617
8618    <li>add <code>scrollBarBorder</code> resource (request by Floyd
8619    L Davidson).</li>
8620
8621    <li>modify <code>xterm-new</code> terminfo entry to use
8622    capabilities for shifted scroll forward/reverse as shifted
8623    cursor up/down.</li>
8624
8625    <li>correct updating of checkmark for toolbar entry in popup
8626    menu (report by Emanuele Giaquinta).</li>
8627
8628    <li>fix ifdef's to allow compiling with toolbar and without
8629    tek4014 (patch by Emanuele Giaquinta).</li>
8630
8631    <li>use <code>openpty()</code> for Darwin port (patch by
8632    Emanuele Giaquinta).</li>
8633
8634    <li>fix Gentoo #90697 a different way, postponing the logic in
8635    <code>SetupToolbar</code> until the toolbar is actually needed,
8636    i.e., the <code>+tb</code> option is handled as expected.</li>
8637
8638    <li>revert fix made in <a href="#xterm_203">patch #203</a> for
8639    Gentoo #90697. That introduced a problem with the control mouse
8640    click-popups, while most of the performance problems can be
8641    resolved by restricting the menu fonts (report by Emanuele
8642    Giaquinta).</li>
8643
8644    <li>fix a file-descriptor leak when calling
8645    <code>openpty()</code> (OpenBSD system/4561).</li>
8646
8647    <li>make a special case of resizing work like vt100: a hard
8648    reset also resets the 132/80 mode. The code to support this was
8649    present since X11R5, but not used because the corresponding
8650    initial state of the <code>-132</code> option was not
8651    saved.</li>
8652
8653    <li>restore window manager hints after
8654    <code>XtMakeResizeRequest()</code> calls. One instance from
8655    <a href="#xterm_205">patch #205</a> resulted in the window
8656    manager displaying pixels rather than than characters after
8657    selecting a different font size (FreeBSD ports/87424).</li>
8658
8659    <li>remove special case for Darwin in CF_XOPEN_SOURCE (Emanuele
8660    Giaquinta).</li>
8661
8662    <li>modify parsing of control sequence <code>CSI&nbsp;T</code>
8663    to allow scroll-down to be sent while mouse tracking is enabled
8664    (request by D Hugh Redelmeier).</li>
8665
8666    <li>correct termcap "me" (mode-end) string so it does not
8667    modify the alternate character set (report by Andrey
8668    Chernov).</li>
8669
8670    <li>correct size-comparison in HandleInterpret() broken in
8671    changes from <a href="#xterm_201">patch #201</a> to allocate
8672    input buffer (Debian #334317).</li>
8673
8674    <li>amend adjustments for scrollbar layout from <a href=
8675    "#xterm_204">patch #204</a> to make this apply only to the
8676    toolbar configuration. In the non-toolbar configuration, the
8677    resulting scrollbar was shifted by its borderwidth (report by
8678    Matthieu Herrb).</li>
8679
8680    <li>add select-cursor-extend() action.</li>
8681
8682    <li>fix some broken href's in xterm.log.html, and typo in the
8683    INSTALL file (report/patch by David Mart&iacute;nez
8684    Moreno).</li>
8685
8686    <li>modify <code>Imakefile</code> to use setgid mode for
8687    installing with Linux, OpenBSD and FreeBSD.</li>
8688
8689    <li>add configure --with-setuid and --with-reference options to
8690    allow packagers more flexibility in customizing install
8691    permissions.</li>
8692
8693    <li>generalize and make optional (configure --with-utmp-setgid)
8694    the change made for XFree86 Bugzilla #878 in <a href=
8695    "#xterm_205">patch #205</a> (FreeBSD bug report
8696    #ports/86663).</li>
8697  </ul>
8698
8699  <h1><a name="xterm_205" id="xterm_205">Patch #205 - 2005/9/18 -
8700  XFree86 4.5.99.12</a></h1>
8701
8702  <ul>
8703    <li>correct a typo in CF_FUNC_TGETENT introduced in <a href=
8704    "#xterm_198">patch #198</a> fix for Gentoo #69926.</li>
8705
8706    <li>implement logic in termcap query to process multiple
8707    parameters as documented in ctlseqs.ms</li>
8708
8709    <li>fix buffer size used for termcap query, which was not long
8710    enough for the terminfo "colors" name (patch by Bradd W.
8711    Szonye).</li>
8712
8713    <li>add configure option --enable-readline-mouse, which turns
8714    on the experimental OPT_READLINE code (patch by Ilya
8715    Zakharevich).</li>
8716
8717    <li>for FreeBSD, drop setuid privileges after startup (XFree86
8718    Bugzilla #878, report/patch by Alexander Pohoyda)</li>
8719
8720    <li>add menu entry (alt-esc) and corresponding action
8721    (alt-sends-esc) to toggle the <code>eightBitInput</code>
8722    resource setting.</li>
8723
8724    <li>generate configure script with autoconf 2.52 (patched) to
8725    use the feature therein which forces the script's locale to
8726    POSIX (Gentoo Bugzilla #105369).</li>
8727
8728    <li>modify computation of rows/columns on resize to avoid
8729    extending beyond the given limits, e.g., if resizing in
8730    response to a "maximize" in Gnome or KDE which do not use the
8731    window manager hints for this case (Debian #289123, Novell
8732    #61153).</li>
8733
8734    <li>modifications to work with z/OS 1.4 (Paul Giordano).</li>
8735
8736    <li>improve error-reporting when chown/chmod of the
8737    pseudo-terminal fails, e.g., if a copy of xterm which was
8738    designed to work with old-style pseudo-terminals is not
8739    installed setuid or setgid (report by Jeremy C. Reed).</li>
8740
8741    <li>patches from Emanuele Giaquinta:
8742      <ul>
8743        <li>ctlseqs.ms says that primary and secondary DA accept a
8744        nonzero parameter, which is incorrect. Also modify code to
8745        agree with this.</li>
8746
8747        <li>correct a comment in 88colres.pl</li>
8748
8749        <li>ctlseqs.ms says that the DEC Set/Reset control
8750        sequences for the backarrow key make it send DEL/BS,
8751        respectively, while it's the opposite.</li>
8752
8753        <li>update the menu entries for the metaSendsEscape,
8754        deleteIsDEL and numLock resources when changing them with
8755        the corresponding DEC Set/Reset control sequences.</li>
8756      </ul>
8757    </li>
8758
8759    <li>fixes for configure script:
8760      <ul>
8761        <li>add special case for QNX, defining _QNX_SOURCE.</li>
8762
8763        <li>check for preprocessors which do not perform -U and -D
8764        options in the given order.</li>
8765
8766        <li>improve macro to determine gcc version</li>
8767
8768        <li>improve check for Intel compiler and related warning
8769        options</li>
8770      </ul>
8771    </li>
8772
8773    <li>update config.guess, config.sub</li>
8774
8775    <li>improve fix from <a href="#xterm_198">patch #198</a> for
8776    <code>Cleanup()</code> by ensuring it is not called from the
8777    SIGCHLD handler (patch by Todd Miller (OpenBSD CVS)).</li>
8778
8779    <li>eliminate a retry for a better-matching bold font, to work
8780    around recent font server changes.</li>
8781
8782    <li>fixes for Novell #113277:
8783      <ul>
8784        <li>specify weight for wide font which may be derived from
8785        normal fontname.</li>
8786
8787        <li>cache the derived wide- and widebolt-fontnames.</li>
8788      </ul>
8789    </li>
8790
8791    <li>workaround for Gentoo Bugzilla #100728.</li>
8792
8793    <li>add menubar's border width to layout computation. Normally
8794    this is zero, but patterns such as
8795    <code>XTerm*borderWidth:1</code> would give poor layout for the
8796    toolbar configuration.</li>
8797  </ul>
8798
8799  <h1><a name="xterm_204" id="xterm_204">Patch #204 - 2005/8/4 -
8800  XFree86 4.5.99.9</a></h1>
8801
8802  <ul>
8803    <li>work around quirk in shell which allowed user to "run"
8804    uxterm script when there was no UTF-8 locale installed by
8805    entering "sh -x uxterm". Also popup an xmessage to show the
8806    problem for users who run this via a GUI (Debian #318513).</li>
8807
8808    <li>disallow changes to fonts, toolbar and scrollbar when the
8809    vt100 window is iconified, to simplify management of the active
8810    icon.</li>
8811
8812    <li>fixes to make <code>-geom</code> option work properly with
8813    the toolbar configuration (Gentoo #90717, Gentoo #91967).</li>
8814
8815    <li>minor improvements to scrollbar layout: ensure that the
8816    scrollbar border is zero if the vt100 border is zero.</li>
8817
8818    <li>improve initialization due to <code>utf8</code> resource by
8819    loading the <code>utf8Fonts</code> resource in the case where
8820    <code>locale</code> resource is false. Also in this case, do
8821    not disable switching UTF-8 mode on/off.</li>
8822
8823    <li>minor optimization of TrueType font-loading, loads italic
8824    font only when needed.</li>
8825
8826    <li>correct variable used to store temporary result from lookup
8827    of bold font, when initializing the wide-bold-font data and no
8828    immediate match is found by asking for a bold variant of the
8829    wide-font. The result was to use overstriking rather than the
8830    actual bold font (Debian #318162, patch by Eugene Konev).</li>
8831
8832    <li>add checks to ensure vt100 widget is realized when it might
8833    be updated via actions handled from a tek4014-only
8834    configuration.</li>
8835  </ul>
8836
8837  <h1><a name="xterm_203" id="xterm_203">Patch #203 - 2005/7/6 -
8838  XFree86 4.5.99.7</a></h1>
8839
8840  <ul>
8841    <li>modify initialization of <code>allowSendEvents</code> and
8842    <code>allowWindowOps</code> to prevent modification with the
8843    editres protocol.</li>
8844
8845    <li>fix compiler warning for NetBSD by including util.h in
8846    main.c (XFree86 Bugzilla #1596).</li>
8847
8848    <li>fix to build on Darwin 8.x, which no longer provides
8849    <code>setpgrp()</code> (patch by Min Sik Kim).</li>
8850
8851    <li>adapted fixes for Legend (SCO) from diffs attached to
8852    Freedesktop.Org Bugzilla #3180.</li>
8853
8854    <li>fix typo in xterm manpage description of <code>-ls</code>
8855    option (Freedesktop.Org Bugzilla #3543).</li>
8856
8857    <li>add support for interpreting the underline attribute as an
8858    italic font in Xft mode (patch by Chuck Blake).</li>
8859
8860    <li>improve initialization of toolbar so that individual
8861    pulldown menus are initialized on demand, as they are in the
8862    scenario where they are invoked as popup menus (Gentoo Bugzilla
8863    #90697).</li>
8864
8865    <li>fix logic in <code>find_utmp</code>, which did not reset
8866    result in <code>getutid()</code>, causing an infinite loop in
8867    some conditions (report by Emil Mikulic).</li>
8868
8869    <li>set the <code>_NET_WM_PID</code> property (Gentoo Bugzilla
8870    #91008).</li>
8871
8872    <li>modify ifdef's in ptyx.h and xterm_io.h to build with
8873    DragonFly (patch by Jeroen Ruigrok).</li>
8874
8875    <li>change default values for <code>minBufSize</code> and
8876    <code>maxBufSize</code> to 4096 and 32768 respectively so that
8877    the initial read request will match the value from before
8878    changes to use <code>sched_yield()</code>.</li>
8879
8880    <li>make paste of UTF-8 faster for Western character sets by
8881    checking range of incoming data (patch by Joe Allen).</li>
8882
8883    <li>add experimental option to allow applications to get or set
8884    the selection data as a BASE64 string (adapted from patch by
8885    Joe Allen).</li>
8886
8887    <li>fix an off-by-one error parsing <code>-S/nn</code> option
8888    (Debian #311438, report/fix by Peter Chubb).</li>
8889
8890    <li>fix an initialization bug from <a href="#xterm_201">patch
8891    #201</a> that broke logging (report by Rodney Thayer).</li>
8892
8893    <li>amend change to command-line processing in <a href=
8894    "#xterm_201">patch #201</a> to avoid conflict with
8895    <code>-e</code> option (report by Servatius Brandt).</li>
8896
8897    <li>suppress configure check for <code>_XOPEN_SOURCE</code> on
8898    darwin.</li>
8899
8900    <li>update config.guess, config.sub</li>
8901  </ul>
8902
8903  <h1><a name="xterm_202" id="xterm_202">Patch #202 - 2005/5/2 -
8904  XFree86 4.5.99.3</a></h1>
8905
8906  <ul>
8907    <li>add extended shift- and control-modifier cursor keys to
8908    "xterm+pcfkeys" terminfo entry to correspond to ncurses
8909    20050430 patch.</li>
8910
8911    <li>fix a rare case where text would be written with the wrong
8912    colors because output of scrolled text would reset the colors
8913    and the new text would be written with the same colors
8914    (report/testcase by Thomas Glanzmann).</li>
8915
8916    <li>rename <code>$CMD</code> variable in <code>plink.sh</code>
8917    because it is a reserved symbol in bash 3.00.16 (report by Ted
8918    Taylor).</li>
8919
8920    <li>add environment variables <code>$XTERM_SHELL</code> and
8921    <code>$XTERM_VERSION</code> (request by Zdenek Sekera).</li>
8922
8923    <li>corrected workaround for background color of menubar, which
8924    gave a too-broad expression, coloring the background of the
8925    VT100 widget unless overridden by another resource
8926    setting.</li>
8927
8928    <li>correct an error in the logic which decides when
8929    <code>sched_yield()</code> is run; it would occasionally hang
8930    when contending with other pseudo-terminal applications such as
8931    screen (report by Kirill Ponomarew).</li>
8932
8933    <li>modify initialization to decide whether to default to
8934    built-in <code>wcwidth()</code> versus system's version based
8935    on the starting locale and whether the system's version is poor
8936    quality (suggested by Bram Moolenaar).</li>
8937
8938    <li>update table for <code>mk_width()</code> from UnicodeData
8939    4.1.0 using Markus Kuhn's <code>uniset</code> script.</li>
8940  </ul>
8941
8942  <h1><a name="xterm_201" id="xterm_201">Patch #201 - 2005/4/21 -
8943  XFree86 4.5.99.2</a></h1>
8944
8945  <ul>
8946    <li>improve resource files to show how the menubar and popup
8947    menus can be colored (prompted by report by Joe Wells).</li>
8948
8949    <li>modify parsing of OSC (and SOS, etc), strings so their
8950    contents are not interpreted as UTF-8. This allows non-ASCII
8951    title strings to be set, provided that the window manager
8952    complies (report by Thomas Wolff).</li>
8953
8954    <li>improved some of the built-in line-drawing glyphs.</li>
8955
8956    <li>correct color of "box" character drawn for line-drawing
8957    glyph 1 (report by Nicolas George).</li>
8958
8959    <li>improve behavior when switching to UTF-8 mode after startup
8960    so xterm will check if the current fonts are already wide
8961    (ISO10646-1). If they are not, xterm will use the
8962    <code>utf8Fonts</code> subresource to load appropriate fonts
8963    (request by Bram Moolenaar).</li>
8964
8965    <li>modify logic for setting title-string so it applies to the
8966    current widget rather than the vt100 widget.</li>
8967
8968    <li>modify initialization for wide-bold fontname, to search for
8969    one if none is given (report by Michael Schroeder).</li>
8970
8971    <li>add resource <code>mkWidth</code> and command-line option
8972    <code>-mk_width</code> to control whether xterm uses the
8973    built-in version of wcwidth().</li>
8974
8975    <li>add resource settings for minimum/maximum input buffer
8976    size, and call to <code>sched_yield</code> to improve
8977    performance with newer Linux kernels (adapted from patch by
8978    Nicolas George).</li>
8979
8980    <li>correct computation of width for wide characters with the
8981    invisible attribute (report by Thomas Wolff).</li>
8982
8983    <li>modify interaction between <code>+u8</code> and
8984    <code>locale</code> resource to allow the command-line option
8985    to override the resource (requested by Thomas Wolff).</li>
8986
8987    <li>add a limit check for scrolling margins in a one-line
8988    screen, overlooked in fixes for <a href="#xterm_198">patch
8989    #198</a> (Debian #297430).</li>
8990
8991    <li>correct treatment of <code>iconBorderWidth</code> for
8992    resizing an active-icon, and its description in manpage (Debian
8993    #296592).</li>
8994
8995    <li>modify configure script <code>--disable-imake</code> to use
8996    the script's definitions anyway if it cannot detect imake
8997    (prompted by FreeBSD bug 77408).</li>
8998
8999    <li>ignore error in the I/O initialization that tries to set
9000    the tty to 7-bit input for the case where
9001    <code>eightBitInput</code> resource is false (Debian
9002    #298551).</li>
9003
9004    <li>modify command-processing to accept an optional parameter
9005    that tells xterm which shell program to use (request by Zdenek
9006    Sekera).</li>
9007
9008    <li>add simpler resource <code>keyboardType</code> which, when
9009    set, overrides the individual keyboard-type resources and
9010    eliminates the possibility of conflict between them.</li>
9011
9012    <li>add initialization for <code>scoFunctionKeys</code>
9013    resource (report by Rick K).</li>
9014
9015    <li>correct logic of <code>ReallocateBufOffsets()</code> which
9016    did not copy the content of the old screen buffer to the proper
9017    location, making a repaint clear after switching to
9018    wide-character mode (report by Bram Moolenaar):</li>
9019
9020    <li>implement the remaining pieces to make xterm allocate cells
9021    for wide-characters when the "UTF-8" menu entry is selected.
9022    Also, load the UTF-8 font when that menu entry is selected, or
9023    the escape sequence for UTF-8 mode is received (report by Bram
9024    Moolenaar):</li>
9025
9026    <li>add command-line options (<code>-tb</code>,
9027    <code>+tb</code>) and resource <code>toolBar</code> to allow
9028    menu/toolbar to disabled or enabled at startup (prompted by
9029    reports by Joe Wells).</li>
9030
9031    <li>correct typo in configure script's --enable-dec-locator
9032    option (report by Bram Moolenaar).</li>
9033  </ul>
9034
9035  <h1><a name="xterm_200" id="xterm_200">Patch #200 - 2005/2/6 -
9036  XFree86 4.4.99.23</a></h1>
9037
9038  <ul>
9039    <li>increase color pairs value for xterm-256color and
9040    xterm-88color to match ncurses, which has an experimental
9041    option to support this.</li>
9042
9043    <li>modify ifdef's to make AIX use termios rather than termio;
9044    the struct sizes for the two were not the same.</li>
9045
9046    <li>improve CF_WITH_IMAKE_CFLAGS configure macro script for
9047    OSMAJORVERSION and OSMINORVERSION values, e.g., for Tru64 and
9048    AIX.</li>
9049
9050    <li>modify ifdef to define USE_POSIX_TERMIOS for Darwin (patch
9051    by Min Sik Kim).</li>
9052
9053    <li>modify find_utmp() to initialize the whole utmpx struct
9054    (except ut_id), since that is needed for OSF1 4.0D to prevent
9055    an infinite loop on exit.</li>
9056
9057    <li>add configure check before adding -D_POSIX_SOURCE since
9058    some platforms predefine it, e.g., cygwin.</li>
9059
9060    <li>add simplified sed expressions in CF_IMAKE_CFLAGS configure
9061    script macro to ensure value for PROJECTROOT is quoted on
9062    Solaris, i.e., when nested <code>\(</code> and <code>\)</code>
9063    are not interpreted correctly.</li>
9064
9065    <li>correct DEC rectangle operations to reset state after
9066    completing the operations.</li>
9067
9068    <li>modify CASE_ST handling in charproc.c to ensure that the
9069    parse state is reset even if xterm is not currently processing
9070    an OSC or other string (patch by Johnny Billquist forwarded by
9071    Matthias Scheler, NetBSD xsrc/29003).</li>
9072
9073    <li>fix OS/2 build for innotek_libc (patch by David Yeo).</li>
9074
9075    <li>fix a regression from <a href="#xterm_197">patch #197</a>
9076    fix for Debian #277832 which disowned the selection if it was
9077    scrolled, e.g., by the user pressing return at the bottom of
9078    the screen (Debian #291787).</li>
9079
9080    <li>move the warning/exit for missing $DISPLAY into the error
9081    handler in case <code>-display</code> is given, and the connect
9082    fails for some other reason.</li>
9083  </ul>
9084
9085  <h1><a name="xterm_199" id="xterm_199">Patch #199 - 2005/1/17 -
9086  XFree86 4.4.99.22</a></h1>
9087
9088  <ul>
9089    <li>instead of setting <code>$DISPLAY</code>, check for the
9090    unset variable and warn/exit on this condition (comments by H
9091    Merijn Brand and Bernhard R Link).</li>
9092
9093    <li>fix a typo in Imakefile from <a href="#xterm_198">patch
9094    #198</a> (reports/patches by Stefan Dirsch, Mike Castle).</li>
9095  </ul>
9096
9097  <h1><a name="xterm_198" id="xterm_198">Patch #198 - 2005/1/13 -
9098  XFree86 4.4.99.21</a></h1>
9099
9100  <ul>
9101    <li>set <code>$DISPLAY</code> to ":0" if it is not set.</li>
9102
9103    <li>add <code>utmpDisplayId</code> resource to allow users to
9104    control whether the display identifier (display number and
9105    screen number) are retained in the connection information
9106    recorded in utmp (discussion with Edoardo Tirtarahardja).</li>
9107
9108    <li>add <code>bellOnReset</code> resource to allow users to
9109    disable bell which sounds on hard reset since <a href=
9110    "#xterm_183">patch #183</a> changes to DECSCL (discussion with
9111    Danek Duvall).</li>
9112
9113    <li>improve <code>$WINDOWID</code> for configuration with
9114    toolbar by making it refer to the top-level shell rather than
9115    the parent of the current window. For that case, the parent is
9116    a form widget, which does not have a name, which made the
9117    <code>$WINDOWID</code> not very useful as a parameter for
9118    <code>xwininfo</code> (suggested by Dave Bodenstab).</li>
9119
9120    <li>fix a typo in WhichVFont() macro from <a href=
9121    "#xterm_197">patch #197</a> changes which broke the
9122    --disable-active-icon configuration (report by Ralf S.
9123    Engelschall).</li>
9124
9125    <li>improve some limit checks (Gentoo Bugzilla #75604).</li>
9126
9127    <li>add --disable-setuid option to configure script (Gentoo
9128    Bugzilla #76543).</li>
9129
9130    <li>add --disable-full-tgetent option to configure script,
9131    allowing one to ignore a termcap library in favor of
9132    ncurses/curses (Gentoo Bugzilla #69926).</li>
9133
9134    <li>modify configure script to choose useful warning options
9135    for Intel version 8.0 compiler.</li>
9136
9137    <li>update config.guess, config.sub</li>
9138
9139    <li>make active-icon work properly when TrueType fonts are used
9140    (Debian #286068).</li>
9141
9142    <li>correct change from <a href="#xterm_157">patch #157</a>
9143    which uses getlogin() to check for an alias; the storage used
9144    for the related getpwuid() call was overwritten by the data
9145    used for comparison (patch by Per Hedeland).</li>
9146
9147    <li>correct case of SCS for character set 0 (line-drawing) to
9148    allow it to be selected into GR.</li>
9149
9150    <li>fix a file-descriptor leak (Redhat Bugzilla #139597).</li>
9151
9152    <li>modify <code>creat_as()</code> to only fork if xterm is
9153    actually running as setuid and/or setgid. This works around a
9154    Cygwin bug which hangs when logging is enabled and makes xterm
9155    a little faster for systems using interfaces such as utempter
9156    (report by Al Goodman).</li>
9157
9158    <li>modify <code>Cleanup()</code> to avoid operations such as X
9159    calls that might use unsafe functions when it is called by a
9160    signal handler (report by Michiel Boland).</li>
9161
9162    <li>fix bugs in <a href="#xterm_191">patch #191</a> and in SRM
9163    changes from <a href="#xterm_197">patch #197</a> that broke
9164    DECSET 38: switch to Tek4014 emulation (report by Dave
9165    Bodenstab).</li>
9166
9167    <li>fix for manpage escapes (Marc La France).</li>
9168
9169    <li>improve on IRIX-specific change for Imakefile in XFree86
9170    CVS versus resize linking against termcap library to reflect
9171    definitions for USE_TERMCAP in resize.c</li>
9172  </ul>
9173
9174  <h1><a name="xterm_197" id="xterm_197">Patch #197 - 2004/11/30 -
9175  XFree86 4.4.99.19</a></h1>
9176
9177  <ul>
9178    <li>modify configure script to remove empty "-DPROJECTROOT="
9179    definition which resulted unusable values for luit's default
9180    path.</li>
9181
9182    <li>update precompose.c based on Unicode 4.0.1</li>
9183
9184    <li>several minor fixes based on Intel compiler warnings.</li>
9185
9186    <li>change default translations so a <code>BtnDown</code> which
9187    is not recognized is simply ignored rather than emitting a
9188    bell. That makes it less obtrusive when the user tries to use a
9189    mouse which provides more capabilities than the X mouse driver
9190    supports, e.g., one with a horizontal scroll wheel (Debian
9191    #265133).</li>
9192
9193    <li>note in xterm's manpage that <code>translations</code> is
9194    not specific to xterm (Debian #278897).</li>
9195
9196    <li>modify uxterm script to use locale program to verify if the
9197    derived locale is installed (Debian #246398).</li>
9198
9199    <li>correct font handling for active icon when in UTF-8 mode
9200    (report by Paolo Liberatore).</li>
9201
9202    <li>make active-icon and toolbar configurations work
9203    together.</li>
9204
9205    <li>modify the criteria for disowning primary selection.
9206    Previously, this happened anytime the cursor was moved before
9207    the end of the selection. That would ensure that any
9208    insert/delete of char or line, as well as scrolling, would
9209    disown the selection. The new criteria change this to checking
9210    if the operations would modify the data which is highlighted
9211    (Debian #277832).</li>
9212
9213    <li>reimplement <code>DECALN</code> with functions for vt420
9214    rectangles, fixes selection for this case.</li>
9215
9216    <li>implement vt420 rectangle operations.</li>
9217
9218    <li>add parsing, for debug/test of vt220 soft-fonts.</li>
9219
9220    <li>add menu entry, actions and escape sequence to allow
9221    enabling/disabling toolbars at runtime.</li>
9222
9223    <li>improve rendering for Xft, allow it to draw non-linedrawing
9224    characters such as "pi", which were drawn from internal tables
9225    with <a href="#xterm_180">patch #180</a> (Freedesktop.org
9226    Bugzilla #1260).</li>
9227
9228    <li>add configure option <code>--enable-mini-luit</code>,
9229    ifdef'd the mini-luit feature with
9230    <code>OPT_MINI_LUIT</code>.</li>
9231
9232    <li>add mini-luit feature, which supports Latin9 directly
9233    rather than via luit, provided that Unicode fonts are used
9234    (Freedesktop.org Bugzilla #1571, request by Stefan Dirsch,
9235    patch by Michael Schroeder).</li>
9236
9237    <li>for Linux, if IUTF8 is defined, e.g., on recent 2.6.x
9238    kernels, set the corresponding flag for the slave pty, to
9239    enable UTF-8 interpretation of backspace in cooked mode
9240    (Freedesktop.org Bugzilla #1578, request by Stefan
9241    Dirsch).</li>
9242
9243    <li>modify <code>faceSize</code> resource to use a
9244    floating-point internal value (adapted from patch by Sam
9245    Stephenson).</li>
9246
9247    <li>correct handling selection of tabs over cleared space in
9248    UTF-8 mode. In this special case, xterm represents the
9249    whitespace with a null rather than a space character (Debian
9250    #276447).</li>
9251
9252    <li>amend fix for infinite loop from <a href="#xterm_192">patch
9253    #192</a> to check if there is wrapped text to output in a
9254    following iteration (Debian #273202).</li>
9255
9256    <li>fixes ifdef'd with <code>__INTERIX</code> to allow building
9257    with Interix (Windows Services for UNIX) 3.5 using the xlibs
9258    libraries from freedesktop.org (patch by Min Sik Kim).</li>
9259
9260    <li>amend solution for Debian #252873, Debian #260471 from
9261    <a href="#xterm_194">patch #194</a> by making the cursor not
9262    explicitly colored if only the foreground color is set, and the
9263    cursor is on a blank space (Debian #275473).</li>
9264
9265    <li>correct logic for send/receive mode (SRM) with regard to
9266    control characters.</li>
9267
9268    <li>fix masking of invisible text in wide-character mode, which
9269    did not work for line-drawing characters.</li>
9270
9271    <li>incorporate CF_XOPEN_SOURCE into configure script,
9272    replacing CF_GNU_SOURCE.</li>
9273  </ul>
9274
9275  <h1><a name="xterm_196" id="xterm_196">Patch #196 - 2004/8/15 -
9276  XFree86 4.4.99.12</a></h1>
9277
9278  <ul>
9279    <li>add a special case to configure script to ignore NetBSD's
9280    <code>grantpt()</code> which was recently added (but not part
9281    of a release), until someone is able to ensure that xterm can
9282    use it (report by Min Sik Kim).</li>
9283
9284    <li>clear the buffer returned by getutid(). This fixes an
9285    infinite loop on some platforms introduced in <a href=
9286    "#xterm_193">patch #193</a> by Debian #256468 fix (report by
9287    David Ellement).</li>
9288  </ul>
9289
9290  <h1><a name="xterm_195" id="xterm_195">Patch #195 - 2004/8/8 -
9291  XFree86 4.4.99.11</a></h1>
9292
9293  <ul>
9294    <li>correct length used for blinking text, make the last column
9295    blink (patch by Alexander V Lukyanov).</li>
9296
9297    <li>start changes to make doublesize characters work with
9298    TrueType fonts (see <a href="#xterm_44">patch #44</a>).</li>
9299
9300    <li>trim leading/trailing blanks from color resources as done
9301    for other strings in <a href="#xterm_167">patch #167</a>.</li>
9302
9303    <li>fixes for <code>showBlinkAsBold</code> resource (report by
9304    Christoph Berg).</li>
9305  </ul>
9306
9307  <h1><a name="xterm_194" id="xterm_194">Patch #194 - 2004/7/27 -
9308  XFree86 4.4.99.11</a></h1>
9309
9310  <ul>
9311    <li>change clearing operations so foreground color attribute is
9312    not set. Usually this is benign, but in some cases when the
9313    cursor color is not set explicitly, the cursor would show this
9314    color (Debian #252873, Debian #260471).</li>
9315
9316    <li>add extra state (cursor-moved) to guard against deciding
9317    that the cursor did not require repainting after an indexing
9318    operation that leaves the cursor in the same location on the
9319    screen.</li>
9320
9321    <li>fix a case where a full-screen indexing operation would not
9322    restore the cursor-busy state.</li>
9323
9324    <li>fix a repainting bug introduced in <a href=
9325    "#xterm_180">patch #180</a>: when using a font lacking
9326    line-drawing characters, a repaint of the screen could skip
9327    horizontally an extra amount after filling in the missing
9328    character (reports by Nicolas George, Hans de Goede, Redhat
9329    Bugzilla #128341).</li>
9330
9331    <li>rename terminfo fragment "xterm-pc-fkeys" to
9332    "xterm+pcfkeys" for consistency with ncurses.</li>
9333  </ul>
9334
9335  <h1><a name="xterm_193" id="xterm_193">Patch #193 - 2004/7/19 -
9336  XFree86 4.4.99.10</a></h1>
9337
9338  <ul>
9339    <li>fix for wide-character selection from OpenBSD CVS
9340    (report/patch by Matthieu Herrb).</li>
9341
9342    <li>modify initialization and cleanup of utmp data to also
9343    compare the <code>ut_line</code> member (Debian #256468).</li>
9344
9345    <li>modify check on focus-change to ignore
9346    <code>FocusOut</code> events generated by
9347    <code>XGrabKeyboard</code>. This fixes a case where the text
9348    cursor would act as if focus were lost when selecting the
9349    "Secure Keyboard" menu option.</li>
9350
9351    <li>add <code>gen-pc-fkeys.pl</code> script, use that to
9352    generate terminfo fragment corresponding to the pc-style
9353    function keys.</li>
9354
9355    <li>fix a case where the checkmark by the "VT220 Keyboard" menu
9356    entry was not set on startup.</li>
9357
9358    <li>separated two methods for making the cursor blink (menu and
9359    escape sequence) by using the menu as the primary method and
9360    XOR'ing the state of the escape sequence against that.</li>
9361
9362    <li>modify logic for enabling blinking cursor via escape
9363    sequence as well as the related save/restore operations so this
9364    is only available if the <code>cursorBlink</code> resource was
9365    set on startup.</li>
9366  </ul>
9367
9368  <h1><a name="xterm_192" id="xterm_192">Patch #192 - 2004/7/12 -
9369  XFree86 4.4.99.9</a></h1>
9370
9371  <ul>
9372    <li>change resource settings for color4 and color12, add some
9373    discussion in <code>XTerm-col.ad</code> (Debian #241717).</li>
9374
9375    <li>add a note in xterm manpage discussing the difference
9376    between alt- and meta-keys, and the way the latter is used in
9377    the <code>eightBitInput</code> resource.</li>
9378
9379    <li>add a note in xterm manpage regarding possible conflict
9380    between resource settings for <code>xterm.vt100.font</code> and
9381    <code>xterm.vt100.utf8Fonts.font</code> (Debian #254650).</li>
9382
9383    <li>add compile-time customization of
9384    <code>backarrowKeyIsErase</code> and
9385    <code>ptyInitialErase</code> default resource values (adapted
9386    from OpenBSD CVS).</li>
9387
9388    <li>change parameter of <code>FIONREAD</code>
9389    <code>ioctl()</code> call from long to int (discussion on
9390    tech-x11@netbsd.org regarding LP64 by John Heasley and Matthias
9391    Scheler).</li>
9392
9393    <li>modify configure script options for Athena widgets to work
9394    as expected for "--without-Xaw3d", etc., (Gentoo Bugzilla
9395    #53455).</li>
9396
9397    <li>add case to uxterm to accommodate locales ending with
9398    "@euro", e.g., fr_FR.UTF-8@euro (Debian #255197,
9399    report/analysis by Matthieu Lagouge).</li>
9400
9401    <li>add special case for VT100 graphic's "box" character
9402    (discussion with Ben Armstrong).</li>
9403
9404    <li>add missing initialization for bitmap-font sizes needed to
9405    make fonts menu work with TrueType fonts (report by Ben
9406    Armstrong).</li>
9407
9408    <li>save the fontnames for bold fonts that are derived from
9409    normal fonts, or from the <code>boldFont</code> resource, so
9410    the same value is restored when switching with the VT Fonts
9411    menu (Debian #256086).</li>
9412
9413    <li>fix manpage preprocessing (Marc La France).</li>
9414
9415    <li>fix typo in manpage's description of character classes
9416    (Debian #257073).</li>
9417
9418    <li>modify terminfo to accommodate luit, which relies on G1
9419    being used via an ISO-2022 escape sequence (Debian #254316,
9420    analysis by Juliusz Chroboczek).</li>
9421
9422    <li>modify Makefile.in rule for ctlseqs.txt to work around
9423    groff SGR misfeature.</li>
9424
9425    <li>modify <code>XTerm.ad</code> to set <code>saveLines</code>
9426    default to 1024 (Redhat Bugzilla #127132).</li>
9427
9428    <li>add a limit-check in <code>dotext()</code> to prevent
9429    infinite loop in a corner case of UTF-8 configuration.</li>
9430
9431    <li>update config.guess, config.sub</li>
9432  </ul>
9433
9434  <h1><a name="xterm_191" id="xterm_191">Patch #191 - 2004/6/6 -
9435  XFree86 4.4.99.7</a></h1>
9436
9437  <ul>
9438    <li>correct options parsing for <code>-into</code> option so it
9439    can be combined with <code>-e</code> (Redhat Bugzilla #124518,
9440    report/patch by James Armstrong).</li>
9441
9442    <li>fix ifdef's for <code>OPT_COLOR_RES2</code> so that the
9443    fake resource table introduced in <a href="#xterm_188">patch
9444    #188</a> is not compiled if it is empty. This happened to work
9445    with gcc (report by Joel Konkle-Parker).</li>
9446
9447    <li>reorganize ptydata.c to use one input buffer shared between
9448    the VTxxx and tek4014 emulators. In the new scheme, UTF-8
9449    decoding is performed on characters as they are needed by the
9450    state machine rather than on buffers as they are read.</li>
9451
9452    <li>work around change in quoting of PROJECTROOT symbol when
9453    using configure script, from changes made in <a href=
9454    "#xterm_187">patch #187</a> for CF_IMAKE_CFLAGS (Gentoo
9455    Bugzilla #50982).</li>
9456  </ul>
9457
9458  <h1><a name="xterm_190" id="xterm_190">Patch #190 - 2004/5/25 -
9459  XFree86 4.4.99.6</a></h1>
9460
9461  <ul>
9462    <li>correct state for values in the range 128-159 after
9463    translating from UTF-8: this should be ignored unless the user
9464    overrides it with the <code>allowC1Printable</code> resource
9465    (reported by Simon Strandgaard).</li>
9466
9467    <li>add configure-script check for nl_langinfo(CODESET), use
9468    this to replace check of environment variables for UTF-8.</li>
9469
9470    <li>change Makefile.in rules for 256colres.h and 88colres.h so
9471    they are only made if they do not exist. The maintainer-clean
9472    rule will remove these files; they require perl to be
9473    made.</li>
9474
9475    <li>remove check in configure script --enable-toolbar that
9476    suppressed this option when building with Xaw7.</li>
9477
9478    <li>apply fixes to Tektronix widget used for VT100 widget to
9479    make toolbar work with Xaw7 (XFree86 4.x).</li>
9480  </ul>
9481
9482  <h1><a name="xterm_189" id="xterm_189">Patch #189 - 2004/5/16 -
9483  XFree86 4.4.99.6</a></h1>
9484
9485  <ul>
9486    <li>do not call xim_real_init() if <code>openIm</code> resource
9487    is false (Debian #249025).</li>
9488
9489    <li>minor improvements to built-in line-drawing.</li>
9490
9491    <li>fix a few portability issues with dynamic abbreviation
9492    support, i.e., did not compile on Tru64.</li>
9493
9494    <li>modify constraints in form used to layout toolbar, to work
9495    with newer Xaw in XFree86 4.x.</li>
9496  </ul>
9497
9498  <h1><a name="xterm_188" id="xterm_188">Patch #188 - 2004/5/12 -
9499  XFree86 4.4.99.6</a></h1>
9500
9501  <ul>
9502    <li>correct table entry for DEL in the ground state, which
9503    marked it as a printable character from <a href=
9504    "#xterm_171">patch #171</a> (report by D Hugh Redelmeier).</li>
9505
9506    <li>improve fix in <a href="#xterm_186">patch #186</a> for
9507    failure in xim_real_init() by adding a sleep.</li>
9508
9509    <li>fix a typo in os2main.c (XFree86 Bugzilla #1358,
9510    report/patch by Frank Giessler).</li>
9511
9512    <li>make escape sequence reporting dynamic colors consistent
9513    with the logic that sets it; choosing the opposite color when
9514    reverse video is set (XFree86 Bugzilla #1361, reported by Bradd
9515    W Szonye).</li>
9516
9517    <li>modify initialization of 256- and 88-colors so that colors
9518    beyond 16 are normally not X resources. This works around a
9519    hard-coded limit in Xt which breaks xterm when 256-colors and
9520    luit are both configured (report by Noah Friedman).</li>
9521
9522    <li>remove <code>ncv</code> from <code>xterm-256color</code>
9523    terminfo entry since it is no longer needed (report by Eli
9524    Zaretskii).</li>
9525
9526    <li>add "erase2" and "eol2" keywords to <code>ttyModes</code>
9527    resource, for recent/current FreeBSD.</li>
9528
9529    <li>improve ifdef's for utempter library to omit direct calls
9530    to <code>setutent()</code> or <code>getutent()</code> (adapted
9531    from patch by Christian Biere).</li>
9532
9533    <li>add dynamic abbreviation support like Emacs (patch by
9534    Tomasz Cholewo). This is ifdef'd with <code>OPT_DABBREV</code>,
9535    and enabled via the configure script
9536    <code>--enable-dabbrev</code> option.</li>
9537
9538    <li>fix problem responding to session management events, e.g.,
9539    which would make logging out very slow (patch by Eddy De Greef,
9540    Debian #233883).</li>
9541
9542    <li>work around a newer bug in toolbar with XFree86 by forcing
9543    menus to be fully initialized at startup. In older versions of
9544    XFree86 and X11R6, it was possible to delay initialization of
9545    the menu contents until it was popped up. (The longstanding bug
9546    with XFree86 4.x layout for toolbar still exists, though).</li>
9547
9548    <li>modify <code>xtermAddInput</code> to work around core dump
9549    on IRIX64 when initializing scrollbar translations if toolbar
9550    is compiled-in.</li>
9551
9552    <li>fix some minor conflicts in the 2-character entry names in
9553    the termcap file.</li>
9554  </ul>
9555
9556  <h1><a name="xterm_187" id="xterm_187">Patch #187 - 2004/4/27 -
9557  XFree86 4.4.99.4</a></h1>
9558
9559  <ul>
9560    <li>change xterm version string to use
9561    <code>__vendorversion__</code> where that is available, and
9562    "XTerm" otherwise.</li>
9563
9564    <li>improve description of <code>utf8</code> resource in
9565    manpage (Debian #179407).</li>
9566
9567    <li>modify configure macros CF_IMAKE_CFLAGS and CF_ADD_CFLAGS
9568    to handle <code>-D</code> options that define string values,
9569    e.g., for <code>XVENDORNAME</code>.</li>
9570
9571    <li>modify configure macro CF_IMAKE_CFLAGS to allow (if
9572    <code>$PATH</code> is set accordingly) to use the
9573    <code>xmkmf</code> script within an X build tree.</li>
9574
9575    <li>add missing <code>#undef OPT_SESSION_MGT</code> to
9576    xtermcfg.hin to make the configure script's
9577    --disable-session-mgt option work.</li>
9578
9579    <li>update config.guess, config.sub</li>
9580  </ul>
9581
9582  <h1><a name="xterm_186" id="xterm_186">Patch #186 - 2004/4/18 -
9583  XFree86 4.4.99.4</a></h1>
9584
9585  <ul>
9586    <li>change reset on <code>DECSCL</code> to a soft-reset
9587    (appears some DEC manuals have errors).</li>
9588
9589    <li>add a section to ctlseqs.ms elaborating on normal/alternate
9590    screens.</li>
9591
9592    <li>modify initialization of Acolors[] so that any
9593    XtDefaultForeground or XtDefaultBackground values are
9594    translated as in the Tcolors[], to use the window's
9595    foreground/background colors. This affects the
9596    <code>colorBD</code> and similar resources which normally have
9597    no explicit color assigned.</li>
9598
9599    <li>modify initialization of Tektronix window so that control
9600    sequences setting its color before the window is popped up will
9601    apply to its initial colors.</li>
9602
9603    <li>add control sequence to set Tektronix window's
9604    text-cursor.</li>
9605
9606    <li>modify initialization of terminal colors, e.g., mouse
9607    pointer and text cursor, to treat
9608    <code>XtDefaultForeground</code> and
9609    <code>XtDefaultBackground</code> values as the actual
9610    foreground and background colors of the terminal rather than
9611    white and black (Debian #241717).</li>
9612
9613    <li>remove an incorrect comparison against
9614    <code>PTYCHARLEN</code> in parsing the <code>-S</code> option
9615    (report by Michael B Taylor).</li>
9616
9617    <li>minor restructuring of terminfo/termcap files, having noted
9618    some packager's customizations which caused the structure to be
9619    confused.</li>
9620
9621    <li>eliminate an isolated use of MIN/MAX in charproc.c</li>
9622
9623    <li>replace <code>XtExtdefaultfont</code> and
9624    <code>XtExtdefaultbackground</code> by their more familiar
9625    equivalents <code>XtDefaultFont</code> and
9626    <code>XtDefaultBackground</code>.</li>
9627
9628    <li>replace ifdef's using <code>SCO</code>, <code>sco</code>
9629    and <code>SCO325</code> with <code>__SCO__</code> (XFree86
9630    Bugzilla #1301, Kean Johnston). But ensure that it still builds
9631    on platforms where this symbol is not defined.</li>
9632
9633    <li>add <code>scoFunctionKeys</code> resource, to match
9634    manpage.</li>
9635
9636    <li>update manpage discussion of menus and related
9637    resources.</li>
9638
9639    <li>enable utmpx support for NetBSD 1.6C and newer (patch by
9640    Matthias Scheler).</li>
9641
9642    <li>add a note in the manpage discussing xterm's treatment of
9643    open file-descriptors (request by Dan Shearer).</li>
9644
9645    <li>modify <code>Help()</code> to make "xterm -h" write to
9646    standard output rather than standard error (patch by Bram
9647    Moolenaar).</li>
9648
9649    <li>check for type of failure in xim_real_init() to avoid
9650    looping when the problem is an unsupported input method rather
9651    than a failure to connect to the XIM server. Problem was
9652    introduced in <a href="#xterm_175">patch #175</a> (XFree86
9653    Bugzilla #1306).</li>
9654
9655    <li>modify <code>Imakefile</code> to remove dependency of
9656    "install" target on the <code>xterm</code> executable to make
9657    installs from tree without attempting to rebuild anything
9658    (commit by David Dawes, report/patch from Lee Olsen).</li>
9659
9660    <li>remove call to <code>ShowCursor</code> from
9661    <code>SetCursorBlink()</code> since that is redundant, and can
9662    cause display glitches if the cursor is already blinking
9663    (XFree86 Bugzilla #1158, patch/report by Andreas Schwab).</li>
9664  </ul>
9665
9666  <h1><a name="xterm_185" id="xterm_185">Patch #185 - 2004/3/3 -
9667  XFree86 4.4</a></h1>
9668
9669  <ul>
9670    <li>fix tcap-query logic for the backspace key (XFree86
9671    Bugzilla #1233, report/patch by Anton Kovalenko).</li>
9672
9673    <li>add test-scripts resize.pl and tcapquery.pl</li>
9674
9675    <li>add translation to ASCII of commonly-used characters that
9676    groff translates to Unicode, when the font in use does not
9677    provide the corresponding glyphs (Debian #219551).</li>
9678
9679    <li>modify RequestMaximize(), which performs maximize/restore
9680    via control sequences, to account for window-frame (patch by
9681    Jess Thrysoee).</li>
9682
9683    <li>improve pattern used in <code>uxterm</code> to check for
9684    UTF-8 locale, e.g., for HPUX (patch by H Merijn Brand).</li>
9685
9686    <li>add <code>-fd</code> option and resource
9687    <code>faceNameDoublesize</code> to specify double-wide fonts
9688    with Xft (adapted from patch by Zarick Lau).</li>
9689
9690    <li>change a couple of resource classes from "Boolean" to
9691    specific values: <code>freeBoldBox</code>,
9692    <code>forceBoxChars</code>.</li>
9693
9694    <li>add resource <code>showMissingGlyphs</code> to outline
9695    places on the screen where a font lacks the corresponding
9696    glyph.</li>
9697
9698    <li>add resource <code>showBlinkAsBold</code> to control
9699    whether blinking text should be shown as bold or actual
9700    blinking text.</li>
9701
9702    <li>improve logic in ShowCursor() to avoid repainting the
9703    cursor when it is already visible, e.g., in response to the
9704    DECTCEM escape sequence. This also addresses XFree86 Bugzilla
9705    #1158.</li>
9706
9707    <li>implement blinking text, using the timer for blinking
9708    cursor.</li>
9709
9710    <li>modify FreeType support to allow resizing the font, in the
9711    same ways the window can be resized if fixed fonts are used.
9712    The relative font sizes are derived from the fixed font
9713    sizes.</li>
9714
9715    <li>add menu items and corresponding actions for switching
9716    on/off the UTF-8 mode and Xft (TrueType) support.</li>
9717
9718    <li>add logic to handle switching UTF-8 mode on/off. It worked
9719    if the escape sequences were flushed, but if data was mixed in
9720    with the same write, some were not handled properly (report by
9721    Nicolas George).</li>
9722
9723    <li>modify to allow turning UTF-8 mode on/off via escape
9724    sequence even if <code>-wc</code> option was not given at
9725    startup (patch by Peter Berg Larsen).</li>
9726
9727    <li>amend fix for XFree86 Bugzilla #981, adjusting for
9728    savedlines value (report by Tim Adye).</li>
9729
9730    <li>fix a typo in computing relative font size (Jess
9731    Thrysoee).</li>
9732  </ul>
9733
9734  <h1><a name="xterm_184" id="xterm_184">Patch #184 - 2003/12/31 -
9735  XFree86 4.3.99.903</a></h1>
9736
9737  <ul>
9738    <li>improve configure-script checks for FreeType and related
9739    libraries, using <code>xft-config</code> or
9740    <code>freetype-config</code> scripts when available.</li>
9741
9742    <li>fix configure-script check for <code>SYSV</code> definition
9743    by ensuring whether <code>sys_errlist[]</code> is declared, and
9744    by modifying the test program to include
9745    <code>X11/Intrinsic.h</code> to check that <code>wchar_t</code>
9746    is declared consistently (report by H Merijn Brand).</li>
9747  </ul>
9748
9749  <h1><a name="xterm_183" id="xterm_183">Patch #183 - 2003/12/26 -
9750  XFree86 4.3.99.903</a></h1>
9751
9752  <ul>
9753    <li>correct logic for configurations that may attempt to open
9754    both old/new-style pseudoterminals. In this case, the old-style
9755    are preferred. Logic was broken in <a href="#xterm_145">patch
9756    #145</a> (XFree86 Bugzilla #997, report/patch by Kean
9757    Johnston).</li>
9758
9759    <li>modify handling of <code>eightBitInput</code> resource in
9760    UTF-8 mode to translate the value into UTF-8. Otherwise an
9761    illegal UTF-8 code is sent to the application (report by Bram
9762    Moolenaar).</li>
9763
9764    <li>modify <code>uxterm</code> script to interpret help and
9765    version options so xterm does not always create a window when
9766    the user requests this information (Debian #223926).</li>
9767
9768    <li>add a limit check to ScrnTstWrapped() (XFree86 Bugzilla
9769    #981).</li>
9770
9771    <li>modify DECSCL to perform a hard reset (RIS) as per DEC
9772    manuals. Extended DECSCL to accept parameters for vt4XX and
9773    vt5xx terminals.</li>
9774
9775    <li>correct logic for ANSI conformance level escape sequences,
9776    which were confused with DEC conformance level escape
9777    sequences.</li>
9778
9779    <li>correct state for vt52 shift-in/shift-out, which was not
9780    reset properly after <a href="#xterm_171">patch #171</a>.</li>
9781
9782    <li>correct handling of graphics characters for vt52 mode,
9783    which did not display line-drawing characters after G1 fix from
9784    <a href="#xterm_182">patch #182</a>.</li>
9785
9786    <li>fixes for configure script to work with current Cygwin
9787    headers and libraries.</li>
9788
9789    <li>modify <code>Imakefile</code> to put the current directory
9790    at the beginning of the include searchpath (patch by David
9791    Dawes).</li>
9792  </ul>
9793
9794  <h1><a name="xterm_182" id="xterm_182">Patch #182 - 2003/12/2 -
9795  XFree86 4.3.99.901</a></h1>
9796
9797  <ul>
9798    <li>correct logic for <code>metaSendsEscape</code> resource to
9799    allow for the meta-right key to be tested. Improve check for
9800    meta/alt modifiers by dropping the assumption that a keysym is
9801    associated with only one modifier, and by ignoring NoSymbol
9802    entries in the xmodmap data (XFree86 Bugzilla #924, patch by
9803    David Dawes).</li>
9804
9805    <li>correct wrapping logic for line-drawing characters written
9806    in non-UTF-8 mode of xterm build for wide-characters (XFree86
9807    Bugzilla #918, report/patch by J&uuml;rgen Keil).</li>
9808
9809    <li>improve manpage description of resources, in particular the
9810    <code>utf8Fonts</code> class (XFree86 Bugzilla #905).</li>
9811
9812    <li>add definitions to compile with glibc-based GNU/Hurd,
9813    GNU/KFreeBSD and GNU/KNetBSD (XFree86 Bugzilla #893).</li>
9814
9815    <li>compiler-warning fixes (patch by Christian Biere).</li>
9816
9817    <li>add README.i18n (Tomohiro Kubota).</li>
9818
9819    <li>correct initialization of G1 character set mapping, which
9820    used line-drawing set as a result of confusion between "DEC
9821    Supplemental Graphic" and "DEC Special Graphic" character sets
9822    (see <a href="#xterm_34">patch #34</a> regarding DECSTR).</li>
9823
9824    <li>correct ifdef in main.c for variable utret (patch by
9825    Bernhard Rosenkraenzer).</li>
9826
9827    <li>document in xterm's manpage how to use XFree86 ":unscaled"
9828    keyword to suppress scaling of bold fonts.</li>
9829
9830    <li>when deriving bold fontname from normal fontname, use the
9831    normal font's average width to avoid for example selecting
9832    7x13bold from an 8x13 normal font (Debian #107769).</li>
9833  </ul>
9834
9835  <h1><a name="xterm_181" id="xterm_181">Patch #181 - 2003/10/26 -
9836  XFree86 4.3.99.15</a></h1>
9837
9838  <ul>
9839    <li>implement <code>boldMode</code> for wide-character logic in
9840    <code>drawXtermText()</code> (report by Michael
9841    Schroeder).</li>
9842
9843    <li>modify <code>UXTerm.ad</code> resource file to include
9844    "XTerm-color" rather than "XTerm", in case the latter file
9845    contains no color resource definitions, e.g., after <a href=
9846    "#xterm_180">patch #180</a>.</li>
9847
9848    <li>add action <code>load-vt-fonts()</code> and configure
9849    option <code>--enable-load-vt-fonts</code> which allows users
9850    to define additional sets of VT-fonts which can be loaded at
9851    runtime.</li>
9852
9853    <li>add logic to wide-character support which attempts to load
9854    fonts specified by <code>utf8Fonts</code> subresources at
9855    startup. The subresources have the same names as the fonts
9856    which they replace, e.g., <code>font</code>,
9857    <code>font1</code>, etc., so that the ISO-10646-1 fonts can be
9858    specified in the <code>XTerm</code> app-defaults file (adapted
9859    from patch by Tomohiro Kubota).</li>
9860
9861    <li>improve Set Font escape string handling by making the
9862    relative settings apply to the size of the font, as in shift
9863    keypad plus/minus rather than the menu index.</li>
9864
9865    <li>simplify parameter passing for the <code>set-vt-font</code>
9866    action and related code.</li>
9867
9868    <li>cleanup some include-ordering, moving some recently-added
9869    hardcoded stuff into xterm.h where it will not interfere with
9870    the configure script.</li>
9871
9872    <li>modify <code>xtermAddInput()</code> (see note on
9873    augmentation in <a href="#xterm_158">patch #158</a>) to use the
9874    complete set of default keyboard translations so that one can
9875    use shifted pageup, wheel mouse, etc., while the mouse pointer
9876    is over the scrollbar. (Debian #178812).</li>
9877
9878    <li>make save/restore mode controls apply to show/blink cursor
9879    states.</li>
9880
9881    <li>add escape sequence to start/stop blinking cursor, which
9882    allows implementing <code>cvvis</code> terminfo capability
9883    (request by Nate Bargmann).</li>
9884
9885    <li>add <code>indp</code> and <code>rin</code> to terminfo
9886    entry.</li>
9887
9888    <li>fix an out-of-bounds array reference in ScrnRefresh() for
9889    wide characters (report by Dan Harnett, patch by Todd Miller).
9890    This bug dates from <a href="#xterm_141">patch #141</a>.</li>
9891  </ul>
9892
9893  <h1><a name="xterm_180" id="xterm_180">Patch #180 - 2003/10/12 -
9894  XFree86 4.3.99.15</a></h1>
9895
9896  <ul>
9897    <li>several fixes for rendering using Xft via option
9898    <code>-fa</code>:
9899      <ul>
9900        <li>translate Unicode values, i.e,. from UTF-8 output to
9901        xterm, for line-drawing to xterm's internal code, etc.,
9902        since TrueType fonts generally do not have either set of
9903        line-drawing glyphs. xterm can draw these directly (report
9904        by Abigail Brady).</li>
9905
9906        <li>pass 16-bit values rather than 8-bit values to
9907        xtermXftDrawString() to allow for wide-characters.</li>
9908
9909        <li>remove spurious check for <code>colorBDMode</code>
9910        resource in logic that does bold fonts.</li>
9911
9912        <li>implement underlining.</li>
9913      </ul>
9914    </li>
9915
9916    <li>patches by Ilya Zakharevich:
9917      <ul>
9918        <li>improve drawXtermText() by making the recursive calls
9919        communicate through arguments, and not through
9920        saving/restoring global variables.</li>
9921
9922        <li>make double-width characters work with <code>-u8</code>
9923        option.</li>
9924
9925        <li>modify lookup of double-sized fonts by checking for a
9926        match ignoring x/y resolution if the first check
9927        fails.</li>
9928      </ul>
9929    </li>
9930
9931    <li>make height of TrueType fonts match ascent+descent (patch
9932    by Keith Packard).</li>
9933
9934    <li>correct configure-script check for imake $CFLAGS, which did
9935    not check properly if imake was not available.</li>
9936
9937    <li>correct install rule in Makefile.in for
9938    <code>uxterm</code>, which was attempting to strip the script
9939    (newsgroup posting by Fernan Aguero).</li>
9940
9941    <li>correct AF/AB strings in termcap for xterm-256color and
9942    xterm-88color entries (report by Josh Howard).</li>
9943
9944    <li>update wcwidth.c to incorporate changes from Markus Kuhn's
9945    2003-05-20 (Unicode 4.0) version of that file.</li>
9946
9947    <li>modify <code>scroll-back</code> and
9948    <code>scroll-forw</code> actions to accept an adjustment value,
9949    e.g.,
9950
9951      <pre>
9952              <code>scroll-back(1, page-2)</code>
9953</pre>to scroll back by 2 lines less than a page (patch by Greg
9954Klanderman).
9955    </li>
9956
9957    <li>use color resource setting from Debian package for xterm
9958    VT100 widget, since the choice of blues provides better
9959    contrast.</li>
9960
9961    <li>remove color resources from <code>XTerm.ad</code>, leaving
9962    them only in <code>XTerm-col.ad</code> (prompted by Debian
9963    package for xterm).</li>
9964
9965    <li>correct configure script option --enable-pty-handshake
9966    (report by Paul Gilmartin).</li>
9967
9968    <li>add <code>visualBellDelay</code> resource to modify the
9969    length of time used for visual bell, for very slow displays or
9970    very fast computers (reports by Ingo van Lil and Doug
9971    Toppin).</li>
9972
9973    <li>correct logic for initializing dynamic highlight color
9974    (patch by Jess Thrysoee).</li>
9975
9976    <li>add a check for non-zero size in call to
9977    <code>XCopyArea()</code> to accommodate a Solaris bug.</li>
9978
9979    <li>correct typo in example for character classes in xterm
9980    manpage (Debian #198910).</li>
9981
9982    <li>link xterm with bind_on_load option on Darwin to work
9983    around a deadlock in the dynamic loader when a signal is
9984    received while the dynamic loader is looking up symbols
9985    (patches by Rob Braun, Torrey Lyons).</li>
9986
9987    <li>modify configure script to avoid using "head -1".</li>
9988
9989    <li>update config.guess, config.sub</li>
9990
9991    <li>modify ifdef's to work around inclusion of types FcChar32
9992    and XftCharSpec with FreeType 2.0 (see <a href=
9993    "#xterm_175">patch #175</a>).</li>
9994
9995    <li>modify the predictable version of the generated logfile
9996    name (see <a href="#xterm_171">patch #171</a>) to append the
9997    process-id rather than a random value.</li>
9998
9999    <li>resync with XFree86 CVS
10000      <ul>
10001        <li>Enable SCO function keys in xterm</li>
10002
10003        <li>Make Delete key send DEL by default on SCO in
10004        xterm</li>
10005      </ul>
10006    </li>
10007  </ul>
10008
10009  <h1><a name="xterm_179" id="xterm_179">Patch #179 - 2003/5/21 -
10010  XFree86 4.3.99.5</a></h1>
10011
10012  <ul>
10013    <li>modify ifdef's for WTMPX_FILE to allow building on cygwin
10014    again.</li>
10015
10016    <li>change the default of pty-handshaking configure option (and
10017    related default for imake) to assume this feature is
10018    needed.</li>
10019
10020    <li>add ifdef's so configure option for XawPlus library works
10021    (patch by Pavel Roskin).</li>
10022
10023    <li>add <code>$(MAIN_DEFINES)</code> to the variables checked
10024    by the configure script that may contain information set by
10025    imake. This allows xterm to build/run properly using the
10026    configure script on IRIX64.</li>
10027
10028    <li>add configure check for ".exe" suffix on cygwin.</li>
10029  </ul>
10030
10031  <h1><a name="xterm_178" id="xterm_178">Patch #178 - 2003/5/18 -
10032  XFree86 4.3.99.5</a></h1>
10033
10034  <ul>
10035    <li>modify default for configure
10036    <code>--enable-pty-handshake</code> option to enable it for
10037    Solaris (report by Nelson Beebe).</li>
10038
10039    <li>modify <code>in_put()</code> function to call
10040    <code>PreeditPosition()</code> only when the cursor's position
10041    has changed. This addresses report by Stefan Baums of high CPU
10042    usage while xterm with chinput are running in the background
10043    (patch by Yong Li).</li>
10044
10045    <li>improved explanation of <code>-ls</code> conflict with
10046    <code>-e</code> option in xterm manpage (adapted from comments
10047    by Henning Makholm).</li>
10048
10049    <li>correct comment in terminfo file regarding modifier used
10050    for <code>kDC</code> (Debian #189764, report by Henning
10051    Makholm).</li>
10052
10053    <li>correct/extend some of the keypad description in ctlseqs.ms
10054    (report by Henning Makholm).</li>
10055
10056    <li>correct keypad-mapping table in input.c so
10057    <code>XK_KP_Equal</code> works (report by Henning
10058    Makholm).</li>
10059
10060    <li>modified to work with CJK double-width (bi-width/monospace)
10061    fonts. They're similar to Roman Czbora and David Starner's
10062    gnuunifonts in that Latin letters and numbers have all the same
10063    width which is exactly the half of the width of East Asian
10064    characters. (patch by Jungshik Shin
10065    &lt;jshin@mailaps.org&gt;).</li>
10066
10067    <li>add configure option <code>--enable-broken-osc</code> and
10068    resource <code>brokenLinuxOSC</code> to accommodate scripts
10069    which do not distinguish between running in the Linux console
10070    and running in X. Linux console recognizes malformed control
10071    strings which start with an <code>OSC</code>, but are
10072    fixed-length, with no terminator.</li>
10073
10074    <li>add configure option <code>--enable-broken-st</code> and
10075    resource <code>brokenStringTerm</code> to allow user to revert
10076    one part of the parsing table corrections from <a href=
10077    "#xterm_171">patch #171</a>. (reports by Matthias Scheler and
10078    Kirill Ponomarew indicate that someone's network firmware sends
10079    an <code>&lt;escape&gt;X</code>).</li>
10080
10081    <li>modify configure <code>--disable-imake</code> to provide
10082    values for <code>OSMAJORVERSION</code>,
10083    <code>OSMINORVERSION</code>, <code>FUNCPROTO</code> and
10084    <code>NARROWPROTO</code> (report by Heiko Schlichting).</li>
10085
10086    <li>correct <code>vttests/16colors.sh</code>, which omitted the
10087    <code>$SUF</code> variable in output strings (patch by Paul
10088    Gilmartin).</li>
10089
10090    <li>modify shell scripts in <code>vttests</code> directory to
10091    attempt to use named signals in the <code>trap</code>
10092    statement, making this portable to OS/390 (report by Paul
10093    Gilmartin). Tested on SunOS 4.1.4, which implements only
10094    numbers.</li>
10095  </ul>
10096
10097  <h1><a name="xterm_177" id="xterm_177">Patch #177 - 2003/3/23 -
10098  XFree86 4.3.0</a></h1>
10099
10100  <ul>
10101    <li>fix definition of <code>USE_HANDSHAKE</code>, must be
10102    numeric (reported by Jens Schleusener).</li>
10103  </ul>
10104
10105  <h1><a name="xterm_176" id="xterm_176">Patch #176 - 2003/3/22 -
10106  XFree86 4.3.0</a></h1>
10107
10108  <ul>
10109    <li>add configure option <code>--enable-pty-handshake</code> to
10110    allow one to compile-in support for the pty handshaking logic,
10111    and resource <code>ptyHandshake</code> to enable or disable it
10112    (suggested by Ian Collier).</li>
10113
10114    <li>restore <code>USE_HANDSHAKE</code> ifdef removed in
10115    <a href="#xterm_159">patch #159</a> to address Debian
10116    #39964.</li>
10117
10118    <li>move ifdef's for ttysize/winsize into xterm_io.h</li>
10119
10120    <li>simplify loop on <code>tgetent</code>, check if the
10121    successive entries in the lookup table are the same. That makes
10122    xterm do one less lookup if there is no "xterm" entry in the
10123    termcap file (report by Derek Martin).</li>
10124
10125    <li>correct manpage discussion of <code>$TERM</code> and
10126    <code>$TERMCAP</code> variables, which omitted the Tektronix
10127    emulation and a note of the final "dumb" fallback.</li>
10128
10129    <li>broaden ifdef for
10130    <code>XRegisterIMInstantiateCallback()</code> from <a href=
10131    "#xterm_175">patch #175</a> (XIM fix) to exclude non-XFree86
10132    (report by Nelson Beebe indicates this breaks for Solaris, IRIX
10133    and OSF/1).</li>
10134
10135    <li>correct resource-size for <code>iconFont</code> (this was
10136    added by X11R6.3).</li>
10137
10138    <li>improve configure check for XKB bell extension, to work
10139    around inconsistent implementation of this feature (reports by
10140    Nelson Beebe, Kriston Rehberg and David Ellement).</li>
10141
10142    <li>modify configure-check for <code>tty</code> group to be
10143    less strict in batch mode (report by Nelson Beebe).</li>
10144
10145    <li>modify to allow building with g++, to use its compiler
10146    warnings (suggested by Nelson Beebe).</li>
10147
10148    <li>modify <code>dec2ucs[]</code> table to reflect newer codes
10149    available for scanlines 1, 3, 7, 9 (report by Michael
10150    Schroeder).</li>
10151
10152    <li>add configure option for XawPlus library.</li>
10153  </ul>
10154
10155  <h1><a name="xterm_175" id="xterm_175">Patch #175 - 2003/3/9 -
10156  XFree86 4.3.0</a></h1>
10157
10158  <ul>
10159    <li>fix a SIGSEGV which could occur if xterm is connecting to
10160    XIM server, and the XIM server is destroyed (patch by Nam
10161    SungHyun).</li>
10162
10163    <li>modify to use built-in line-drawing characters for Xft
10164    fonts (patch by Andrew Tipton).</li>
10165
10166    <li>make menu reflect the state of the <code>tekInhibit</code>
10167    resource.</li>
10168
10169    <li>make <code>signalInhibit</code> resource work, i.e.,
10170    disable the menu entries that would send signals to, or exit
10171    xterm. This was probably broken in X11R5 when logging was
10172    disabled (report by Sven Mascheck).</li>
10173
10174    <li>changed classes of <code>colorBDMode</code> and similar
10175    resources that override colors when a video attribute is set to
10176    <code>ColorAttrMode</code>, to make them distinct from
10177    <code>ColorMode</code>. This avoids an unexpected rendering of
10178    reverse video, for example (report by Paul Fox).</li>
10179
10180    <li>changed class of <code>veryBoldColors</code> to
10181    <code>VeryBoldColors</code>, since <code>ColorMode</code> is
10182    associated with boolean resources.</li>
10183
10184    <li>add option <code>-k8</code> and resource
10185    <code>allowC1Printable</code> to allow users of non-VTxxx
10186    character sets such as KOI-8 to treat the C1 control area
10187    (character codes 128-159) as printable rather than control
10188    characters.</li>
10189
10190    <li>add a null-pointer check for return-value of
10191    <code>ptsname()</code> in HPUX-specific code (report by David
10192    Ellement).</li>
10193
10194    <li>revise the ifdef's used for <code>XKB</code> bell support.
10195    The code was using a nonstandard call
10196    <code>XkbStdBell()</code>. Changed to use
10197    <code>XkbBell()</code> (based on patch by
10198    &lt;derek@signalmarketing.com&gt;).</li>
10199
10200    <li>add a null-pointer check in <code>xtermLoadFont()</code> in
10201    case there is no wide-bold font (Nam SungHyun).</li>
10202
10203    <li>change <code>Makefile.in</code> to use autoconf's
10204    <code>bindir</code>, <code>libdir</code> and
10205    <code>mandir</code> variables (report by Nam SungHyun).</li>
10206
10207    <li>add <code>le</code> to termcap <code>xterm-basic</code>
10208    entry. Though missing from older termcaps for xterm, some
10209    applications check for it (report by Matthias Buelow).</li>
10210
10211    <li>modify <code>uxterm</code> script to strip modifiers such
10212    as "@euro" from the locale setting before adding ".UTF-8"
10213    (Debian #179929).</li>
10214
10215    <li>modify the remaining places where tek4014 emulation uses
10216    <code>XDefineCursor()</code>, to make it work as originally
10217    implemented, e.g., when switching back to alpha mode. Added
10218    test-screen in vttest to test this feature properly.</li>
10219  </ul>
10220
10221  <h1><a name="xterm_174" id="xterm_174">Patch #174 - 2003/2/25 -
10222  XFree86 4.2.99.903</a></h1>
10223
10224  <ul>
10225    <li>work-around for XFree86 bug which made
10226    <code>XDefineCursor()</code> on a shell-window no longer work.
10227    The tek4014 emulation used this. Use the next lower window
10228    (report by Karl Rudolf Bauchspiess).</li>
10229
10230    <li>add a resource setting <code>allowWindowOps</code> to
10231    control whether the extended window operations should be
10232    allowed, e.g., resize, iconify, report window attributes. This
10233    is to accommodate people who are not capable of using a pager
10234    to view log-files.</li>
10235  </ul>
10236
10237  <h1><a name="xterm_173" id="xterm_173">Patch #173 - 2003/2/6 -
10238  XFree86 4.2.99.902</a></h1>
10239
10240  <ul>
10241    <li>reset mouse mode to normal on a full reset. This does not
10242    apply to mouse hilite tracking mode, of course (see
10243    ctlseqs.ms).</li>
10244
10245    <li>add a time-delay at the point where mouse hilite tracking
10246    mode choses to not handle X events, to avoid runaway CPU usage
10247    (report by D Hugh Redelmeier).</li>
10248
10249    <li>check for illegal character in DECUDK string, quit if
10250    detected.</li>
10251  </ul>
10252
10253  <h1><a name="xterm_172" id="xterm_172">Patch #172 - 2002/12/27 -
10254  XFree86 4.2.99.3</a></h1>
10255
10256  <ul>
10257    <li>fixes to make repainting of 256-color example work properly
10258    (reports by Abigail Brady and Scott A Crosby).
10259      <ul>
10260        <li>set flag in <code>AllocateAnsiColor()</code> to ensure
10261        the color is allocated once only.</li>
10262
10263        <li>fix check in <code>ScrnRefresh</code>, which was
10264        comparing background colors only if the ANSI foreground
10265        colors also were set.</li>
10266      </ul>
10267    </li>
10268
10269    <li>merge <code>Error()</code> calls and some
10270    <code>exit()</code> calls into <code>SysError()</code>, and
10271    change that to add the brief explanation for each error code
10272    which is provided in the manpage. Change a few
10273    <code>SysError()</code>, calls to avoid using code 1, to avoid
10274    confusion with exit status from places that do not use
10275    <code>SysError()</code>.</li>
10276
10277    <li>simplify logic used to open a debug logfile as the standard
10278    error.</li>
10279
10280    <li>modify the <code>-e</code> option so that if it fails,
10281    xterm will check if only one argument follows, e.g., it was
10282    quoted, and then retry using <code>sh&nbsp;-c</code>.</li>
10283
10284    <li>modify parsing of DECUDK string parameter to allow a comma
10285    between pairs of hexadecimal digits (Ray Neuman
10286    &lt;raymond@one.com.au&gt; reports that "real" terminals accept
10287    this; perhaps they simply ignore unexpected characters).</li>
10288
10289    <li>fix a few problems with the <code>$TERMCAP</code> string
10290    generated by <code>resize</code>:
10291      <ul>
10292        <li>for Bourne shell, add an <code>export</code> command.
10293        This was missing as far back as X11R5.</li>
10294
10295        <li>escape exclamation marks, used in xterm's reset
10296        string.</li>
10297
10298        <li>translate literal <code>\177\</code> to "^?".</li>
10299      </ul>
10300    </li>
10301
10302    <li>improve configure check for <code>tgetent()</code> to work
10303    when <code>$TERMCAP</code> has been set to a specific
10304    entry.</li>
10305
10306    <li>modify <code>minstall.sh</code> to use "%" rather than "@",
10307    to avoid problems with AFS (report by Zdenek Sekera).</li>
10308
10309    <li>list fatal error codes from <code>error.h</code> in the
10310    manpage, remove unused codes in <code>error.h</code>.</li>
10311
10312    <li>use more explicit wording for manpage list of color
10313    resources, since at least one user confused the generic names
10314    such as "black" with the names in rgb.txt (the latter are now
10315    used).</li>
10316
10317    <li>minor fix to description of 1003 mouse mode in ctlseqs.ms
10318    (Larry Riedel).</li>
10319  </ul>
10320
10321  <h1><a name="xterm_171" id="xterm_171">Patch #171 - 2002/12/12 -
10322  XFree86 4.2.99.3</a></h1>
10323
10324  <ul>
10325    <li>modify parser tables to improve detection of malformed
10326    control sequences, making xterm behave more like a real DEC
10327    terminal (patch by Paul Williams).</li>
10328
10329    <li>update comment in <code>input.c</code> to document
10330    <code>Meta</code> as a modifier for escape sequences (patch by
10331    D Roland Walker).</li>
10332
10333    <li>add ifdef'd code for logging option which adds the hostname
10334    and a timestamp to the generated logfile name. The ifdef's are
10335    setup with the configure script (patch by Nelson Beebe).</li>
10336
10337    <li>remove <code>xevents()</code> call from the end of
10338    <code>BlinkCursor()</code>, to fix an occasional problem which
10339    caused xterm to pause until a key was pressed. The reason for
10340    this was that there was no check to ensure that there really
10341    were events for <code>xevents()</code> to process. (patch by
10342    Semen A Ustimenko &lt;semenu@FreeBSD.org&gt;).</li>
10343
10344    <li>remove unused mode-params from <code>open()</code> calls
10345    that do not create a file.</li>
10346
10347    <li>modify configure script to put new items first on
10348    <code>$CPPFLAGS</code> and <code>$CFLAGS</code> to avoid
10349    conflict with environment's <em>-I</em> and <em>-D</em>
10350    options.</li>
10351
10352    <li>update config.guess, config.sub</li>
10353
10354    <li>resync with XFree86 CVS
10355      <ul>
10356        <li>fix va_args glitches for xterm/libfontconfig: 0 ==
10357        (void*)0 isn't true for all platforms (Egbert Eich).</li>
10358
10359        <li>initialise ProgramName in xterm's main before
10360        referencing it (XFree86 #5473, Peter Valchev).</li>
10361
10362        <li>some cleanup of Imakefile ifdef's (Marc La
10363        France).</li>
10364      </ul>
10365    </li>
10366  </ul>
10367
10368  <h1><a name="xterm_170" id="xterm_170">Patch #170 - 2002/10/13 -
10369  XFree86 4.2.1</a></h1>
10370
10371  <ul>
10372    <li>correct an off-by-one allocating data for sorted help
10373    message.</li>
10374
10375    <li>modify configure script to check for Xpm library, on which
10376    XFree86 Xaw library depends.</li>
10377
10378    <li>update config.guess, config.sub</li>
10379  </ul>
10380
10381  <h1><a name="xterm_169" id="xterm_169">Patch #169 - 2002/10/5 -
10382  XFree86 4.2.1</a></h1>
10383
10384  <ul>
10385    <li>modify wording of some options in help message to make them
10386    use <code>-/+</code> consistently with respect to "on/off" or
10387    "off/on".</li>
10388
10389    <li>sort options list which is displayed in help- and
10390    syntax-messages at runtime to simplify maintenance.</li>
10391
10392    <li>remove support for Amoeba and Minix (Juliusz Chroboczek
10393    noted it was removed from XFree86 server; there have been no
10394    users since 1996).</li>
10395
10396    <li>add configure script option
10397    <code>--disable-session-mgt</code> to control whether the
10398    session management code should be compiled-in (request by H
10399    Merijn Brand).</li>
10400
10401    <li>ifdef'd the session-management changes with
10402    <code>OPT_SESSION_MGT</code>, to accommodate X11R5 which
10403    predates the related definitions.</li>
10404
10405    <li>fix <code>decode_keyvalue()</code>, which did not properly
10406    parse multiple settings as needed for the <code>ttyModes</code>
10407    resource, since it did not skip over the parsed data.</li>
10408
10409    <li>fix an option-parsing conflict between <code>-class</code>
10410    and <code>-cjk_width</code> (Nam SungHyun)</li>
10411
10412    <li>add a missing null in <code>XtVaSetValues()</code> call
10413    used in <code>Cleanup()</code> (Nam SungHyun)</li>
10414  </ul>
10415
10416  <h1><a name="xterm_168" id="xterm_168">Patch #168 - 2002/9/29 -
10417  XFree86 4.2.1</a></h1>
10418
10419  <ul>
10420    <li>improve data reported for control sequence that requests
10421    window position by taking into account the window decorations,
10422    e.g., border and title (patch by Jess Thrysoee
10423    &lt;jess@thrysoee.dk&gt;).</li>
10424
10425    <li>add <code>-cjk_width</code> and corresponding resource
10426    <code>cjkWidth</code> (patch by Jungshik Shin
10427    &lt;jshin@mailaps.org&gt;).</li>
10428
10429    <li>add <code>-into</code> option, for embedding xterm in a
10430    Tcl/Tk application (patch by George Peter Staplin
10431    &lt;georgeps@xmission.com&gt;).</li>
10432
10433    <li>add simple session management (XSM) client capabilities to
10434    xterm. So a session manager such as, e.g., xsm, should be able
10435    to respawn or kill xterms without the help of an SM proxy (like
10436    smproxy), which is a hack and almost always buggy (patch by
10437    David Madore).</li>
10438
10439    <li>fix conflict between ifdef's for
10440    <code>OPT_DEC_LOCATOR</code> and <code>OPT_READLINE</code> in
10441    button.c (reported by Ilya Zakharevich).</li>
10442
10443    <li>fix for inconsistent use of <code>struct utmp</code> versus
10444    <code>struct utmpx</code> introduced in <a href=
10445    "#xterm_167">patch #167</a> (patches by Paul Gilmartin, Marc La
10446    France).</li>
10447
10448    <li>modify logic for <code>metaSendsEscape</code> to allow it
10449    to work in a setup where the Meta-key is not recognized as a
10450    modifier by the key-translations logic (discussion of
10451    eightBitInput with H.J.Lu). Note however that Vincent
10452    Lef&egrave;vre reported this in January).</li>
10453
10454    <li>use null pointer values consistently, rather than literal
10455    "0", for ending variable-length argument lists, e.g., for
10456    <code>execlp()</code> (based on patch by Matthieu Herrb).</li>
10457
10458    <li>correct logic of <code>ChangeAnsiColorRequest()</code>,
10459    which would do a screen repaint after replying to a request for
10460    information.</li>
10461
10462    <li>improve scripts in vttests to work with systems whose
10463    shells support <code>echo -n</code> and have, as does Debian,
10464    an unrelated <code>print</code> utility.</li>
10465
10466    <li>add vttests/acolors.sh to demonstrate OSC 4, which queries
10467    or sets ANSI colors.</li>
10468
10469    <li>fixes for ctlseqs.ms (Pavel Roskin, Ilya Zakharevich).</li>
10470
10471    <li>typos in xterm manpage (Jens Schweikhardt)</li>
10472
10473    <li>remove a redundant GCC_UNUSED from InitPopup() (Nam
10474    SungHyun)</li>
10475  </ul>
10476
10477  <h1><a name="xterm_167" id="xterm_167">Patch #167 - 2002/8/24 -
10478  XFree86 4.2.0</a></h1>
10479
10480  <ul>
10481    <li>correct ifdef's for <code>USE_TERMCAP</code> to match
10482    cygwin configuration.</li>
10483
10484    <li>fix several places in ctlseqs.ms which had no boxes around
10485    the literal text (report by Ilya Zakharevich).</li>
10486
10487    <li>extend mouse support for readline, ifdef'd with
10488    OPT_READLINE (integrated patch from Ilya Zakharevich).</li>
10489
10490    <li>modify terminfo description to match default for
10491    <code>modifyCursorKeys</code> resource.</li>
10492
10493    <li>add <code>modifyCursorKeys</code> resource to control how
10494    the shift- and similar modifiers are used to make a cursor
10495    escape sequence. The default makes a modified escape sequence
10496    always start with CSI and puts the modifier as the second
10497    parameter, to avoid confusing applications that would interpret
10498    the first parameter as a repeat count. The original behavior
10499    can be obtained by setting the resource to 0 (newsgroup
10500    discussion with Stephen J Turnbull, Jeffrey Altman).</li>
10501
10502    <li>correct missing initializations for
10503    <code>appdefaultCursor</code> and <code>appdefaultKeypad</code>
10504    resources.</li>
10505
10506    <li>add configure option <code>--enable-luit</code> and ifdef'd
10507    the luit-related code with OPT_LUIT_PROG.</li>
10508
10509    <li>modify xterm to invoke luit (integrated patch by Tomohiro
10510    Kubota)</li>
10511
10512    <li>update wcwidth.c to match Markus Kuhn's 2002-05-18
10513    version.</li>
10514
10515    <li>correct limit-checking in <code>ComputeSelect()</code> to
10516    handle selections that extend off the visible area; rather than
10517    modify the parameters to <code>TrackText()</code>, use
10518    <code>ScrollSelection()</code> to update the highlighting
10519    limits. (reported by Yegappan Lakshmanan and Nelson Beebe,
10520    patch by Alexander V Lukyanov).</li>
10521
10522    <li>correct manpage description of <code>tiXtraScroll</code>
10523    resource (reported by Tony Finch).</li>
10524
10525    <li>changes from OpenBSD:
10526      <ul>
10527        <li>Make xterm setgid utmp to be able to update utmp even
10528        with root privileges revoked.</li>
10529
10530        <li>If not updating utmp, revoke group privileges totally
10531        too.</li>
10532      </ul>
10533    </li>
10534
10535    <li>changes from NetBSD:
10536      <ul>
10537        <li>Check that the return value from ttyslot() is greater
10538        than 0 before writing the utmp file. Fixes w's "w: Stale
10539        utmp entry: &lt;user&gt; &lt;tty&gt; &lt;pty&gt;"
10540        errors.</li>
10541
10542        <li>Use openpty() to deal with new pty naming scheme.</li>
10543      </ul>
10544    </li>
10545
10546    <li>add <code>print-redir</code> action and menu entry to allow
10547    user to switch terminal in/out of printer controller mode. It
10548    appears from the manual that a real vt220 would not switch back
10549    to normal mode, so another mechanism is used (addresses Debian
10550    #37517).</li>
10551
10552    <li>check if <code>printerCommand</code> resource string is
10553    empty, use this to allow user to disable printer function.</li>
10554
10555    <li>trim trailing blanks from resource strings.</li>
10556
10557    <li>check return value from <code>ptsname()</code>, which may
10558    return null for example if someone has changed the permissions
10559    of /dev/pts to zero (Debian #121899).</li>
10560
10561    <li>modify OS/2 version to use <code>__UNIXOS2__</code>
10562    definition rather than <code>__EMX__</code>, related cleanup
10563    (patch by Holger Veit).</li>
10564
10565    <li>used modified indent 2.0 (patch <a href=
10566    "ftp://ftp.invisible-island.net/gnu-patches/">20020428</a>) to
10567    reformat most of the C source files, to simplify
10568    maintenance.</li>
10569
10570    <li>fix a couple of places where there were leading tabs on
10571    symbol-definition lines in Imakefile (Marc La France from
10572    report by Tony Finch)</li>
10573
10574    <li>add imake variable (TraceXTerm) to allow building debug
10575    version (Egbert Eich).</li>
10576  </ul>
10577
10578  <h1><a name="xterm_166" id="xterm_166">Patch #166 - 2002/3/25 -
10579  XFree86 4.2.0</a></h1>
10580
10581  <ul>
10582    <li>correct a bug in selection: double clicking on a word which
10583    was partly scrolled off the screen may select that text (report
10584    by Vincent Lef&egrave;vre &lt;vincent@vinc17.org&gt;).</li>
10585
10586    <li>implement <code>veryBoldColors</code> resource to control
10587    whether the corresponding video attribute such as
10588    <code>bold</code> is displayed when using
10589    <code>colorBDMode</code>, etc. (request by Josh Howard
10590    &lt;jrh@vicor-nb.com&gt;).</li>
10591
10592    <li>define escape sequences for function keys F21-F35 (patch by
10593    Stephen P Wall).</li>
10594
10595    <li>change the colors for the 256-color model, making them less
10596    skewed toward black (patch by Stephen P Wall).</li>
10597
10598    <li>add <code>vt100Graphics</code> resource (see <a href=
10599    "#xterm_115">patch #115</a>, based on discussion with Glenn
10600    Maynard).</li>
10601
10602    <li>ifdef'd Xaw/Xaw3d/neXtaw includes separately to avoid
10603    potential incompatibilities between these flavors of Athena
10604    widgets.</li>
10605
10606    <li>add configure check for XFree86 4.x Xaw library, whose
10607    geometry management is broken, to avoid trying to use it for
10608    toolbar configuration.</li>
10609
10610    <li>updates to configure script from vile and lynx to allow
10611    configure.in to be compiled with autoconf 2.5x</li>
10612
10613    <li>add a check for null pointer return by
10614    <code>ptsname()</code> (newsgroup posting from Mike Silva
10615    &lt;mikesilva@lucent.com&gt;).</li>
10616
10617    <li>fill in a few details needed to allow UTF-8 mode to switch
10618    on/off after startup. This requires that <code>wideChars</code>
10619    resource be set. (based on comments in 4 Aug 2001 by Alexey
10620    Marinichev &lt;lyosha@lyosha.2y.net&gt;).</li>
10621
10622    <li>remove duplicate install rules that make directories, e.g.,
10623    so installing manpage will not create app-defaults
10624    directory.</li>
10625
10626    <li>add comment in in <code>do_osc()</code>, reserving cases 30
10627    and 31 for for Konsole (request by Stephan Binner
10628    &lt;Stephan.Binner@gmx.de&gt;).</li>
10629
10630    <li>fixes for ctlseqs.ms and xterm.man (patch by Werner Lemberg
10631    &lt;wl@gnu.org&gt;).</li>
10632
10633    <li>add check for monochrome display, disabling colorMode in
10634    that case (fixes Debian #134130).</li>
10635
10636    <li>resync with XFree86 CVS
10637      <ul>
10638        <li>Fix some xterm build warnings on *BSD (patch by David
10639        Dawes).</li>
10640
10641        <li>Only use SA_RESTART in xterm when it's available (patch
10642        by Frank Liu).</li>
10643
10644        <li>Fix incorrect code in signal handlers in most of the
10645        clients, xterm and xdm not done yet (patch by Matthieu
10646        Herrb).</li>
10647      </ul>
10648    </li>
10649  </ul>
10650
10651  <h1><a name="xterm_165" id="xterm_165">Patch #165 - 2002/1/5 -
10652  XFree86 4.1.0</a></h1>
10653
10654  <ul>
10655    <li>modify <code>uxterm</code> script to strip encoding part
10656    from environment variable before adding ".UTF-8" (based on
10657    Debian #125947, but using a more portable solution).</li>
10658
10659    <li>add an assignment statement in VTInitialize() to make
10660    <code>awaitInput</code> resource work.</li>
10661
10662    <li>use new macros init_Bres(), etc., in VTInitialize() to add
10663    trace of the initialization of resources.</li>
10664
10665    <li>modify checks for $LC_ALL, related environment variables to
10666    ensure the resulting strings are nonempty (report by Markus
10667    Kuhn).</li>
10668
10669    <li>add an ifdef in charproc.c for num_ptrs variable in case
10670    all configure options are disabled.</li>
10671
10672    <li>modify definition of getXtermBackground() to avoid negative
10673    array index warning on Tru64 (report by Jeremie Petit).</li>
10674
10675    <li>improve fix from patch #165 (still Debian #117184, report
10676    by Matt Zimmerman &lt;mdz@debian.org&gt;)</li>
10677
10678    <li>correct install rule for uxterm in Makefile.in, to handle
10679    the case where building in a different directory than xterm's
10680    source (patch by Paul Gilmartin).</li>
10681
10682    <li>documented ANSI.SYS-style cursor save/restore escape
10683    sequences in ctlseqs.ms, which are in xterm since X11R5.</li>
10684
10685    <li>correct two entries in the default charClass table, which
10686    did not follow the manpage comment about the character number
10687    corresponding to the class (patch by Marc Bevand
10688    &lt;bevand_m@epita.fr&gt;).</li>
10689
10690    <li>fix a couple of typos in comments in the app-defaults files
10691    (David Krause &lt;xfree86@davidkrause.com&gt;).</li>
10692
10693    <li>resync with XFree86 CVS
10694      <ul>
10695        <li>update language of copyrights in some files to reflect
10696        the fact that they were reassigned from X Consortium to The
10697        Open Group in 1998. Note that this xterm source is derived
10698        from the 1996 version from X Consortium, does not
10699        incorporate changes made by X Consortium or The Open Group
10700        after that date, hence we do not add The Open Group's 1998
10701        copyright date to related files.</li>
10702
10703        <li>save/restore <code>errno</code> in signal catcher
10704        (patch by Matthieu Herrb).</li>
10705
10706        <li>modify UXTerm.ad's font5 resource so that xterm can
10707        display double width characters using a font distributed
10708        with XFree86 (Tomohiro Kubota).</li>
10709      </ul>
10710    </li>
10711  </ul>
10712
10713  <h1><a name="xterm_164" id="xterm_164">Patch #164 - 2001/11/13 -
10714  XFree86 4.1.0</a></h1>
10715
10716  <ul>
10717    <li>correct a case where <code>ptyInitialErase</code> and
10718    <code>backarrowKeyIsErase</code> resources combine to set
10719    <code>DECBKM</code> mode, but a <code>reset</code> command
10720    would not reset xterm to that state, making the erase character
10721    revert to ^H (Debian #117184)</li>
10722  </ul>
10723
10724  <h1><a name="xterm_163" id="xterm_163">Patch #163 - 2001/11/04 -
10725  XFree86 4.1.0</a></h1>
10726
10727  <ul>
10728    <li>correct ifdef's for <code>__QNX__</code> and
10729    <code>USE_SYSV_PGRP</code> in main.c call to
10730    <code>tcsetpgrp</code>, which broke bash behavior around
10731    <a href="#xterm_140">patch #140</a> (report/patch by Frank Liu
10732    &lt;fliu@mail.vipstage.com&gt;).</li>
10733
10734    <li>modify trace.c to fix missing definition of GCC_UNUSED for
10735    compilers other than gcc when configured for trace code
10736    (report/patch by Paul Gilmartin).</li>
10737
10738    <li>change format in TraceOptions() to use long rather than
10739    int, since the latter could lose precision on 64-bit machines
10740    (report/patch by Nelson Beebe).</li>
10741
10742    <li>modify xterm manual page and minstall.sh to allow imake
10743    rules to define location of app-defaults directory (Debian
10744    #87611).</li>
10745
10746    <li>review/update list of conflicting preprocessor symbols to
10747    remove from $CPPFLAGS at the end of the configure script. In
10748    particular, this allows one to configure xterm without the
10749    utempter library on Redhat 7.1 (report/patch by Adam
10750    Sulmicki).</li>
10751  </ul>
10752
10753  <h1><a name="xterm_162" id="xterm_162">Patch #162 - 2001/10/23 -
10754  XFree86 4.1.0</a></h1>
10755
10756  <ul>
10757    <li>correct logic that processes <code>-class</code> option, so
10758    that a following <code>-e</code> option is handled (Debian
10759    #116297).</li>
10760
10761    <li>improve options-decoding to allow <code>-version</code> and
10762    <code>-help</code> options to be combined (Debian
10763    #110226).</li>
10764
10765    <li>add a 10 millisecond delay in event loop when processing
10766    <code>-hold</code> option, to avoid using too much CPU time
10767    (Debian #116213).</li>
10768
10769    <li>prefix final program execution in <code>uxterm</code> with
10770    "exec" to avoid a useless shell hanging around (Christian
10771    Weisgerber).</li>
10772  </ul>
10773
10774  <h1><a name="xterm_161" id="xterm_161">Patch #161 - 2001/10/10 -
10775  XFree86 4.1.0</a></h1>
10776
10777  <ul>
10778    <li>modify logic that resets keypad application mode to avoid
10779    doing this if there is no modifier associated with the Num_Lock
10780    keysym (report by John E Davis &lt;davis@space.mit.edu&gt; and
10781    Alan W Irwin &lt;irwin@beluga.phys.uvic.ca&gt;).</li>
10782
10783    <li>add built-in translation for Control/KP_Separator to
10784    KP_Subtract, to accommodate users who wish to use xmodmap to
10785    reassign the top row of the numeric keypad.</li>
10786
10787    <li>correct Imakefile install-rule for <code>uxname</code>
10788    script (reported by Nam SungHyun &lt;namsh@lge.com&gt;).</li>
10789
10790    <li>resync with XFree86 CVS &ndash; correct typo in
10791    <code>&lt;ncurses/term.h&gt;</code> ifdef.</li>
10792  </ul>
10793
10794  <h1><a name="xterm_160" id="xterm_160">Patch #160 - 2001/10/7 -
10795  XFree86 4.1.0</a></h1>
10796
10797  <ul>
10798    <li>modify logic in main.c (see <a href="#xterm_145">patch
10799    #145</a>) to avoid generating the same identifier, for example,
10800    for /dev/tty1 and /dev/pts/1, which is used to denote an entry
10801    in the utmp file (Debian bug report #84676), A similar fix was
10802    also sent by Jerome Borsboom &lt;borsboom@westbrabant.net&gt;
10803    in May, but I overlooked it when reviewing bug reports.</li>
10804
10805    <li>add configure check for <code>&lt;ncurses/term.h&gt;</code>
10806    to get rid of hardcoded <code>__CYGWIN__</code> ifdef in
10807    resize.c
10808      <p>NOTE: The CYGWIN port should not be linking
10809      <code>resize</code> with ncurses. It appears that the only
10810      reason it is, is because both the ncurses and termcap ports
10811      on that platform are badly misconfigured (essential pieces
10812      have been removed, etc). Checking for
10813      <code>&lt;ncurses/term.h&gt;</code> does not hurt anything,
10814      since there are some correct installations that are set up
10815      that way.</p>
10816    </li>
10817
10818    <li>add a sample <code>uxterm</code> script, which uses the
10819    <code>UXTerm</code> application defaults for UTF-8
10820    environments.</li>
10821
10822    <li>undo change to xterm application defaults, since this
10823    introduced an unnecessary incompatibility. The intended
10824    functionality was already addressed by the <a href=
10825    "#xterm_141">UXTerm</a> app-defaults file.</li>
10826
10827    <li>resync with XFree86 CVS
10828      <ul>
10829        <li>Modified xterm app default to use LFD fontnames instead
10830        of old type (Michael Schroeder).</li>
10831
10832        <li>Fix xterm when XIM is disabled - caused a segfault
10833        (Tomohiro Kubota).</li>
10834      </ul>
10835    </li>
10836  </ul>
10837
10838  <h1><a name="xterm_159" id="xterm_159">Patch #159 - 2001/9/19 -
10839  XFree86 4.1.0</a></h1>
10840
10841  <ul>
10842    <li>remove an ifdef for <code>USE_HANDSHAKE</code> added in
10843    patch #158 from the second <code>TIOCSSIZE</code> ioctl call in
10844    the initialization code. Paul Gilmartin reports that for
10845    Solaris 2.6 (sparc), stty does not show that xterm sets rows
10846    and columns unless the second ioctl is executed.</li>
10847
10848    <li>correct treatment of empty parameter list for some OSC
10849    strings (report by Sami Farin &lt;sfarin@ratol.fi&gt;).</li>
10850  </ul>
10851
10852  <h1><a name="xterm_158" id="xterm_158">Patch #158 - 2001/9/8 -
10853  XFree86 4.1.0</a></h1>
10854
10855  <ul>
10856    <li>augment key translations for scrollbar widget to ensure
10857    that keystrokes intended for the text area are not lost if the
10858    mouse pointer happens to fall on the scrollbar. This can
10859    happen, for instance, if the user's <code>app-defaults</code>
10860    or <code>.Xdefaults</code> file contains a translations
10861    resource, though it may also happen through unrelated resource
10862    settings: probably a bug in libXt (reported by Paul Fox
10863    &lt;pgf@foxharp.boston.ma.us&gt; and Dmitry Yu. Bolkhovityanov
10864    &lt;D.Yu.Bolkhovityanov@inp.nsk.su&gt;).</li>
10865
10866    <li>widen ifdef's in xterm.h to define
10867    <code>__EXTENSIONS__</code> on Solaris, for compilers other
10868    than gcc. This was added along <code>_POSIX_C_SOURCE</code>
10869    with in <a href="#xterm_151">patch #151</a>, but is not
10870    sufficient since Sun's compiler does not define
10871    <code>__STDC__</code> by default (report by Matthias Scheler
10872    &lt;tron@zhadum.de&gt;).</li>
10873
10874    <li>modify xterm to obtain the closest matching color if an
10875    exact color is not available, e.g., on 8-bit displays (patch by
10876    Stephen P Wall)</li>
10877
10878    <li>implement "OverTheSpot" preedit type of XIM input (patch by
10879    Tomohiro Kubota):
10880      <ul>
10881        <li>This preedit type is a reasonable compromise between
10882        simpleness of implementation and usefulness. "Root" preedit
10883        type is easy to implement but not useful; "OnTheSpot"
10884        preedit type is the best in the point of view of user
10885        interface but very complex. And more, "OverTheSpot" is the
10886        preedit type which the most XIM servers support. Thus, to
10887        achieve reasonable usability, support of "OverTheSpot"
10888        preedit type is needed.</li>
10889
10890        <li>In "OverTheSpot" preedit type, the preedit
10891        (preconversion) string is displayed at the position of the
10892        cursor. On the other hand, it is XIM server's
10893        responsibility to display the preedit string. Thus, it is
10894        needed for XIM client (here XTerm) to inform the XIM server
10895        of the cursor position. And more, to achieve good visual
10896        proportion, preedit string must be written using proper
10897        font. Thus, it is XIM client's responsibility to inform the
10898        XIM server of the proper font. The font must be supplied by
10899        "fontset". Fontset is a set of fonts with charsets which
10900        are specified by the current locale. Since XTerm uses
10901        ISO10646 fonts regardless of the current locale, the fonts
10902        for XIM must be prepared separately. It is difficult to
10903        prepare fonts which are similar to XTerm font. Thus, my
10904        patch uses a simple way - the default font is "*" which
10905        matches every fonts and X library will automatically choose
10906        fonts with proper charsets. I added "-fx" command option
10907        and "ximFont" resource to override this default font
10908        setting.</li>
10909
10910        <li>changed the definition of "OverTheSpot" preedit type
10911        from XIMPreeditPosition|XIMStatusArea to
10912        XIMPreeditPosition|XIMStatusNothing. This matches the
10913        behavior of other programs such as Rxvt, Kterm, Gedit.</li>
10914
10915        <li>A tiny XIM bugfix is also included. By calling
10916        XSetLocaleModifiers() with parameter of "", it can consider
10917        XMODIFIERS environmental variable which is a standard way
10918        for users to specify XIM server to be used.</li>
10919      </ul>
10920    </li>
10921
10922    <li>adjust configure script to accommodate repackaging of
10923    keysym2ucs.c as include-file for xutf8.c (patch by Tomohiro
10924    Kubota).</li>
10925
10926    <li>add the <code>UXTerm</code> app-defaults file to makefile
10927    install rules (request by Juliusz Chroboczek).</li>
10928
10929    <li>correct logic in <code>get_termcap()</code>, which returned
10930    false if the <code>tgetent()</code> call indicated that xterm
10931    was linked with terminfo. Although the <code>$TERMCAP</code>
10932    variable cannot be adjusted in this case, xterm still needs
10933    information from this call to extract data to initialize the
10934    erase-mode when the <code>ptyInitialErase</code> resource is
10935    false.</li>
10936
10937    <li>modify <code>ScrollbarReverseVideo()</code> function to
10938    cache the original border color, so it can restore that when an
10939    application flashes the screen (Bugzilla #38872).</li>
10940
10941    <li>resync with XFree86 CVS
10942      <ul>
10943        <li>remove ifdef's for X_NOT_STDC_ENV (patch by David
10944        Dawes).</li>
10945
10946        <li>add Cygwin to special errno handling case in ptydata.c
10947        (Alan Hourihane)</li>
10948
10949        <li>set screen size earlier in initialization, to address a
10950        race with window manager resizing its clients (Keith
10951        Packard).</li>
10952      </ul>
10953    </li>
10954  </ul>
10955
10956  <h1><a name="xterm_157" id="xterm_157">Patch #157 - 2001/6/18 -
10957  XFree86 4.1.0</a></h1>
10958
10959  <ul>
10960    <li>clean up button.c and input.c (patch by Juliusz
10961    Chroboczek). The basic idea is to use a single set of APIs in
10962    the XTerm core, and put a set of workarounds in a separate
10963    file. As you will notice, this drastically simplifies parts of
10964    the code; in particular, the only remaining ifdefs related to
10965    the differences between Xutf8 and legacy systems are related to
10966    the selection provider logic. This defines two new files,
10967    xutf8.h and xutf8.c, provide some half-hearted but fully
10968    portable emulation for the three Xutf8* functions that XTerm
10969    uses. Putting these in a separate file will allow people to
10970    experiment with more complex versions without making the core
10971    of XTerm more difficult to maintain. The functionality of the
10972    emulation is as follows.
10973      <ul>
10974        <li>Xutf8TextListToTextProperty fully handles XStringstyle
10975        and XUTF8StringStyle. It will only generate STRING for
10976        XStdICCTextStyle, and will only generate Latin-1 in
10977        XCompoundTextStyle (but label it as COMPOUND_TEXT, as the
10978        spec requires). (I have hesitated to make this function
10979        fail for XStdICCTextStyle and XCompoundTextStyle; this
10980        might be a smart thing to do, in the hope that the
10981        selection requestor will try UTF8_STRING afterwards;
10982        opinions?)</li>
10983
10984        <li>Xutf8TextPropertyToTextList fully handles STRING and
10985        UTF8_STRING. It systematically fails for
10986        COMPOUND_TEXT.</li>
10987
10988        <li>Xutf8LookupString will properly handle single-keystroke
10989        input for the keysyms covered by Markus' keysym2ucs
10990        function. It will not handle either compose key input or
10991        external input methods.</li>
10992      </ul>
10993    </li>
10994
10995    <li>add an ifdef for <code>SunXK_F36</code>, used in
10996    <code>xtermcapKeycode()</code> (patch by Mark Waggoner
10997    &lt;waggoner@ichips.intel.com&gt;).</li>
10998
10999    <li>modify check for login name to try <code>getlogin()</code>
11000    and $LOGNAME, $USER environment variables to detect if the user
11001    has logged in under an alias, i.e., an account with the same
11002    user id but a different name (Debian bug report #70084).</li>
11003
11004    <li>add resource <code>tiXtraScroll</code>, which can be used
11005    to preserve the screen contents in the scrollback rather than
11006    erasing it when starting a fullscreen application such as
11007    <code>vi</code> (patch by Ken Martin
11008    &lt;fletcher@catsreach.org&gt;).</li>
11009
11010    <li>two patches by Denis Zaitsev &lt;zzz@cd-club.ru&gt;:
11011      <ul>
11012        <li>added <code>forceBoxChars</code> resource to control
11013        the "line-drawing characters" option.</li>
11014
11015        <li>added <code>freeBoldBox</code> resource, which, when
11016        set true, suppresses check in
11017        <code>same_font_size()</code>, so xterm does not attempt to
11018        ensure that the bold font is the same size as the normal
11019        font.</li>
11020      </ul>
11021    </li>
11022
11023    <li>change the color class for ANSI colors and similar ones
11024    such as bold-color, etc., to follow the convention that the
11025    classname is the instance name with a leading capital (e.g.,
11026    <code>color0</code> and <code>Color0</code> rather than
11027    <code>color0</code> and <code>Foreground</code>). There was
11028    little use for Foreground as a class other than to create
11029    occasional confusion and bug reports, most recently by Nelson
11030    Beebe who reports that it disables colors in xterm but not on
11031    Linux, which is probably due to a difference in resource
11032    evaluation order. A configure script option
11033    (--disable-color-class) is provided for anyone who did use the
11034    older behavior.</li>
11035
11036    <li>fix a signal-handling bug. When running xterm with
11037    <code>ksh</code> or similar shell such as bash 2.05, xterm will
11038    hang and not respond to keystrokes after the user types
11039    <code>suspend</code>. Additionally the popup menus do not
11040    respond, so it is not possible to send SIGCONT to the shell.
11041    What is happening is that the shell is sending itself SIGSTOP,
11042    and it is being stopped. Per specification it also means that
11043    the operating system is sending SIGCHLD to parent to the bash
11044    (XTERM). Now the issue is that xterm assumes it cannot happen
11045    and it expects to receive SIGCHLD only upon
11046    <em>termination</em> of its children. This causes a deadlock
11047    with xterm waiting for the child to die, and the child waiting
11048    for SIGCONT. (report/patch by Adam Sulmicki), analysis/testing
11049    by Sven Mascheck
11050    &lt;sven.mascheck@student.uni-ulm.de&gt;).</li>
11051
11052    <li>correct some inconsistent checks for
11053    <code>XtReleaseGC()</code> calls in
11054    <code>xtermLoadFont()</code> (patch by Nam SungHyun
11055    &lt;namsh@lge.com&gt;).</li>
11056
11057    <li>updated wcwidth.c and keysym2ucs.c to versions dated
11058    2001/1/12 and 2001/4/18, respectively from
11059    http://www.cl.cam.ac.uk/~mgk25/ucs/</li>
11060
11061    <li>correction to change from <a href="#xterm_90">patch
11062    #90</a>, which was intended to reset the saved cursor position
11063    for normal/alternate screens on a soft reset, but actually
11064    wiped out all of the saved cursor information. Just reset the
11065    saved position for the current screen (report by Michael
11066    Schroeder).</li>
11067
11068    <li>modify ShowCursor() and HideCursor() so that if the cursor
11069    points to the second part of a wide character, make the
11070    show/hide operate on the first position of the wide character
11071    (patch by Sven Verdoolaege).</li>
11072
11073    <li>scrolling in the alternate screen just before switching
11074    back to the main screen can cause extra blank lines to be
11075    inserted into the scrollback buffer (patch by Paul Vojta
11076    &lt;vojta@math.berkeley.edu&gt;).</li>
11077
11078    <li>resync with XFree86 4.1.0:
11079      <ul>
11080        <li>Use TermcapLibrary as -lncurses instead of -ltermcap,
11081        fixes problem building xterm/resize on Cygwin/XFree86
11082        (Harold Hunt).</li>
11083
11084        <li>Install xterm.termcap and xterm.terminfo when
11085        installing xterm (Torrey T. Lyons).</li>
11086
11087        <li>Fix some build issues on Cygwin/XFree86 (Suhaib
11088        Siddiqi).</li>
11089
11090        <li>Define CBAUD, when it's missing in xterm, on LynxOS
11091        (Stuart Lissaman).</li>
11092      </ul>
11093    </li>
11094  </ul>
11095
11096  <h1><a name="xterm_156" id="xterm_156">Patch #156 - 2001/4/28 -
11097  XFree86 4.0.3</a></h1>
11098
11099  <ul>
11100    <li>change order of selection-target types to make 8-bit xterm
11101    prefer UTF8_STRING to COMPOUND_TEXT (patch by Juliusz
11102    Chroboczek).</li>
11103
11104    <li>document <code>-fa</code>, <code>-fs</code> command-line
11105    options and <code>faceName</code>, <code>faceSize</code>
11106    resources which are used by the freetype library support.</li>
11107
11108    <li>if configure script finds freetype libraries, but imake
11109    definitions do not have the XRENDERFONT definition, define it
11110    anyway.</li>
11111
11112    <li>modify configure script check for freetype libraries to
11113    include <code>&lt;Xlib.h&gt;</code>, since an older version of
11114    the related headers relies on this (patch by Adam
11115    Sulmicki).</li>
11116  </ul>
11117
11118  <h1><a name="xterm_155" id="xterm_155">Patch #155 - 2001/4/20 -
11119  XFree86 4.0.3</a></h1>
11120
11121  <ul>
11122    <li>correct return type of in_put() from <a href=
11123    "#xterm_155">patch #153</a> changes, which left it not wide
11124    enough for UTF-8 (patch by Bruno Haible).</li>
11125  </ul>
11126
11127  <h1><a name="xterm_154" id="xterm_154">Patch #154 - 2001/4/11 -
11128  XFree86 4.0.3</a></h1>
11129
11130  <ul>
11131    <li>undo check for return value from <code>pututline</code>
11132    (used for debugging) since that function does not return a
11133    value on Slackware 3.6.</li>
11134
11135    <li>correct length in ScreenWrite, when rendering invisible
11136    text (patch by Sven Verdoolaege &lt;skimo@kotnet.org&gt;).</li>
11137
11138    <li>fixes/improvements for the <code>i18nSelection</code>
11139    resource from patch #153, by Bruno Haible:
11140      <ul>
11141        <li>add missing initialization for
11142        <code>i18nSelection</code> resource.</li>
11143
11144        <li>split-out the non-ICCM aspect of the
11145        <code>i18nSelection</code> resource as a new resource,
11146        <code>brokenSelections</code>.</li>
11147      </ul>
11148    </li>
11149
11150    <li>add configure check for <code>&lt;time.h&gt;</code> and
11151    <code>&lt;sys/time.h&gt;</code>, to allow for Unixware&nbsp;7,
11152    which requires both. If the configure script is not used, only
11153    <code>&lt;time.h&gt;</code> will be included as before (report
11154    by Thanh Ma).</li>
11155
11156    <li>fix redefinition of <code>dup2</code>,
11157    <code>getutent</code>, <code>getutid</code>,
11158    <code>getutline</code> and <code>sleep</code> functions on
11159    Unixware&nbsp;7 (report by Thanh Ma
11160    &lt;Thanh.Ma@casi-rusco.com&gt;)</li>
11161
11162    <li>add a fall-back definition for <code>__hpux</code>, which
11163    is apparently not defined in some compilers on HPUX 11.0
11164    (reported by Clint Olsen).</li>
11165
11166    <li>change VAL_INITIAL_ERASE, which is used as a fallback for
11167    the <code>"kb"</code> termcap string to 8, since that matches
11168    the xterm terminal description (request by Alexander V
11169    Lukyanov).</li>
11170
11171    <li>correct an off-by-one in <code>ClearInLine</code>, which
11172    caused the erase-characters (ECH) control to display
11173    incorrectly (patch by Alexander V Lukyanov).</li>
11174
11175    <li>correct escape sequences shown in terminfo for shifted
11176    editing keys. The modifier code was for the control key rather
11177    than the shift key.</li>
11178  </ul>
11179
11180  <h1><a name="xterm_153" id="xterm_153">Patch #153 - 2001/3/29 -
11181  XFree86 4.0.3</a></h1>
11182
11183  <ul>
11184    <li>increase PTYCHARLEN to 8 for os390, add some debugging
11185    traces for UTMP functions (patch by Paul Gilmartin).</li>
11186
11187    <li>correct an misplaced brace in
11188    <code>SelectionReceived()</code> (patch by Bruno Haible).</li>
11189
11190    <li>correct an assignment dropped in
11191    <code>SelectionReceived()</code> which made it not compile for
11192    wide-characters combined with debug traces.</li>
11193
11194    <li>correct typo, clarify description of 88- and 256-color
11195    controls (report by Bram Moolenaar).</li>
11196
11197    <li>correct a typo in ctlseqs.ms which caused DEC Locator
11198    control sequences using single quote "'" display grave "`"
11199    instead (reported by Paul Williams, apparently in patch
11200    #114).</li>
11201  </ul>
11202
11203  <h1><a name="xterm_152" id="xterm_152">Patch #152 - 2001/3/13 -
11204  XFree86 4.0.2</a></h1>
11205
11206  <ul>
11207    <li>correct index in inner loop in <code>VTInitI18N()</code>
11208    from patch #151 changes, which resulted in infinite loop under
11209    some conditions (report/analysis by Paul Gilmartin).</li>
11210
11211    <li>remove spurious "%|" from terminfo sgr capabilities
11212    (report/analysis by Adam M Costello, Debian #89222).</li>
11213
11214    <li>add shell script to adjust list of dynamic libraries linked
11215    by <code>resize</code> when building with the standalone
11216    configure script. Otherwise it uses the same list as for xterm,
11217    which is excessive.</li>
11218
11219    <li>fix a few compiler warnings reported by the 20010305 gcc
11220    snapshot.</li>
11221  </ul>
11222
11223  <h1><a name="xterm_151" id="xterm_151">Patch #151 - 2001/3/10 -
11224  XFree86 4.0.2</a></h1>
11225
11226  <ul>
11227    <li>alter the behaviour of selections in XTerm (patch by
11228    Juliusz Chroboczek). It is believed to follow the ICCCM +
11229    UTF8_STRING to the letter, both in UTF-8 and in eight-bit mode.
11230    From his description:
11231      <ul>
11232        <li>When compiled against XFree86 4.0.2, the patched XTerm
11233        will make the selection available as COMPOUND_TEXT, STRING
11234        or UTF8_STRING in both modes. It will request selections in
11235        the following order:
11236          <p>UTF-8 mode: UTF8_STRING, TEXT, COMPOUND_TEXT,
11237          STRING.<br>
11238          eight-bit mode: TEXT, COMPOUND_TEXT, UTF8_STRING,
11239          STRING.</p>
11240        </li>
11241
11242        <li>When compiled against an earlier version of XFree86 (or
11243        compiled with OPT_UTF8_API=0), it will still obey the
11244        ICCCM, but will neither request nor provide UTF8_STRING in
11245        eight-bit mode, and neither TEXT nor COMPOUND_TEXT in UTF-8
11246        mode.</li>
11247
11248        <li>For compatibility with previous versions of XTerm, a
11249        resource <code>i18nSelections</code> is provided, please
11250        see the manpage for details. However, due to an unexpected
11251        combination of ICCCM extensions by various bits and pieces
11252        of the libraries, interacting with previous versions of
11253        XTerm will work in many locales even without this flag.
11254        (Please do not set this resource to true by default, as
11255        this would violate the ICCCM.)</li>
11256      </ul>
11257    </li>
11258
11259    <li>improved error checking/reporting in VTInitI18N(), ensuring
11260    that lack of input method styles is treated distinctly from a
11261    mismatch.</li>
11262
11263    <li>remove an incorrect ifdef from patch #141 which suppressed
11264    overstriking to simulate bold font when xterm was compiled to
11265    support wide characters (report/analysis by Adam M Costello
11266    &lt;amc@cs.berkeley.edu&gt;, Debian #76404, Debian
11267    #77575).</li>
11268
11269    <li>modify <code>RequestResize()</code> function to
11270    save/restore window manager hints. Its call to
11271    <code>XtMakeResizeRequest()</code> had the undesirable
11272    side-effect of clearing window manager hints, e.g., when
11273    switching to 132-columns via DECCOLM escape sequence. Window
11274    manager hints make it simple to resize xterm in terms of
11275    character cells rather than pixels (reports by Christian
11276    Weisgerber, Debian #79939).
11277      <p>This applies to the normal configuration. When built with
11278      toolbar support, the hints are applied to a different widget
11279      level (more work will be needed to make hints work with the
11280      toolbar).</p>
11281    </li>
11282
11283    <li>fix a redefinition warning for resize.c on OpenBSD (patch
11284    by Christian Weisgerber).</li>
11285
11286    <li>change resource corresponding to <code>-T</code> option to
11287    match Xt library's <code>-title</code>, i.e.,
11288    <code>.title</code> rather than <code>*title</code> so the
11289    command-line options are interchangeable as documented (Debian
11290    bug report #68843).</li>
11291
11292    <li>add script used from autoconf'd makefile for installing
11293    manpages, since recent XFree86 changing the way section numbers
11294    are represented makes the install dependent on extra
11295    scripts.</li>
11296
11297    <li>add configure check for freetype libraries and configure
11298    option --disable-freetype to override this feature.</li>
11299
11300    <li>modify some configure script macros to avoid using
11301    changequote(), which has been rendered useless in the latest
11302    autoconf alpha 2.49c</li>
11303
11304    <li>update config.guess, config.sub to 2001-2-13</li>
11305
11306    <li>remove redundant/contradictory __CYGWIN__ definitions from
11307    resize.c</li>
11308
11309    <li>correct manpage typo introduced by X11R6.5 resync.</li>
11310  </ul>
11311
11312  <p>Changes from XFree86 4.0.2:</p>
11313
11314  <ul>
11315    <li>add definition of <code>_POSIX_C_SOURCE</code> for Solaris
11316    to make this compile with <code>gcc -ansi -pedantic</code>
11317    (report by &lt;mark@zang.com&gt;.</li>
11318  </ul>
11319
11320  <h1><a name="xterm_150" id="xterm_150">Patch #150 - 2000/12/29 -
11321  XFree86 4.0.2</a></h1>
11322
11323  <ul>
11324    <li>move the binding for shifted keypad plus/minus, which
11325    invokes the <code>larger-vt-font()</code> and
11326    <code>smaller-vt-font()</code> actions, respectively, into the
11327    translations resource (suggested by Marius Gedminas
11328    &lt;mgedmin@puni.osf.lt&gt;).</li>
11329
11330    <li>modify configure script to support the
11331    <code>--program-prefix</code>, <code>--program-suffix</code>
11332    and <code>--program-transform-name</code> options (request by
11333    Alison Winters &lt;alison@mirrabooka.com&gt;).</li>
11334
11335    <li>fixes for wide/combining characters (Robert Brady):
11336      <ul>
11337        <li>fix a scrolling / combining characters display
11338        anomaly</li>
11339
11340        <li>fix a problem with double-width characters where if the
11341        primary font had no box-drawing characters, the right hand
11342        half of double-width characters was erased (reported by Yao
11343        Zhang &lt;yzhang@sharemedia.com&gt;).</li>
11344
11345        <li>fix special case of null byte for key handling in UTF-8
11346        locales.</li>
11347      </ul>
11348    </li>
11349
11350    <li>modify logic that compares sizes of normal and bold fonts
11351    to be more forgiving of the font server's choice of bold font
11352    which must match the normal font's size. Now
11353    <code>same_font_size()</code> compares the height of the fonts
11354    rather than individually ascent and descent, and allows the
11355    bold font to be one pixel smaller than the normal font
11356    (addresses a report by Alan Citterman &lt;alan@mticket.com&gt;,
11357    who says that something in patches #146 to #148 made xterm more
11358    likely to overstrike bold fonts, and indirectly Debian bug
11359    report #76404, which reports the opposite).</li>
11360
11361    <li>make configure script use $CFLAGS and $CPPFLAGS
11362    consistently, including removing a chunk from configure.in
11363    which attempted to save/restore $CPPFLAGS while processing
11364    value set by the --x-includes option, but lost values set in an
11365    intervening AC_CHECK_HEADERS. This change modifies macros
11366    CF_ADD_CFLAGS, CF_ANSI_CC_CHECK and CF_X_TOOLKIT, as well as
11367    removing variables IMAKE_CFLAGS and X_CFLAGS from the generated
11368    makefile (the AC_CHECK_HEADERS problem was reported by Albert
11369    Chin-A-Young &lt;china@thewrittenword.com&lt;).</li>
11370
11371    <li>correct a comparison in SELECTWORD case of ComputeSelect(),
11372    which resulted in a word-selection wrapping past the first
11373    column without checking the first column's character class
11374    (reported by Christian Lacunza
11375    &lt;celacunza@netscape.net&gt;</li>
11376
11377    <li>correct a logic in UTF-8 mode for selecting double-width
11378    characters; a combining character was omitted (patch by Markus
11379    Kuhn).</li>
11380
11381    <li>add feature to pop (raise) window when a bell is received
11382    (patch by Gael Roualland
11383    &lt;gael.roualland@dial.oleane.com&gt;).</li>
11384
11385    <li>add __NetBSD__ and __OpenBSD__ to special-case in
11386    xterm_io.h for USE_POSIX_TERMIOS definition (patch by Christian
11387    Weisgerber).</li>
11388
11389    <li>move special-case HPUX include for &lt;sys/bsdtty.h&gt; to
11390    xterm_io.h to define TIOCSLTC, making HAS_LTCHARS defined for
11391    HPUX 10.20 (report by Bruno Betro).</li>
11392  </ul>
11393
11394  <h1><a name="xterm_149" id="xterm_149">Patch #149 - 2000/12/6 -
11395  XFree86 4.0.1h</a></h1>
11396
11397  <ul>
11398    <li>restructured includes for <code>termios.h</code>,
11399    <code>termio.h</code> and related definitions for main.c,
11400    os2main.c, screen.c and resize.c so they will share equivalent
11401    definitions in a new header <code>xterm_io.h</code>. This is
11402    intended to solve some problems mainly for HPUX which appear to
11403    arise from inconsistent definitions for SIGWINCH- and
11404    HAS_LTCHARS-related symbols (reports by Bruno Betro, Jeremie
11405    Petit and Clint Olsen).</li>
11406
11407    <li>improve usability of double-width fonts by allowing normal
11408    fonts to be given as double-width (from a patch by Fabrice
11409    Bellard &lt;bellard@email.enst.fr&gt;).</li>
11410
11411    <li>correct a few compiler warnings in TRACE() macros for
11412    signed/unsigned variable differences (reported by Clint
11413    Olsen).</li>
11414
11415    <li>make configure script use $CFLAGS and $CPPFLAGS more
11416    consistently, i.e., by using CF_ADD_CFLAGS in CF_ANSI_CC
11417    macro.</li>
11418
11419    <li>expanded description of environment variables in
11420    manual-page.</li>
11421
11422    <li>modify OPT_TCAP_QUERY feature to always return the termcap
11423    or terminfo capability string in the response, and to
11424    read/write the names in hexadecimal form to allow for the
11425    special case of termcap's <code>k;</code> name (patch by Bram
11426    Moolenaar).</li>
11427
11428    <li>add OPT_SAME_NAME and OPT_TCAP_QUERY to xtermcfg.hin, so
11429    the corresponding configure options work (patch by Bram
11430    Moolenaar).</li>
11431
11432    <li>resync with XFree86 4.0.1g:
11433      <ul>
11434        <li>Rewrite Xft library for Render extension/core text and
11435        font management Change xterm to use new interface (Keith
11436        Packard).</li>
11437      </ul>
11438    </li>
11439  </ul>
11440
11441  <h1><a name="xterm_148" id="xterm_148">Patch #148 - 2000/10/31 -
11442  XFree86 4.0.1d</a></h1>
11443
11444  <ul>
11445    <li>document logfile options in man-page.</li>
11446
11447    <li>correct spelling of <code>-samename</code> option in help
11448    message.</li>
11449
11450    <li>add configure script option
11451    <code>--enable-tcap-query</code> (request by Bram
11452    Moolenaar).</li>
11453
11454    <li>add a "Co" or "colors" entry to the OPT_TCAP_QUERY feature
11455    (patch by Bram Moolenaar).</li>
11456
11457    <li>patch by Kiyokazu Suto &lt;suto@ks-and-ks.ne.jp&gt;:
11458      <ul>
11459        <li>add support for bold font for double width characters.
11460        The font name may be specified with the command line option
11461        <code>-fwb</code> or with resource
11462        <code>wideBoldFont</code> (class
11463        <code>WideBoldFont</code>).</li>
11464
11465        <li>correct underlining of double width character string,
11466        which was drawn only half width.</li>
11467
11468        <li>correct binary search of precomposed character table,
11469        which may return wrong result when <code>int</code> is just
11470        32 bits.</li>
11471      </ul>
11472    </li>
11473
11474    <li>some changes to align terminfo with ncurses 5.2:
11475      <ul>
11476        <li>remove xtermm description, retaining xterm-mono since
11477        the former conflicts with ncurses.</li>
11478
11479        <li>modify initialization and reset strings to avoid
11480        putting the save/restore cursor operations bracketing
11481        changes to video attributes, since the changes could be
11482        lost when the cursor is restored. This affects xterm-r6 and
11483        xterm-8bit (the xterm-xfree86 entry uses the soft-reset
11484        feature which resets scrolling margins and origin mode
11485        without requiring us to save/restore the cursor
11486        position).</li>
11487
11488        <li>make a few entries explicitly inherit from
11489        xterm-xfree86 rather than xterm: xterm-rep, xterm-xmc,
11490        xterm-nrc</li>
11491      </ul>
11492    </li>
11493
11494    <li>ensure that sign-extension does not affect
11495    <code>ctype</code> macros by using <code>CharOf()</code> macro
11496    to coerce the parameter to an unsigned char.</li>
11497
11498    <li>resync with XFree86 4.0.1d:
11499      <ul>
11500        <li>Add primitive support in xterm for Xft based fonts
11501        (Keith Packard). The changes are ifdef'd with
11502        <code>-DXRENDERFONT</code>.</li>
11503      </ul>
11504    </li>
11505  </ul>
11506
11507  <h1><a name="xterm_147" id="xterm_147">Patch #147 - 2000/10/26 -
11508  XFree86 4.0.1c</a></h1>
11509
11510  <ul>
11511    <li>correct implementation of <code>ptyInitialErase</code>: the
11512    value assigned to <code>initial_erase</code> was for the
11513    control terminal, which is correct as far as it goes. But there
11514    was no following test for the pseudo-terminal's erase value,
11515    which would overwrite the default obtained from the control
11516    terminal (reported by Christian Weisgerber
11517    &lt;naddy@mips.inka.de&gt;).</li>
11518
11519    <li>modify check for printable-characters in OSC string to use
11520    xterm's ansi_table rather than isprint() macro, to isolate this
11521    check from locale settings. This fixes a problem using 8-bit
11522    characters to set the title (reported by Ricardas Cepas
11523    &lt;rch@richard.eu.org&gt;).</li>
11524
11525    <li>modify sample scripts to check for printf before print,
11526    since the latter is not as well standardized (e.g., on
11527    Linux).</li>
11528
11529    <li>updated config.sub, config.guess to reflect changes on
11530    subversions.gnu.org</li>
11531  </ul>
11532
11533  <h1><a name="xterm_146" id="xterm_146">Patch #146 - 2000/9/12 -
11534  XFree86 4.0.1c</a></h1>
11535
11536  <ul>
11537    <li>correct two instances overlooked from patch #141 which
11538    assumed UTF-8 mode without checking, causing a core dump in
11539    non-UTF-8 mode (one instance was reported by Tommi Virtanen
11540    &lt;tv@debian.org&gt;).</li>
11541
11542    <li>correct a problem selecting from the scrollback buffer in
11543    UTF-8 mode by changing remaining getXtermCell() calls to
11544    XTERM_CELL() as in the non-UTF-8 cases (report by Markus Kuhn,
11545    patch by Robert Brady).</li>
11546  </ul>
11547
11548  <h1><a name="xterm_145" id="xterm_145">Patch #145 - 2000/9/11 -
11549  XFree86 4.0.1c</a></h1>
11550
11551  <ul>
11552    <li>changes for UTF-8 configuration (Robert Brady):
11553      <ul>
11554        <li>doublewide characters don't lose their accents when the
11555        cursor moves onto or from them (a visual bug)</li>
11556
11557        <li>fix logic in addXtermCombining, which mean that if the
11558        low byte of a cell's first combining char was 0, a
11559        following combining char would go into combining slot 1,
11560        not 2.</li>
11561
11562        <li>modify logic for cut-buffers so UTF-8 data is first
11563        converted to Latin1.</li>
11564
11565        <li>collapse surrogates, 0xfffe, 0xffff to UCS_REPL.</li>
11566
11567        <li>modify to allow xterm to to show combining characters
11568        attached to doublewidth characters.</li>
11569
11570        <li>correct bug in linewrap with -u8 option (reported by
11571        Andreas Koenig &lt;andreas.koenig@anima.de&gt;).</li>
11572      </ul>
11573    </li>
11574
11575    <li>several changes to PTY logic (based on request by Tim Ryan
11576    &lt;timryan@nortelnetworks.com&gt;).
11577      <ul>
11578        <li>modify treatment of <code>-S</code> option to to make
11579        it work with Unix98 PTY's.</li>
11580
11581        <li>restore sense of IsPts flag in <code>get_pty()</code>,
11582        which was lost in Unix98 changes.</li>
11583
11584        <li>use new functions <code>my_pty_id()</code> and
11585        <code>my_pty_name()</code> to simplify/fix strings used for
11586        utmp, wtmp identifiers.</li>
11587
11588        <li>simplify <code>get_pty()</code> function, making it
11589        have a single return point so its inputs/outputs can be
11590        identified.</li>
11591      </ul>
11592    </li>
11593
11594    <li>update config.guess and config.sub and scripts to my
11595    20000819 patch, adding cases for OS/2 EMX.</li>
11596
11597    <li>add special case for os390 compiler options to configure
11598    script (patch by Paul Gilmartin)</li>
11599
11600    <li>fix some unused-variable compiler warnings (reported by
11601    Zdenek Sekera).</li>
11602
11603    <li>split-out some string functions into xstrings.c, to use
11604    them more consistently among main.c, os2main.c and
11605    resize.c</li>
11606
11607    <li>align termcap/terminfo files, adding entries to make them
11608    match. The termcap entries are necessarily less complete than
11609    the terminfo, to fit within 1023 character per entry.</li>
11610
11611    <li>add terminfo entry for xterm-sco (SCO function keys).</li>
11612
11613    <li>modify <code>same_font_name()</code> to properly handle
11614    wildcard introduced in <code>bold_font_name()</code>, making
11615    comparison for different fonts succeed when only the normal
11616    font is specified. This is needed to decide if 1-pixel offset
11617    should be used. (reported in a newsgroup by Bart Oldeman
11618    &lt;enbeo@enbeo.resnet.bris.ac.uk&gt;)</li>
11619
11620    <li>correct preprocessor line for OPT_WIDE_CHARS in
11621    drawXtermText() from patch #141 which resulted in overstriking
11622    for bold fonts not working.</li>
11623
11624    <li>correct Imakefile from 4.0.1c resync so UTF-8 modules are
11625    in UTF8SRC, UTF8OBJ lists, allowing build without UTF-8
11626    support.</li>
11627  </ul>
11628
11629  <h1><a name="xterm_144" id="xterm_144">Patch #144 - 2000/8/23 -
11630  XFree86 4.0.1b</a></h1>
11631
11632  <ul>
11633    <li>remove a spurious assignment in ScreenWrite() from Robert
11634    Brady's patch which set a null at the "end" of the buffer to be
11635    written. That made the autowrap feature write a blank in the
11636    first column for the non-UTF-8 configuration, rather than the
11637    actual character (reported by Alan Citterman
11638    &lt;alan@mticket.com&gt;).</li>
11639  </ul>
11640
11641  <h1><a name="xterm_143" id="xterm_143">Patch #143 - 2000/8/19 -
11642  XFree86 4.0.1b</a></h1>
11643
11644  <ul>
11645    <li>add a check to ensure that <code>-class</code> command-line
11646    option is not confused with <code>-c</code> (reported by Paul
11647    Townsend &lt;aab@aab.cc.purdue.edu&gt;).</li>
11648  </ul>
11649
11650  <h1><a name="xterm_142" id="xterm_142">Patch #142 - 2000/8/18 -
11651  XFree86 4.0.1b</a></h1>
11652
11653  <ul>
11654    <li>correction to precompose scripts, so 0061 + 0300 will now
11655    be really be displayed as 00C0 (patch by Robert Brady
11656    &lt;robert@susu.org.uk&gt;).</li>
11657
11658    <li>correct macro ClassSelects() in button.c, used to hide
11659    ifdef's for OPT_WIDE_CHARS in patch #141 (reported by Andreas
11660    Paul &lt;paula@informatik.tu-muenchen.de&gt;).</li>
11661
11662    <li>change wcwidth.h to include stddef.h rather than wchar.h,
11663    which is not present on OpenBSD and FreeBSD (reported by
11664    Christian Weisgerber and Bram Moolenaar).</li>
11665
11666    <li>newer config.sub and config.guess, from lynx
11667    2.8.4dev.7</li>
11668  </ul>
11669
11670  <h1><a name="xterm_141" id="xterm_141">Patch #141 - 2000/8/14 -
11671  XFree86 4.0.1b</a></h1>
11672
11673  <ul>
11674    <li>changes for doublewidth and combining characters, from
11675    http://www.ecs.soton.ac.uk/~rwb197/xterm/ (integrated patch by
11676    Robert Brady). In this context, doublewidth refers to 16-bit
11677    character sets which may have glyphs occupying two cells.</li>
11678
11679    <li>add command-line option <code>-class</code>, which allows
11680    one to override xterm's resource class. Also add resource file
11681    <code>UXTerm.ad</code>, which simplifies using xterm for both
11682    8-bit character sets and UTF-8.</li>
11683
11684    <li>fixes/improvements to OPT_TCAP_QUERY logic (patches by Bram
11685    Moolenaar, Stephen P Wall).</li>
11686  </ul>
11687
11688  <h1><a name="xterm_140" id="xterm_140">Patch #140 - 2000/7/23 -
11689  XFree86 4.0.1</a></h1>
11690
11691  <ul>
11692    <li>modify Makefile.in to circumvent GNU make's built-in suffix
11693    rule for ".sh" which confuses install.sh with the "make
11694    install" target (report/patch by Paul Gilmartin).</li>
11695
11696    <li>implement an experimental control sequence which an
11697    application may use to query the terminal to determine what
11698    sequence of characters it would send for a given function key.
11699    This is ifdef'd with OPT_TCAP_QUERY (request by Bram
11700    Moolenaar).</li>
11701
11702    <li>add /usr/local to search path in CF_X_ATHENA configure
11703    macro to build with Xaw3d on OpenBSD (patch by Christian
11704    Weisgerber).</li>
11705
11706    <li>add missing <code>#undef HAVE_TERMIO_C_ISPEED</code> to
11707    xtermcfg.hin, omitted in patch #133 fix for IRIX 6.5 baudrate
11708    (report by Alain Filbois &lt;Alain.Filbois@loria.fr&gt;).</li>
11709
11710    <li>correct a few errors in xterm.man: font in filename example
11711    for Tektronix emulation, and description of -nul/+nul
11712    command-line options (report by Eric Fischer
11713    &lt;enf@pobox.com&gt;).</li>
11714
11715    <li>update config.guess and config.sub, from tin and lynx.</li>
11716  </ul>
11717
11718  <h1><a name="xterm_139" id="xterm_139">Patch #139 - 2000/6/17 -
11719  XFree86 4.0d</a></h1>
11720
11721  <ul>
11722    <li>back out change to <code>-name</code> command-line option,
11723    restoring its original behavior (as noted by David Madore, the
11724    correct interpretation of this option is the application
11725    instance rather than the application class).</li>
11726  </ul>
11727
11728  <h1><a name="xterm_138" id="xterm_138">Patch #138 - 2000/6/15 -
11729  XFree86 4.0c</a></h1>
11730
11731  <ul>
11732    <li>workaround for fixed fonts which are generated from Unicode
11733    fonts: they omit glyphs for some xterm's less-used line-drawing
11734    characters, which caused xterm to set a flag telling it to use
11735    only its internal line-drawing characters. Do not set the flag
11736    (it can be set from the popup menu), and xterm will generate
11737    only the line-drawing glyphs which actually are missing.<br>
11738    Otherwise, when used for large fonts, xterm may generate a
11739    2-pixel wide line, which can leave dots on the screen.</li>
11740
11741    <li>restore first line of 256colres.pl, omitted in 4.0c
11742    diffs.</li>
11743  </ul>
11744
11745  <h1><a name="xterm_137" id="xterm_137">Patch #137 - 2000/6/10 -
11746  XFree86 4.0b</a></h1>
11747
11748  <ul>
11749    <li>make command-line <code>-name</code> option work as
11750    documented. Apparently this was lost in X11R5 when coding to
11751    use <code>XtAppInitialize</code>.</li>
11752
11753    <li>limit numeric parameters of control sequences to 65535 to
11754    simplify checks for numeric overflow.</li>
11755
11756    <li>change index into UDK list to unsigned to guard against
11757    numeric overflow making the index negative (Taneli Huuskonen
11758    &lt;huuskone@cc.helsinki.fi&gt;).</li>
11759
11760    <li>change <code>sun&nbsp;function-keys</code> resource name to
11761    <code>sunFunctionKeys</code> to work around redefinition of the
11762    token <code>sun</code> by xrdb on Solaris. Similarly, renamed
11763    resource <code>sun&nbsp;keyboard</code> to
11764    <code>sunKeyboard</code> (Stephen P Wall).</li>
11765
11766    <li>change similar resource names for HP and SCO to avoid
11767    potential conflict with xrdb symbols on other systems, as well
11768    as for consistency.</li>
11769
11770    <li>reorganized the install targets in the autoconf'd Makefile,
11771    adding install-app, install-bin, install-dirs and install-man.
11772    The app-defaults class can be overridden by setting the make
11773    variable 'CLASS', simplifying customization of xterm as a
11774    Unicode terminal, e.g., CLASS=UXTerm.</li>
11775
11776    <li>add limit checks to <code>ClearInLine()</code>,
11777    <code>ScrnInsertChar()</code>, <code>ScrnDeleteChar()</code> to
11778    correct potential out-of-bounds indexing (prompted by Debian
11779    bug report #64713, which reported a problem with ICH escape
11780    sequences).</li>
11781
11782    <li>updates to config.sub and config.guess Kevin Buettner
11783    &lt;kev@primenet.com&gt; for elf64_ia64 Bernd Kuemmerlen
11784    &lt;bkuemmer@mevis.de&gt; and MacOS X.</li>
11785
11786    <li>for os390, add check for errno set to ENODEV on failure to
11787    open /dev/tty when there is no controlling terminal (patch by
11788    Paul Gilmartin).</li>
11789
11790    <li>fixes for building on Digital Unix 4.0 and AIX 4.2 (patch
11791    from H Merijn Brand &lt;h.m.brand@hccnet.nl&gt;).</li>
11792
11793    <li>modify DECRQSS reply for DECSCL to additionally report if
11794    the terminal is set for 8-bit controls.</li>
11795  </ul>
11796
11797  <h1><a name="xterm_136" id="xterm_136">Patch #136 - 2000/6/3 -
11798  XFree86 4.0b</a></h1>
11799
11800  <ul>
11801    <li>add a resource (<code>limitResize</code>) limiting resizing
11802    via the CSI 4 t and CSI 8 t sequences.</li>
11803
11804    <li>ignore out-of-bounds resize requests, i.e., where
11805    sign-extension or truncation of the parameters would
11806    occur.</li>
11807  </ul>
11808
11809  <h1><a name="xterm_135" id="xterm_135">Patch #135 - 2000/5/29 -
11810  XFree86 4.0b</a></h1>
11811
11812  <ul>
11813    <li>remove code introduced in #134 which made some backgrounds
11814    bold.</li>
11815
11816    <li>minor correction to format of updated $TERMCAP when adding
11817    <code>kb</code> capability for <code>ptyInitialErase</code>
11818    logic.</li>
11819
11820    <li>improved test for SVR4 definition.</li>
11821  </ul>
11822
11823  <h1><a name="xterm_134" id="xterm_134">Patch #134 - 2000/5/28 -
11824  XFree86 4.0b</a></h1>
11825
11826  <ul>
11827    <li>update URL's and mailing addresses, moved to
11828    http://dickey.his.com and dickey@herndon4.his.com</li>
11829
11830    <li>correct missing quotes in CF_TTY_GROUP configure script
11831    macro in case the script is run in batch mode.</li>
11832
11833    <li>modify ownership-check of log file to ignore the group
11834    ownership. Otherwise xterm cannot create logfiles in
11835    directories with set-gid permissions.</li>
11836
11837    <li>simplify the logic that reads termcap data.</li>
11838
11839    <li>add fallback definition for B9600 in case line speed
11840    definition for 38400 is missing (report by Jack J Woehr
11841    &lt;jwoehr@ibm.net&gt;, for OpenBSD 2.6).</li>
11842
11843    <li>fix: Set highlightColor, and select a region containing the
11844    text cursor. If the window loses focus, the cursor becomes
11845    hollow, with the region inside the cursor being
11846    background/foreground, unlike the rest of the selection, which
11847    is foreground/highlight (patch by Ross Paterson
11848    &lt;ross@soi.city.ac.uk&gt;).</li>
11849
11850    <li>add configure script tests to define SVR4, SYSV and
11851    USE_POSIX_WAIT, which enables xterm to compile on Solaris 7 and
11852    SCO Openserver without imake, though there are still a few
11853    features for the latter which require <code>sco</code> to be
11854    predefined.</li>
11855
11856    <li>patches from Stephen P Wall:
11857      <ul>
11858        <li>add support for two Sun-specific function keys. These
11859        keys are labeled F11 and F12 on Sun Type 5 keyboards, but
11860        return SunXK_F36 and SunXK_F37. Support will only be
11861        compiled in if the header file &lt;X11/Sunkeysym.h&gt;
11862        exists and contains the appropriate symbol definitions. The
11863        keycodes for the DEC keycodes were arbitrary unused codes,
11864        but the ones for the Sun keycodes are what cmdtool and
11865        shelltool actually send.</li>
11866
11867        <li>add <code>colorRV</code> and <code>colorRVMode</code>
11868        resources to allow specifying a color to use for reverse
11869        video, similar to the existing UL, BD, and BL modes.</li>
11870
11871        <li>add <code>alwaysUseMods</code> resource, to override
11872        check if <code>alt</code> or <code>meta</code> modifiers
11873        are used in <code>translations</code> resource. Revamped
11874        the code to calculate the modifier value, and included Meta
11875        if alwaysUseMods is TRUE, using values 9-16.</li>
11876      </ul>
11877    </li>
11878
11879    <li>fixes for os390 (Paul Gilmartin):
11880      <ul>
11881        <li>regularize the definition of CONTROL() and remove an
11882        acknowledged "trial and error" table.</li>
11883
11884        <li>translate "^?" into A2E(0177) which is the EBCDIC "DEL"
11885        rather than plain 0177 which is the EBCDIC quotation
11886        mark.</li>
11887
11888        <li>modify <code>xtermMissingChar()</code> so that EBCDIC
11889        codes 128-159 are not rendered as blanks by X server
11890        running on Solaris, which sees those as control
11891        characters.</li>
11892
11893        <li>make debugging traces (configure --enable-trace) work
11894        properly with EBCDIC.</li>
11895      </ul>
11896    </li>
11897  </ul>
11898
11899  <h1><a name="xterm_133" id="xterm_133">Patch #133 - 2000/5/2 -
11900  XFree86 4.0a</a></h1>
11901
11902  <ul>
11903    <li>add substitutions in autoconf'd Makefile for CPPFLAGS,
11904    LDFLAGS and AWK (reported by Neil Bird).</li>
11905
11906    <li>correct uninitialized <code>childstat</code> variable from
11907    patch #131 in <code>creat_as()</code> function, which caused
11908    logging to not work on Solaris, whose <code>waitpid()</code>
11909    function does not initialize its parameter. Add check for EINTR
11910    on return from <code>waitpid()</code> as well (reported by Neil
11911    Bird &lt;neil.bird@rdel.co.uk&gt;).</li>
11912
11913    <li>remove a redundant check for working <code>setuid()</code>
11914    function introduced in patch #132. Greg Smith reports that this
11915    does not work as intended on os390.</li>
11916
11917    <li>change line speed from 9600bd to 38400bd, to accommodate
11918    people who mistakenly use $TERM set to <em>vt100</em>, to
11919    reduce the effect of padding associated with this terminal
11920    type.</li>
11921
11922    <li>add configure script check for IRIX 6.5's redefinition of
11923    baud rates associated with <code>struct termio</code>, to
11924    correct a situation where the baud rate was initialized to zero
11925    (reported by Andrew Isaacson &lt;adi@lcse.umn.edu&gt;).</li>
11926
11927    <li>remove unused configure script check for VDISABLE.</li>
11928  </ul>
11929
11930  <h1><a name="xterm_132" id="xterm_132">Patch #132 - 2000/4/11 -
11931  XFree86 4.0a</a></h1>
11932
11933  <ul>
11934    <li>undo an incorrect change from patch #113 caused the right
11935    scrollbar to be positioned incorrectly when re-enabling it
11936    (analysis by D Roland Walker).</li>
11937
11938    <li>add ctrlFKeys resource, replacing constant for adjusting
11939    control-F1 to control-F12 to VT220-style F10-F20. The resource
11940    changes the constant 12 to a default value of 10 (request by
11941    Jim Knoble &lt;jmknoble@pobox.com&gt;).</li>
11942
11943    <li>correct ifdef'ing for conflict between definitions in AIX's
11944    &lt;sys/select.h&gt; and &lt;X11/Xpoll.h&gt; (reported by Clint
11945    Olsen).</li>
11946
11947    <li>add checks for return-values of getutid(), initgroups() and
11948    setuid() in main.c, as well as modifying ifdef's for __osf__ to
11949    include tty-group and WTMP logic (adapted from patch by Paul
11950    Szabo &lt;psz@maths.usyd.edu.au&gt;)</li>
11951
11952    <li>modify resize.c to build and work on os390 (uses EBCDIC)
11953    (adapted from patch by Phil Sidler
11954    &lt;Phil.Sidler@airborne.com&gt;)</li>
11955
11956    <li>use Ires(), Bres() and Sres() macros to simplify resource
11957    list in charproc.c</li>
11958
11959    <li>resync with XFree86 4.0a:
11960      <ul>
11961        <li>correct a typo in os2main.c (Holger Veit, from
11962        4.0a).</li>
11963      </ul>
11964    </li>
11965  </ul>
11966
11967  <h1><a name="xterm_131" id="xterm_131">Patch #131 - 2000/3/3 -
11968  XFree86 3.9.18b</a></h1>
11969
11970  <ul>
11971    <li>improve logfile security (integrated patch by Branden
11972    Robinson)
11973      <ul>
11974        <li>make the <code>creat_as()</code> function more strict
11975        by using O_EXCL rather than O_APPEND.</li>
11976
11977        <li>fixes to make DEBUG ifdef's compile/run, including
11978        making the debug logfile more unique by appending a
11979        timestamp to its name.</li>
11980
11981        <li>include &lt;term.h&gt; in resize.c, to fix a
11982        missing-prototype warning.</li>
11983      </ul>
11984    </li>
11985
11986    <li>modified <code>creat_as()</code> a little more, retaining
11987    the ability to append to a logfile If the user specifies the
11988    name. Also, check if the opened file (which patch #130 ensures
11989    is owned by the effective user) is not writable by other
11990    users.</li>
11991
11992    <li>use <code>creat_as()</code> logic to make tek4014
11993    screen-copy more secure (noted by Branden Robinson).</li>
11994
11995    <li>ifdef'd some of Branden's changes to build/work on older
11996    machines.</li>
11997
11998    <li>correct missing initialization of the <code>.mode</code>
11999    flag in <code>ColorRes</code> struct, from patch #129. This
12000    worked on Linux because <code>malloc()</code> zeroes memory on
12001    that platform (reported by Christian Weisgerber).</li>
12002
12003    <li>modify logic for <code>deleteIsDEL</code> resource so it
12004    has internally 3 states: unspecified, true and false. If
12005    unspecified, the keyboard type determines whether the Delete
12006    key transmits <code>&lt;ESC&gt;[3~</code> or <code>\177</code>,
12007    and the popup menu entry reflects the internal state.
12008    Otherwise, the popup menu entry overrides the keyboard type
12009    (suggested by Dr Werner Fink, to make it simpler to set
12010    resources that imitate the legacy X11R6 xterm).</li>
12011  </ul>
12012
12013  <h1><a name="xterm_130" id="xterm_130">Patch #130 - 2000/3/1 -
12014  XFree86 3.9.18a</a></h1>
12015
12016  <ul>
12017    <li>modify <code>scroll-forw()</code> and
12018    <code>scroll-back()</code> actions, adding a third parameter
12019    which will direct xterm to ignore the action when mouse
12020    reporting is enabled. This is needed for the wheel mouse to be
12021    used to report to the application rather than scroll the
12022    window.</li>
12023
12024    <li>add menu entry and action to allow disabling xterm's
12025    assumption that the current font contains line-drawing
12026    characters if the font cells 1-31 are nonempty. Some fonts may
12027    have other characters (reported by Bruno Betro
12028    &lt;bruno@iami.mi.cnr.it&gt;).</li>
12029
12030    <li>add a check in <code>creat_as()</code> to ensure that the
12031    user really owns the logfile that has been opened.</li>
12032
12033    <li>add logic to implement SCO function-keys. (This is really
12034    incomplete, since I intend to revisit this and make xterm able
12035    to emulate scoansi better than just the function-keys).</li>
12036
12037    <li>add configure script option --enable-sco-fkeys, minor
12038    related fixes (patch by Dr Werner Fink).</li>
12039
12040    <li>fix typos in ctlseqs.ms (reported by Bram Moolenaar)</li>
12041
12042    <li>fix typo in sinstall.sh default for $TST_PROG (reported by
12043    Paul Gilmartin &lt;pg@sweng.stortek.com&gt;)</li>
12044  </ul>
12045
12046  <h1><a name="xterm_129" id="xterm_129">Patch #129 - 2000/2/26 -
12047  XFree86 3.9.18a</a></h1>
12048
12049  <ul>
12050    <li>improve initialization of ANSI colors by delaying
12051    allocation until each color is first used.</li>
12052
12053    <li>remove ifdef that prevented colorBD/colorUL/colorBL
12054    resources from working when 256-color configuration was built
12055    (reported by Todd Larason).</li>
12056
12057    <li>fix some minor inconsistencies in terminfo (Debian
12058    #58530).</li>
12059  </ul>
12060
12061  <h1><a name="xterm_128" id="xterm_128">Patch #128 - 2000/2/17 -
12062  XFree86 3.9.18</a></h1>
12063
12064  <ul>
12065    <li>correct logic for <code>oldXtermFKeys</code> resource,
12066    fixes a core dump when attempting to set it from the
12067    command-line (reported by Dr Werner Fink).</li>
12068
12069    <li>correct ifdef for meta-sends-escap so configure
12070    --disable-num-lock builds.</li>
12071  </ul>
12072
12073  <h1><a name="xterm_127" id="xterm_127">Patch #127 - 2000/2/12 -
12074  XFree86 3.9.17e</a></h1>
12075
12076  <ul>
12077    <li>add resource, popup menu entry and control sequence to
12078    allow changing the Delete key to send either DEL or the
12079    VT220-style Remove escape sequence.</li>
12080
12081    <li>remove logic for metaSendsEscape that would allow xterm to
12082    send <code>&lt;ESC&gt;[3~</code> before a function key that
12083    would begin with <code>&lt;ESC&gt;[3~</code> (request by
12084    Christian Weisgerber).</li>
12085
12086    <li>add missing action and documentation for
12087    meta-sends-escape.</li>
12088
12089    <li>correct a few typos in ctlseqs.ms (incorrect code for Cyan
12090    color)</li>
12091  </ul>
12092
12093  <h1><a name="xterm_126" id="xterm_126">Patch #126 - 2000/2/8 -
12094  XFree86 3.9.17c</a></h1>
12095
12096  <ul>
12097    <li>ensure that xterm will automatically activate the UTF-8
12098    mode whenever the name of the locale environment variable
12099    suggests that a UTF-8 locale is in use (patch by Markus Kuhn).
12100    This will help that by simply setting LC_CTYPE an entire system
12101    can be switched over to UTF-8, without users having to remember
12102    the UTF-8 command line options ("-u8", etc.) of the various
12103    applications. Command line options and X resource entries can
12104    still be used to override this default choice.</li>
12105
12106    <li>add old function-keys control sequences and popup menu
12107    entry, for compatibility with legacy X11R6 xterm.</li>
12108
12109    <li>revert translation of editing keypad "Delete" key to legacy
12110    \177.</li>
12111
12112    <li>simplify the color-resource data expressions with macro
12113    COLOR_RES, for later use in restructuring color
12114    initialization.</li>
12115
12116    <li>change encoding of wheel mouse (buttons 4 and 5) to avoid
12117    conflict with legacy mouse modifiers (suggested by Bram
12118    Moolenaar).</li>
12119  </ul>
12120
12121  <h1><a name="xterm_125" id="xterm_125">Patch #125 - 2000/1/31 -
12122  XFree86 3.9.17c</a></h1>
12123
12124  <ul>
12125    <li>make this work on OpenVMS (integrated patch by David
12126    Mathog).</li>
12127
12128    <li>rename some functions, e.g., <code>Index</code> to
12129    <code>xtermIndex</code> so that ports such as VMS which link
12130    externals ignoring case will not have library conflicts
12131    (reported by David Mathog).</li>
12132
12133    <li>correct logic of <code>do_reversevideo()</code>, which did
12134    not update the corresponding popup menu check mark (reported by
12135    David Mathog, this was a detail overlooked in patch #94).</li>
12136
12137    <li>change TRACE macro so semicolon is not within definition,
12138    making <em>indent</em> and similar programs work better.</li>
12139
12140    <li>add <code>depend</code> rule to Makefile.in</li>
12141
12142    <li>modify logic of boldColors resource to suppress it if an
12143    extended color control has been used, e.g., for 88-color or
12144    256-color mode (patch by Todd Larason).</li>
12145
12146    <li>revise logic that handles menus and input translation for
12147    keyboard type so only one can be selected at a time.</li>
12148
12149    <li>restore kdch1=\177 for the Sun function-key type, and make
12150    the the Delete key send DEL (\177) if the oldXtermFKeys
12151    resource is set.</li>
12152
12153    <li>rephrase logic and ifdef's for POSIX VDISABLE to avoid
12154    preprocessor expression that will not compile on NetBSD/x86
12155    1.4.1 (reported by Takaaki Nomura
12156    &lt;amadeus@yk.rim.or.jp&gt;).</li>
12157  </ul>
12158
12159  <h1><a name="xterm_124" id="xterm_124">Patch #124 - 2000/1/27 -
12160  XFree86 3.9.17b</a></h1>
12161
12162  <ul>
12163    <li>change coding of editing keypad's "Delete" key to
12164    &lt;escape&gt;[3~, in the default (Sun/PC) keyboard mode. This
12165    makes the terminfo kdch1 capability independent of the coding
12166    of the backarrow key, which sends either backspace (8) or DEL
12167    (127). The reason for doing this (compatibility with the
12168    <em>screen</em> program) outweighs the choice of DEL (127)
12169    which was used in X11R5/X11R6 xterms. The <em>screen</em>
12170    program translates whatever matches kdch1 into
12171    &lt;escape&gt;[3~, even if it happens to be the stty erase
12172    character.</li>
12173
12174    <li>add encoding for control/?, to work around xmodmap or key
12175    translations which may confuse backspace and delete. A
12176    control/? will send DEL (127), and a control/H will of course
12177    send backspace (8).</li>
12178
12179    <li>add encoding for kcbt to &lt;escape&gt;[Z (fixes Debian
12180    #54840).</li>
12181
12182    <li>minor correction to logic that encodes Sun and DEC function
12183    keys to avoid sending an escape sequence if the key symbol is
12184    not found in xterm's lookup table.</li>
12185
12186    <li>simplify ifdef's in main.c for POSIX VDISABLE so the "^-"
12187    pattern is more likely to be implemented when <em>imake</em>
12188    configures xterm (fixes Debian #55105).</li>
12189
12190    <li>change manpage to make it clearer what codes are sent by
12191    the backarrow key.</li>
12192  </ul>
12193
12194  <h1><a name="xterm_123" id="xterm_123">Patch #123 - 2000/1/22 -
12195  XFree86 3.9.17a</a></h1>
12196
12197  <ul>
12198    <li>add a note reserving OSC 51 for use in Emacs shell (request
12199    by Rob Mayoff &lt;mayoff@dqd.com&gt;).</li>
12200
12201    <li>correct a missing backslash in xterm-vt220 termcap.</li>
12202
12203    <li>cleanup remaining quoted includes, preferring bracketed
12204    form.</li>
12205
12206    <li>minor configure-script macro updates from tin and
12207    vile.</li>
12208
12209    <li>add configure-script option for using utempter library,
12210    adapted from Redhat 6.1 patch for XFree86 3.3.5</li>
12211
12212    <li>resync with XFree86 3.9.17a:
12213      <ul>
12214        <li>correction to QNX support (Frank Guangxin Liu)</li>
12215
12216        <li>some cosmetic changes that did not correct any reported
12217        problems.</li>
12218      </ul>
12219    </li>
12220  </ul>
12221
12222  <h1><a name="xterm_122" id="xterm_122">Patch #122 - 1999/12/28 -
12223  XFree86 3.9.16f</a></h1>
12224
12225  <ul>
12226    <li>move the suggested wheel-mouse button translations into
12227    charproc.c to simplify customization. Correct some minor logic
12228    errors in the support for buttons 4 and 5, used for wheel mice
12229    (reported by Bram Moolenaar).</li>
12230
12231    <li>implement <em>metaSendsEscape</em> resource, with
12232    corresponding control sequence and menu entry. Like
12233    <em>eightBitInput</em>, this causes xterm to send ESC prefixing
12234    the given key, but applies to all keys and is independent of
12235    the 8-bit/7-bit terminal setting. (requests by Alexander V
12236    Lukyanov and Marc Feeley).</li>
12237
12238    <li>correct potential indexing with negative subscript in
12239    udk_lookup(), (reported by Ian Collier
12240    &lt;Ian.Collier@comlab.ox.ac.uk&gt;).</li>
12241
12242    <li>modify configure script that sets TERMINFO_DIR to use
12243    ${prefix} rather than /usr if the --prefix option was specified
12244    (request by Zdenek Sekera &lt;zs@sgi.com&gt;).</li>
12245
12246    <li>modify checks for repeat-character control sequence to test
12247    the character class against xterm's state table, rather than
12248    the isprint() macro (patch by Alexander V Lukyanov).</li>
12249
12250    <li>change several functions to macros to improve speed</li>
12251
12252    <li>two corrections to simulation of bold font via
12253    overstriking:
12254      <ul>
12255        <li>use clipping to avoid leaving trash at end of the text,
12256        and</li>
12257
12258        <li>add brackets so wide-character logic does not
12259        fall-through into the overstriking logic (reported by Marc
12260        Feeley &lt;feeley@IRO.UMontreal.CA&gt;)</li>
12261      </ul>
12262    </li>
12263
12264    <li>add several entries to termcap file to make it have the
12265    same set of aliases as the terminfo file.</li>
12266
12267    <li>scale the color values used for xterm-256color terminfo
12268    entry to 0..1000, as expected by ncurses.</li>
12269
12270    <li>change xterm-r6 terminfo definitions for F1-F4 to match
12271    program.</li>
12272
12273    <li>Add QNX/Neutrino support (Frank Guangxin Liu
12274    &lt;frank@ctcqnx4.ctc.cummins.com&gt;)</li>
12275  </ul>
12276
12277  <h1><a name="xterm_121" id="xterm_121">Patch #121 - 1999/11/14 -
12278  XFree86 3.9.16c</a></h1>
12279
12280  <ul>
12281    <li>change label on "Sun/PC Keyboard" popup menu entry to
12282    "VT220 Keyboard", since the checked state corresponds to VT220
12283    rather than Sun/PC.</li>
12284
12285    <li>add configure test CF_UTMP_UT_XSTATUS to handle the
12286    variants of utmp exit status (reports by Dave Ellement, Jeremie
12287    Petit, Tomas Vanhala).</li>
12288
12289    <li>amend treatment of ALT key (see <a href="#xterm_94">patch
12290    #94</a>) so that if ALT is used as a modifier in key
12291    translations, then no parameter will be sent in escape
12292    sequences for Sun/PC function keys (request by Dr Werner
12293    Fink).</li>
12294
12295    <li>modify default for OPT_I18N_SUPPORT to assume that
12296    <code>XtSetLanguageProc()</code> is available in X11R5.
12297      <p>Caveat: <code>XtSetLanguageProc()</code> was added fairly
12298      late in the X11R5 patches, and some vendors shipped buggy
12299      versions of this function (request by Tomas Vanhala).</p>
12300    </li>
12301
12302    <li>correct configure macro CF_SYSV_UTMP to test-link with
12303    functions consistent with the header, e.g., getutent() for
12304    utmp.h and getutxent() for utmpx.h (reported by Greg
12305    Smith).</li>
12306
12307    <li>modify terminfo entry for <code>xterm-xfree86</code> to
12308    reflect modifiers for shift and control (from a patch by
12309    Alexander V Lukyanov).</li>
12310
12311    <li>modify terminfo entry for <code>xterm-sun</code> to match
12312    the function-key definitions in ncurses. The pageup/pagedown
12313    and related function keys correspond to the Sun keyboard, which
12314    does not necessarily correspond with X's notion of those
12315    keys.</li>
12316
12317    <li>modify treatment of XK_Delete keysym so it transmits
12318    parameterized VT220-style <code>&lt;ESC&gt;[3~</code> if
12319    modifiers (shift, control alt) are given (request by Alexander
12320    V Lukyanov).</li>
12321
12322    <li>corrected misspelled resource name in command-line option
12323    for HP function keys.</li>
12324  </ul>
12325
12326  <h1><a name="xterm_120" id="xterm_120">Patch #120 - 1999/10/28 -
12327  XFree86 3.9.16c</a></h1>
12328
12329  <ul>
12330    <li>refine the change to <code>SGR_Background()</code> in patch
12331    #119, by not flushing the pending scrolling operation if the
12332    background color is not actually changing. This combination
12333    occurs when using color-ls to display a long listing, since
12334    each line ends with an SGR0 which affects only the foreground
12335    color. The unnecessary flushing made it noticeably slower
12336    (reported by D Roland Walker &lt;walker@pobox.com&gt;).</li>
12337
12338    <li>remove obsolete documentation about modifiers which can be
12339    returned in mouse tracking mode, and modify logic to ignore
12340    modifiers other than the existing ones, e.g., NumLock (prompted
12341    by discussions with Christian Weisgerber and Brad Pepers
12342    &lt;brad@linuxcanada.com&gt;).</li>
12343
12344    <li>use free bit from obsolete shift-modifier coding of mouse
12345    tracking button events to encode buttons 4 and 5, e.g., for a
12346    wheel mouse (requests by Brad Pepers and Bram Moolenaar).</li>
12347
12348    <li>correct a place where the ptyInitialErase logic did not set
12349    the backarrowKey state, and modify it further to use tgetstr()
12350    rather than parse the termcap data returned from tgetent() so
12351    the ptyInitialErase logic will work when xterm is linked with a
12352    terminfo library (based on a patch by Dr Werner Fink
12353    &lt;werner@suse.de&gt;).</li>
12354
12355    <li>fix definition of HAVE_UTMP_UT_HOST for ISC configuration
12356    (patch by Michael Rohleder).</li>
12357
12358    <li>improve configure script's utmp tests (based on reports by
12359    Greg Smith for os390, and David Ellement for HPUX).</li>
12360
12361    <li>modify sinstall.sh to use uid=0 rather than 'root' to
12362    determine if the installer is privileged. This is needed on
12363    some systems since more than one account may be privileged
12364    (report by Greg Smith).</li>
12365
12366    <li>add an application resource, <code>messages</code> (and a
12367    corresponding -/+mesg option) which controls the initial
12368    permission on the terminal: if messages is set to true (the
12369    default), behavior is as without the patch; if it is set to
12370    false (as per -mesg), the terminal is opened in mode 0600, thus
12371    producing the effect of the <code>mesg n</code> command. This
12372    is useful for users who want to redirect all their messages to
12373    one particular xterm: it is more pleasant to do this with xterm
12374    resources than with explicit calls to the <code>mesg</code>
12375    program (patch, description by David Madore
12376    &lt;david.madore@ens.fr&gt;).</li>
12377  </ul>
12378
12379  <h1><a name="xterm_119" id="xterm_119">Patch #119 - 1999/10/16 -
12380  XFree86 3.9.16c</a></h1>
12381
12382  <ul>
12383    <li>add responses (DA and DSR) for DEC locator mode</li>
12384
12385    <li>add coding for ANSI color to DA response</li>
12386
12387    <li>implement UTF-8 translation for Media Copy (print)
12388    operations.</li>
12389
12390    <li>implement vt320 control sequences for Print Composed Main
12391    Display and for Print All Pages. The latter directs xterm to
12392    print the current screen as well as the scrollback buffer.</li>
12393
12394    <li>correct error in _GNU_SOURCE configure test, which left it
12395    always defined.</li>
12396
12397    <li>add more information, i.e., with strerror for some system
12398    calls in the main program which may fail due to insufficient
12399    permissions (prompted by a problem report for <code>-C</code>
12400    by Jeremie Petit &lt;Jeremie.Petit@digital.com&gt;).</li>
12401
12402    <li>add workaround for conflict between &lt;X11/Xpoll.h&gt; and
12403    &lt;sys/select.h&gt; on AIX 4.3 (Richard Griswold
12404    &lt;griswold@acm.org&gt;).</li>
12405
12406    <li>add configure script test to resolve conflict between
12407    between &lt;X11/Xpoll.h&gt; and &lt;sys/select.h&gt;</li>
12408
12409    <li>modify translation of UTF-8 sequences to reject "overly
12410    long" variations (patch by Markus Kuhn).</li>
12411
12412    <li>remove <code>utf8controls</code> resource, since Markus'
12413    change removes the corresponding logic.</li>
12414
12415    <li>correct a case where colors were not rendered properly.
12416    This happened when an application inserted several lines, then
12417    changed colors. If this was done all in one write, then there
12418    would be no intervening refresh, and the new color was applied
12419    to the pending scrolling operation which was awaiting the next
12420    refresh (reported by Stephane Chazelas
12421    &lt;Stephane_Chazelas@Raytheon.com&gt;).</li>
12422  </ul>
12423
12424  <h1><a name="xterm_118" id="xterm_118">Patch #118 - 1999/10/5 -
12425  XFree86 3.9.16b</a></h1>
12426
12427  <ul>
12428    <li>refine configure test for utmp versus utmpx, to build on
12429    HP-UX 10.x (reported by David Ellement).</li>
12430
12431    <li>move the configure check for <code>const</code> after the
12432    check for ANSI C compiler options, since those may be required
12433    to make it work properly on HP-UX.</li>
12434
12435    <li>add configure test for defining
12436    <code>_GNU_SOURCE</code></li>
12437
12438    <li>correction to <em>-hold</em> option, ensure that if data is
12439    already in the output buffer that it will be displayed before
12440    closing the PTY.</li>
12441
12442    <li>move the configure checks for setuid install of xterm into
12443    a script to avoid installing it setuid'd to a non-root user
12444    (reported by Adam Sulmicki &lt;adam@cfar.umd.edu&gt;).</li>
12445
12446    <li>correct configure script's check for termcap.h to avoid
12447    using ncurses' version of it on systems that have a working
12448    <code>tgetent()</code> function. This is needed to make
12449    <code>resize</code> work properly.</li>
12450
12451    <li>fix some typography in ctlseqs.ms description of DEC
12452    locator events (reported by Stephen P Wall).</li>
12453  </ul>
12454
12455  <h1><a name="xterm_117" id="xterm_117">Patch #117 - 1999/9/29 -
12456  XFree86 3.9.16b</a></h1>
12457
12458  <ul>
12459    <li>change order of tests in configure script for utmp and
12460    utmpx to test utmpx first, to compile on Solaris (reported by
12461    Leena Heino &lt;liinu@uta.fi&gt; and Patrik Hagglund
12462    &lt;patha@ida.liu.se&gt;).</li>
12463
12464    <li>add a configure test for utmp.ut_xtime, needed for SCO
12465    Openserver, and for lastlog, needed for Redhat 6.0, to refine
12466    the utmp/utmpx auto-configure.</li>
12467
12468    <li>remove a spurious comma in an #undef (reported by David
12469    Green &lt;greendjf@cvhp152.marconicomms.com&gt; and David
12470    Ellement &lt;ellement@sdd.hp.com&gt; both on HP-UX, whose
12471    compiler does care about syntax).</li>
12472
12473    <li>change ifdef's using __CYGWIN32__ to __CYGWIN__ (reported
12474    by Suhaib M. Siddiqi &lt;Ssiddiqi@InspirePharm.Com&gt;, who is
12475    told that the next Cygnus release will drop that symbol in
12476    their next release).</li>
12477
12478    <li>minor cleanup of ifdef's for makeColorPair (patch by
12479    Stephen P Wall).</li>
12480
12481    <li>work around problem observed in XFree86 3.3.5 (patch by
12482    Alexander V Lukyanov, Redhat #5419). From the problem report:
12483      <blockquote>
12484        <p>xterm consumes cpu when selecting text with mouse
12485        (holding down left mouse button) and when a program working
12486        under the xterm outputs something to stdout.</p>
12487
12488        <p>Easy way to reproduce:<br>
12489        <code>while :; do echo aaa; sleep 1; done</code><br>
12490        (while this runs, select text and hold down left mouse
12491        button) watch cpu load.<br>
12492        release left mouse button - spinning stops.</p>
12493      </blockquote>
12494    </li>
12495  </ul>
12496
12497  <h1><a name="xterm_116" id="xterm_116">Patch #116 - 1999/9/25 -
12498  XFree86 3.9.16a</a></h1>
12499
12500  <ul>
12501    <li>modify warning if change-ownership of PTY fails; some
12502    configurations may not happen to have old-style pty's (reported
12503    by Bob Maynard).</li>
12504
12505    <li>improve check in configure script for group ownership of
12506    installed xterm; some platforms use the -g option of ls to
12507    toggle group off rather than on (reported by Greg Smith).</li>
12508
12509    <li>minor improvement to toolbar geometry, to make it not
12510    resizable. This still is not satisfactory (but is usable) since
12511    the toolbar overlaps the xterm widget if the window is resized
12512    to make it smaller. It appears that some work is needed for the
12513    xterm widget's geometry management to make it function
12514    properly.</li>
12515
12516    <li>implement configure script tests for utmp, tty group.</li>
12517
12518    <li>implement <em>-hold</em> option, allowing users to retain
12519    the window after a shell has exited (this is recently an FAQ,
12520    but prompted by a comment by Joachim Plaettner-Hochwarth
12521    &lt;plaettner@aem.umn.edu&gt; in comp.unix.programmer, that the
12522    IRIX winterm provides this option).</li>
12523
12524    <li>add support for DEC Locator control sequences for xterm
12525    (integrated patch by Stephen P Wall):
12526
12527      <pre>
12528                DECEFR, "Enable Filter Rectangle"
12529                DECELR, "Enable Locator Reports"
12530                DECSLE, "Select Locator Events"
12531                DECRQLP, "Request Locator Position"
12532</pre>
12533      <p>This allows the xterm mouse to be used with applications
12534      that use the DEC Locator sequences, such as VAX Tpu, or SMG$
12535      based applications.</p>
12536    </li>
12537
12538    <li>improve print action (patch by Matthias Baake). From his
12539    notes,
12540      <ul>
12541        <li>Bug 1<br>
12542        Underlined text is preceded by ESC&nbsp;[0;2m . This should
12543        be ESC&nbsp;[0;4m&nbsp;, ESC&nbsp;[2m doesn't seem to have
12544        any effect. (print.c/send_SGR)</li>
12545
12546        <li>Bug 2<br>
12547        The check for the last non-empty column (while (last &gt;
12548        0) ... in print.c/printLine) omits the rightmost column of
12549        the screen, the loop must start with last =
12550        screen-&gt;max_col+1 instead of last =
12551        screen-&gt;max_col.</li>
12552
12553        <li>Bug 3<br>
12554        Any attributes of the first character (and of all
12555        immediately following characters with the same attributes)
12556        are ignored. The variable attr (print.c/printLine) should
12557        be initialized with 0, not with *a &amp; SGR_MASK.</li>
12558      </ul>
12559    </li>
12560  </ul>
12561
12562  <h1><a name="xterm_115" id="xterm_115">Patch #115 - 1999/9/18 -
12563  XFree86 3.9.16a</a></h1>
12564
12565  <ul>
12566    <li>integrated changes by Stephen P Wall to implement an
12567    88-color model for systems where 256-colors cannot be
12568    allocated.</li>
12569
12570    <li>when 256-color configuration is compiled, colored bold and
12571    underlining is not available; ifdef'd to avoid possible odd
12572    effects in this case (reported by Stephen P Wall).</li>
12573
12574    <li>add resource <em>cacheDoublesize</em>, to limit the caching
12575    of font information for double-sized characters. This addresses
12576    a problem reported by Aryeh Koenigsberg for X terminals with
12577    limited font memory.</li>
12578
12579    <li>modify treatment of line-drawing characters in UTF-8 mode
12580    so that the Unicode values are used rather than the C0 codes
12581    for storing the translated characters (request by Markus
12582    Kuhn).</li>
12583  </ul>
12584
12585  <h1><a name="xterm_114" id="xterm_114">Patch #114 - 1999/9/15 -
12586  XFree86 3.9.16</a></h1>
12587
12588  <ul>
12589    <li>add configure script checks for Athena headers and
12590    libraries under /usr/contrib to work on HPUX (reported by
12591    several people: David Nixon &lt;djn@csc.liv.ac.uk&gt; Aryeh
12592    Koenigsberg &lt;aryeh.koenigsberg@telrad.co.il&gt; Johannes
12593    M&auml;hner &lt;johanm@camline.com&gt; Andrew Gaylard
12594    &lt;andrew.gaylard@bsw.co.za&gt;).</li>
12595
12596    <li>add check to configure script if xterm is installed setgid
12597    rather than setuid, since wtmp and utmp may be installed with
12598    group-writable permissions other than root (based on Debian bug
12599    report #7112 by Bo Branten &lt;bosse@ing.umu.se&gt;).</li>
12600
12601    <li>rewrote logic that removes data from termcap entry, e.g.,
12602    for titeInhibit, to make it less likely to remove the wrong
12603    data.</li>
12604
12605    <li>correct logic which checks for missing characters used for
12606    line drawing. The 0 character was tested unnecessarily, leading
12607    to some inefficiency when rendering.</li>
12608
12609    <li>change termcap capability which is used as input or output
12610    of ptyInitialErase logic from <em>kD</em> to <em>kb</em>.
12611    Christian Weisgerber &lt;naddy@mips.rhein-neckar.de&gt; pointed
12612    out in effect that <em>kD</em> (in terminfo <em>kdch1</em>)
12613    should correspond to the control sequence for <em>dch1</em>,
12614    which deletes from the current position toward the right.</li>
12615
12616    <li>check for failure to change ownership of the PTY device and
12617    warn when xterm is running setuid'd to root. This was reported
12618    to happen on the FreeBSD/NetBSD/OpenBSD systems as a result of
12619    the chflags() call.</li>
12620
12621    <li>add xterm-noapp terminfo entry to illustate a nominally
12622    bash-compatible terminal description.</li>
12623  </ul>
12624
12625  <h1><a name="xterm_113" id="xterm_113">Patch #113 - 1999/8/15 -
12626  XFree86 3.9.15b</a></h1>
12627
12628  <p>Several fixes. The main one is a first draft of pulldown
12629  menus. It's not complete (I have some minor/annoying geometry
12630  problems to correct), but is usable. Once it's complete I plan to
12631  add a menu to support additional selections that won't fit on the
12632  current popup menus. Also, this fits into my longterm plan to
12633  allow configuring with Motif libraries.</p>
12634
12635  <ul>
12636    <li>correct error in input conversion for NRC mode (reported by
12637    Stefan Traby &lt;stefan@sime.com&gt;).</li>
12638
12639    <li>fix initialization of num_lock data in Misc struct (since
12640    those fields of the reference widget aren't initialized), and
12641    add logic to deal with XVision whose NumLock key does not
12642    transmit but does alter keypad state.</li>
12643
12644    <li>correct a missing return-value in get_pty(), for SCO</li>
12645
12646    <li>add E2A fix for backspace (patch by Greg Smith), i.e.,<br>
12647    #define VAL_INITIAL_ERASE A2E(127)</li>
12648
12649    <li>correct foreground color within cursor outline when the
12650    window is unfocused (reported by Stephane Chazelas).</li>
12651
12652    <li>corrected position of scrollbar set in ResizeScrollBar(),
12653    which left it positioned incorrectly if the right scrollbar
12654    were enabled from the popup menu but was not initially enabled.
12655      <p>I have noticed some additional problems with
12656      right-scrollbar on X11R5 which I will correct later.</p>
12657    </li>
12658
12659    <li>integrate changes by Jean-Claude Michot for QNX from
12660    XFree86 3.3.4c</li>
12661
12662    <li>add resources menuBar/MenuBar, menuHeight/MenuHeight for
12663    later use in toolbar geometry.</li>
12664
12665    <li>add configure option --enable-toolbar</li>
12666
12667    <li>add missing definition to make ziconbeep logic not
12668    compile-in when configure script disables it.</li>
12669
12670    <li>add configure-check for input-method support in X
12671    libraries</li>
12672  </ul>
12673
12674  <h1><a name="xterm_112" id="xterm_112">Patch #112 - 1999/7/17 -
12675  XFree86 3.9Pw</a></h1>
12676
12677  <ul>
12678    <li>add null-pointer check to FlushLog(), fixes a core dump
12679    when both -l and -lf options are used when xterm is configured
12680    with wide-character support.</li>
12681
12682    <li>remove "ISO" case for SD, which was due to a typographical
12683    error in ECMA-48 (reported by Paul Williams
12684    &lt;paul@celigne.co.uk&gt; for vttest).</li>
12685
12686    <li>add "FILES" section to manpage.</li>
12687
12688    <li>generate header file to initialize default resources for
12689    colors 16-255.</li>
12690
12691    <li>fixes for os390 (Greg Smith):
12692      <ul>
12693        <li>add README.os390</li>
12694
12695        <li>use the pty_search() function to find an available
12696        pty/tty pair.</li>
12697
12698        <li>move E2A() call out of getXtermCell() to SaveText()
12699        function so it will be available in all
12700        configurations.</li>
12701      </ul>
12702    </li>
12703
12704    <li>patches by Todd Larason:
12705      <ul>
12706        <li>enable SGR 48 5 in ISO color mode, not just 256 color
12707        mode</li>
12708
12709        <li>change configure's --disable-256-color option to
12710        --enable-256-color, to match its effect</li>
12711
12712        <li>fix OSC 4 xx ? (report ansi color) to report a string
12713        which can actually be used to set the color back</li>
12714
12715        <li>fix OSC 4 xx yy (change ansi color) to not allow
12716        setting colors &gt; 15 in 16 color mode</li>
12717
12718        <li>simplify the COLOR_ settings a bit in ptyx.h, along
12719        with setting NUM_ANSI_COLORS needed for #1 and #4
12720        above</li>
12721
12722        <li>correct string-terminator code passed for reference to
12723        OSC responses; when in 7-bit mode, only the final byte of
12724        ST was seen.</li>
12725
12726        <li>Allow multiple color #;name pairs in OSC 4, and
12727        document changes to match.</li>
12728      </ul>
12729    </li>
12730  </ul>
12731
12732  <h1><a name="xterm_111" id="xterm_111">Patch #111 - 1999/7/10 -
12733  XFree86 3.9Pw</a></h1>
12734
12735  <ul>
12736    <li>add control sequences for specifying the RGB value of the
12737    ANSI colors, and for configuring with 256 colors (patch by Todd
12738    Larason &lt;jtl@molehill.org&gt;). I made the default
12739    configuration to 16-colors, because xterm uses the default
12740    color map (which has only 256 colors).</li>
12741
12742    <li>correct an error in DCS $ q m reporting for colors 8-15
12743    (Todd Larason).</li>
12744
12745    <li>add test/demo script for double size characters. Used this
12746    to test/correct display of double size characters that should
12747    wrap, underlined double size characters.</li>
12748
12749    <li>increased cache size for double size fonts to 8, to allow
12750    for both normal and bold fonts (discussion with Aryeh
12751    Koenigsberg &lt;aryeh.koenigsberg@telrad.co.il&gt;).</li>
12752
12753    <li>add fixes for port to OS390 aka MVS (integrated patch from
12754    Greg Smith &lt;rys@epaibm.rtpnc.epa.gov&gt;). OS390 uses EBCDIC
12755    rather than ASCII.</li>
12756
12757    <li>correct an off-by-one in binary search limits in
12758    keysym2ucs.c (Markus Kuhn).</li>
12759
12760    <li>implement logging for UTF-8 mode. The output is written in
12761    UTF-8 form.</li>
12762  </ul>
12763
12764  <h1><a name="xterm_110" id="xterm_110">Patch #110 - 1999/6/29 -
12765  XFree86 3.9Pu</a></h1>
12766
12767  <ul>
12768    <li>If colorMode is enabled by default, compile-in default
12769    resources to match the colors listed in XTerm-col.ad (this
12770    should fix a longstanding FAQ).</li>
12771
12772    <li>added new OSC&nbsp;3&nbsp;;&nbsp;PROPNAME=VALUE&nbsp;ST
12773    escape sequence to set an arbitrary X property on the top level
12774    xterm X11 window. Omit "=VALUE" to delete the X property (patch
12775    by Greg Badros &lt;gjb@cs.washington.edu&gt;).</li>
12776
12777    <li>change internal flag used for <em>utf8controls</em>
12778    resource so we allow 31-bit range of characters (suggested by
12779    Thomas Wolff).</li>
12780
12781    <li>add check for 16-bit characters in OSC strings, change them
12782    to '?' (reported by Thomas Wolff).</li>
12783
12784    <li>modify logic of same_font_name() to avoid trying to
12785    interpret both parameters as wildcard patterns. That does not
12786    (cannot) work, and in some instances the font server will
12787    return unresolved wildcards for the normal or bold fontnames,
12788    making them match inadvertently, triggering the fallback
12789    overstrike logic (reported by Tim Adye).</li>
12790  </ul>
12791
12792  <h1><a name="xterm_109" id="xterm_109">Patch #109 - 1999/6/23 -
12793  XFree86 3.9Pt</a></h1>
12794
12795  <ul>
12796    <li>correct range-check from patch #108, which resulted in not
12797    being able to select from the scrollback buffer (reported by
12798    Tim Adye &lt;T.J.Adye@rl.ac.uk&gt;)</li>
12799
12800    <li>correct "no available ptys" problem with Cygwin B20.1
12801    (patch by Tim Adye).</li>
12802
12803    <li>modified install-ti rule in Makefile.in to allow override
12804    of the terminfo directory when doing a "make install", i.e., by
12805    assigning to TERMINFO_DIR (request by Zdenek Sekera
12806    &lt;zs@sgi.com&gt;).</li>
12807
12808    <li>added install-full rule to Makefile.in</li>
12809
12810    <li>resync mkdirs.sh and install.sh scripts against current
12811    autoconf</li>
12812
12813    <li>implement $(DESTDIR) in Makefile.in, making it simple to
12814    install xterm and associated files into a directory just for
12815    packaging a binary release (suggested by CaT
12816    &lt;cat@zip.com.au&gt;).</li>
12817
12818    <li>change IChar type to unsigned, rather than unsigned short,
12819    making room for a flag to keep with 16-bit characters to
12820    prevent them from being interpreted as C0 or C1 controls
12821    (reported by Thomas Wolff).</li>
12822
12823    <li>correct a typo from patch #107, incorrect array name, in
12824    the filterUTF8 function (patch by Bruno Haible
12825    &lt;haible@ilog.fr&gt;)</li>
12826
12827    <li>add <em>utf8controls</em> resource to specify whether xterm
12828    should interpret 16-bit characters unpacked from UTF-8 form as
12829    control characters if they happen to fall into that range. This
12830    behavior is left unspecified by the Unicode standard (request
12831    by Thomas Wolff).</li>
12832
12833    <li>modify handling of OSC to recover if application sends
12834    16-bit characters with codes above 255. We cannot display them
12835    as is, but translate out-of-range characters to a '?' (reported
12836    by Thomas Wolff).</li>
12837  </ul>
12838
12839  <h1><a name="xterm_108" id="xterm_108">Patch #108 - 1999/6/19 -
12840  XFree86 3.9Ps</a></h1>
12841
12842  <ul>
12843    <li>add a range-check to LastTextCol(), to guard against
12844    indexing before the beginning of the scrollback buffer. This
12845    appears to happen with certain fonts under X11R5 (reported by
12846    Stephane Chazelas &lt;Stephane_Chazelas@Raytheon.com&gt;).</li>
12847
12848    <li>implement resource <em>boldMode</em>, to allow disabling
12849    the simulation of bold fonts when the bold and normal fonts are
12850    not different (requested by Will Day
12851    &lt;willday@rom.oit.gatech.edu&gt;).</li>
12852
12853    <li>change the atom "UTF-8" to "UTF8_STRING", and fixes a few
12854    bugs in the UTF-8 selection (patch by Juliusz Chroboczek).</li>
12855
12856    <li>correct logic of binary-search in keysym2ucs.c (patch by
12857    Markus Kuhn).</li>
12858
12859    <li>add special interpretation of keysym codes above 0x1000000
12860    as the corresponding UCS value plus 0x1000000 (patch by Markus
12861    Kuhn).</li>
12862  </ul>
12863
12864  <h1><a name="xterm_107" id="xterm_107">Patch #107 - 1999/6/12 -
12865  XFree86 3.9Pq</a></h1>
12866
12867  <ul>
12868    <li>Two changes from Stephen P Wall. From his description:
12869      <blockquote>
12870        <p>The first change is simple - I added ESC[3J to erase the
12871        stored lines above the screen. That's what the changes to
12872        util.c and ctlseqs.ms are.</p>
12873
12874        <p>The second change is to get the blinking cursor working.
12875        I took out the cursorBlinkTime resource, and put in
12876        cursorBlink (Boolean), cursorOnTime (time cursor is on in
12877        msecs) and cursorOffTime, and added a cursorblink item to
12878        the vtMenu to enable/disable it.</p>
12879      </blockquote>
12880    </li>
12881
12882    <li>improve selection (integrated patch by Juliusz Chroboczek).
12883    From his description:
12884      <blockquote>
12885        <p>With this patch, selection conversion works
12886        properly:</p>
12887
12888        <pre>
12889        ISO 8859-1 xterm -&gt; ISO 8859-1 xterm (transferred as STRING);
12890        ISO 8859-1 xterm -&gt; UTF-8 xterm (transferred as STRING);
12891        UTF-8 xterm -&gt; ISO 8859-1 xterm (transferred as STRING);
12892        UTF-8 xterm -&gt; UTF-8 xterm (transferred as UTF-8).
12893</pre>
12894        <p>It will not work properly if one xterm is in, say, ISO
12895        8859-2. Actually, for this case xterm breaks the ICCCM
12896        routinely (sending ISO 8859-2 data as STRING), so I
12897        wouldn't worry too much about it. I have not changed the
12898        behaviour in eight-bit mode in any way.</p>
12899      </blockquote>
12900    </li>
12901  </ul>
12902
12903  <h1><a name="xterm_106" id="xterm_106">Patch #106 - 1999/6/9 -
12904  XFree86 3.9Pq</a></h1>
12905
12906  <ul>
12907    <li>remove duplicate fix for OpenBSD in resize.c</li>
12908
12909    <li>correct logic in ScreenWrite, which did not reset the high
12910    bytes of 16-bit characters when overwriting them with a 8-bit
12911    character string (reported by Thomas Wolff).</li>
12912
12913    <li>provide limited support for input of UTF-8 16-bit data by a
12914    lookup table (integrated patch by Markus Kuhn).</li>
12915
12916    <li>correct check in non_blank_line to ensure we're in
12917    wide-character mode before looking at the high bytes, for
12918    InsertChar.</li>
12919  </ul>
12920
12921  <h1><a name="xterm_105" id="xterm_105">Patch #105 - 1999/6/5 -
12922  XFree86 3.9Pp</a></h1>
12923
12924  <ul>
12925    <li>implement new resource <em>trimSelection</em>, which allows
12926    xterm to trim trailing blanks from selected lines. This does
12927    not affect the highlighting. (reported by several people using
12928    <em>mutt</em>, including Hans Morten Kind &lt;edphk@uib.no&gt;,
12929    Jeremy &lt;jeremy@exit109.com&gt; and (Michael Fuller
12930    &lt;msf@mds.rmit.edu.au&gt;).</li>
12931
12932    <li>include term.h in resize for OpenBSD (patch by Matthieu
12933    Herrb).</li>
12934
12935    <li>correct logic for UTF-8 in functions that hide and show the
12936    cursor; it was displaying a space whenever the low byte of the
12937    character at the cursor position was zero (reported by Thomas
12938    Wolff &lt;Thomas.Wolff@icn.siemens.de&gt;).</li>
12939  </ul>
12940
12941  <h1><a name="xterm_104" id="xterm_104">Patch #104 - 1999/5/30 -
12942  XFree86 3.9Pn</a></h1>
12943
12944  <p>This is a resync patch against XFree86 3.9Pn, reflecting
12945  changes which were submitted by Branden Robinson, who worked with
12946  Wichert Akkerman &lt;wichert@cs.leidenuniv.nl&gt; to set up
12947  ifdef's to handle GNU libc 2.1, and use getpt() which lets xterm
12948  avoid having to know the actual PTY name.</p>
12949
12950  <p>I have also added a few fixes for signed/unsigned mismatches,
12951  and corrected a problem in the configure script (the UTF-8 code
12952  was always configured since the Imakefile defines this).</p>
12953
12954  <h1><a name="xterm_103" id="xterm_103">Patch #103 - 1999/5/14 -
12955  XFree86 3.9Pm</a></h1>
12956
12957  <ul>
12958    <li>correct selection logic: I omitted an offset that accounts
12959    for the distance into the scrollback buffer when rewriting this
12960    for patch #101. Also fixed a similar problem for selecting
12961    double size characters from the scrollback buffer (first was
12962    reported by D Roland Walker &lt;walker@pobox.com&gt;).</li>
12963
12964    <li>improved support for Unix98 PTY's, using patch in Debian
12965    bug report #35650, by J.H.M. Dassen
12966    &lt;jdassen@wi.leidenuniv.nl&gt;. From the patch description:
12967      <blockquote>
12968        <ul>
12969          <li>No longer links xterm against libutil on a glibc2.1
12970          system. libutil is a compatibility library and should
12971          only be used when necessary. Rather than having get_pty()
12972          use openpty() from this compatibility library, use the
12973          real UNIX98 pty support in get_pty() (open()ing the
12974          master pty, through getpt() if available (glibc
12975          extension)). Use openpty() only under glibc2.0.</li>
12976
12977          <li>GNU libc2 is not Linux-specific; already it runs on
12978          the Hurd. It provides the UNIX98 pty functions (plus the
12979          getpt() extension), regardless of the underlying OS.
12980          Changed two constructs to look for GNU libc2 only, not
12981          GNU libc2 on Linux.</li>
12982        </ul>
12983      </blockquote>
12984    </li>
12985
12986    <li>improve font configuration, by checking if the user's
12987    resource settings for normal and bold fonts give the same font
12988    sizes (fixes problem reported by Peter Waltenberg
12989    &lt;peterw@dascom.com&gt;).</li>
12990  </ul>
12991
12992  <h1><a name="xterm_102" id="xterm_102">Patch #102 - 1999/5/12 -
12993  XFree86 3.9Pm</a></h1>
12994
12995  <ul>
12996    <li>revert change to openpty call in patch #101; this causes
12997    xterm to fail on DEC-Alpha OSF/1 4.0B (reported by H Merijn
12998    Brand).</li>
12999
13000    <li>modify print.c to move include of stdio.h after the
13001    autoconf'd xtermcfg.h since HP's ANSI C compiler otherwise sees
13002    inconsistent prototype for getopt, probably due to problem with
13003    const (reported by H Merijn Brand).</li>
13004  </ul>
13005
13006  <h1><a name="xterm_101" id="xterm_101">Patch #101 - 1999/5/10 -
13007  XFree86 3.9Pm</a></h1>
13008
13009  <ul>
13010    <li>moved includes and definitions for 'select' from data.h to
13011    xterm.h to fix problem introduced by prototype for getPtyData,
13012    part of UTF-8 changes (reported by Jens Schleusener
13013    &lt;Jens.Schleusener@dlr.de&gt;)</li>
13014
13015    <li>added "Meta &lt;Btn2Down&gt;:clear-saved-lines()" default
13016    translation (patch by H Merijn Brand)</li>
13017
13018    <li>fixes to configure script and ifdef's in main.c to build on
13019    a HP9000/D390 (hppa-2.0w) running HP-UX 11.00 (64 bit) with
13020    egcs 1.1.2 and HP's ANSI C compiler (patch by H Merijn Brand
13021    &lt;PROCURA_BV@CompuServe.com&gt;)</li>
13022
13023    <li>add more parentheses in ifdef's (patch by Bob
13024    Maynard).</li>
13025
13026    <li>eliminate conflicting definitions for USE_TERMINFO in
13027    resize.c (reported by Jeremy Buhler).</li>
13028
13029    <li>change openpty call to pass NULL rather than ttydev
13030    parameter, since that was used only to estimate the length of
13031    the corresponding data, and may not really be long enough
13032    (reported by Andreas Jaeger)</li>
13033
13034    <li>update description in xterm manpage for character class
13035    table, which said it handles only 7-bit codes.</li>
13036
13037    <li>correct a typo in ScrnDeleteChar() which made it not clear
13038    the high byte of wide-character data.</li>
13039
13040    <li>add logic to convert selection to UTF-8 form when
13041    appropriate. This makes select/paste "work", but further work
13042    is needed to make UTF-8 recognized as a locale in Xlib.</li>
13043
13044    <li>correct right-limit check when selecting double-width
13045    characters.</li>
13046
13047    <li>change default answerback response to an empty string.</li>
13048  </ul>
13049
13050  <h1><a name="xterm_100" id="xterm_100">Patch #100 - 1999/5/3 -
13051  XFree86 3.9Pl</a></h1>
13052
13053  <ul>
13054    <li>Correct a typo in the default resource value for
13055    backarrowKeyIsErase: it was always true (reported by Bram
13056    Moolenaar).</li>
13057
13058    <li>improve configure script's test if the installed xterm is
13059    setuid, in case that is a symbolic link.</li>
13060
13061    <li>correct "install-ti" rule in Makefile.in, by not setting a
13062    blank $TERMINFO value. That is interpreted as "." by ncurses'
13063    tic.</li>
13064  </ul>
13065
13066  <h1><a name="xterm_99" id="xterm_99">Patch #99 - 1999/5/2 -
13067  XFree86 3.9Pk</a></h1>
13068
13069  <ul>
13070    <li>correct logic that computes num_ptrs count of the number of
13071    indices into the screen buffer. This is the maximum of the
13072    colors and character-set indices; was incorrect in patch
13073    #97.</li>
13074
13075    <li>correct argument type for sigsetjmp, incidental change in
13076    patch #96's Unix88 PTY patch (reported by Bram Moolenaar).</li>
13077
13078    <li>correct description of secondary DA in ctlseqs.ms (reported
13079    by Bram Moolenaar).</li>
13080
13081    <li>decouple the backarrowKey and ptyInitialErase resources by
13082    adding a new resource backarrowKeyIsErase, to accommodate
13083    people using applications which have hardcoded tests for
13084    characters 8 and 127 rather than relying on the stty
13085    settings.</li>
13086
13087    <li>modify the UTF-8 decoder so that all possible illegal UTF-8
13088    sequences are properly represented by U+FFFD. This should be
13089    very helpful for developers of code that output UTF-8 strings
13090    for debugging. See the file utf-8-test.txt in
13091    http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts.tar.gz for a
13092    demonstration text that contains numerous illegal UTF-8 values.
13093    (patch by Markus Kuhn).</li>
13094
13095    <li>correct a place in ScrnRefresh where I was filling the high
13096    byte of a wide character with a space rather than a null
13097    (reported by Markus Kuhn).</li>
13098  </ul>
13099
13100  <h1><a name="xterm_98" id="xterm_98">Patch #98 - 1999/4/26 -
13101  XFree86 3.9Pk</a></h1>
13102
13103  <ul>
13104    <li>correct data manipulation in unparseputc(), broken for
13105    little-endian machines by patch #97's UTF-8 changes. This meant
13106    that keyboard input on SunOS did not work, though Linux i386
13107    was fine.</li>
13108
13109    <li>modify initialization for backarrowKey and logic for
13110    initial-erase to prevent the initial-erase from overriding an
13111    explicitly set backarrowKey resource (reported by Vikas
13112    Agnihotri).</li>
13113
13114    <li>add a missing null-pointer check in ScrnRefresh, for the
13115    wide-characters configuration.</li>
13116  </ul>
13117
13118  <h1><a name="xterm_97" id="xterm_97">Patch #97 - 1999/4/25 -
13119  XFree86 3.9Pk</a></h1>
13120
13121  <ul>
13122    <li>add configure script test for -lutil, needed for openpty
13123    call when configuring xterm for Glibc-2.1 and Unix98 PTY's
13124    (first reported by Martin Lorentz"
13125    &lt;m.lorentz@w12.link-goe.de&gt;).</li>
13126
13127    <li>completely parenthesize ifdef expressions for Glibc
13128    (suggested by Bob Maynard).</li>
13129
13130    <li>add initial-erase options (-ie, +ie) to help message
13131    (reported by Vikas Agnihotri).</li>
13132
13133    <li>remove duplicate definition of USE_USG_PTYS (reported by
13134    Jeremy Buhler).</li>
13135
13136    <li>change termcap <em>kD</em> and terminfo <em>kdch1</em> to a
13137    DEL (\177). I overlooked this when separating the styles of
13138    keyboard with the <em>sunKeyboard</em> resources in patch #94,
13139    so that it normally matches the value of the stty erase
13140    character:
13141      <ul>
13142        <li>Reported by Jae Gangemi
13143        &lt;jgangemi@ccf.rutgers.edu&gt;, this caused emacs to not
13144        process the DEL properly, combining it with succeeding
13145        characters.</li>
13146
13147        <li>This does not appear to be related to a problem which I
13148        have found with <em>screen</em>, which translates the stty
13149        erase into the termcap <em>kD</em> or terminfo
13150        <em>kdch1</em> value (depending on how it is linked) if the
13151        $TERMCAP variable is set when <em>screen</em> is
13152        invoked.</li>
13153      </ul>
13154    </li>
13155
13156    <li>add command-line options for enabling UTF-8 mode: -u8 and
13157    +u8. The more obvious -utf8 and +utf8 would conflict with
13158    xterm's -ut and +ut (utmp) options. The UTF-8 changes were
13159    requested by Markus Kuhn &lt;Markus.Kuhn@cl.cam.ac.uk&gt;. This
13160    patch does not complete UTF-8 implementation, but makes it
13161    usable, i.e., display and refresh work, and I am able to
13162    display the test cases which Markus provides. More work is
13163    needed to complete this feature:
13164      <ul>
13165        <li>the control sequences for switching in/out of UTF-8
13166        mode are partly implemented (don't use them). Similarly,
13167        the switching between vt100 and tek4014 emulations when
13168        UTF-8 mode is enabled will not work properly.
13169          <p>You must use the -u8 command line option to use this
13170          feature, as well as compile with the OPT_WIDE_CHARS
13171          definition.</p>
13172        </li>
13173
13174        <li>cut/paste only copies 8-bit characters.</li>
13175
13176        <li>logging is disabled in the wide-character
13177        configuration</li>
13178
13179        <li>printing only writes 8-bit characters.</li>
13180
13181        <li>input only does 8-bit characters. This is the area that
13182        I know least about.</li>
13183      </ul>
13184    </li>
13185  </ul>
13186
13187  <h1><a name="xterm_96" id="xterm_96">Patch #96 - 1999/4/19 -
13188  XFree86 3.9Pj</a></h1>
13189
13190  <ul>
13191    <li>modify Makefile.in to work with configure script's --srcdir
13192    option. (patch by Jeremy Buhler
13193    &lt;jbuhler@cs.washington.edu&gt;)</li>
13194
13195    <li>add checks for 'echo -n' equivalent for 8colors.sh and
13196    16colors.sh scripts (reported by Vikas Agnihotri).</li>
13197
13198    <li>improve logic that looks for bold fonts to allow for
13199    wildcards in the specification for normal fonts, and to ensure
13200    that if a bold font is specified as normal, that xterm will
13201    simulate a bold version of that using a one-pixel offset
13202    overstrike (reported by Henrik Harmsen
13203    &lt;harmsen@erv.ericsson.se&gt;).</li>
13204
13205    <li>correct horizontal spacing of double width line-drawing
13206    characters that xterm simulates.</li>
13207
13208    <li>improve support for Unix98 PTY's, using patch in Debian bug
13209    report #35650, by Topi Miettinen
13210    &lt;Topi.Miettinen@medialab.sonera.fi&gt;. Andreas Jaeger says
13211    this also corrects a permissions problem reported by
13212    cat@zip.net.au</li>
13213
13214    <li>modify initial-erase logic to ensure that
13215    <code>ttyModes</code> resource overrides it.</li>
13216  </ul>
13217
13218  <h1><a name="xterm_95" id="xterm_95">Patch #95 - 1999/4/5 -
13219  XFree86 3.9Ph</a></h1>
13220
13221  <ul>
13222    <li>modify primary DA response to allow a '1' parameter.</li>
13223
13224    <li>add printer and national replacement character sets to
13225    VT220 primary DA response.</li>
13226
13227    <li>document primary and secondary DA responses in
13228    ctlseqs.ms</li>
13229
13230    <li>use the patch number (e.g., 95) in the secondary DA
13231    response, providing user applications a means of determining
13232    the version of xterm for feature comparison (request by Bram
13233    Moolenaar).</li>
13234
13235    <li>make xterm respond to secondary DA when the decTerminalID
13236    is set for VT100.</li>
13237
13238    <li>limit user-defined keys (DECUDK) to VT220-style keyboard
13239    when sunKeyBoard resource is true.</li>
13240
13241    <li>modify ifdef's for Linux-2.2.x with Glibc-2.1 to work with
13242    Glibc-2.1 and no Unix98 PTY support (patch from Andreas Jaeger
13243    &lt;aj@arthur.rhein-neckar.de&gt;)</li>
13244
13245    <li>add optional feature (resource and command-line options) to
13246    make xterm use the PTY's sense of erase character on startup,
13247    rather than requiring it to be \177, or set the PTY's erase
13248    character to match xterm's configuration. Note that while
13249    $TERMCAP is modified to reflect the actual configuration, the
13250    terminfo kdch1 string is not (request by Dirk H Hohndel
13251    &lt;hohndel@suse.de&gt;)</li>
13252
13253    <li>improve scripts in vttests to work with newer shells that
13254    do not use 'echo -n'.</li>
13255
13256    <li>add fonts.sh example script</li>
13257
13258    <li>correct inequality in handling of "#1" font
13259    specification.</li>
13260
13261    <li>correct call to XGetWMNormalHints() used for computing
13262    maximum screen size; the size hints may not have been set.</li>
13263
13264    <li>begin implementation of support for wide-characters
13265    (configure option --enable-wide-chars defines OPT_WIDE_CHARS,
13266    invoke xterm with -wc option to activate this feature). This
13267    patch optionally widens internal data structures, invokes the
13268    16-bit text output rather than the 8-bit version and adds some
13269    tables.</li>
13270  </ul>
13271
13272  <h1><a name="xterm_94" id="xterm_94">Patch #94 - 1999/3/27 -
13273  XFree86 3.9Pf</a></h1>
13274
13275  <ul>
13276    <li>further fixes for terminfo: ka1, ka3, etc., differ between
13277    the default xterm-xfree86 and xterm-vt220 entries.</li>
13278
13279    <li>change default (with sunKeyboard resource false) behavior
13280    of the editing keypad "Delete" to send a 127, like xterm-r6.
13281    The VT220-style <code>&lt;ESC&gt;[3~</code> is sent when
13282    sunKeyboard is true (reported by Tomas Vanhala).</li>
13283
13284    <li>add parameters to function keys to indicate if shift,
13285    control or alt are set. The codes are based on a description of
13286    a DEC VT510 with a PC keyboard, from Jeffrey Altman
13287    &lt;jaltman@watsun.cc.columbia.edu&gt;.</li>
13288
13289    <li>add control sequence 1035, set-num-lock action and num-lock
13290    menu entry to control the use of the NumLock and Alt keys for
13291    the Sun/PC and VT220 keyboard extensions.</li>
13292
13293    <li>implement DECSET/DECRST numeric keypad (DECNKM) mode.</li>
13294
13295    <li>modify terminfo and termcap to use recommended "X Window"
13296    or "X11" names rather than "X Windows" (reported by Tomas
13297    Vanhala).</li>
13298
13299    <li>suppress translation of shifted keypad "+" when sunKeyboard
13300    is true.</li>
13301
13302    <li>workaround unexpected behavior (perhaps bug) in
13303    XmbLookupString, which returns trash in the string buffer for
13304    numlock and control-key combined with keypad-keys.</li>
13305
13306    <li>modify ScrollBarReverseVideo() to keep scrollbar border
13307    visible when reverse video is toggled.</li>
13308
13309    <li>correct missing case for parameter 17 (set highlight color)
13310    in dynamic colors control sequences.</li>
13311
13312    <li>extend dynamic colors control sequences to allow users to
13313    determine the colors and font which are currently active.</li>
13314
13315    <li>minor tweak to OSC responses, to use BEL if the application
13316    used that to end the request, rather than ST. This works better
13317    with shell scripts, which may not handle an
13318    <code>&lt;ESC&gt;backslash</code> very well.</li>
13319
13320    <li>separate menu settings for reverse video from that done
13321    under program control.</li>
13322
13323    <li>corrected ifdef's for menus, which did not allow tek4014 to
13324    be suppressed properly (reported by Clint Olsen).</li>
13325
13326    <li>changes for Linux-2.2.x with GLibc-2.1 and /dev/ptmx
13327    support (integrated patch from Pavel Roskin):
13328      <ul>
13329        <li>main.c and resize.c were using different rules to
13330        determine whether ATT should be defined (actually
13331        USE_USG_PTYS is more apt).</li>
13332
13333        <li>copy definitions from main.c to resize.c to prevent
13334        sys/stream.h and sys/ptem.h from inclusion when SYSV is not
13335        defined</li>
13336
13337        <li>define CNUL if not already defined like other
13338        variables.</li>
13339
13340        <li>/dev/tty does exist in Linux, but it doesn't mean, it
13341        should be used. Therefore EACCES is now an acceptable
13342        result.</li>
13343
13344        <li>ifdef'd several calls such as <code>ioctl (ptyfd,
13345        I_PUSH, "ptem")</code> to build on Linux (I_PUSH is not
13346        defined when sys/stropts.h is not included).</li>
13347      </ul>
13348    </li>
13349
13350    <li>initialize second "ltc" variable in main.c (reported by
13351    David Dawes).</li>
13352
13353    <li>provide definition for USE_USG_PTYS in screen.c</li>
13354
13355    <li>add resource-files to install rule in standalone
13356    Makefile.in</li>
13357
13358    <li>add sample scripts to illustrate titlebar controls,
13359    resizing and colors.</li>
13360  </ul>
13361
13362  <h1><a name="xterm_93" id="xterm_93">Patch #93 - 1999/3/14 -
13363  XFree86 3.9Pd</a></h1>
13364
13365  <p>Here are several fixes and minor enhancements. The chief ones
13366  are the fixes for NumLock mode and reverse video, since we had
13367  become used to working around the problems.</p>
13368
13369  <ul>
13370    <li>remove kfnd/kll/kslt strings from terminfo, because curses
13371    applications do not necessarily return khome/kend pairs
13372    (reported by Vikas Agnihotri).</li>
13373
13374    <li>implement NumLock resource which overrides the keyboard
13375    tables for the special case of keypad keys. This is a problem
13376    introduced in xterm by X11R6 changes, i.e., an ambiguity which
13377    in effect discarded vt100 keypad support.</li>
13378
13379    <li>modify Sun/PC keyboard mode to extend this (emulation of
13380    DEC vt100 keypad) to the remainder of the numeric keypad. Now,
13381    the default operating mode of xterm uses the keyboard tables
13382    as-is (except if the NumLock mode overrides), but provides good
13383    vt100 keypad compatibility if the Sun/PC keyboard menu item is
13384    checked.</li>
13385
13386    <li>separate command-line settings for reverse video from that
13387    done under program control. This is a problem which was
13388    introduced by X11R6. Though <em>correct</em>, most users are
13389    confused by allowing the reset command to undo the effect of
13390    the command-line <kbd>-rv</kbd> option.</li>
13391
13392    <li>add description of function keys, keypad and cursor keys to
13393    ctlseqs.ms</li>
13394
13395    <li>add terminfo entries for xterm-vt52, xterm-sun and
13396    xterm-hp</li>
13397
13398    <li>correct typo (missing case value) for DECSET 35,
13399    enable/disable shifted keypad action and a few compiler
13400    warnings (reported by Zdenek Sekera &lt;zs@sgi.com&gt;).</li>
13401
13402    <li>correct reporting of color values 8-15 in DECRQSS (reported
13403    by Vikas Agnihotri).</li>
13404
13405    <li>modify parsing of ttyModes resource to recognize "^-" as
13406    "undef" (requested by Tomas Vanhala).</li>
13407
13408    <li>integrate/extend changes to add iconify/maximize actions
13409    (from Edward S. Arthur &lt;eda@ultranet.com&gt;).</li>
13410
13411    <li>add control sequences for maximizing/restoring window, and
13412    for reporting maximum screen size.</li>
13413
13414    <li>add 'interpret' action, to support local function-key
13415    interpretation. Used properly, this makes most of the
13416    specialized actions of xterm redundant.</li>
13417
13418    <li>add control sequence private modes 1051, 1052 and 1052, for
13419    setting the Sun and HP function key modes, and for setting the
13420    Sun/PC keyboard mode.</li>
13421
13422    <li>add configure option --disable-maximize</li>
13423
13424    <li>add configure option --disable-num-lcok</li>
13425
13426    <li>extend descriptions of configure script options in
13427    INSTALL.</li>
13428  </ul>
13429
13430  <h1><a name="xterm_92" id="xterm_92">Patch #92 - 1999/2/5 -
13431  XFree86 3.9Nz</a></h1>
13432
13433  <ul>
13434    <li>increase buffer size for tgetent (i.e., termcap) to 1500.
13435    This fixes a problem where <em>screen</em> is built using
13436    ncurses or GNU termcap and <em>xterm</em> is built using the
13437    standard termcap interface. The former does not limit the
13438    termcap size, while the latter is assumed to be no longer than
13439    1023 characters. The <em>screen</em> program's termcap entry is
13440    about 1200 characters long.</li>
13441
13442    <li>change update_menu_item() to a function, to simplify
13443    debugging. This also reduces the executable by 4Kb.</li>
13444
13445    <li>add control sequences for DECSET 30, 1010, 1011 like rxvt
13446    (enable or disable some features that were only settable via
13447    resources or command line arguments).</li>
13448
13449    <li>add control sequence for DECSET 35, which enables/disables
13450    the shifted keypad functions.</li>
13451
13452    <li>add support for switching font sizes, by stepping through
13453    the font menu using shifted keypad plus and minus.</li>
13454
13455    <li>correct missing initialization of tekInhibit and tekSmall
13456    resources.</li>
13457
13458    <li>correct ifdef's in charproc.c for XtNgeometry and
13459    XtCGeometry (reported by Bram Moolenaar).</li>
13460  </ul>
13461
13462  <h1><a name="xterm_91" id="xterm_91">Patch #91 - 1999/1/21 -
13463  XFree86 3.9Nw</a></h1>
13464
13465  <ul>
13466    <li>Implement logic to translate input characters which are
13467    mapped when in vt220 National Replacement Character mode
13468    (requested by Tomas Vanhala).</li>
13469
13470    <li>Resync configure scripts with my patches to autoconf
13471    2.13</li>
13472
13473    <li>Change order of -lXmu and -lXext to accommodate cygwin32
13474    (reported by Vikas Agnihotri).</li>
13475
13476    <li>Add "-ti" option to set terminal emulation level from
13477    command line rather than via resource.</li>
13478
13479    <li>Simplify some of the preprocessor logic using #elif.</li>
13480  </ul>
13481
13482  <h1><a name="xterm_90" id="xterm_90">Patch #90 - 1998/12/13 -
13483  XFree86 3.9Nq</a></h1>
13484
13485  <p>This implements several small fixes and enhancements. The
13486  chief one implements fallback support for line drawing characters
13487  with fonts that do not include those characters. But I
13488  implemented that last.</p>
13489
13490  <ul>
13491    <li>If any of the glyphs in positions 0-31 (used by xterm to
13492    implement the VT100 alternate character set) are zero-sized
13493    (i.e., missing), xterm will reserve a normal space for the
13494    glyph when drawing. I implemented a simple stroke-drawing
13495    function to draw the line-drawing characters and a couple of
13496    the other (simpler) characters such as diamond. (This was
13497    suggested by Vikas Agnihotri).</li>
13498
13499    <li>Modify the computation of doublesize characters to work
13500    around font servers which shift the scaled characters up/down
13501    or do not give the correct width.</li>
13502
13503    <li>Add popup menu item and corresponding resource settings to
13504    disable the font-scaling logic for doublesize characters to
13505    work around (older) font servers which simply do not draw the
13506    fonts scaled to the size that they said they would. I see this
13507    problem on a SunOS system running X11R5; the X11R6 servers seem
13508    well behaved.</li>
13509
13510    <li>Implement new escape sequence, private mode 1049, which
13511    combines the switch to/from alternate screen mode with screen
13512    clearing and cursor save/restore. Unlike the existing escape
13513    sequence, this clears the alternate screen when switching to it
13514    rather than when switching to the normal screen, thus retaining
13515    the alternate screen contents for select/paste operations.
13516      <p>When I implemented the popup menu entry to toggle between
13517      the normal and alternate screens, I considered only pasting
13518      from the normal screen to the alternate; this improvement
13519      allows either direction.</p>
13520    </li>
13521
13522    <li>Changed the termcap and terminfo for xterm-xfree86 and
13523    xterm-8bit to use the new 1049 private mode.</li>
13524
13525    <li>Modify the logic which switches between normal and
13526    alternate screens so that the save/restore cursor operations
13527    apply only to the current screen. That means that applications
13528    which use the terminfo smcur/rmcur or termcap ti/te
13529    capabilities will restore the cursor to the original position
13530    on the normal screen rather than to the most recent place where
13531    a save-cursor operation was performed.
13532      <p>I note that a real VT100 terminal would not behave in this
13533      way, but it is a moot point since the VT100 does not
13534      implement alternate screen, and therefore the save/restore
13535      cursor sequence would not be used in this context. I reviewed
13536      the logic which switches between normal and alternate screens
13537      based on some recent newsgroup postings as well as a proposed
13538      patch in the Debian group which attempts to do this (the
13539      patch has a bug, however, so I did not use it).</p>
13540    </li>
13541
13542    <li>Add popup menu entry for toggling the titeInhibit
13543    resource.</li>
13544
13545    <li>Add new resource answerbackString, which overrides the
13546    default "xterm" returned by xterm when responding to an ENQ
13547    (control/E) character (request by Rajesh Vaidheeswarran
13548    &lt;rv@fore.com&gt;).</li>
13549
13550    <li>Add new resource keyboardDialect for setting the NRC
13551    display character set (request by Tomas Vanhala, who notes that
13552    I should add logic to translate the keyboard as well).</li>
13553
13554    <li>Add new command-line option and corresponding resources for
13555    making xterm generate escape sequences compatible with HP
13556    terminals. Like the existing Sun escape sequences, this is
13557    available as a popup menu item. It is enabled by the configure
13558    script with the option --enable-hp-fkeys (requested by Toni
13559    Mueller &lt;sales@oeko.net&gt;).</li>
13560
13561    <li>Add configure script option --disable-boxchars to disable
13562    the fallback support for line drawing characters.</li>
13563
13564    <li>Fix ifdef's for configure script --disable-ansi-color, and
13565    reviewed all configure options to ensure that all can be
13566    enabled/disabled appropriately.</li>
13567
13568    <li>Update config.guess and config.sub, from Lynx.</li>
13569  </ul>
13570
13571  <h1><a name="xterm_89" id="xterm_89">Patch #89 - 1998/11/20 -
13572  XFree86 3.9Nm</a></h1>
13573
13574  <p>This patch completes the implementation of double-sized
13575  character support for the VT100 emulation, and fixes a few minor
13576  bugs:</p>
13577
13578  <ul>
13579    <li>corrected the cursor position in HideCursor, which did not
13580    multiply the column by two when in doublesize mode. This bug,
13581    which did not appear in normal use, dates back to my original
13582    <a href="#xterm_44">changes</a> to partly implement
13583    double-sized characters. I noticed it when cat'ing a typescript
13584    from vttest's double-sized character test.</li>
13585
13586    <li>ensure that the current line is repainted when switching
13587    between single and double width characters.</li>
13588
13589    <li>reduce the number of bits used for double-sized character
13590    coding from 3 to 2, to make more room for soft-font codes.</li>
13591
13592    <li>copy newer ifdef's from the XFree86 3.3.3 release's main.c,
13593    which address details of glibc and powerpc.</li>
13594
13595    <li>moved definition of DECL_ERRNO in xterm.h to match XFree86
13596    3.3.3</li>
13597
13598    <li>modify <em>resize</em> to remove the ifdef on SVr4 that
13599    suppressed printing the script for $LINES and $COLUMNS.
13600    Solaris' resize utility does this; suppressing the behavior is
13601    unnecessary.</li>
13602  </ul>
13603
13604  <p>I tested the double-sized characters using vttest and the
13605  xfsft patch. These fonts worked reasonably well:</p>
13606
13607  <pre>
13608        -bitstream-courier-medium-r-normal--0-0-0-0-m-0-iso8859-1
13609        9x15
13610</pre>
13611  <p>The iso8859 font does not include box characters, of course,
13612  but looks good.</p>
13613
13614  <h1><a name="xterm_88" id="xterm_88">Patch #88 - 1998/10/31 -
13615  XFree86 3.9Nk and 3.3.2h</a></h1>
13616
13617  <p>This refines my #85 patch by checking for a case where the
13618  font server returns a bold font that does not quite correspond to
13619  the normal font. When I asked for a bold version of the 6x12
13620  font, the font server returned a near equivalent where the ascent
13621  and descent values did not match, causing xterm to leave lines
13622  across the display. This patch makes xterm reject that type of
13623  mismatch, falling back to the old font behavior.</p>
13624
13625  <h1><a name="xterm_87" id="xterm_87">Patch #87 - 1998/10/21 -
13626  XFree86 3.9Nj and 3.3.2f</a></h1>
13627
13628  <p>This corrects a problem reported by Stefan Dalibor. My table
13629  entries for the <em>printerExtent</em> and
13630  <em>printerFormFeed</em> resources used the wrong types for
13631  sizeof, causing the printer to not work properly on some
13632  platforms because the <em>printAttributes</em> resource was
13633  overwritten (e.g., Digital Unix with DEC Alpha).</p>
13634
13635  <p>I reviewed all of the resource table entries and fixed a
13636  potential problem with <em>resizeGravity</em>, which was typed as
13637  <em>int</em> rather than <em>XtGravity</em>.</p>
13638
13639  <h1><a name="xterm_86" id="xterm_86">Patch #86 - 1998/10/14 -
13640  XFree86 3.9Nj and 3.3.2e</a></h1>
13641
13642  <p>A small fix: when switching to/from the continuous mouse
13643  reporting mode, the event mask was incorrect if xterm was built
13644  under X11R5 because the original data was saved under an ifdef
13645  for active-icon.</p>
13646
13647  <h1><a name="xterm_85" id="xterm_85">Patch #85 - 1998/10/12 -
13648  XFree86 3.9Nj and 3.3.2e</a></h1>
13649
13650  <p>Some cleanup (I noticed the pixel droppings a few months ago
13651  after getting a new 17" monitor):</p>
13652
13653  <ul>
13654    <li>split-out the functions that load/reload fonts for xterm as
13655    new file fontutils.c to extend them to support automatic
13656    loading of bold font corresponding to the normal font. Adapted
13657    logic from EMU 1.3 for this purpose. This fixes most
13658    occurrences of pixel droppings from bold characters.</li>
13659
13660    <li>modified by renaming variables and adding casts to permit
13661    compile with g++.</li>
13662
13663    <li>modify headers so they can all be compiled without order
13664    dependencies, and use bracketed rather than quoting includes to
13665    allow compile from separate directory.</li>
13666
13667    <li>renamed xtermm terminfo entry to xterm-mono, to avoid
13668    conflict with Solaris entry now in ncurses.</li>
13669  </ul>
13670
13671  <h1><a name="xterm_84" id="xterm_84">Patch #84 - 1998/10/9 -
13672  XFree86 3.9Ni and 3.3.2e</a></h1>
13673
13674  <p>Several small fixes and enhancements, including a patch from
13675  Bjorn Helgaas:</p>
13676
13677  <ul>
13678    <li>correct initialization of TERMCAP environment variable,
13679    which was frequently set to garbage on non-Linux systems
13680    because "termcap" and "newtc" contained random data from the
13681    stack.</li>
13682
13683    <li>remove the LINEWRAPPED attribute from lines as they are
13684    cleared. Previously, the attribute was set but never
13685    cleared.</li>
13686
13687    <li>make word and line selections work even when lines are
13688    wrapped by xterm. Previously, selections were limited to one
13689    screen line.</li>
13690  </ul>
13691
13692  <p>as well as</p>
13693
13694  <ul>
13695    <li>modify logic for line-wrapping to reset the associated flag
13696    if the application deletes a character. This fixes a problem
13697    reported by Bjorn Helgaas where word/line selection would still
13698    wrap even after deleting characters from the first line.</li>
13699
13700    <li>add kll/kH capabilities to xterm-xfree86 entries in termcap
13701    and terminfo (request by Michael Schroeder).</li>
13702
13703    <li>shorten descriptions in termcap to make resolved entries
13704    all shorter than 1023 character limit.</li>
13705
13706    <li>use DECSTR control sequence to shorten initialization and
13707    reset strings in xterm-xfree86 termcap and terminfo.</li>
13708
13709    <li>use rmul/smul and rmir/smir in xterm-r5 terminfo to match
13710    termcap.</li>
13711
13712    <li>correct typos in initialization and reset strings in
13713    xterm-r5 termcap and terminfo.</li>
13714
13715    <li>disable special translations of key symbols (the backarrow
13716    key, the editing keypad and the keypad "+") when a modifier
13717    other than shift, control or numlock is used. This makes xterm
13718    handle the meta key as expected by people using emacs (reported
13719    by Pete Harlan &lt;harlan@pointofchoice.com&gt; in
13720    linux.debian.user newsgroup).</li>
13721  </ul>
13722
13723  <h1><a name="sync_83" id="sync_83">Resync #83 - 1998/10/7 -
13724  XFree86 3.3.2e</a></h1>
13725
13726  <p>Merge changes through patch #83 with the 3.3.2e version.</p>
13727
13728  <p>This follows a change from XFree86 CVS which adds checks for
13729  non-null return from malloc (patch by Matthieu Herrb).</p>
13730
13731  <h1><a name="xterm_83" id="xterm_83">Patch #83 - 1998/8/25 -
13732  XFree86 3.9Nb</a></h1>
13733
13734  <p>Several small fixes and enhancements:</p>
13735
13736  <ul>
13737    <li>add configure test to infer if xterm should be installed
13738    setuid based on previously installed xterm (reported by Stephen
13739    Marley and Stefan Dalibor).</li>
13740
13741    <li>implement quasi-continuous mouse reporting (integrated
13742    patch by Jason Bacon).</li>
13743
13744    <li>correct control sequences transmitted by function keys F1
13745    to F4 when sunFunctionKeys resource is true (it was still using
13746    the VT100 control sequences).</li>
13747
13748    <li>modify handling of backarrow key so that the control
13749    modifier toggles the backspace/delete interpretation set by the
13750    backarrowKey resource.</li>
13751
13752    <li>limit the row and column values used to report mouse
13753    position.</li>
13754  </ul>
13755
13756  <p>From resync with XFree86 3.9Nb:</p>
13757
13758  <ul>
13759    <li>add support for the VSTATUS control character (patch by
13760    Robert Earl &lt;rearl@teleport.com&gt;).</li>
13761  </ul>
13762
13763  <h1><a name="xterm_82" id="xterm_82">Patch #82 - 1998/7/15 -
13764  XFree86 3.9Aj</a></h1>
13765
13766  <p>Bug fix for patch #81:</p>
13767
13768  <ul>
13769    <li>remove an #undef for NBBY, which caused compile problem on
13770    FreeBSD (reported by David Dawes).</li>
13771  </ul>
13772
13773  <h1><a name="xterm_81" id="xterm_81">Patch #81 - 1998/7/14 -
13774  XFree86 3.9Aj</a></h1>
13775
13776  <p>More bug fixes:</p>
13777
13778  <ul>
13779    <li>fix conflicting ifdef's for TIOCSLTC when building with
13780    Linux on AXP aka DEC Alpha (reported by Robin Cutshaw).</li>
13781
13782    <li>correction to patch #79, move assignment for
13783    *utptr-&gt;ut_user = 0; back into non-SVR4 ifdef in main.c,
13784    since this clobbers username on Solaris 2.5.1 (analysis by Will
13785    Day &lt;willday@rom.oit.gatech.edu&gt;).</li>
13786
13787    <li>corrected khome/kend in xterm-8bit terminfo
13788    description.</li>
13789
13790    <li>improve cursor color by making it always the reverse of
13791    fg/bg unless the cursorColor resource is set, i.e., to
13792    something other than the default foreground (reported by Vikas
13793    Agnihotri and Bram Moolenaar).</li>
13794
13795    <li>minor fixes for compiler warnings, including a syntax error
13796    in the AMOEBA ifdef's.</li>
13797  </ul>
13798
13799  <p>From resync with XFree86 3.9Aj:</p>
13800
13801  <ul>
13802    <li>correction to patch #73, supply missing #else for fallback
13803    definitions of size_t, time_t (Robin Cutshaw
13804    &lt;robin@intercore.com&gt;).</li>
13805  </ul>
13806
13807  <h1><a name="xterm_80" id="xterm_80">Patch #80 - 1998/6/29 -
13808  XFree86 3.9Ai</a></h1>
13809
13810  <p>This fixes a couple of items leftover or introduced by patch
13811  79:</p>
13812
13813  <ul>
13814    <li>take out the logic that suppresses editing-keypad in vt100
13815    mode (those keys are too valuable to give up for a fine point
13816    of emulation).</li>
13817
13818    <li>corrected a couple of places in terminfo where I missed
13819    using the vt220-style editing-keypad codes for Find/Select
13820    (mapped to Home/End).</li>
13821
13822    <li>checked termcap file against terminfo, fix several places
13823    where it was inconsistent.</li>
13824  </ul>
13825
13826  <h1><a name="xterm_79" id="xterm_79">Patch #79 - 1998/6/28 -
13827  XFree86 3.9Ai</a></h1>
13828
13829  <p>This patch fixes several small bugs:</p>
13830
13831  <ul>
13832    <li>use X_EXTRA_LIBS in standalone Makefile.in (patch by Tomas
13833    Vanhala).</li>
13834
13835    <li>add new resource 'oldXtermFKeys' which provides backward
13836    compatibility for F1-F4 control sequences with TOG's
13837    xterm.</li>
13838
13839    <li>determine the server's default foreground/background Pixel
13840    values, needed if the -flipPixels X server option is used
13841    (reported by David Dawes).</li>
13842
13843    <li>correct logic for F1-F4 function keys so that they generate
13844    VT100 compatible escape sequences in VT220 mode, since that is
13845    what the numeric keypad is supposed to do (reported by Ron
13846    Johnson, Jr. &lt;ronjohn@communique.net&gt;).</li>
13847
13848    <li>modify logic for editing keypad to work more like VT220:
13849    don't pass those codes in VT100-mode unless oldXtermFKeys mode
13850    is set.</li>
13851
13852    <li>correct an interaction with the editing-keypad logic that
13853    prevented backarrow key from sending a 127 for the delete key
13854    (the 'remove' escape sequence was being sent instead).</li>
13855
13856    <li>use return-value from getuid() rather than the parameter,
13857    to work on systems which do not update the latter (patch by
13858    Kevin Buhr &lt;buhr@mozart.stat.wisc.edu&gt;)</li>
13859
13860    <li>correct scrollbar border color when toggling to/from secure
13861    keyboard mode (patch by Jeff Uphoff
13862    &lt;juphoff@tarsier.cv.nrao.edu&gt;)</li>
13863
13864    <li>modifications to terminfo file:
13865      <ul>
13866        <li>rename description to xterm-xfree86, adding an entry
13867        'xterm' which is derived from xterm-xfree86 to simplify
13868        customization.</li>
13869
13870        <li>change string for kdch1 from \177 to \E[3~, to address
13871        complaints from Debian developers. (This applies to the key
13872        labeled "Delete", and does not affect the backarrow
13873        key).</li>
13874
13875        <li>add user-strings u6, u7, u8, u9 to entries to make them
13876        work with Daniel Weaver's "tack" program.</li>
13877
13878        <li>modify xterm-24, xterm-bold, xterm-boldso entries to
13879        disentangle them from explicit dependency upon
13880        xterm-xfree86.</li>
13881
13882        <li>add generic 'xterm-color' entry.</li>
13883
13884        <li>minor corrections to xterm-xfree86, xterm-8bit,
13885        xterm-r5 and xterm-r6 entries.</li>
13886      </ul>
13887    </li>
13888  </ul>
13889
13890  <h1><a name="xterm_78" id="xterm_78">Patch #78 - 1998/6/3 -
13891  XFree86 3.9Ah and 3.3.2</a></h1>
13892
13893  <p>Again, most of the bulk of this patch is for ANSI conversion.
13894  I used the IRIX compiler's -wlint option to find the remaining
13895  functions that use K&amp;R syntax (since gcc does not do this
13896  properly). Also, I changed the logic in the print code slightly
13897  to close unwanted files before opening a pipe to the printer.
13898  This may help in some configurations where the line printer hangs
13899  until xterm closes the pipe.</p>
13900
13901  <h1><a name="xterm_77" id="xterm_77">Patch #77 - 1998/5/26 -
13902  XFree86 3.9Ah and 3.3.2</a></h1>
13903
13904  <p>Most of the bulk of this patch is to convert the extended C
13905  (K&amp;R functions with prototypes) to ANSI. I verified that on
13906  Linux by comparing object files, to ensure that I did not, for
13907  example, interchange parameters in the function declarations.</p>
13908
13909  <p>The rest of the patch fixes several minor bugs, and adds a few
13910  features:</p>
13911
13912  <ul>
13913    <li>back-out my use of ncurses "captoinfo -f" option
13914    (if/then/else/endif) formatting, since ncurses did not
13915    correctly filter embedded newlines in terminfo capability
13916    strings until _after_ ncurses 4.1, thus corrupting
13917    setf/setb/sgr strings (reported by Darren Hiebert and
13918    others).</li>
13919
13920    <li>document SGR 8, 28 (invisible/visible), add corresponding
13921    capabilities to terminfo description.
13922      <p>I would also add the 'prot protected capability, but the
13923      control sequences for that would not be recognized or
13924      properly ignored by the older xterm programs.</p>
13925    </li>
13926
13927    <li>modify ChangeGroup to not suppress a null-resource, but
13928    treat it as an empty string (recommended by Stefan
13929    Dalibor).</li>
13930
13931    <li>add printerAutoClose resource to control whether printer is
13932    closed when going offline. More than one person reports
13933    problems (on Solaris 2.6 and Digital Unix 4.0) getting the
13934    printer to proceed unless xterm exits; I think that it is a
13935    problem flushing the pipe. Closing it ought to flush it.</li>
13936
13937    <li>adapt TOG fix-3 to in HandleKeymapChange and VTInitI18N
13938    (but adapt XtStackAlloc/XtStackFree for clarity, as well as
13939    fixing memory leak).</li>
13940
13941    <li>change calls on FillCurBackground to ClearCurBackground, in
13942    effect using XClearArea rather than XFillRectangle when
13943    clearing as a side-effect of scrolling and insertion (patch by
13944    Alexander V Lukyanov)</li>
13945
13946    <li>correct some places where insert/delete did not _move_ the
13947    color attributes, using memmove (patch by Alexander V Lukyanov
13948    &lt;lav@long.yar.ru&gt;)</li>
13949
13950    <li>add ifdef's for __CYGWIN32__, for port to cygnus version
13951    B19.1 (patch by Andrew Sumner
13952    &lt;andrew_sumner@hotmail.com&gt;).</li>
13953
13954    <li>remove #define for hpux that turned on USE_SYSV_ENVVARS,
13955    since this causes some applications (such as 'less') to get
13956    incorrect $LINES and $COLUMNS values (reported by Clint
13957    Olsen).</li>
13958
13959    <li>modify behavior for HP-UX, to set the "reserved" process
13960    group controls to _POSIX_VDISABLE so the TIOCSLTC ioctl does
13961    not produce an error (patch by Ben Yoshino
13962    &lt;ben@wiliki.eng.hawaii.edu&gt;).</li>
13963
13964    <li>correct length of underlining, reducing it by one pixel to
13965    avoid leaving a dot when the application does not clear the
13966    whole screen I noticed this only recently myself (and other
13967    people as well); it depends on the font chosen. A 6x10 font
13968    shows it, but the other fonts from XTerm.ad do not. I also see
13969    a similar problem with the emulation of bold fonts. (patch by
13970    Sergei Laskavy &lt;Laskavy@cs.msu.su&gt;).</li>
13971
13972    <li>add include for Xos.h to xterm.h, to ensure proper
13973    definitions (reported by Holger Veit).</li>
13974
13975    <li>update config.guess to recognize Unixware 2.1 and 7 (patch
13976    by Mike Hopkirk &lt;hops@sco.com&gt;).</li>
13977  </ul>
13978
13979  <h1><a name="xterm_76" id="xterm_76">Patch #76 - 1998/5/8 -
13980  XFree86 3.9Ah and 3.3.2</a></h1>
13981
13982  <p>A fix for the print-window function, and some minor
13983  cleanup:</p>
13984
13985  <ul>
13986    <li>modify logic that closes pipe in the print-window function
13987    to not use pclose, which does not work on all systems, since I
13988    did not open the pipe with popen (reported by Stefan
13989    Dalibor).</li>
13990
13991    <li>correct name of $(EXTRA_LOAD_FLAGS) imake variable
13992    (reported by Stefan Dalibor).</li>
13993
13994    <li>guard logic in ChangeGroup() function against null pointer
13995    (reported by Stefan Dalibor).</li>
13996
13997    <li>ensure that menu entry for toggling sunKeyboard resource is
13998    initialized (reported by Branden Robinson
13999    &lt;branden@purdue.edu&gt;).</li>
14000
14001    <li>gcc unused-variable warnings (reported by Bernd Ernesti
14002    &lt;bernd@arresum.inka.de&gt;)</li>
14003
14004    <li>rename global variable 'buffer' to 'VTbuffer'</li>
14005  </ul>
14006
14007  <h1><a name="xterm_75" id="xterm_75">Patch #75 - 1998/5/7 -
14008  XFree86 3.9Ah and 3.3.2</a></h1>
14009
14010  <p>This incorporates fixes from several people, as well as some
14011  improvements that I made based on feedback from users:</p>
14012
14013  <ul>
14014    <li>add option to standalone configure script,
14015    "--with-own-terminfo-dir", which causes xterm to pass a
14016    predefined value of $TERMINFO to the application. Also use this
14017    value in install rule "make install-ti", for the standalone
14018    configure script. (patch &amp; feedback from Tor Lillqvist
14019    &lt;tml@hemuli.tte.vtt.fi&gt;)</li>
14020
14021    <li>change ifdef's for "hpux" to "__hpux" (patch by Tor
14022    Lillqvist). The imake configuration uses the former, but the
14023    latter is predefined by HP's compilers.</li>
14024
14025    <li>define USE_SYSV_ENVVARS for HP-UX, curses does not use
14026    $TERMCAP (patch by Tor Lillqvist).</li>
14027
14028    <li>on HP-UX, use the /dev/ptym/clone device to allocate PTY's.
14029    Works both on HP-UX 9 and 10. (patch by Tor Lillqvist).</li>
14030
14031    <li>modify configure script to obtain the $(EXTRA_LOADFLAGS)
14032    value from imake, needed for compiling under DEC OSF/1
14033    (reported by Stefan Dalibor)</li>
14034
14035    <li>modify print-window action so that the printer is closed
14036    after printing a window, unless the printer was already opened
14037    (i.e., by an application running in the window). This makes the
14038    printing complete without having to exit xterm, since not all
14039    systems treat fflush through a pipe very well (reported by
14040    Stefan Dalibor)</li>
14041
14042    <li>modify printing code so that the ^M's are not printed if
14043    the printAttribute resource is set to zero (request by Stefan
14044    Dalibor).</li>
14045
14046    <li>correct typo in xterm.man, for the default value of
14047    printAttribute (reported by Stefan Dalibor).</li>
14048
14049    <li>correct printing code so that the alternate character set
14050    is printed, like other attributes, with escape sequences.</li>
14051
14052    <li>correct termcap description, removing spurious 'm'
14053    character from the 'op' capability (reported by Greg Woods
14054    &lt;woods@weird.com&gt;).</li>
14055
14056    <li>correct trace code so that the initial timestamp is
14057    set.</li>
14058
14059    <li>correct/modify utmp data for the Linux glibc 2
14060    configuration, so that the ut_line member is set before using
14061    it to update wtmp (patch by Bill Nottingham
14062    &lt;wen1@cec.wustl.edu&gt;).</li>
14063  </ul>
14064
14065  <h1><a name="xterm_74" id="xterm_74">Patch #74 - 1998/4/27 -
14066  XFree86 3.9Ag and 3.3.2</a></h1>
14067
14068  <p>This corrects a couple of recent bugs and adds a new
14069  resource:</p>
14070
14071  <ul>
14072    <li>modify definition of TRACE_CHILD so that it does not
14073    conflict with ifdef's for USE_USG_PTYS in main.c (reported by
14074    Vikas Agnihotri &lt;VikasA@att.com&gt; and Stefan
14075    Dalibor).</li>
14076
14077    <li>correct ownership of file (actually pipe) written by the
14078    print controls. When undoing the setuid changes in patch #69, I
14079    overlooked this. Now xterm forks a process which resets setuid
14080    and routes the printer data as the real user.</li>
14081
14082    <li>add a new resource, "printAttributes", which controls
14083    whether color attributes (or any attributes) are sent to the
14084    printer.</li>
14085  </ul>
14086
14087  <h1><a name="xterm_73" id="xterm_73">Patch #73 - 1998/4/25 -
14088  XFree86 3.9Ag and 3.3.2</a></h1>
14089
14090  <p>This patch does the following:</p>
14091
14092  <ul>
14093    <li>implements a print-window facility for xterm. Though useful
14094    in itself, I added it as part of some debugging which I am
14095    doing. (Occasionally during an exposure event xterm fails to
14096    restore the proper colors for highlighted text, and printing
14097    the screen will show the internal states nicely).
14098      <p>The print facility now also displays the color
14099      information. (I will probably make this a resource).</p>
14100    </li>
14101
14102    <li>modified the xterm-16color terminfo description to use the
14103    setaf and setab strings, which is a little more efficient
14104    (requested by Stephen Marley).</li>
14105
14106    <li>reduced some clutter of the ifdef/includes (e.g., stdlib.h,
14107    unistd.h, errno) making the configure script test for these.
14108      <p>I removed the symbols Size_t and Time_t, since they no
14109      longer serve a useful purpose.</p>
14110    </li>
14111
14112    <li>added some debugging traces to show the initial screen
14113    size, and the success/failure of the ioctl calls pass handle
14114    window resizing events to the application (for Clint Olsen).
14115      <p>I also modified the trace code to produce two files since
14116      some of the information is produced by the child process. So
14117      now they are Trace-parent.out and Trace-child.out</p>
14118    </li>
14119
14120    <li>updated configure test for ANSI compiler options to handle
14121    a special case for HP-UX 10.x (reported by Clint Olsen).</li>
14122  </ul>
14123
14124  <h1><a name="xterm_72" id="xterm_72">Patch #72 - 1998/4/17 -
14125  XFree86 3.9Ag and 3.3.2</a></h1>
14126
14127  <p>This is a patch from Chris Siebenmann
14128  &lt;cks@hawkwind.utcs.toronto.edu&gt;, which I have cleaned up a
14129  little, and integrated into the configure script.</p>
14130
14131  <p>From his description:</p>
14132
14133  <blockquote>
14134    <p>This set of patches is the latest incarnation of patches
14135    originally written by Ian! D Allen, then of the University of
14136    Waterloo and now of who knows where; I have been carrying them
14137    forward from xterm to xterm ever since about X11R4. What they
14138    do is add an option so that when an iconified xterm receives
14139    output it prepends '*** ' to its icon title and (optionally)
14140    beeps the bell; deiconifying the xterm removes the '*** '. Over
14141    the years I've found this to be incredibly convenient for
14142    monitoring all sorts of low-activity things.</p>
14143  </blockquote>
14144
14145  <h1><a name="xterm_71" id="xterm_71">Patch #71 - 1998/4/12 -
14146  XFree86 3.9Ag and 3.3.2</a></h1>
14147
14148  <p>This patch is a slightly modified version of one by Richard
14149  Braakman, which prevents buffer overflow in the input-method and
14150  preedit-type parsing in xterm. I changed a couple of details to
14151  make the code more maintainable, and looked for similar things -
14152  copying into a fixed-size buffer (found none, though I did spot
14153  an unused variable).</p>
14154
14155  <h1><a name="xterm_70" id="xterm_70">Patch #70 - 1998/3/29 -
14156  XFree86 3.9Af and 3.3.2</a></h1>
14157
14158  <p>This patch corrects some minor bugs in xterm, and fills in
14159  some more details in the VT220 emulation:</p>
14160
14161  <ul>
14162    <li>modify Imakefile to use SpecialCObjectRule for menu and
14163    data modules, making xterm build properly if logging is enabled
14164    (patch by Scott Sewall &lt;scott@iprg.nokia.com&gt;).</li>
14165
14166    <li>restore "ich" capability to terminfo entries, since Michael
14167    Schroeder points out that "ich1" is the one which is the
14168    problem in Solaris vi.</li>
14169
14170    <li>correct color of cursor, which would disappear on
14171    inverse-video since the initialization did not compare the
14172    cursor color against both foreground and background (reported
14173    by Olivier Calle).</li>
14174
14175    <li>correct abbreviation-test for -version and -help options,
14176    making command-line option -vb work (reported by Stefan
14177    Dalibor).</li>
14178
14179    <li>correct a dependency between ifdef's for OPT_I18N_SUPPORT
14180    and OPT_INPUT_METHOD (reported by Stefan Dalibor).</li>
14181
14182    <li>split-out character-set translations as new module
14183    charsets.c, to implement VT220 national replacement character
14184    sets (a mode where some of the characters are displayed as
14185    specific European glyphs). This relies on xterm using an ISO
14186    8859-1 font (approach suggested by Kenneth R. Robinette
14187    &lt;zkrr01@mailbox.neosoft.com&gt;).</li>
14188
14189    <li>correct a missing increment, which made SS2 and SS3
14190    controls repeat the shifted character.</li>
14191
14192    <li>add xterm-nrc to terminfo to illustrate the VT220 national
14193    replacement character sets.</li>
14194
14195    <li>reformat terminfo using new ncurses tic option "-f", which
14196    makes if/then/else/endif expressions easier to read.</li>
14197  </ul>
14198
14199  <h1><a name="xterm_69" id="xterm_69">Patch #69 - 1998/3/16 -
14200  XFree86 3.9Ad and 3.3.2</a></h1>
14201
14202  <p>This corrects the problem in xterm with utmp, reported by
14203  Olivier Calle &lt;olivier@tc.fluke.com&gt; as well as some other
14204  people after the XFree86 3.3.2 release.</p>
14205
14206  <p>The error was introduced by my patch #53 in XFree86 3.9r
14207  (October 1997).</p>
14208
14209  <p>The correction removes the reset of setuid/setgid before the
14210  main event loop, and solves the problem which I had worked around
14211  in a different manner: for some reason, the particular waitpid()
14212  call in creat_as() hangs, does not return when the child process
14213  exits. I changed the ifdef's to force the Linux configuration to
14214  use wait() instead. This call appears to work properly on other
14215  platforms such as SunOS and Solaris.</p>
14216
14217  <p>I also added tests in the standalone configure script to check
14218  for the existence of waitpid().</p>
14219
14220  <h1><a name="xterm_68" id="xterm_68">Patch #68 - 1998/3/4 -
14221  XFree86 3.9Ad and 3.3.1z</a></h1>
14222
14223  <p>This corrects another problem with the logic for
14224  highlightColor resource. As reported by David Dawes:</p>
14225
14226  <blockquote>
14227    <p>I've just noticed a problem with with the "inverse" control
14228    sequence (ESC[7m) with the 3.3.2 xterm. What it does is sets
14229    the background black, and the text the usual foreground colour
14230    rather than simply swapping the foreground/background.</p>
14231  </blockquote>
14232
14233  <p>This appears to be because when I added logic to check that
14234  the highlightColor was distinct from foreground and background
14235  colors, I did not add a further check to see that it was not
14236  black (I would make an explicit check for the resource not being
14237  set, but see nothing definite in the headers that would let me
14238  reference an explicitly-undefined Pixel value, though there are
14239  some implications in xpm.h). But this should work.</p>
14240
14241  <h1><a name="xterm_67" id="xterm_67">Patch #67 - 1998/2/23 -
14242  XFree86 3.9Ad and 3.3.1e</a></h1>
14243
14244  <p>This patch does the following:</p>
14245
14246  <ul>
14247    <li>improve test for highlightColor so that xterm does not
14248    attempt to use that unless it is different from the foreground
14249    and background colors (reported by Stefan Dalibor
14250    &lt;Stefan.Dalibor@informatik.uni-erlangen.de&gt;.
14251      <p>I could not reproduce this until I noticed that the -rev
14252      option exposed it nicely.</p>
14253    </li>
14254
14255    <li>remove ich and ich1 from xterm and xterm-8bit terminfo
14256    descriptions. SVr4 terminfo documents that you must not combine
14257    these with smir/rmir, but ncurses allows it, opening a hole.
14258    Solaris 2.6 vi does not work properly if it is using a terminfo
14259    description when these are combined, since it was written to
14260    accommodate old terminals that required it (reported by Stephen
14261    Marley).</li>
14262
14263    <li>restore 1-pixel overlap of scrollbar border with left edge
14264    of window (reported by Jim Burmeister
14265    &lt;jimb@metrolink.com&gt;).</li>
14266
14267    <li>add a configure option, --enable-logfile-exec, which allows
14268    the user to specify a pipe for logfile. This defines
14269    ALLOWLOGFILEEXEC.</li>
14270
14271    <li>makes the ALLOWLOGFILEEXEC code compile &amp; run, if
14272    configured.</li>
14273
14274    <li>minor documentation nits.</li>
14275  </ul>
14276
14277  <h1><a name="xterm_66" id="xterm_66">Patch #66 - 1998/2/16 -
14278  XFree86 3.9Ad and 3.3.1d</a></h1>
14279
14280  <p>This fixes the problem reported with failure to build the
14281  <em>resize</em> program (BSDI, OSF/1) due to not having
14282  &lt;termcap.h&gt;, by changing the ifdef to one that would be set
14283  only if the file exists (not currently specified, except by the
14284  standalone configure script). We do not really need to include
14285  &lt;termcap.h&gt; to build, but only for a clean compile, since
14286  it may declare the tgetent() prototype. I also updated the
14287  man-page for <em>resize</em>, since I had recently noticed that
14288  it can be used to resize <em>xterm</em> using the "Sun" control
14289  sequences option.</p>
14290
14291  <h1><a name="xterm_65" id="xterm_65">Patch #65 - 1998/2/14 -
14292  XFree86 3.9Ad and 3.3.1c</a></h1>
14293
14294  <p>This is a small patch to xterm's 8-bit terminal description. I
14295  noticed while testing ncurses that I had specified the wrong
14296  (VT100-style) codes for the F1-F4. Xterm only uses VT220-style
14297  function keys in 8-bit mode.</p>
14298
14299  <h1><a name="xterm_64" id="xterm_64">Patch #64 - 1998/2/8 -
14300  XFree86 3.9Ad</a></h1>
14301
14302  <p>This fixes the following problems with xterm:</p>
14303
14304  <ul>
14305    <li>save/restore the ANSI foreground and background colors with
14306    the other visible attributes in the save-cursor and
14307    restore-cursor operations. This works around a problem with
14308    vim, which apparently assumed that switching between the normal
14309    and alternate screens resets the colors (reported by Jim Battle
14310    &lt;jb@chromatic.com&gt;).
14311      <p>It would be nice to implement save/restore cursor as a
14312      stack (and solve this type of problem completely), but that
14313      would lead to incompatibility with applications which assume
14314      they are running with a VT100 or VT220.</p>
14315    </li>
14316
14317    <li>corrects behavior of a restore-cursor operation which does
14318    not follow a save-cursor (it is supposed to set the character
14319    sets to a known initial state).</li>
14320
14321    <li>extends the sunKeyboard resource (and menu toggle) to
14322    modify the home, end and delete keys on a Sun or PC editing
14323    keypad, making them generate codes compatible with DEC VT220's
14324    Find, Select and Remove keys.</li>
14325
14326    <li>corrects a length in checking command-line options, which
14327    caused the "-help" message to not work when X was not
14328    running.</li>
14329
14330    <li>add some detail to the man-page (requested by Jason Bacon
14331    &lt;acadix@execpc.com&gt;)</li>
14332
14333    <li>modify the standalone configure script to ignore the broken
14334    nsl and socket libraries on IRIX 6.2 (the ones on 5.2 also are
14335    broken, so this change just widens the check for the system
14336    version number).</li>
14337  </ul>
14338
14339  <h1><a name="xterm_63" id="xterm_63">Patch #63 - 1998/2/5 -
14340  XFree86 3.9Ad</a></h1>
14341
14342  <p>This is another patch from Bjorn Helgaas
14343  &lt;helgaas@rsn.hp.com&gt;, which I've reviewed (and learned
14344  some). Following are his notes:</p>
14345
14346  <p>I poked around some more and finally got xterm-62 to build and
14347  run cleanly on HP-UX 10.20. Here are the patches. They look sort
14348  of ugly, so here's a little explanation:</p>
14349
14350  <ul>
14351    <li>aclocal.m4: Removed side effects from the AC_CACHE_VAL
14352    commands in CF_FUNC_TGETENT. Previously, LIBS was set inside
14353    AC_CACHE_VAL, which worked fine the first time configure was
14354    run, but failed if there were cached values.</li>
14355
14356    <li>aclocal.m4: Added temporary setting of LIBS before
14357    AC_TRY_LINK in CF_FUNC_TGETENT. Previously, the last value set
14358    by the AC_TRY_RUN loop was used, so only -lcurses was
14359    checked.</li>
14360
14361    <li>configure.in: Added temporary setting of CPPFLAGS before
14362    AC_CHECK_HEADERS for X11 files. Previously
14363    &lt;X11/DECkeysym.h&gt; and &lt;X11/Xpoll.h&gt; were found only
14364    if they were in the compiler's default include directories,
14365    even if `--x-includes=DIR' had been used or AC_PATH_XTRA had
14366    found them elsewhere.</li>
14367  </ul>
14368
14369  <p>The problem on HP-UX was that we were linking with -lcurses
14370  rather than -ltermcap due to the second bullet above, and
14371  apparently something in HP-UX curses is broken. This seems very
14372  strange, because the only thing used is tgetent, which should
14373  affect any tty/pty configuration, but I lost interest in tracking
14374  down the exact problem.</p>
14375
14376  <h1><a name="xterm_62" id="xterm_62">Patch #62 - 1998/1/23 -
14377  XFree86 3.9Ac</a></h1>
14378
14379  <p>This is a patch mostly by Bjorn Helgaas
14380  &lt;helgaas@dhc.net&gt; (I added the os2main.c change, and a
14381  little of the documentation). From Bjorn's description:</p>
14382
14383  <ul>
14384    <li>If you use the "-hc &lt;color&gt;" option or set the
14385    "highlightColor" resource, text is highlighted by changing only
14386    the background color, rather than using reverse video. I find
14387    this easier to read, especially when selecting multi-colored
14388    text, and it is similar to the way Netscape shows
14389    selections.</li>
14390
14391    <li>Most of the code changes are under "#if
14392    OPT_HIGHLIGHT_COLOR". The principal exception is in screen.c,
14393    where I added a couple calls to resetXtermGC(). This seems like
14394    it could be a bug even without the color highlighting changes
14395    (though I don't pretend to understand all the logic).</li>
14396  </ul>
14397
14398  <h1><a name="xterm_61" id="xterm_61">Patch #61 - 1998/1/17 -
14399  XFree86 3.9Ac</a></h1>
14400
14401  <p>This patch modifies the reset behavior of xterm slightly:</p>
14402
14403  <ul>
14404    <li>change the terminfo entry so that rs1 (one of the strings
14405    used by the 'reset' program) does a hard reset rather than
14406    switching character sets. This is more in accord with other
14407    terminal descriptions.</li>
14408
14409    <li>modifies the treatment of hard reset by the xterm program
14410    to reset the saved lines.</li>
14411
14412    <li>corrects hard reset by also resetting user-defined keys,
14413    i.e., DECUDK.</li>
14414  </ul>
14415
14416  <h1><a name="xterm_60" id="xterm_60">Patch #60 - 1998/1/10 -
14417  XFree86 3.9Ab</a></h1>
14418
14419  <p>This fixes some minor bugs and adds new functionality:</p>
14420
14421  <ul>
14422    <li>add support for blinking text.
14423      <ul>
14424        <li>This does not actually cause the text to flash, but
14425        text with the blink attribute can be displayed in color,
14426        using new resources colorBL and colorBLMode.</li>
14427
14428        <li>If colors are not used, the blinking text will be
14429        displayed as before (just like bold). The main purpose of
14430        this is to make applications work properly when they assume
14431        the emulator supports blinking text.</li>
14432
14433        <li>I did this by moving the per-cell LINEWRAPPED flag to a
14434        per-line flag, to make room for the new BLINK flag. There
14435        were no per-line flags, so this changes a lot of
14436        logic.</li>
14437      </ul>
14438    </li>
14439
14440    <li>corrected missing save-cursor logic in the handling of SGR
14441    1048 (the new control sequence I added in patch #54,
14442    1997/10/17). Reported by Darren Hiebert.</li>
14443
14444    <li>flush the output of the transparent printing after each
14445    line Reported by Tomas Vanhala
14446    &lt;vanhala@ling.helsinki.fi&gt;.</li>
14447
14448    <li>correct the modes that are affected by save/restore cursor
14449    by adding WRAPAROUND and PROTECTED.</li>
14450
14451    <li>corrected placement of one of the XSync calls that I added
14452    in patch #51, 1997/9/15, which had the side-effect of writing
14453    on the window border when the xterm was resizing from 132 to 80
14454    columns.</li>
14455
14456    <li>work around an incompatibility of the XKB definition used
14457    in xterm versus that symbol from IRIX 6.2's imake definitions
14458    (by adjusting the standalone configure script).</li>
14459  </ul>
14460
14461  <h1><a name="xterm_59" id="xterm_59">Patch #59 - 1998/1/5 -
14462  XFree86 3.9Ab</a></h1>
14463
14464  <p>My last patch has an off-by-one error in the comparison for
14465  argc. Douglas Kosovic &lt;douglask@dstc.edu.au&gt; showed me
14466  where (he got a core dump). Also, I think this explains Clint
14467  Olsen's problem, but the symptoms were more subtle (EINVAL for a
14468  system call if the -display option is omitted).</p>
14469
14470  <h1><a name="xterm_58" id="xterm_58">Patch #58 - 1998/1/3 -
14471  XFree86 3.9Ab</a></h1>
14472
14473  <p>This patch does the following:</p>
14474
14475  <ul>
14476    <li>implement logic to permit xterm to work with proportional
14477    fonts.
14478      <ul>
14479        <li>Thomas Wolff &lt;Thomas.Wolff@sietec.de&gt; requested
14480        this (but it isn't exactly what he's asking for - that's a
14481        more involved task).</li>
14482
14483        <li>I chose to do this by rendering the characters on a
14484        fixed pitch, because it would not be useful for existing
14485        applications to display varying numbers of characters on
14486        each line.</li>
14487
14488        <li>Except that this forces the display to be wider, it
14489        works reasonably well. A couple of special cases (reverse +
14490        colorBD, for example) do not display with proper colors,
14491        since the inter-character gaps are painted with the
14492        background.</li>
14493      </ul>
14494    </li>
14495
14496    <li>added a version number to the program (several people have
14497    requested this).</li>
14498
14499    <li>make the -version and -help options interpreted before the
14500    program attempts to open the display.</li>
14501
14502    <li>minor reorganization of the man-page (ordered the options,
14503    resources and translations alphabetically - and eliminated some
14504    duplication).</li>
14505
14506    <li>corrected a misspelled filename in Makefile.in, and added a
14507    lint rule.</li>
14508
14509    <li>updated the configure script to correct behavior when it
14510    cannot find imake, as well as to fix the IRIX+gcc build
14511    (conflict with /usr/include).</li>
14512
14513    <li>regenerated the configure script with a newer patch to
14514    autoconf that fixes a problem with environment space vs the
14515    configure --help message.</li>
14516  </ul>
14517
14518  <h1><a name="xterm_57" id="xterm_57">Patch #57 - 1997/12/26 -
14519  XFree86 3.9Aa</a></h1>
14520
14521  <p>This patch is mostly concerned with the standalone configure
14522  script; a few minor corrections are added:</p>
14523
14524  <ul>
14525    <li>add configure option --disable-tek4014, to allow xterm to
14526    be built without the tek4014 emulation.</li>
14527
14528    <li>add configure option --with-terminal-type, to allow xterm
14529    to be compiled with default $TERM value other than "xterm"
14530    (e.g., "xterm-16color") -- requested by Stephen Marley
14531    &lt;stephen@memex.com&gt;.</li>
14532
14533    <li>fix a typo in the configure --help message -- reported by
14534    Darren Hiebert &lt;darren@hmi.com&gt;.</li>
14535
14536    <li>review diffs between main.c and os2main.c, to make them
14537    more alike. (applies some minor bug-fixes to OS/2's
14538    version).</li>
14539
14540    <li>add missing quotes in memmove/bcopy configure test</li>
14541  </ul>
14542
14543  <h1><a name="xterm_56" id="xterm_56">Patch #56 - 1997/11/28 -
14544  XFree86 3.9x</a></h1>
14545
14546  <p>This patch is based on analysis by Arfst Ludwig
14547  &lt;arfst@luxor.IN-Berlin.DE&gt;, who reported:</p>
14548
14549  <blockquote>
14550    <p>Setting the following resources xterm (all current versions)
14551    receives a segmentation fault on &lt;Btn2Up&gt; after
14552    scrolling:</p>
14553
14554    <pre>
14555          *XTerm*VT100*translations:    #override \
14556              ~Shift~Ctrl&lt;Btn2Up&gt;: insert-selection(PRIMARY, CUT_BUFFER0)\n\
14557              Shift~Ctrl&lt;Btn2Up&gt;:  insert-selection(CLIPBOARD, CUT_BUFFER1)\n\
14558              ~Shift&lt;BtnUp&gt;:       select-end(PRIMARY, CUT_BUFFER0)\n\
14559              Shift&lt;BtnUp&gt;:        select-end(CLIPBOARD, CUT_BUFFER1)
14560</pre>
14561    <p>(The above resources intention is to be able to paste the
14562    latest selection even if the xterm was cleared.)</p>
14563
14564    <p>And here is how it works (and a fix!): The widget given to
14565    the action handler as first argument is not guaranteed to be a
14566    XtermWidget (it can be the ScrollbarWidget). Instead of
14567    accessing the widget's member directly XtDisplay gives the
14568    required pointer in a safe way.</p>
14569  </blockquote>
14570
14571  <p>I noticed that this was not the only instance (by reading the
14572  code, and testing with his example), and extended the solution to
14573  check the widget-class to ensure that it is indeed xterm's widget
14574  class before attempting to use it in the context of
14575  translations.</p>
14576
14577  <h1><a name="xterm_55" id="xterm_55">Patch #55 - 1997/11/25 -
14578  XFree86 3.9x</a></h1>
14579
14580  <p>This fixes the segmentation violation noted by Rogier Wolff
14581  about a month ago. He'd set xterm to 400 (rows) by 150 columns,
14582  which broke because there were limited buffers (200 rows) used
14583  for juggling data when adding or deleting lines and for switching
14584  between alternate and normal screens. I replaced this by an
14585  allocated buffer.</p>
14586
14587  <p>The bug is simple to test if you set titeInhibit false.</p>
14588
14589  <h1><a name="xterm_54" id="xterm_54">Patch #54 - 1997/10/17 -
14590  XFree86 3.9s</a></h1>
14591
14592  <p>This patch does the following:</p>
14593
14594  <ul>
14595    <li>correct a minor placement problem with the right
14596    scrollbar.</li>
14597
14598    <li>implement a new set of control sequences for switching
14599    between the normal and alternate VT100 screens. These work
14600    around the older sequences limitation that required
14601    modification of the runtime $TERMCAP to cooperate with the
14602    titeInhibit resource (that can't work with terminfo). I do this
14603    by moving all of the functionality of the rmcur terminfo
14604    capability into the control sequences.</li>
14605
14606    <li>implement the alternate-screen menu entry</li>
14607  </ul>
14608
14609  <h1><a name="xterm_53" id="xterm_53">Patch #53 - 1997/10/12 -
14610  XFree86 3.9r</a></h1>
14611
14612  <p>This patch adds a fix and implements a new feature (as well as
14613  some minor typos):</p>
14614
14615  <ul>
14616    <li>JCHANDRA@Inf.COM (JCHANDRA) noted that there was still a
14617    problem with the wait call with the logging option. It hung
14618    when the logfile was opened as a command-line option. I fixed
14619    this by moving the StartLogging() call down past the place
14620    where I'd reset the setuid mode. So the logfile is opened as
14621    the real user, without having to fork.</li>
14622
14623    <li>improve Rohleder's changes by renaming the command-line
14624    options and reducing the number of ifdef's.</li>
14625
14626    <li>implement right-scrollbars for xterm (patch by Michael
14627    Rohleder &lt;michael.rohleder@stadt-frankfurt.de&gt;).</li>
14628  </ul>
14629
14630  <h1><a name="xterm_52" id="xterm_52">Patch #52 - 1997/9/29 -
14631  XFree86 3.9q</a></h1>
14632
14633  <p>This patch addresses bugs and requests reported by</p>
14634
14635  <ul>
14636    <li>Bob Maynard &lt;rmaynard@montana.com&gt;,</li>
14637
14638    <li>Clint Olsen &lt;olsenc@ichips.intel.com&gt;,</li>
14639
14640    <li>JCHANDRA@Inf.COM (JCHANDRA),</li>
14641
14642    <li>Michael Schroeder
14643    &lt;Michael.Schroeder@informatik.uni-erlangen.de&gt;,</li>
14644
14645    <li>Pablo Ariel Kohan &lt;pablo@memco.co.il&gt;</li>
14646  </ul>
14647
14648  <p>Some of the changes are interrelated (it was an unusually busy
14649  week).</p>
14650
14651  <ul>
14652    <li>change the default resource value for colorMode to true,
14653    matching the Xterm.ad file.</li>
14654
14655    <li>correct behavior of 'ech' control, making the default and 0
14656    parameters erase one character rather than to the end of line
14657    (reported by Michael Schroeder).</li>
14658
14659    <li>add resource boldColors, command-line options +pc and -pc
14660    and configure-script option to specify behavior of xterm's
14661    mapping bold colors 0 through 7 to colors 8 through 15.
14662    (request by Pablo Ariel Kohan).</li>
14663
14664    <li>add resource colorAttrMode to specify whether colorULMode
14665    and colorBDMode can override the ANSI colors (report by Clint
14666    Olsen).</li>
14667
14668    <li>correct a conflict between colorULMode/colorBDMode versus
14669    ANSI colors, where exposure events would occasionally pick up
14670    the former (e.g., colorBD) rather than ANSI colors. Testing the
14671    colorAttrMode made this apparent, though it has been in the
14672    code since 3.2A (patch #35 in Jan 1997).</li>
14673
14674    <li>correct two problems with the optional logging support. On
14675    Linux at least, the waitpid call in creat_as hangs when the
14676    logging is toggled from the popup menu. Also, the mktemp
14677    template has the wrong number of X's (since X11R5!). Fixed the
14678    waitpid problem by exploiting the fact that the setuid behavior
14679    is reset before the popup menus are available. (reported by
14680    Jayachandran C.).</li>
14681
14682    <li>add configure script options for building with the Xaw3d
14683    and neXtaw libraries.</li>
14684
14685    <li>correct CF_IMAKE_CFLAGS standalone configure script macro,
14686    so that it will pick up $(ALLDEFINES) rather than
14687    $(STD_DEFINES). This is needed to make scrollbars work on
14688    Linux, since that uses narrow prototypes. (reported by Bob
14689    Maynard).</li>
14690
14691    <li>various minor updates to configure-script macros.</li>
14692  </ul>
14693
14694  <h1><a name="xterm_51" id="xterm_51">Patch #51 - 1997/9/15 -
14695  XFree86 3.9p</a></h1>
14696
14697  <p>Most of this patch is related to the standalone configure
14698  script, though there are fixes/enhancements as well:</p>
14699
14700  <ul>
14701    <li>add a new resource sunKeyboard, with associated
14702    command-line option and menu-toggle that allows using a normal
14703    Sun or PC keyboard to generated the complete DEC-style function
14704    keys and keypad.</li>
14705
14706    <li>correct a reversed foreground/background test in the
14707    control sequence that replies with the current SGR
14708    settings.</li>
14709
14710    <li>correct, by invoking XSync, a display problem that caused
14711    the program to not properly update newly exposed areas when a
14712    font change or 80/132 resize request was not completely
14713    accepted.</li>
14714
14715    <li>restructured autoconf macros (I made a library of all of
14716    the macros across the complicated configure scripts I'm working
14717    on).</li>
14718
14719    <li>use the autoconf config.guess and config.sub scripts to
14720    better identify the host-os.</li>
14721
14722    <li>improve the configure script that uses 'imake' as a
14723    fallback for definitions.</li>
14724
14725    <li>correct several instances of unsigned/signed mixed
14726    expressions.</li>
14727  </ul>
14728
14729  <p>I've tested the configure script on Linux, SunOS 4.1.3,
14730  Solaris 2.5.1, IRIX 5.2 and 6.2, AIX 3.2.5 and CLIX 3.1 (all but
14731  the last run properly as well).</p>
14732
14733  <h1><a name="xterm_50" id="xterm_50">Patch #50 - 1997/8/22 -
14734  XFree86 3.9m</a></h1>
14735
14736  <p>This is a collection of small fixes, and a couple of minor
14737  enhancements:</p>
14738
14739  <ul>
14740    <li>plug a security hole in the implementation of Media Copy
14741    (print) by invoking setuid just before the main loop.</li>
14742
14743    <li>add an ifdef'd include for &lt;sys/termio.h&gt; for HP-UX,
14744    which allows the program to process SIGWINCH events (this is a
14745    bug in X11R6.3)</li>
14746
14747    <li>add state-table entries for VT52 emulation to enter/exit
14748    keypad application mode.</li>
14749
14750    <li>disable the popup-menu entry for 8-bit controls when the
14751    terminal-id is less than 200 (e.g., VT52 or VT100).</li>
14752
14753    <li>ensure that the popup-menu entry for 8-bit controls is
14754    updated when the application enables/disables this mode,
14755    including the response to a full-reset.</li>
14756
14757    <li>implement VT300 DECBKM feature: set interpretation of the
14758    backarrow key to either backspace or delete. The initial
14759    setting is via resource; it can also be modified in the main
14760    popup menu.</li>
14761
14762    <li>implement VTxxx KAM (ISO AM), which allows a keyboard to be
14763    locked (i.e., the terminal discards input).</li>
14764
14765    <li>implement VTxxx SRM, which is used to control local echoing
14766    of input on the terminal.</li>
14767
14768    <li>add terminfo and termcap entries for xterm-8bit, a
14769    variation of the xterm description that uses 8-bit control
14770    characters.</li>
14771
14772    <li>add fallback definitions for Imakefile to allow it to work
14773    on some X11R5 systems that have no SpecialCObjectRule or
14774    ProgramTargetName macros.</li>
14775
14776    <li>add .c.o and .c.i rules to standalone Makefile.in</li>
14777
14778    <li>correct order of -lXmu and -lXext in standalone configure
14779    script.</li>
14780
14781    <li>add configure script options to allow selective disabling
14782    of active-icon, input-method and i18n code (mainly for users
14783    with X11R5 or an incomplete X11R6 configuration).</li>
14784
14785    <li>change menu-indices from #define's to enum values, thereby
14786    making it work better with the ifdef's for logging and
14787    active-icon (the X11R6.3 active-icon code is incorrectly
14788    ifdef'd; this corrects an error introduced by incorporating
14789    that code).</li>
14790
14791    <li>correct minor compile errors in the configuration where
14792    active-icon is not used.</li>
14793
14794    <li>add configure option to suppress echoing of long compiler
14795    commands</li>
14796
14797    <li>correct spelling of decTerminalID in configure script help
14798    message</li>
14799
14800    <li>use gcc __attribute__((unused)) to quiet warnings about
14801    unused parameters when compiling with -W (to make it simpler to
14802    find the real problems).</li>
14803  </ul>
14804
14805  <h1><a name="xterm_49" id="xterm_49">Patch #49 - 1997/8/10 -
14806  XFree86 3.9k</a></h1>
14807
14808  <p>This patch implements the VT100/VT220 Media Copy (i.e.,
14809  print-screen) control sequences.</p>
14810
14811  <h1><a name="xterm_48" id="xterm_48">Patch #48 - 1997/7/26 -
14812  XFree86 3.9j</a></h1>
14813
14814  <p>This patch does the following (all but the first affect only
14815  the standalone configure script):</p>
14816
14817  <ul>
14818    <li>minor correction to positioning of underlines for small
14819    (e.g., 5x8) font size.
14820      <p>The existing behavior allowed underlines to be drawn
14821      outside the character-cell, so they weren't cleared properly
14822      under some circumstances.</p>
14823    </li>
14824
14825    <li>adds more special-case tokens to the standalone configure
14826    script's imake-option filter (e.g., "&amp;&amp;", since a "make
14827    -n main.o" on my IRIX system uses that shell construct).</li>
14828
14829    <li>adds a '--enable-logging' option for the standalone
14830    configure script.</li>
14831
14832    <li>adds check and ifdef's for the standalone configure script
14833    to allow for building on platforms with X11R6, which lacks
14834    Xpoll.h (introduced in X11R6.1).</li>
14835  </ul>
14836
14837  <h1><a name="xterm_47" id="xterm_47">Patch #47 - 1997/7/13 -
14838  XFree86 3.9i</a></h1>
14839
14840  <p>This patch does the following</p>
14841
14842  <ul>
14843    <li>corrects an indexing error in the doublesize character
14844    logic (button.c) that caused core dump (this was reported by J.
14845    Wunsch).</li>
14846
14847    <li>corrects the logic of ShowCursor when it is painting in a
14848    doublesize cell (charproc.c).</li>
14849
14850    <li>corrects, according to vttest, the behavior when switching
14851    to doublesize characters and back again (doublechr.c).</li>
14852
14853    <li>adds cbt (back_tab) to the terminfo description (this was
14854    something that I'd overlooked as applicable to curses
14855    optimization last summer).</li>
14856
14857    <li>corrects, for the standalone xmc test, the logic for
14858    disabling xmc.</li>
14859  </ul>
14860
14861  <h1><a name="xterm_46" id="xterm_46">Patch #46 - 1997/7/4 -
14862  XFree86 3.9h</a></h1>
14863
14864  <p>This is a patch to provide test-support for some work I'm
14865  doing on ncurses. It does not modify the normal configuration of
14866  xterm; the code is compiled if the standalone configure option
14867  "--enable-xmc-glitch" is specified.</p>
14868
14869  <h1><a name="xterm_45" id="xterm_45">Patch #45 - 1997/7/2 -
14870  XFree86 3.9h</a></h1>
14871
14872  <p>This fixes the problem reported with xterm's cursor color
14873  versus the background (the second chunk in this patch) and also
14874  removes some duplicate initialization of the cursor GC's. If the
14875  cursor color at startup is the same as the background, then xterm
14876  will use the reverse GC, ignoring the setting of the colorMode
14877  resource.</p>
14878
14879  <h1><a name="xterm_44" id="xterm_44">Patch #44 - 1997/6/22 -
14880  XFree86 3.9g</a></h1>
14881
14882  <p>This implements the first part of the VT100 doublesize
14883  characters for xterm, as well as fixing a handful of bugs:</p>
14884
14885  <ul>
14886    <li>the doublesize character support uses the normal font
14887    (using scaled fonts will be another patch) with blanks to
14888    simulate doublesize characters. This patch does most of the
14889    global changes that'll be required. I've hidden most of the
14890    details in macros and ifdef's so it's easy to configure out
14891    (part of the patch is a configure option for that
14892    purpose).</li>
14893
14894    <li>corrected limits in DeleteChar() function -- it's always
14895    ignored the size of the left border and scrollbar. I noticed
14896    this when working on the doublesize characters since the glitch
14897    was doubled in size (i.e., it wrapped some garbage around the
14898    right margin).</li>
14899
14900    <li>corrected 'memmove()' logic, for standalone builds (it
14901    referenced a malloc wrapper from my development library).</li>
14902
14903    <li>add a check for HideCursor() to prevent repeated screen
14904    updates (which can cause a spurious cursor glitch to appear,
14905    e.g., during scrolling). I noticed this with the 3.2A version
14906    (but only a few weeks ago, when I started working on this
14907    patch).</li>
14908  </ul>
14909
14910  <h1><a name="xterm_43" id="xterm_43">Patch #43 - 1997/6/10 -
14911  XFree86 3.9d</a></h1>
14912
14913  <p>Here's a fix for two problems:</p>
14914
14915  <ul>
14916    <li>modify handling of tgetent results in xterm and resize
14917    programs to make them tolerant of missing termcap file, or
14918    unknown terminal name. In this scheme, an explicit "-tn" option
14919    will succeed, overriding the fallback list.</li>
14920
14921    <li>a nit in the configure script (log extra information to
14922    help diagnose which case of the test-compile of tgetent was
14923    used).</li>
14924  </ul>
14925
14926  <h1><a name="xterm_42" id="xterm_42">Patch #42 - 1997/6/8 -
14927  XFree86 3.2Xl</a></h1>
14928
14929  <p>Bram Moolenaar reported that the cursor color changed
14930  unexpectedly while scrolling. The cause was that it used the same
14931  GC's as the logic that draws the ANSI colors. The bug only
14932  appears if the cursorColor resource isn't set, and has been
14933  present since the initial implementation early last year. (The
14934  same bug also appears in rxvt ;-). Here's a fix.</p>
14935
14936  <h1><a name="xterm_41" id="xterm_41">Patch #41 - 1997/5/28 -
14937  XFree86 3.2Xl</a></h1>
14938
14939  <p>Some nits found by Darren Hiebert (missing part of
14940  install-rule, incorrect assignment for --enable-color-mode
14941  option).</p>
14942
14943  <h1><a name="xterm_40" id="xterm_40">Patch #40 - 1997/5/26 -
14944  XFree86 3.2Xl</a></h1>
14945
14946  <p>Patch for the configure script's logic for obtaining imake
14947  predefined symbols.</p>
14948
14949  <h1><a name="xterm_39" id="xterm_39">Patch #39 - 1997/5/24 -
14950  XFree86 3.2Xl</a></h1>
14951
14952  <p>This patch does the following:</p>
14953
14954  <ul>
14955    <li>integrate the 16-color change for 'xterm'</li>
14956
14957    <li>minor fixes/clarification of tgetent in terminfo vs termcap
14958    to 'resize'</li>
14959  </ul>
14960
14961  <p>(both changes also modify the configure script)</p>
14962
14963  <h1><a name="xterm_38" id="xterm_38">Patch #38 - 1997/5/22 -
14964  XFree86 3.2Xh</a></h1>
14965
14966  <p>This implements a simple configuration script with autoconf
14967  (to which I'll add more options later). It does the
14968  following:</p>
14969
14970  <ul>
14971    <li>configures xterm to build with X11R5 (at least on SunOS
14972    4.1, Solaris 2.4, possibly IRIX - sorry network was down today,
14973    but I did test an earlier version yesterday).</li>
14974
14975    <li>enables/disables the configuration ifdef's for ANSI color
14976    and VT52 emulation.</li>
14977  </ul>
14978
14979  <p>It does not make tests for the things that imake does (that's
14980  another project), instead it uses a hybrid of the autoconf tests
14981  for libraries and adds imake's compiler options (which are
14982  necessary in some cases to get main.c to compile).</p>
14983
14984  <h1><a name="xterm_37" id="xterm_37">Patch #37 - 1997/5/7 -
14985  XFree86 3.9a</a></h1>
14986
14987  <p>This corrects a minor, but annoying error in the vt220
14988  emulation: the DECUDK is only supposed to be interpreted for
14989  _shifted_ function keys.</p>
14990
14991  <h1><a name="xterm_36" id="xterm_36">Patch #36 - 1997/1/16 -
14992  XFree86 3.2r</a></h1>
14993
14994  <p>This corrects something that I overlooked in patch #27
14995  (21-aug-1996), which is that when trimming the region to be
14996  repainted for the highlightSelection resource of xterm, I still
14997  have to paint the background past the highlighted region. This
14998  only happens when I first do a selection in a window that's
14999  partly off-screen, then move the window on-screen.</p>
15000
15001  <h1><a name="xterm_35" id="xterm_35">Patch #35 - 1997/1/7 -
15002  XFree86 3.2o</a></h1>
15003
15004  <p>This patch does the following:</p>
15005
15006  <ul>
15007    <li>combines the coding for foreground and background colors
15008    into a single byte, reducing the memory required to store
15009    saved-lines in color. (I'll take back that byte in a following
15010    patch to use to ensure the character-set, so there's no
15011    long-term decrease in memory use).</li>
15012
15013    <li>modifies the PF1-PF4 coding in termcap/terminfo. Because
15014    xterm is still by default emulating vt100, the function key
15015    codes are vt100-compatible (I overlooked this in patch #31). I
15016    also reformatted the whole terminfo file into a single-column,
15017    for consistency.</li>
15018
15019    <li>adds an interim xterm-vt220 description to accommodate the
15020    old and new styles of function-keys (though probably it'd be
15021    better to drop the old-style altogether).</li>
15022  </ul>
15023
15024  <h1><a name="xterm_34" id="xterm_34">Patch #34 - 1997/1/5 -
15025  XFree86 3.2o</a></h1>
15026
15027  <p>This patch does the following:</p>
15028
15029  <ul>
15030    <li>implement DECSTR (soft terminal reset). The biggest diff is
15031    due to adding another state table (note that there's only one
15032    useful state here, but it's only 256 bytes rather than 1k as it
15033    would have been before I reduced the size of state
15034    entries).</li>
15035
15036    <li>some minor tidying up (e.g., signed/unsigned use bitcpy,
15037    MODE_DECCKM, resetColor, resetCharsets). More is done in patch
15038    #35.</li>
15039  </ul>
15040
15041  <p>I got the description of DECSTR from a vt420 user's manual.
15042  I'll do some testing with vttest to ensure that there's nothing
15043  else to do than what was documented.</p>
15044
15045  <h1><a name="xterm_33" id="xterm_33">Patch #33 - 1996/11/24 -
15046  XFree86 3.2</a></h1>
15047
15048  <p>This adds to the reset-fix by Matthieu Herrb
15049  &lt;Mathieu.Herrb@mipnet.fr&gt; a small change to make xterm able
15050  to output 8-bit characters in VT100 mode. Applications that run
15051  on real VT100's don't do that anyway, and this feature should be
15052  removed sometime after finishing off the VT220 emulation (VT220's
15053  can do 8-bit characters). That would be a good time to change the
15054  default terminal-id to 220.</p>
15055
15056  <h1><a name="xterm_32" id="xterm_32">Patch #32 - 1996/11/21 -
15057  XFree86 3.2</a></h1>
15058
15059  <p>This implements the REP (repeat) control for xterm. That isn't
15060  part of the DEC VTxxx series, but is defined in ISO 6429. (Note
15061  that the base xterm terminal description is <em>not</em> changed
15062  -- I added a variant, "xterm-rep").</p>
15063
15064  <h1><a name="xterm_31" id="xterm_31">Patch #31 - 1996/11/16 -
15065  XFree86 3.2</a></h1>
15066
15067  <p>This implements vt52 emulation in xterm (ifdef'd so it can be
15068  removed). I've been using it for testing for the past month or
15069  so.</p>
15070
15071  <h1><a name="xterm_30" id="xterm_30">Patch #30 - 1996/11/16 -
15072  XFree86 3.2</a></h1>
15073
15074  <p>From bug-report by &lt;auroux@clipper.ens.fr&gt; (Denis
15075  Auroux), missing reset to ground state. I checked through the
15076  rest of <em>that</em> table and found another, in the
15077  unimplemented MC (screen print).</p>
15078
15079  <h1><a name="xterm_29" id="xterm_29">Patch #29 - 1996/9/15 -
15080  XFree86 3.1.2Gb</a></h1>
15081
15082  <p>This patch does the following:</p>
15083
15084  <ul>
15085    <li>corrects the restoration of color for bold/underline color
15086    mode</li>
15087
15088    <li>adds a resource 'decTerminalID' to control the reporting
15089    level of xterm (e.g., VT100, VT220).</li>
15090
15091    <li>uses the new resource to implement/correct the DA1, DA2 and
15092    DECRPTUI reports.</li>
15093
15094    <li>change valid-response code in DECRQSS from 0 to 1 (the
15095    manual says 0, but the VT420 terminal I've been testing on says
15096    1).</li>
15097  </ul>
15098
15099  <p>All of these changes are based on vttest 2.6</p>
15100
15101  <p>(Most of the volume in the patch is to add 2 more state tables
15102  for parsing the 2nd/3rd device-attribute controls).</p>
15103
15104  <h1><a name="xterm_28" id="xterm_28">Patch #28 - 1996/8/31 -
15105  XFree86 3.1.2F</a></h1>
15106
15107  <p>This patch corrects the following reported by Roland Rosenfeld
15108  &lt;roland@spinnaker.rhein.de&gt;:</p>
15109
15110  <ul>
15111    <li>handle SGR 22, 24 and 25 in combination with colorUL and
15112    colorBD resources. Also noted &amp; fixed reset of colored
15113    underline/bold with SGR 0.</li>
15114
15115    <li>a typo in the termcap (missing '['), from 3.1.2Dj (my
15116    error)</li>
15117  </ul>
15118
15119  <p>Roland also complained that he couldn't use box characters
15120  with</p>
15121
15122  <pre>
15123        -adobe-courier-bold-r-normal--12-120-75-75-m-70-iso8859-1
15124</pre>
15125  <p>but that's a known xterm limitation (the box characters must
15126  be part of the font, in the first 32 locations).</p>
15127
15128  <h1><a name="xterm_27" id="xterm_27">Patch #27 - 1996/8/21 -
15129  XFree86 3.1.2Ek</a></h1>
15130
15131  <p>This patch fixes one of my long-term gripes: xterm's selection
15132  doesn't clearly show what's being selected (as per David's
15133  request, it's controlled by a resource, which defaults to the
15134  older behavior).</p>
15135
15136  <h1><a name="xterm_26" id="xterm_26">Patch #26 - 1996/8/20 -
15137  XFree86 3.1.2Ei</a></h1>
15138
15139  <p>Here's a patch to fix a problem with xterm's cut/paste and
15140  another to modify the appearance of the highlighting while
15141  selecting. (The changes are independent, so you can see if the
15142  change to screen.c is desirable).</p>
15143
15144  <h1><a name="xterm_25" id="xterm_25">Patch #25 - 1996/8/18 -
15145  XFree86 3.1.2Ei</a></h1>
15146
15147  <p>Here's a correction for two minor bugs that I picked up in
15148  testing, plus some lint (from Solaris 2.5) where NULL was used
15149  incorrectly:</p>
15150
15151  <ul>
15152    <li>make the second alternate font the same as the first
15153    (that's what vt420 and dtterm do)</li>
15154
15155    <li>corrected DECSCL report when DECSCL hasn't been set (i.e.,
15156    don't return a '60').</li>
15157  </ul>
15158
15159  <h1><a name="xterm_24" id="xterm_24">Patch #24 - 1996/8/11 -
15160  XFree86 3.1.2Ee</a></h1>
15161
15162  <p>This patch does several things. In effect, xterm can (I think)
15163  do a reasonably good job of emulating vt220 and vt320 terminals
15164  (as well as it was doing vt100, at any rate ;-).</p>
15165
15166  <p>It does NOT do:</p>
15167
15168  <ul>
15169    <li>soft fonts</li>
15170
15171    <li>rigel or sixel graphics</li>
15172  </ul>
15173
15174  <p>Anyway, I:</p>
15175
15176  <ul>
15177    <li>added ECH, CPL, CNL, SU, SD, CBT, CHT controls</li>
15178
15179    <li>added popup-menu for switching between DEC and Sun function
15180    keys. (corrected alignment err wrt logging entry at that
15181    point).</li>
15182
15183    <li>make xterm recognize both 8-bit and 7-bit controls
15184    (including popup menu for switching modes).</li>
15185
15186    <li>add user-definable function keys (aka DECUDK)</li>
15187
15188    <li>support concealed text</li>
15189
15190    <li>support protected text (both ISO compatible and DEC
15191    compatible - that's not the same thing, btw), with SPA, EPA,
15192    DECSCA, DECSED, DECSEL controls.</li>
15193
15194    <li>implement DECSCL.</li>
15195  </ul>
15196
15197  <p>I'll be continuing to test this patch for a while, but don't
15198  expect to add any new functionality (it passes all of the current
15199  tests I've built in vttest, but I need to make more tests)..</p>
15200
15201  <h1><a name="xterm_23" id="xterm_23">Patch #23 - 1996/7/31 -
15202  XFree86 3.1.2Ec</a></h1>
15203
15204  <p>This removes the blinking cursor I added last week (for
15205  performance reasons). Time-permitting, I'll revisit this after
15206  3.2 is released (there <em>will</em> be more work after XFree86
15207  3.2, I assume).</p>
15208
15209  <h1><a name="xterm_22" id="xterm_22">Patch #22 - 1996/7/26 -
15210  XFree86 3.1.2Ec</a></h1>
15211
15212  <p>I looked more closely at my "double-negative" and realized
15213  that I had been confused by the default color scheme (black on
15214  white) in combination with reverse video. However, I did see that
15215  the original_fg and original_bg data weren't really used - so I
15216  removed that logic.</p>
15217
15218  <p>Also:</p>
15219
15220  <ul>
15221    <li>during initialization, check if ANSI colors are set with
15222    non fg/bg values, disable color mode if not. This makes xterm
15223    tolerant of applications that allocate the whole color
15224    map.</li>
15225
15226    <li>implemented blinking cursor (default is <em>off</em>)</li>
15227  </ul>
15228
15229  <h1><a name="xterm_21" id="xterm_21">Patch #21 - 1996/7/24 -
15230  XFree86 3.1.2Ec</a></h1>
15231
15232  <p>This patch does the following:</p>
15233
15234  <ul>
15235    <li>fixes some minor typography in the control-sequences
15236    documentation (it didn't occur to me til I'd sent the last
15237    patch that I could use ghostview for previewing the troff
15238    output ;-)</li>
15239
15240    <li>adjusts the shell's background color in ReverseVideo so
15241    that flicker in resizing is reduced</li>
15242
15243    <li>adds an ifdef OPT_ISO_COLORS to allow configuring xterm
15244    without the ISO color support (saves a lot of memory)</li>
15245
15246    <li>used that ifdef to isolate/modify logic so that if the user
15247    doesn't have the colorMode enabled, then ISO color support is
15248    disabled (saving memory).
15249      <p>(If anyone needs numbers, I had savedLines set to 2000,
15250      and found a reduction from ~700k to ~400k of allocated
15251      memory, according to Purify).</p>
15252    </li>
15253  </ul>
15254
15255  <h1><a name="xterm_20" id="xterm_20">Patch #20 - 1996/7/24 -
15256  XFree86 3.1.2Ec</a></h1>
15257
15258  <p>This documents the changes in control sequences for window
15259  operations that I added in my previous patch. I'm testing another
15260  patch that allows the user to use less memory if colors aren't
15261  needed.</p>
15262
15263  <h1><a name="xterm_19" id="xterm_19">Patch #19 - 1996/7/21 -
15264  XFree86 3.1.2Ec</a></h1>
15265
15266  <p>This patch does the following:</p>
15267
15268  <ul>
15269    <li>fixes the core dump that I reported on IRIX 5.2 (in main.c)
15270      <p>(it's worth noting that this bug exists in X11R6.1, so I'd
15271      like to assume that someone's already submitted a fix to X
15272      Consortium...)</p>
15273    </li>
15274
15275    <li>change the interpretation of zero rows or columns in a
15276    resize-window request to use the root window's size (looking
15277    more carefully at dtterm, that seems to be what it does).</li>
15278
15279    <li>change some memmove calls to memcpy for slightly better
15280    performance. also, a couple of memset calls to bzero, since
15281    Quantify says bzero runs 20% faster, I assume because there's
15282    one less argument.</li>
15283
15284    <li>interpret character sets 1 and 2 (so that vttest gives a
15285    reasonable result) Both rxvt and dtterm do something
15286    equivalent.</li>
15287
15288    <li>fix a minor memory leak in the logic that retrieves the
15289    window or icon names (Purify found this for me while I ran
15290    vttest).</li>
15291  </ul>
15292
15293  <h1><a name="xterm_18" id="xterm_18">Patch #18 - 1996/7/18 -
15294  XFree86 3.1.2Ec</a></h1>
15295
15296  <p>This implements the following:</p>
15297
15298  <ul>
15299    <li>escape sequences that act like the CDE dtterm's window
15300    operations (though I have implemented the default width and
15301    height -- I've seen a rather buggy dtterm running that seems to
15302    treat width=0 or height=0 literally -- maybe that's a feature,
15303    not a bug?)</li>
15304
15305    <li>minor tweak to the screen-repainting when resizing (I still
15306    cannot entirely get rid of flicker).</li>
15307
15308    <li>still more fixes to terminfo &amp; termcap (I corrected my
15309    error for the hpa code and added some other stuff by comparing
15310    to ncurses' description and rxvt's).</li>
15311
15312    <li>a tweak to the changes by Michael Rohleder for the color
15313    translation</li>
15314
15315    <li>re-order attribute codes to allow later implementation of
15316    protected fields (dtterm supposedly does this; it's probably
15317    more useful than blinking or invisible text -- that uses up all
15318    of the available bits without changing the attribute scheme
15319    radically).</li>
15320  </ul>
15321
15322  <h1><a name="xterm_17" id="xterm_17">Patch #17 - 1996/7/2 -
15323  XFree86 3.1.2Eb</a></h1>
15324
15325  <p>This patch implements for xterm several minor features from
15326  ISO 6429 which are useful for terminfo applications. The HPA and
15327  VPA control sequences allow cursor movement along a row or
15328  column, cutting down a little on the characters transmitted. The
15329  other codes allow resetting specific graphic rendition attributes
15330  without modifying the other attributes. (now if someone just had
15331  time to implement blinking cursors...)</p>
15332
15333  <h1><a name="xterm_16" id="xterm_16">Patch #16 - 1996/6/25 -
15334  XFree86 3.1.2Ea</a></h1>
15335
15336  <p>Adam Tla/lka &lt;atlka@pg.gda.pl&gt; told me a couple of weeks
15337  ago that I'd missed some of the background coloring in xterm. I
15338  investigated, and found that while I'd picked up on the
15339  clear-to-bottom and clear-to-end-of-line operations, I'd
15340  overlooked the insert/delete lines. Just so I wouldn't overlook
15341  any more of these, I updated a copy of vttest to test ISO colors
15342  and bce (background color erase). This patch introduces a new
15343  function, ClearCurBackground, whose calls replace the direct
15344  XClearArea calls that I'd overlooked. (There's also a few
15345  compiler warnings fixed, etc ;-)</p>
15346
15347  <h1><a name="xterm_15" id="xterm_15">Patch #15 - 1996/5/29 -
15348  XFree86 3.1.2E</a></h1>
15349
15350  <p>This fixes the problem reported by David Dawes, by making the
15351  50msec select timeout for the Xaw3d arrow scrollbar a resource.
15352  (I made it a boolean for a variety of reasons -- to make it a
15353  number, you'd need an additional resource, to avoid breaking the
15354  logic).</p>
15355
15356  <h1><a name="xterm_14" id="xterm_14">Patch #14 - 1996/5/12 -
15357  XFree86 3.1.2Dj</a></h1>
15358
15359  <p>This patch brings the termcap and terminfo descriptions for
15360  xterm up to date. I made the following changes:</p>
15361
15362  <ul>
15363    <li>reformatted the terminfo description in a single-column
15364    (this is ok for terminfo, and will simplify future patches --
15365    can't do that for termcap, since it would impact buffer
15366    requirements on some systems).</li>
15367
15368    <li>omitted obsolete features in termcap to save a little space
15369    (bs, pt)</li>
15370
15371    <li>added color capabilities to termcap (ut, Co, NC, op, AB,
15372    AF)</li>
15373
15374    <li>corrected some capabilities (vi, ve)</li>
15375
15376    <li>added 'st' (set tab)</li>
15377
15378    <li>reduced function keys in termcap for 'xterm' to 12 because
15379    color capabilities makes that description larger than 1023
15380    characters.</li>
15381
15382    <li>created new termcap name 'xtermm' (monochrome) to match the
15383    terminfo list, and make that description have 20 function
15384    keys.</li>
15385
15386    <li>added corresponding color capabilities to terminfo (bce,
15387    colors, pairs, op, ncv, setab, setaf)</li>
15388
15389    <li>corrected corresponding capabilities in terminfo (civis,
15390    cnorm, rmcup, smcup)</li>
15391
15392    <li>added capabilities (el1, hts)</li>
15393
15394    <li>in both, corrected home/end keys to match the code
15395    correction made by Thomas Mueller in 3.1.2Bk
15396      <p>=&gt; (I'm still considering modifying the code &amp;
15397      description to match the rxvt program).</p>
15398    </li>
15399  </ul>
15400
15401  <h1><a name="xterm_13" id="xterm_13">Patch #13 - 1996/4/23 -
15402  XFree86 3.1.2Df</a></h1>
15403
15404  <p>This corrects my earlier changes for colors - the inner border
15405  of the xterm was getting painted with the wrong color, since I'd
15406  moved the call to set the background into the logic that tracks
15407  SGR information.</p>
15408
15409  <h1><a name="xterm_12" id="xterm_12">Patch #12 - 1996/3/16 -
15410  XFree86 3.1.2Dc</a></h1>
15411
15412  <p>This corrects a memory leak in xterm that happens whenever one
15413  switches fonts.</p>
15414
15415  <h1><a name="xterm_11" id="xterm_11">Patch #11 - 1996/3/5 -
15416  XFree86 3.1.2Db</a></h1>
15417
15418  <p>This patch corrects the behavior of the ANSI colors in xterm
15419  when reverse video is used, as well as some other lesser
15420  sins:</p>
15421
15422  <ul>
15423    <li>button.c
15424      <ul>
15425        <li>(compiler warnings: shadowing of 'time', redundant
15426        cast)</li>
15427      </ul>
15428    </li>
15429
15430    <li>charproc.c
15431      <ul>
15432        <li>renamed screen.colors[] array to screen.Acolors[] to
15433        more easily distinguish the non-ANSI colors from the ANSI
15434        colors.</li>
15435
15436        <li>moved logic of SGR_Save() into VTInitialize, getting
15437        rid of local private variables original_fg and
15438        original_bg.</li>
15439
15440        <li>moved some logic into getXtermForeground and
15441        getXtermBackground from SGR_Foreground, SGR_Background,
15442        etc.</li>
15443
15444        <li>corrected misleading 'row' to 'col' in case for CUF,
15445        CUB sequences.</li>
15446      </ul>
15447    </li>
15448
15449    <li>ctlseqs.ms</li>
15450
15451    <li>xterm.man
15452      <ul>
15453        <li>(correct a misconception which I'd added that the
15454        color0 through color6 resource values apply to non-ANSI
15455        colors)</li>
15456      </ul>
15457    </li>
15458
15459    <li>ptyx.h
15460      <ul>
15461        <li>added original_fg, original_bg to TScreen
15462        structure.</li>
15463      </ul>
15464    </li>
15465
15466    <li>scrollbar.c
15467      <ul>
15468        <li>(compiler warnings: redundant cast)</li>
15469      </ul>
15470    </li>
15471
15472    <li>util.c
15473      <ul>
15474        <li>new functions getXtermForeground and getXtermBackground
15475        replace the macros GET_FG and GET_BG, with the added
15476        functionality of checking for the reverse-video status of
15477        xterm.</li>
15478
15479        <li>in ReverseVideo, swap the SGR foreground and background
15480        colors also.</li>
15481      </ul>
15482    </li>
15483  </ul>
15484
15485  <h1><a name="xterm_10" id="xterm_10">Patch #10 - 1996/2/14 -
15486  XFree86 3.1.2Cd</a></h1>
15487
15488  <p>I observed an occasional glitch in the xterm's color behavior;
15489  a clear to end of line would get a color that had been used in a
15490  program that supposedly reset colors. I traced this down to the
15491  way xterm was modifying colors of GC's on the fly; it didn't
15492  restore the original color of the GC, even though it would later
15493  be used in functions (such as ClearRight) that assumed (my error)
15494  that the GC would have the current foreground or background
15495  color.</p>
15496
15497  <p>I fixed this by resetting the GC's colors with a new function
15498  'resetXtermGC()', and direct calls on
15499  SGR_Foreground/SGR_Background, as appropriate and using a new
15500  function 'updatedXtermGC()' to encapsulate the logic that
15501  modifies the GC's color. (I also removed some commented-out code
15502  that was trying to do this -- the problem was a little more
15503  obscure).</p>
15504
15505  <h1><a name="xterm_09" id="xterm_09">Patch #9 - 1996/2/10 -
15506  XFree86 3.1.2Cb</a></h1>
15507
15508  <p>This patch fixes the remaining problems that I had making
15509  xterm run with x11r5, as well as a couple of other bugs. It
15510  follows my patch from yesterday, that added ifdef's for some of
15511  the input-method resources.</p>
15512
15513  <ul>
15514    <li>corrected ifdef's that suppress the input-method code
15515    (doesn't exist in my x11r5, and xterm works adequately without
15516    it).</li>
15517
15518    <li>corrected fallback definition for 'Select()' macro (oops:
15519    I'd copied the wrong text...)</li>
15520
15521    <li>moved the declarations for the fd_set variables to
15522    data.[ch]</li>
15523
15524    <li>corrected an ifdef in resize.c (sunos 4.x doesn't have
15525    termcap.h)</li>
15526
15527    <li>corrected (in main.c) some unused/orphaned variables.</li>
15528  </ul>
15529
15530  <h1><a name="xterm_08" id="xterm_08">Patch #8 - 1996/2/9 -
15531  XFree86 3.1.2Cb</a></h1>
15532
15533  <p>This is mostly a documentation patch for xterm. It describes
15534  the color control sequences in more detail, and documents some
15535  other features of xterm that aren't described elsewhere.</p>
15536
15537  <p>I've also added a couple of ifdef's to fix (part of) the
15538  problem that I'm working on (making the program work properly on
15539  x11r5, where I'm doing memory testing -- I have a "good" version
15540  from mid-January, but my resync version doesn't work properly on
15541  x11r5). I'm not done with <em>that</em> yet.</p>
15542
15543  <h1><a name="xterm_07" id="xterm_07">Patch #7 - 1996/1/28 -
15544  XFree86 3.1.2n</a></h1>
15545
15546  <p>I did a (clean) build of 3.1.2n on Linux 1.2.13 (ELF). I've
15547  got an S3 card.</p>
15548
15549  <p>This fixes the following in the 3.1.2n xterm:</p>
15550
15551  <ul>
15552    <li>initialize cur_foreground, cur_background in charproc.c
15553    (Purify told me they weren't initialized).</li>
15554
15555    <li>add interpretation of codes 39, 49, to reset background and
15556    foreground to default value (I'm told that ISO 6429 does this;
15557    but I don't have a written reference -- yet -- can anyone help
15558    here?). Anyway, rxvt does it, and it'll solve my remaining
15559    color management problems.</li>
15560
15561    <li>shadowing of 'time' in menu.c</li>
15562
15563    <li>'Cardinal' vs 'int' in scrollbar.c</li>
15564
15565    <li>several changes to permit compile with X11R5 (the system
15566    that I've got Purify on won't be upgraded to X11R6 for a long
15567    time).</li>
15568  </ul>
15569
15570  <p>I built this version (with a minor nit that I'll patch soon)
15571  on SunOS 4.1.3 so that I can test it some more with Purify.</p>
15572
15573  <p><em>btw</em>: the changes made in Xpoll.h won't work on some
15574  older systems, because fd_set isn't a defined type (I've got one
15575  machine at least that this applies to).</p>
15576
15577  <h1><a name="xterm_06" id="xterm_06">Patch #6 - 1996/1/8</a></h1>
15578
15579  <p>This patch does all of the SGR foreground/background fixes
15580  (i.e., clearing the screen after an SGR color is set causes that
15581  color to be used in the foreground and/or background). If the
15582  FG_COLOR and/or BG_COLOR flags aren't set, then the xterm
15583  foreground and background default to the window's values. This
15584  usage is consistent with various types of hardware (especially
15585  the IBM PC), and is also used in rxvt.</p>
15586
15587  <ul>
15588    <li>charproc.c:
15589      <ul>
15590        <li>add/use new macros GET_FG, GET_BG - n/c.</li>
15591
15592        <li>add/use new functions SGR_Foreground() and
15593        SGR_Background() to set corresponding colors in GC's, and
15594        to retain sense of "original" colors.
15595          <p>=&gt; This makes redundant some of the corresponding
15596          logic in HideCursor to set the foreground and background,
15597          but I left it in since it <em>may</em> be fixing an
15598          unrelated requirement.</p>
15599        </li>
15600
15601        <li>set GC's in LoadNewFont() according to whether the SGR
15602        fg/bg colors are active.
15603          <p>=&gt; This fixes some glitches in the accompanying
15604          resize, that leaves parts of the window in the original
15605          background color.</p>
15606        </li>
15607      </ul>
15608    </li>
15609
15610    <li>screen.c:
15611      <ul>
15612        <li>modified ClearBufRows() to use the SGR fg/bg colors if
15613        they're set.</li>
15614
15615        <li>added function ScrnClearLines(), used this to replace
15616        portions of ScrnInsertLine() and ScrnDeleteLine(). The new
15617        function uses the SGR fg/bg colors if they're set.
15618          <p>=&gt; Otherwise, selection after an index or reverse
15619          index will paint the wrong colors.</p>
15620        </li>
15621
15622        <li>modified ScrnDeleteChar() and ScrnInsertChar() to use
15623        SGR fg/bg colors.</li>
15624      </ul>
15625    </li>
15626
15627    <li>util.c:
15628      <ul>
15629        <li>modified ClearRight() so that if either of the SGR
15630        fg/bg colors is set, we don't bzero the attributes and
15631        color arrays, but instead fill them with the appropriate
15632        codes.</li>
15633
15634        <li>modified ClearLeft to use SGR fg/bg colors.</li>
15635      </ul>
15636    </li>
15637  </ul>
15638
15639  <h1><a name="xterm_05" id="xterm_05">Patch #5 - 1996/1/7</a></h1>
15640
15641  <p>This patch modifies the object code, by replacing indexing
15642  expressions with temporary variables with the full indexing
15643  expression. At first glance, this seems inefficient (it did to me
15644  ;-), until remembering comments made in the compilers newsgroups
15645  that trying to "help" the compiler doesn't really work that well.
15646  A good optimizing compiler can do a better job than the
15647  programmer can. (There's a moral in the use of 'register'
15648  variables also, but I won't fix those...).</p>
15649
15650  <p>Anyway, the revised code generates a smaller object...</p>
15651
15652  <ul>
15653    <li>charproc.c:
15654      <ul>
15655        <li>recode index expressions in ShowCursor() and
15656        HideCursor() using SCRN_BUF_xxxxS macros - changes
15657        object.</li>
15658
15659        <li>replace constant '4' by MAX_PTRS - n/c.</li>
15660      </ul>
15661    </li>
15662
15663    <li>ptyx.h:
15664      <ul>
15665        <li>defined the SCRN_BUF_xxxxS macros in terms of BUF_xxxxS
15666        macros, to pick up references to ScrnBuf data directly, and
15667        added MAX_PTRS symbol to pick up those '4' constants strewn
15668        about the code - n/c.</li>
15669      </ul>
15670    </li>
15671
15672    <li>screen.c:
15673      <ul>
15674        <li>recode index expressions in ScreenWrite() using
15675        SCRN_BUF_xxxxS macros - changes object.</li>
15676
15677        <li>replace constant '4' by MAX_PTRS - n/c.</li>
15678
15679        <li>use macros BUF_CHARS, BUF_ATTRS - n/c.</li>
15680
15681        <li>cast calloc to 'Char *' to fix compiler warning on IRIX
15682        - n/c</li>
15683      </ul>
15684    </li>
15685
15686    <li>scrollbar.c:
15687      <ul>
15688        <li>replace constant '4' by MAX_PTRS - n/c.</li>
15689
15690        <li>cast calloc to 'Char *' to fix compiler warning on IRIX
15691        - n/c</li>
15692      </ul>
15693    </li>
15694  </ul>
15695
15696  <h1><a name="xterm_04" id="xterm_04">Patch #4 - 1996/1/7</a></h1>
15697
15698  <p>When setting up for this phase, I saw that you'd corrected the
15699  bug that I found in ClearLeft. I decided to make this series of
15700  patches anyway, since readability never hurt (and there's the
15701  potential for finding another bug while reviewing this set).</p>
15702
15703  <ul>
15704    <li>button.c:
15705      <ul>
15706        <li>use SCRN_BUF_xxxxS macros - n/c</li>
15707      </ul>
15708    </li>
15709
15710    <li>charproc.c:
15711      <ul>
15712        <li>use SCRN_BUF_xxxxS macros - n/c</li>
15713      </ul>
15714    </li>
15715
15716    <li>ptyx.h:
15717      <ul>
15718        <li>added four macros: SCRN_BUF_CHARS, SCRN_BUF_ATTRS,
15719        SCRN_BUF_FORES, SCRN_BUF_BACKS to represent the four arrays
15720        that are derived from screen-&gt;buf.</li>
15721      </ul>
15722    </li>
15723
15724    <li>screen.c:
15725      <ul>
15726        <li>use SCRN_BUF_xxxxS macros - n/c</li>
15727      </ul>
15728    </li>
15729
15730    <li>util.c:
15731      <ul>
15732        <li>use SCRN_BUF_xxxxS macros - n/c</li>
15733      </ul>
15734    </li>
15735  </ul>
15736
15737  <h1><a name="xterm_03" id="xterm_03">Patch #3 - 1996/1/7</a></h1>
15738
15739  <p>This is my third (and final cleanup) patch for xterm. It gets
15740  rid of the unused stuff, and converts several functions to static
15741  (thereby reducing their scope).</p>
15742
15743  <p>At this point, the only compile warnings I've got (on Linux)
15744  are those about the select arguments (int vs fd_set type), and a
15745  missing declaration for waitpid. Those both are hard to get right
15746  without autoconfigure.</p>
15747
15748  <p>The next patches will address the functional changes...</p>
15749
15750  <ul>
15751    <li>Tekproc.c:
15752      <ul>
15753        <li>changed several functions to 'static' that aren't used
15754        outside this module -- changes object</li>
15755      </ul>
15756    </li>
15757
15758    <li>charproc.c:
15759      <ul>
15760        <li>changed several functions to 'static' that aren't used
15761        outside this module -- changes object</li>
15762
15763        <li>deleted unused function unparsefputs -- changes
15764        object.</li>
15765      </ul>
15766    </li>
15767
15768    <li>main.c:
15769      <ul>
15770        <li>changed several functions to 'static' that aren't used
15771        outside this module -- changes object</li>
15772
15773        <li>ifdef'd out unused function 'consolepr()' -- changes
15774        object</li>
15775
15776        <li>removed unused variable 'dummy_tio' -- changes
15777        object</li>
15778
15779        <li>moved variable 'discipline' to quiet unused-warning --
15780        changes object</li>
15781      </ul>
15782    </li>
15783
15784    <li>main.h:
15785      <ul>
15786        <li>deleted unused definition of DEFBORDERWIDTH - n/c</li>
15787      </ul>
15788    </li>
15789
15790    <li>misc.c:
15791      <ul>
15792        <li>changed several functions to 'static' that aren't used
15793        outside this module -- changes object</li>
15794
15795        <li>provide dummy return statements for xerror and xioerror
15796        to quiet compiler warnings -- changes object</li>
15797      </ul>
15798    </li>
15799
15800    <li>ptyx.h:
15801      <ul>
15802        <li>change sbuf_address and abuf_address to 'Char *' -
15803        n/c</li>
15804      </ul>
15805    </li>
15806
15807    <li>resize.c:
15808      <ul>
15809        <li>changed several functions to 'static' that aren't used
15810        outside this module -- changes object</li>
15811      </ul>
15812    </li>
15813
15814    <li>screen.c:
15815      <ul>
15816        <li>remove unnecessary 'Char **' casts - n/c</li>
15817      </ul>
15818    </li>
15819
15820    <li>util.c:
15821      <ul>
15822        <li>changed several functions to 'static' that aren't used
15823        outside this module -- changes object</li>
15824      </ul>
15825    </li>
15826  </ul>
15827
15828  <h1><a name="xterm_02" id="xterm_02">Patch #2 - 1996/1/7</a></h1>
15829
15830  <p>This is my second patch to xterm. It corrects most of the gcc
15831  warnings (except for some that are due to X header files ;-). I
15832  compared objects to keep track of the changes that don't affect
15833  the object code (n/c) versus those that do.</p>
15834
15835  <p>At this point, I'm compiling (fairly) clean with gcc
15836  options</p>
15837
15838  <pre>
15839        -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wnested-externs
15840</pre>
15841  <p>(I also compiled with -Wshadow, but while that found some
15842  things that I wanted to find, there's far too many warnings from
15843  the X headers to be usable in this context).</p>
15844
15845  <p>The changes:</p>
15846
15847  <ul>
15848    <li>Tekproc.c:
15849      <ul>
15850        <li>parenthesized expression to avoid gcc warning --
15851        n/c.</li>
15852
15853        <li>corrected nested-extern declaration for Bool
15854        waiting_for_initial_map; ourTopLevelShellArgs, and
15855        number_ourTopLevelShellArgs - n/c</li>
15856      </ul>
15857    </li>
15858
15859    <li>charproc.c:
15860      <ul>
15861        <li>corrected potentially-unintialized variables 'scstype',
15862        'xim', and 'input_style' -- changes object.</li>
15863
15864        <li>adjusted logic of VTparse so that gcc won't warn about
15865        setjmp clobbering parsestate -- changes object.</li>
15866
15867        <li>corrected initialization of 'scstype', which could have
15868        been clobbered by setjmp/longjmp - changes object.</li>
15869
15870        <li>corrected nested-extern declaration of 'term',
15871        'ProgramName' - n/c</li>
15872      </ul>
15873    </li>
15874
15875    <li>cursor.c:
15876      <ul>
15877        <li>corrected nested-extern declaration of 'term' --
15878        n/c</li>
15879
15880        <li>renamed 'term' parameters to avoid gcc -Wshadow warning
15881        - n/c</li>
15882      </ul>
15883    </li>
15884
15885    <li>input.c:
15886      <ul>
15887        <li>change interface of StringInput to assume size_t (i.e.,
15888        unsigned) nbytes -- changes object.</li>
15889
15890        <li>change interface of funcvalue, and sunfuncvalue to use
15891        'KeySym' type instead of 'int' - changes object.</li>
15892      </ul>
15893    </li>
15894
15895    <li>main.c:
15896      <ul>
15897        <li>moved definitions of SIGNAL_T, SIGNAL_RETURN to proto.h
15898        - n/c</li>
15899
15900        <li>corrected missing params of 'do_hangup()' -- changes
15901        object (note: the missing params were not used).</li>
15902
15903        <li>corrected missing param of 'Error()' -- changes
15904        object</li>
15905
15906        <li>corrected nested-extern 'environ' - n/c</li>
15907
15908        <li>adjusted assignments to 'tty_got_hung' and 'no_dev_tty'
15909        so that gcc can see they won't be clobbered by the longjmp
15910        - changes object.</li>
15911
15912        <li>use Size_t type - n/c.</li>
15913      </ul>
15914    </li>
15915
15916    <li>menu.c:
15917      <ul>
15918        <li>removed redundant prototype for 'do_hangup()' --
15919        n/c.</li>
15920
15921        <li>renamed 'time' parameters to avoid gcc -Wshadow warning
15922        - n/c</li>
15923      </ul>
15924    </li>
15925
15926    <li>menu.h:
15927      <ul>
15928        <li>renamed 'time' parameters to avoid gcc -Wshadow warning
15929        - n/c</li>
15930      </ul>
15931    </li>
15932
15933    <li>misc.c:
15934      <ul>
15935        <li>corrected definition of 'HandleFocusChange()' --
15936        changes object</li>
15937
15938        <li>cast parameters in call to 'TekExpose()' -- n/c</li>
15939
15940        <li>corrected nested-extern declarations of 'term',
15941        'toplevel', ProgramName, and 'environ' -- n/c.</li>
15942
15943        <li>use Size_t type - n/c.</li>
15944      </ul>
15945    </li>
15946
15947    <li>proto.h:
15948      <ul>
15949        <li>moved definition of SIGNAL_T (and SIGNAL_RETURN) here
15950        from main.c, resize.c to allow use of this symbol in
15951        prototypes (mostly in xterm.h).</li>
15952
15953        <li>added definition 'Size_t' to use as corrected type for
15954        strncpy, malloc sizes - n/c.</li>
15955      </ul>
15956    </li>
15957
15958    <li>resize.c:
15959      <ul>
15960        <li>moved SIGNAL_T definition to proto.h -- n/c.</li>
15961
15962        <li>use Size_t type - n/c.</li>
15963      </ul>
15964    </li>
15965
15966    <li>screen.c:
15967      <ul>
15968        <li>use Size_t type - n/c.</li>
15969      </ul>
15970    </li>
15971
15972    <li>tabs.c:
15973      <ul>
15974        <li>corrected nested-extern declaration of 'term' --
15975        n/c</li>
15976      </ul>
15977    </li>
15978
15979    <li>util.c:
15980      <ul>
15981        <li>corrected/supplied parameters to 'TekExpose()' --
15982        changes object (note: 'TekExpose()' doesn't use its
15983        parameters).</li>
15984
15985        <li>corrected nested-extern declaration of
15986        'waiting_for_initial_map' -- n/c.</li>
15987
15988        <li>renamed 'term' parameters to avoid gcc -Wshadow warning
15989        - n/c</li>
15990      </ul>
15991    </li>
15992
15993    <li>xterm.h:
15994      <ul>
15995        <li>prototype 'do_hangup()', 'HandleFocusChange()',
15996        'TekExpose()', 'Error()', 'Exit()' - forces changes in
15997        various places.</li>
15998
15999        <li>adjusted prototypes that pass 'Boolean' arguments to
16000        use 'int' (this is the "correct" ANSI approach to extended
16001        compiles; it's worth mentioning that gcc doesn't meet the
16002        ANSI spec here). I used gcc -Wconversion to find these, but
16003        there's a lot of unrelated warnings that are due to setting
16004        NARROWPROTO in the config - n/c.</li>
16005
16006        <li>renamed 'term' parameters to avoid gcc -Wshadow warning
16007        - n/c</li>
16008      </ul>
16009    </li>
16010  </ul>
16011
16012  <h1><a name="xterm_01" id="xterm_01">Patch #1 - 1996/1/6</a></h1>
16013
16014  <p>This is my first cleanup patch for xterm. It addresses all of
16015  the gcc warnings for -Wall, -Wmissing-prototypes and
16016  -Wstrict-prototypes that I can change without modifying the
16017  object code. (I'm compiling this with gcc 2.7.0 for an aout
16018  target, which makes it simple to compare objects. When I do
16019  ELF-only, I've got a tool that compares that sort of thing as
16020  well).</p>
16021
16022  <p>Briefly, this patch adds (and uses) two header files in the
16023  xterm directory:</p>
16024
16025  <pre>
16026        proto.h
16027        xterm.h
16028</pre>
16029  <p>I expect this to be the biggest patch by far. However (barring
16030  a misplaced prototype), it shouldn't break anything, since the
16031  intent of the patch is to provide missing declarations.</p>
16032</body>
16033</html>
16034