xterm.log.html revision f2e35a3a
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.2313 2021/02/10 22:27:30 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_366">Patch #366 - 2021/02/10</a></li>
74
75    <li><a href="#xterm_365">Patch #365 - 2021/02/03</a></li>
76
77    <li><a href="#xterm_364">Patch #364 - 2021/02/02</a></li>
78
79    <li><a href="#xterm_363">Patch #363 - 2020/12/26</a></li>
80
81    <li><a href="#xterm_362">Patch #362 - 2020/11/11</a></li>
82
83    <li><a href="#xterm_361">Patch #361 - 2020/10/14</a></li>
84
85    <li><a href="#xterm_360">Patch #360 - 2020/09/20</a></li>
86
87    <li><a href="#xterm_359">Patch #359 - 2020/08/17</a></li>
88
89    <li><a href="#xterm_358">Patch #358 - 2020/07/12</a></li>
90
91    <li><a href="#xterm_357">Patch #357 - 2020/07/05</a></li>
92
93    <li><a href="#xterm_356">Patch #356 - 2020/05/02</a></li>
94
95    <li><a href="#xterm_355">Patch #355 - 2020/05/01</a></li>
96
97    <li><a href="#xterm_354">Patch #354 - 2020/04/26</a></li>
98
99    <li><a href="#xterm_353">Patch #353 - 2020/02/01</a></li>
100
101    <li><a href="#xterm_352">Patch #352 - 2020/01/16</a></li>
102
103    <li><a href="#xterm_351">Patch #351 - 2019/11/17</a></li>
104
105    <li><a href="#xterm_350">Patch #350 - 2019/11/02</a></li>
106
107    <li><a href="#xterm_349">Patch #349 - 2019/09/22</a></li>
108
109    <li><a href="#xterm_348">Patch #348 - 2019/07/22</a></li>
110
111    <li><a href="#xterm_347">Patch #347 - 2019/06/30</a></li>
112
113    <li><a href="#xterm_346">Patch #346 - 2019/05/27</a></li>
114
115    <li><a href="#xterm_345">Patch #345 - 2019/05/14</a></li>
116
117    <li><a href="#xterm_344">Patch #344 - 2019/02/12</a></li>
118
119    <li><a href="#xterm_343">Patch #343 - 2019/01/13</a></li>
120
121    <li><a href="#xterm_342">Patch #342 - 2019/01/03</a></li>
122
123    <li><a href="#xterm_341">Patch #341 - 2018/12/24</a></li>
124
125    <li><a href="#xterm_340">Patch #340 - 2018/12/16</a></li>
126
127    <li><a href="#xterm_339">Patch #339 - 2018/12/12</a></li>
128
129    <li><a href="#xterm_338">Patch #338 - 2018/12/09</a></li>
130
131    <li><a href="#xterm_337">Patch #337 - 2018/09/21</a></li>
132
133    <li><a href="#xterm_336">Patch #336 - 2018/09/19</a></li>
134
135    <li><a href="#xterm_335">Patch #335 - 2018/08/14</a></li>
136
137    <li><a href="#xterm_334">Patch #334 - 2018/08/12</a></li>
138
139    <li><a href="#xterm_333">Patch #333 - 2018/05/03</a></li>
140
141    <li><a href="#xterm_332">Patch #332 - 2018/04/15</a></li>
142
143    <li><a href="#xterm_331">Patch #331 - 2017/12/30</a></li>
144
145    <li><a href="#xterm_330">Patch #330 - 2017/06/20</a></li>
146
147    <li><a href="#xterm_329">Patch #329 - 2017/06/12</a></li>
148
149    <li><a href="#xterm_328">Patch #328 - 2017/06/01</a></li>
150
151    <li><a href="#xterm_327">Patch #327 - 2016/10/07</a></li>
152
153    <li><a href="#xterm_326">Patch #326 - 2016/09/25</a></li>
154
155    <li><a href="#xterm_325">Patch #325 - 2016/06/05</a></li>
156
157    <li><a href="#xterm_324">Patch #324 - 2016/03/10</a></li>
158
159    <li><a href="#xterm_323">Patch #323 - 2016/03/07</a></li>
160
161    <li><a href="#xterm_322">Patch #322 - 2016/01/02</a></li>
162
163    <li><a href="#xterm_321">Patch #321 - 2015/12/31</a></li>
164
165    <li><a href="#xterm_320">Patch #320 - 2015/08/28</a></li>
166
167    <li><a href="#xterm_319">Patch #319 - 2015/08/19</a></li>
168
169    <li><a href="#xterm_318">Patch #318 - 2015/04/12</a></li>
170
171    <li><a href="#xterm_317">Patch #317 - 2015/03/27</a></li>
172
173    <li><a href="#xterm_316">Patch #316 - 2015/03/07</a></li>
174
175    <li><a href="#xterm_315">Patch #315 - 2015/03/02</a></li>
176
177    <li><a href="#xterm_314">Patch #314 - 2014/12/28</a></li>
178
179    <li><a href="#xterm_313">Patch #313 - 2014/11/28</a></li>
180
181    <li><a href="#xterm_312">Patch #312 - 2014/09/28</a></li>
182
183    <li><a href="#xterm_311">Patch #311 - 2014/09/18</a></li>
184
185    <li><a href="#xterm_310">Patch #310 - 2014/07/25</a></li>
186
187    <li><a href="#xterm_309">Patch #309 - 2014/07/13</a></li>
188
189    <li><a href="#xterm_308">Patch #308 - 2014/06/19</a></li>
190
191    <li><a href="#xterm_307">Patch #307 - 2014/06/17</a></li>
192
193    <li><a href="#xterm_306">Patch #306 - 2014/06/03</a></li>
194
195    <li><a href="#xterm_305">Patch #305 - 2014/06/02</a></li>
196
197    <li><a href="#xterm_304">Patch #304 - 2014/05/03</a></li>
198
199    <li><a href="#xterm_303">Patch #303 - 2014/03/06</a></li>
200
201    <li><a href="#xterm_302">Patch #302 - 2014/03/02</a></li>
202
203    <li><a href="#xterm_301">Patch #301 - 2014/01/19</a></li>
204
205    <li><a href="#xterm_300">Patch #300 - 2013/12/03</a></li>
206
207    <li><a href="#xterm_299">Patch #299 - 2013/12/01</a></li>
208
209    <li><a href="#xterm_298">Patch #298 - 2013/11/27</a></li>
210
211    <li><a href="#xterm_297">Patch #297 - 2013/09/10</a></li>
212
213    <li><a href="#xterm_296">Patch #296 - 2013/07/10</a></li>
214
215    <li><a href="#xterm_295">Patch #295 - 2013/07/06</a></li>
216
217    <li><a href="#xterm_294">Patch #294 - 2013/07/05</a></li>
218
219    <li><a href="#xterm_293">Patch #293 - 2013/05/27</a></li>
220
221    <li><a href="#xterm_292">Patch #292 - 2013/04/25</a></li>
222
223    <li><a href="#xterm_291">Patch #291 - 2013/02/26</a></li>
224
225    <li><a href="#xterm_290">Patch #290 - 2013/02/12</a></li>
226
227    <li><a href="#xterm_289">Patch #289 - 2013/02/08</a></li>
228
229    <li><a href="#xterm_288">Patch #288 - 2013/01/09</a></li>
230
231    <li><a href="#xterm_287">Patch #287 - 2012/11/25</a></li>
232
233    <li><a href="#xterm_286">Patch #286 - 2012/10/29</a></li>
234
235    <li><a href="#xterm_285">Patch #285 - 2012/10/23</a></li>
236
237    <li><a href="#xterm_284">Patch #284 - 2012/10/14</a></li>
238
239    <li><a href="#xterm_283">Patch #283 - 2012/10/09</a></li>
240
241    <li><a href="#xterm_282">Patch #282 - 2012/09/28</a></li>
242
243    <li><a href="#xterm_281">Patch #281 - 2012/06/26</a></li>
244
245    <li><a href="#xterm_280">Patch #280 - 2012/06/24</a></li>
246
247    <li><a href="#xterm_279">Patch #279 - 2012/05/10</a></li>
248
249    <li><a href="#xterm_278">Patch #278 - 2012/01/18</a></li>
250
251    <li><a href="#xterm_277">Patch #277 - 2012/01/07</a></li>
252
253    <li><a href="#xterm_276">Patch #276 - 2011/10/10</a></li>
254
255    <li><a href="#xterm_275">Patch #275 - 2011/09/11</a></li>
256
257    <li><a href="#xterm_274">Patch #274 - 2011/09/05</a></li>
258
259    <li><a href="#xterm_273">Patch #273 - 2011/08/25</a></li>
260
261    <li><a href="#xterm_272">Patch #272 - 2011/08/24</a></li>
262
263    <li><a href="#xterm_271">Patch #271 - 2011/07/14</a></li>
264
265    <li><a href="#xterm_270">Patch #270 - 2011/04/26</a></li>
266
267    <li><a href="#xterm_269">Patch #269 - 2011/02/19</a></li>
268
269    <li><a href="#xterm_268">Patch #268 - 2011/02/10</a></li>
270
271    <li><a href="#xterm_267">Patch #267 - 2010/11/20</a></li>
272
273    <li><a href="#xterm_266">Patch #266 - 2010/10/24</a></li>
274
275    <li><a href="#xterm_265">Patch #265 - 2010/10/22</a></li>
276
277    <li><a href="#xterm_264">Patch #264 - 2010/10/14</a></li>
278
279    <li><a href="#xterm_263">Patch #263 - 2010/10/13</a></li>
280
281    <li><a href="#xterm_262">Patch #262 - 2010/8/30</a></li>
282
283    <li><a href="#xterm_261">Patch #261 - 2010/6/28</a></li>
284
285    <li><a href="#xterm_260">Patch #260 - 2010/6/20</a></li>
286
287    <li><a href="#xterm_259">Patch #259 - 2010/6/5</a></li>
288
289    <li><a href="#xterm_258">Patch #258 - 2010/5/1</a></li>
290
291    <li><a href="#xterm_257">Patch #257 - 2010/4/22</a></li>
292
293    <li><a href="#xterm_256">Patch #256 - 2010/3/6</a></li>
294
295    <li><a href="#xterm_255">Patch #255 - 2010/1/21</a></li>
296
297    <li><a href="#xterm_254">Patch #254 - 2010/1/6</a></li>
298
299    <li><a href="#xterm_253">Patch #253 - 2009/12/10</a></li>
300
301    <li><a href="#xterm_252">Patch #252 - 2009/12/7</a></li>
302
303    <li><a href="#xterm_251">Patch #251 - 2009/11/11</a></li>
304
305    <li><a href="#xterm_250">Patch #250 - 2009/10/13</a></li>
306
307    <li><a href="#xterm_249">Patch #249 - 2009/10/1</a></li>
308
309    <li><a href="#xterm_248">Patch #248 - 2009/9/11</a></li>
310
311    <li><a href="#xterm_247">Patch #247 - 2009/8/30</a></li>
312
313    <li><a href="#xterm_246">Patch #246 - 2009/8/16</a></li>
314
315    <li><a href="#xterm_245">Patch #245 - 2009/8/12</a></li>
316
317    <li><a href="#xterm_244">Patch #244 - 2009/8/9</a></li>
318
319    <li><a href="#xterm_243">Patch #243 - 2009/3/28</a></li>
320
321    <li><a href="#xterm_242">Patch #242 - 2009/2/15</a></li>
322
323    <li><a href="#xterm_241">Patch #241 - 2009/1/26</a></li>
324
325    <li><a href="#xterm_240">Patch #240 - 2009/1/25</a></li>
326
327    <li><a href="#xterm_239">Patch #239 - 2009/1/8</a></li>
328
329    <li><a href="#xterm_238">Patch #238 - 2008/12/30</a></li>
330
331    <li><a href="#xterm_237">Patch #237 - 2008/09/14</a></li>
332
333    <li><a href="#xterm_236">Patch #236 - 2008/07/27</a></li>
334
335    <li><a href="#xterm_235">Patch #235 - 2008/04/20</a></li>
336
337    <li><a href="#xterm_234">Patch #234 - 2008/03/02</a></li>
338
339    <li><a href="#xterm_233">Patch #233 - 2008/02/24</a></li>
340
341    <li><a href="#xterm_232">Patch #232 - 2008/01/30</a></li>
342
343    <li><a href="#xterm_231">Patch #231 - 2008/01/05</a></li>
344
345    <li><a href="#xterm_230">Patch #230 - 2007/12/31</a></li>
346
347    <li><a href="#xterm_229">Patch #229 - 2007/8/12</a></li>
348
349    <li><a href="#xterm_228">Patch #228 - 2007/7/22</a></li>
350
351    <li><a href="#xterm_227">Patch #227 - 2007/6/27</a></li>
352
353    <li><a href="#xterm_226">Patch #226 - 2007/6/17</a></li>
354
355    <li><a href="#xterm_225">Patch #225 - 2007/3/24</a></li>
356
357    <li><a href="#xterm_224">Patch #224 - 2007/2/11</a></li>
358
359    <li><a href="#xterm_223">Patch #223 - 2006/11/30</a></li>
360
361    <li><a href="#xterm_222">Patch #222 - 2006/10/17</a></li>
362
363    <li><a href="#xterm_221">Patch #221 - 2006/10/1</a></li>
364
365    <li><a href="#xterm_220">Patch #220 - 2006/9/10</a></li>
366
367    <li><a href="#xterm_219">Patch #219 - 2006/9/4</a></li>
368
369    <li><a href="#xterm_218">Patch #218 - 2006/8/27</a></li>
370
371    <li><a href="#xterm_217">Patch #217 - 2006/8/20</a></li>
372
373    <li><a href="#xterm_216">Patch #216 - 2006/8/3</a></li>
374
375    <li><a href="#xterm_215">Patch #215 - 2006/6/19 - XFree86
376    4.6.99.2</a></li>
377
378    <li><a href="#xterm_214">Patch #214 - 2006/6/18 - XFree86
379    4.6.99.2</a></li>
380
381    <li><a href="#xterm_213">Patch #213 - 2006/4/30 - XFree86
382    4.5.99.905</a></li>
383
384    <li><a href="#xterm_212">Patch #212 - 2006/4/9 - XFree86
385    4.5.99.904</a></li>
386
387    <li><a href="#xterm_211">Patch #211 - 2006/3/19 - XFree86
388    4.5.99.902</a></li>
389
390    <li><a href="#xterm_210">Patch #210 - 2006/3/12 - XFree86
391    4.5.99.902</a></li>
392
393    <li><a href="#xterm_209">Patch #209 - 2006/2/12 - XFree86
394    4.5.99.22</a></li>
395
396    <li><a href="#xterm_208">Patch #208 - 2006/1/3 - XFree86
397    4.5.99.19</a></li>
398
399    <li><a href="#xterm_207">Patch #207 - 2005/11/13 - XFree86
400    4.5.99.16</a></li>
401
402    <li><a href="#xterm_206">Patch #206 - 2005/11/3 - XFree86
403    4.5.99.15</a></li>
404
405    <li><a href="#xterm_205">Patch #205 - 2005/9/18 - XFree86
406    4.5.99.12</a></li>
407
408    <li><a href="#xterm_204">Patch #204 - 2005/8/4 - XFree86
409    4.5.99.9</a></li>
410
411    <li><a href="#xterm_203">Patch #203 - 2005/7/6 - XFree86
412    4.5.99.7</a></li>
413
414    <li><a href="#xterm_202">Patch #202 - 2005/5/2 - XFree86
415    4.5.99.3</a></li>
416
417    <li><a href="#xterm_201">Patch #201 - 2005/4/21 - XFree86
418    4.5.99.2</a></li>
419
420    <li><a href="#xterm_200">Patch #200 - 2005/2/6 - XFree86
421    4.4.99.23</a></li>
422
423    <li><a href="#xterm_199">Patch #199 - 2005/1/17 - XFree86
424    4.4.99.22</a></li>
425
426    <li><a href="#xterm_198">Patch #198 - 2005/1/13 - XFree86
427    4.4.99.21</a></li>
428
429    <li><a href="#xterm_197">Patch #197 - 2004/11/30 - XFree86
430    4.4.99.19</a></li>
431
432    <li><a href="#xterm_196">Patch #196 - 2004/8/15 - XFree86
433    4.4.99.12</a></li>
434
435    <li><a href="#xterm_195">Patch #195 - 2004/8/8 - XFree86
436    4.4.99.11</a></li>
437
438    <li><a href="#xterm_194">Patch #194 - 2004/7/27 - XFree86
439    4.4.99.11</a></li>
440
441    <li><a href="#xterm_193">Patch #193 - 2004/7/19 - XFree86
442    4.4.99.10</a></li>
443
444    <li><a href="#xterm_192">Patch #192 - 2004/7/12 - XFree86
445    4.4.99.9</a></li>
446
447    <li><a href="#xterm_191">Patch #191 - 2004/6/6 - XFree86
448    4.4.99.7</a></li>
449
450    <li><a href="#xterm_190">Patch #190 - 2004/5/25 - XFree86
451    4.4.99.6</a></li>
452
453    <li><a href="#xterm_189">Patch #189 - 2004/5/16 - XFree86
454    4.4.99.6</a></li>
455
456    <li><a href="#xterm_188">Patch #188 - 2004/5/12 - XFree86
457    4.4.99.6</a></li>
458
459    <li><a href="#xterm_187">Patch #187 - 2004/4/27 - XFree86
460    4.4.99.4</a></li>
461
462    <li><a href="#xterm_186">Patch #186 - 2004/4/18 - XFree86
463    4.4.99.4</a></li>
464
465    <li><a href="#xterm_185">Patch #185 - 2004/3/3 - XFree86
466    4.4</a></li>
467
468    <li><a href="#xterm_184">Patch #184 - 2003/12/31 - XFree86
469    4.3.99.903</a></li>
470
471    <li><a href="#xterm_183">Patch #183 - 2003/12/26 - XFree86
472    4.3.99.903</a></li>
473
474    <li><a href="#xterm_182">Patch #182 - 2003/12/2 - XFree86
475    4.3.99.901</a></li>
476
477    <li><a href="#xterm_181">Patch #181 - 2003/10/26 - XFree86
478    4.3.99.15</a></li>
479
480    <li><a href="#xterm_180">Patch #180 - 2003/10/12 - XFree86
481    4.3.99.15</a></li>
482
483    <li><a href="#xterm_179">Patch #179 - 2003/5/21 - XFree86
484    4.3.99.5</a></li>
485
486    <li><a href="#xterm_178">Patch #178 - 2003/5/18 - XFree86
487    4.3.99.5</a></li>
488
489    <li><a href="#xterm_177">Patch #177 - 2003/3/23 - XFree86
490    4.3.0</a></li>
491
492    <li><a href="#xterm_176">Patch #176 - 2003/3/22 - XFree86
493    4.3.0</a></li>
494
495    <li><a href="#xterm_175">Patch #175 - 2003/3/9 - XFree86
496    4.3.0</a></li>
497
498    <li><a href="#xterm_174">Patch #174 - 2003/2/25 - XFree86
499    4.2.99.903</a></li>
500
501    <li><a href="#xterm_173">Patch #173 - 2003/2/6 - XFree86
502    4.2.99.902</a></li>
503
504    <li><a href="#xterm_172">Patch #172 - 2002/12/27 - XFree86
505    4.2.99.3</a></li>
506
507    <li><a href="#xterm_171">Patch #171 - 2002/12/12 - XFree86
508    4.2.99.3</a></li>
509
510    <li><a href="#xterm_170">Patch #170 - 2002/10/13 - XFree86
511    4.2.1</a></li>
512
513    <li><a href="#xterm_169">Patch #169 - 2002/10/5 - XFree86
514    4.2.1</a></li>
515
516    <li><a href="#xterm_168">Patch #168 - 2002/9/29 - XFree86
517    4.2.1</a></li>
518
519    <li><a href="#xterm_167">Patch #167 - 2002/8/24 - XFree86
520    4.2.0</a></li>
521
522    <li><a href="#xterm_166">Patch #166 - 2002/3/25 - XFree86
523    4.2.0</a></li>
524
525    <li><a href="#xterm_165">Patch #165 - 2002/1/5 - XFree86
526    4.1.0</a></li>
527
528    <li><a href="#xterm_164">Patch #164 - 2001/11/13 - XFree86
529    4.1.0</a></li>
530
531    <li><a href="#xterm_163">Patch #163 - 2001/11/04 - XFree86
532    4.1.0</a></li>
533
534    <li><a href="#xterm_162">Patch #162 - 2001/10/23 - XFree86
535    4.1.0</a></li>
536
537    <li><a href="#xterm_161">Patch #161 - 2001/10/10 - XFree86
538    4.1.0</a></li>
539
540    <li><a href="#xterm_160">Patch #160 - 2001/10/7 - XFree86
541    4.1.0</a></li>
542
543    <li><a href="#xterm_159">Patch #159 - 2001/9/19 - XFree86
544    4.1.0</a></li>
545
546    <li><a href="#xterm_158">Patch #158 - 2001/9/8 - XFree86
547    4.1.0</a></li>
548
549    <li><a href="#xterm_157">Patch #157 - 2001/6/18 - XFree86
550    4.1.0</a></li>
551
552    <li><a href="#xterm_156">Patch #156 - 2001/4/28 - XFree86
553    4.0.3</a></li>
554
555    <li><a href="#xterm_155">Patch #155 - 2001/4/20 - XFree86
556    4.0.3</a></li>
557
558    <li><a href="#xterm_154">Patch #154 - 2001/4/11 - XFree86
559    4.0.3</a></li>
560
561    <li><a href="#xterm_153">Patch #153 - 2001/3/29 - XFree86
562    4.0.3</a></li>
563
564    <li><a href="#xterm_152">Patch #152 - 2001/3/13 - XFree86
565    4.0.2</a></li>
566
567    <li><a href="#xterm_151">Patch #151 - 2001/3/10 - XFree86
568    4.0.2</a></li>
569
570    <li><a href="#xterm_150">Patch #150 - 2000/12/29 - XFree86
571    4.0.2</a></li>
572
573    <li><a href="#xterm_149">Patch #149 - 2000/12/6 - XFree86
574    4.0.1h</a></li>
575
576    <li><a href="#xterm_148">Patch #148 - 2000/10/31 - XFree86
577    4.0.1d</a></li>
578
579    <li><a href="#xterm_147">Patch #147 - 2000/10/26 - XFree86
580    4.0.1c</a></li>
581
582    <li><a href="#xterm_146">Patch #146 - 2000/9/12 - XFree86
583    4.0.1c</a></li>
584
585    <li><a href="#xterm_145">Patch #145 - 2000/9/11 - XFree86
586    4.0.1c</a></li>
587
588    <li><a href="#xterm_144">Patch #144 - 2000/8/23 - XFree86
589    4.0.1b</a></li>
590
591    <li><a href="#xterm_143">Patch #143 - 2000/8/19 - XFree86
592    4.0.1b</a></li>
593
594    <li><a href="#xterm_142">Patch #142 - 2000/8/18 - XFree86
595    4.0.1b</a></li>
596
597    <li><a href="#xterm_141">Patch #141 - 2000/8/14 - XFree86
598    4.0.1b</a></li>
599
600    <li><a href="#xterm_140">Patch #140 - 2000/7/23 - XFree86
601    4.0.1</a></li>
602
603    <li><a href="#xterm_139">Patch #139 - 2000/6/17 - XFree86
604    4.0d</a></li>
605
606    <li><a href="#xterm_138">Patch #138 - 2000/6/15 - XFree86
607    4.0c</a></li>
608
609    <li><a href="#xterm_137">Patch #137 - 2000/6/10 - XFree86
610    4.0b</a></li>
611
612    <li><a href="#xterm_136">Patch #136 - 2000/6/3 - XFree86
613    4.0b</a></li>
614
615    <li><a href="#xterm_135">Patch #135 - 2000/5/29 - XFree86
616    4.0b</a></li>
617
618    <li><a href="#xterm_134">Patch #134 - 2000/5/28 - XFree86
619    4.0b</a></li>
620
621    <li><a href="#xterm_133">Patch #133 - 2000/5/2 - XFree86
622    4.0a</a></li>
623
624    <li><a href="#xterm_132">Patch #132 - 2000/4/11 - XFree86
625    4.0a</a></li>
626
627    <li><a href="#xterm_131">Patch #131 - 2000/3/3 - XFree86
628    3.9.18b</a></li>
629
630    <li><a href="#xterm_130">Patch #130 - 2000/3/1 - XFree86
631    3.9.18a</a></li>
632
633    <li><a href="#xterm_129">Patch #129 - 2000/2/26 - XFree86
634    3.9.18a</a></li>
635
636    <li><a href="#xterm_128">Patch #128 - 2000/2/17 - XFree86
637    3.9.18</a></li>
638
639    <li><a href="#xterm_127">Patch #127 - 2000/2/12 - XFree86
640    3.9.17e</a></li>
641
642    <li><a href="#xterm_126">Patch #126 - 2000/2/8 - XFree86
643    3.9.17c</a></li>
644
645    <li><a href="#xterm_125">Patch #125 - 2000/1/31 - XFree86
646    3.9.17c</a></li>
647
648    <li><a href="#xterm_124">Patch #124 - 2000/1/27 - XFree86
649    3.9.17b</a></li>
650
651    <li><a href="#xterm_123">Patch #123 - 2000/1/22 - XFree86
652    3.9.17a</a></li>
653
654    <li><a href="#xterm_122">Patch #122 - 1999/12/28 - XFree86
655    3.9.16f</a></li>
656
657    <li><a href="#xterm_121">Patch #121 - 1999/11/14 - XFree86
658    3.9.16c</a></li>
659
660    <li><a href="#xterm_120">Patch #120 - 1999/10/28 - XFree86
661    3.9.16c</a></li>
662
663    <li><a href="#xterm_119">Patch #119 - 1999/10/16 - XFree86
664    3.9.16c</a></li>
665
666    <li><a href="#xterm_118">Patch #118 - 1999/10/5 - XFree86
667    3.9.16b</a></li>
668
669    <li><a href="#xterm_117">Patch #117 - 1999/9/29 - XFree86
670    3.9.16b</a></li>
671
672    <li><a href="#xterm_116">Patch #116 - 1999/9/25 - XFree86
673    3.9.16a</a></li>
674
675    <li><a href="#xterm_115">Patch #115 - 1999/9/18 - XFree86
676    3.9.16a</a></li>
677
678    <li><a href="#xterm_114">Patch #114 - 1999/9/15 - XFree86
679    3.9.16</a></li>
680
681    <li><a href="#xterm_113">Patch #113 - 1999/8/15 - XFree86
682    3.9.15b</a></li>
683
684    <li><a href="#xterm_112">Patch #112 - 1999/7/17 - XFree86
685    3.9Pw</a></li>
686
687    <li><a href="#xterm_111">Patch #111 - 1999/7/10 - XFree86
688    3.9Pw</a></li>
689
690    <li><a href="#xterm_110">Patch #110 - 1999/6/29 - XFree86
691    3.9Pu</a></li>
692
693    <li><a href="#xterm_109">Patch #109 - 1999/6/23 - XFree86
694    3.9Pt</a></li>
695
696    <li><a href="#xterm_108">Patch #108 - 1999/6/19 - XFree86
697    3.9Ps</a></li>
698
699    <li><a href="#xterm_107">Patch #107 - 1999/6/12 - XFree86
700    3.9Pq</a></li>
701
702    <li><a href="#xterm_106">Patch #106 - 1999/6/9 - XFree86
703    3.9Pq</a></li>
704
705    <li><a href="#xterm_105">Patch #105 - 1999/6/5 - XFree86
706    3.9Pp</a></li>
707
708    <li><a href="#xterm_104">Patch #104 - 1999/5/30 - XFree86
709    3.9Pn</a></li>
710
711    <li><a href="#xterm_103">Patch #103 - 1999/5/14 - XFree86
712    3.9Pm</a></li>
713
714    <li><a href="#xterm_102">Patch #102 - 1999/5/12 - XFree86
715    3.9Pm</a></li>
716
717    <li><a href="#xterm_101">Patch #101 - 1999/5/10 - XFree86
718    3.9Pm</a></li>
719
720    <li><a href="#xterm_100">Patch #100 - 1999/5/3 - XFree86
721    3.9Pl</a></li>
722
723    <li><a href="#xterm_99">Patch #99 - 1999/5/2 - XFree86
724    3.9Pk</a></li>
725
726    <li><a href="#xterm_98">Patch #98 - 1999/4/26 - XFree86
727    3.9Pk</a></li>
728
729    <li><a href="#xterm_97">Patch #97 - 1999/4/25 - XFree86
730    3.9Pk</a></li>
731
732    <li><a href="#xterm_96">Patch #96 - 1999/4/19 - XFree86
733    3.9Pj</a></li>
734
735    <li><a href="#xterm_95">Patch #95 - 1999/4/5 - XFree86
736    3.9Ph</a></li>
737
738    <li><a href="#xterm_94">Patch #94 - 1999/3/27 - XFree86
739    3.9Pf</a></li>
740
741    <li><a href="#xterm_93">Patch #93 - 1999/3/14 - XFree86
742    3.9Pd</a></li>
743
744    <li><a href="#xterm_92">Patch #92 - 1999/2/5 - XFree86
745    3.9Nz</a></li>
746
747    <li><a href="#xterm_91">Patch #91 - 1999/1/21 - XFree86
748    3.9Nw</a></li>
749
750    <li><a href="#xterm_90">Patch #90 - 1998/12/13 - XFree86
751    3.9Nq</a></li>
752
753    <li><a href="#xterm_89">Patch #89 - 1998/11/20 - XFree86
754    3.9Nm</a></li>
755
756    <li><a href="#xterm_88">Patch #88 - 1998/10/31 - XFree86 3.9Nk
757    and 3.3.2h</a></li>
758
759    <li><a href="#xterm_87">Patch #87 - 1998/10/21 - XFree86 3.9Nj
760    and 3.3.2f</a></li>
761
762    <li><a href="#xterm_86">Patch #86 - 1998/10/14 - XFree86 3.9Nj
763    and 3.3.2e</a></li>
764
765    <li><a href="#xterm_85">Patch #85 - 1998/10/12 - XFree86 3.9Nj
766    and 3.3.2e</a></li>
767
768    <li><a href="#xterm_84">Patch #84 - 1998/10/9 - XFree86 3.9Ni
769    and 3.3.2e</a></li>
770
771    <li><a href="#sync_83">Resync #83 - 1998/10/7 - XFree86
772    3.3.2e</a></li>
773
774    <li><a href="#xterm_83">Patch #83 - 1998/8/25 - XFree86
775    3.9Nb</a></li>
776
777    <li><a href="#xterm_82">Patch #82 - 1998/7/15 - XFree86
778    3.9Aj</a></li>
779
780    <li><a href="#xterm_81">Patch #81 - 1998/7/14 - XFree86
781    3.9Aj</a></li>
782
783    <li><a href="#xterm_80">Patch #80 - 1998/6/29 - XFree86
784    3.9Ai</a></li>
785
786    <li><a href="#xterm_79">Patch #79 - 1998/6/28 - XFree86
787    3.9Ai</a></li>
788
789    <li><a href="#xterm_78">Patch #78 - 1998/6/3 - XFree86 3.9Ah
790    and 3.3.2</a></li>
791
792    <li><a href="#xterm_77">Patch #77 - 1998/5/26 - XFree86 3.9Ah
793    and 3.3.2</a></li>
794
795    <li><a href="#xterm_76">Patch #76 - 1998/5/8 - XFree86 3.9Ah
796    and 3.3.2</a></li>
797
798    <li><a href="#xterm_75">Patch #75 - 1998/5/7 - XFree86 3.9Ah
799    and 3.3.2</a></li>
800
801    <li><a href="#xterm_74">Patch #74 - 1998/4/27 - XFree86 3.9Ag
802    and 3.3.2</a></li>
803
804    <li><a href="#xterm_73">Patch #73 - 1998/4/25 - XFree86 3.9Ag
805    and 3.3.2</a></li>
806
807    <li><a href="#xterm_72">Patch #72 - 1998/4/17 - XFree86 3.9Ag
808    and 3.3.2</a></li>
809
810    <li><a href="#xterm_71">Patch #71 - 1998/4/12 - XFree86 3.9Ag
811    and 3.3.2</a></li>
812
813    <li><a href="#xterm_70">Patch #70 - 1998/3/29 - XFree86 3.9Af
814    and 3.3.2</a></li>
815
816    <li><a href="#xterm_69">Patch #69 - 1998/3/16 - XFree86 3.9Ad
817    and 3.3.2</a></li>
818
819    <li><a href="#xterm_68">Patch #68 - 1998/3/4 - XFree86 3.9Ad
820    and 3.3.1z</a></li>
821
822    <li><a href="#xterm_67">Patch #67 - 1998/2/23 - XFree86 3.9Ad
823    and 3.3.1e</a></li>
824
825    <li><a href="#xterm_66">Patch #66 - 1998/2/16 - XFree86 3.9Ad
826    and 3.3.1d</a></li>
827
828    <li><a href="#xterm_65">Patch #65 - 1998/2/14 - XFree86 3.9Ad
829    and 3.3.1c</a></li>
830
831    <li><a href="#xterm_64">Patch #64 - 1998/2/8 - XFree86
832    3.9Ad</a></li>
833
834    <li><a href="#xterm_63">Patch #63 - 1998/2/5 - XFree86
835    3.9Ad</a></li>
836
837    <li><a href="#xterm_62">Patch #62 - 1998/1/23 - XFree86
838    3.9Ac</a></li>
839
840    <li><a href="#xterm_61">Patch #61 - 1998/1/17 - XFree86
841    3.9Ac</a></li>
842
843    <li><a href="#xterm_60">Patch #60 - 1998/1/10 - XFree86
844    3.9Ab</a></li>
845
846    <li><a href="#xterm_59">Patch #59 - 1998/1/5 - XFree86
847    3.9Ab</a></li>
848
849    <li><a href="#xterm_58">Patch #58 - 1998/1/3 - XFree86
850    3.9Ab</a></li>
851
852    <li><a href="#xterm_57">Patch #57 - 1997/12/26 - XFree86
853    3.9Aa</a></li>
854
855    <li><a href="#xterm_56">Patch #56 - 1997/11/28 - XFree86
856    3.9x</a></li>
857
858    <li><a href="#xterm_55">Patch #55 - 1997/11/25 - XFree86
859    3.9x</a></li>
860
861    <li><a href="#xterm_54">Patch #54 - 1997/10/17 - XFree86
862    3.9s</a></li>
863
864    <li><a href="#xterm_53">Patch #53 - 1997/10/12 - XFree86
865    3.9r</a></li>
866
867    <li><a href="#xterm_52">Patch #52 - 1997/9/29 - XFree86
868    3.9q</a></li>
869
870    <li><a href="#xterm_51">Patch #51 - 1997/9/15 - XFree86
871    3.9p</a></li>
872
873    <li><a href="#xterm_50">Patch #50 - 1997/8/22 - XFree86
874    3.9m</a></li>
875
876    <li><a href="#xterm_49">Patch #49 - 1997/8/10 - XFree86
877    3.9k</a></li>
878
879    <li><a href="#xterm_48">Patch #48 - 1997/7/26 - XFree86
880    3.9j</a></li>
881
882    <li><a href="#xterm_47">Patch #47 - 1997/7/13 - XFree86
883    3.9i</a></li>
884
885    <li><a href="#xterm_46">Patch #46 - 1997/7/4 - XFree86 3.9h</a></li>
886
887    <li><a href="#xterm_45">Patch #45 - 1997/7/2 - XFree86 3.9h</a></li>
888
889    <li><a href="#xterm_44">Patch #44 - 1997/6/22 - XFree86
890    3.9g</a></li>
891
892    <li><a href="#xterm_43">Patch #43 - 1997/6/10 - XFree86
893    3.9d</a></li>
894
895    <li><a href="#xterm_42">Patch #42 - 1997/6/8 - XFree86
896    3.2Xl</a></li>
897
898    <li><a href="#xterm_41">Patch #41 - 1997/5/28 - XFree86
899    3.2Xl</a></li>
900
901    <li><a href="#xterm_40">Patch #40 - 1997/5/26 - XFree86
902    3.2Xl</a></li>
903
904    <li><a href="#xterm_39">Patch #39 - 1997/5/24 - XFree86
905    3.2Xl</a></li>
906
907    <li><a href="#xterm_38">Patch #38 - 1997/5/22 - XFree86
908    3.2Xh</a></li>
909
910    <li><a href="#xterm_37">Patch #37 - 1997/5/7 - XFree86 3.9a</a></li>
911
912    <li><a href="#xterm_36">Patch #36 - 1997/1/16 - XFree86
913    3.2r</a></li>
914
915    <li><a href="#xterm_35">Patch #35 - 1997/1/7 - XFree86 3.2o</a></li>
916
917    <li><a href="#xterm_34">Patch #34 - 1997/1/5 - XFree86 3.2o</a></li>
918
919    <li><a href="#xterm_33">Patch #33 - 1996/11/24 - XFree86
920    3.2</a></li>
921
922    <li><a href="#xterm_32">Patch #32 - 1996/11/21 - XFree86
923    3.2</a></li>
924
925    <li><a href="#xterm_31">Patch #31 - 1996/11/16 - XFree86
926    3.2</a></li>
927
928    <li><a href="#xterm_30">Patch #30 - 1996/11/16 - XFree86
929    3.2</a></li>
930
931    <li><a href="#xterm_29">Patch #29 - 1996/9/15 - XFree86
932    3.1.2Gb</a></li>
933
934    <li><a href="#xterm_28">Patch #28 - 1996/8/31 - XFree86
935    3.1.2F</a></li>
936
937    <li><a href="#xterm_27">Patch #27 - 1996/8/21 - XFree86
938    3.1.2Ek</a></li>
939
940    <li><a href="#xterm_26">Patch #26 - 1996/8/20 - XFree86
941    3.1.2Ei</a></li>
942
943    <li><a href="#xterm_25">Patch #25 - 1996/8/18 - XFree86
944    3.1.2Ei</a></li>
945
946    <li><a href="#xterm_24">Patch #24 - 1996/8/11 - XFree86
947    3.1.2Ee</a></li>
948
949    <li><a href="#xterm_23">Patch #23 - 1996/7/31 - XFree86
950    3.1.2Ec</a></li>
951
952    <li><a href="#xterm_22">Patch #22 - 1996/7/26 - XFree86
953    3.1.2Ec</a></li>
954
955    <li><a href="#xterm_21">Patch #21 - 1996/7/24 - XFree86
956    3.1.2Ec</a></li>
957
958    <li><a href="#xterm_20">Patch #20 - 1996/7/24 - XFree86
959    3.1.2Ec</a></li>
960
961    <li><a href="#xterm_19">Patch #19 - 1996/7/21 - XFree86
962    3.1.2Ec</a></li>
963
964    <li><a href="#xterm_18">Patch #18 - 1996/7/18 - XFree86
965    3.1.2Ec</a></li>
966
967    <li><a href="#xterm_17">Patch #17 - 1996/7/2 - XFree86
968    3.1.2Eb</a></li>
969
970    <li><a href="#xterm_16">Patch #16 - 1996/6/25 - XFree86
971    3.1.2Ea</a></li>
972
973    <li><a href="#xterm_15">Patch #15 - 1996/5/29 - XFree86
974    3.1.2E</a></li>
975
976    <li><a href="#xterm_14">Patch #14 - 1996/5/12 - XFree86
977    3.1.2Dj</a></li>
978
979    <li><a href="#xterm_13">Patch #13 - 1996/4/23 - XFree86
980    3.1.2Df</a></li>
981
982    <li><a href="#xterm_12">Patch #12 - 1996/3/16 - XFree86
983    3.1.2Dc</a></li>
984
985    <li><a href="#xterm_11">Patch #11 - 1996/3/5 - XFree86
986    3.1.2Db</a></li>
987
988    <li><a href="#xterm_10">Patch #10 - 1996/2/14 - XFree86
989    3.1.2Cd</a></li>
990
991    <li><a href="#xterm_09">Patch #9 - 1996/2/10 - XFree86
992    3.1.2Cb</a></li>
993
994    <li><a href="#xterm_08">Patch #8 - 1996/2/9 - XFree86
995    3.1.2Cb</a></li>
996
997    <li><a href="#xterm_07">Patch #7 - 1996/1/28 - XFree86
998    3.1.2n</a></li>
999
1000    <li><a href="#xterm_06">Patch #6 - 1996/1/8</a></li>
1001
1002    <li><a href="#xterm_05">Patch #5 - 1996/1/7</a></li>
1003
1004    <li><a href="#xterm_04">Patch #4 - 1996/1/7</a></li>
1005
1006    <li><a href="#xterm_03">Patch #3 - 1996/1/7</a></li>
1007
1008    <li><a href="#xterm_02">Patch #2 - 1996/1/7</a></li>
1009
1010    <li><a href="#xterm_01">Patch #1 - 1996/1/6</a></li>
1011  </ul>
1012
1013  <h1><a name="xterm_366" id="xterm_366">Patch #366 -
1014  2021/02/10</a></h1>
1015
1016  <ul>
1017    <li>correct a compiler-warning fix in <a href=
1018    "#xterm_352">patch #352</a> which allowed sign-extension of
1019    coordinate values (report by "CismonX").</li>
1020
1021    <li>correct upper-limit for selection buffer, accounting for
1022    combining characters (report/testcase by Tavis Ormandy).</li>
1023
1024    <li>with <code>alwaysHighlight</code> true, xterm does not
1025    properly track focus. The <em>screen-&gt;select</em>
1026    <code>FOCUS</code> flag remains always on, which prevents
1027    <code>bellIsUrgent</code> from working, as the urgent
1028    <code>WM_HINT</code> flag is only set in
1029    <code>setXUrgency()</code> when the window is not focused. Fix
1030    this by updating <em>screen-&gt;select</em> in
1031    <code>unselectwindow()</code> regardless of the value of
1032    <code>always_highlight</code> (patch by Jiri Bohac).</li>
1033
1034    <li>improve fix for interaction between SRM and ENQ (report by
1035    Grant Taylor).</li>
1036
1037    <li>build-fix for <code>--with-Xaw3dxft</code>, needed when
1038    <code>--with-toolbar</code> is omitted (report by Jimmy Olgeni,
1039    Emanuel Haupt).</li>
1040  </ul>
1041
1042  <h1><a name="xterm_365" id="xterm_365">Patch #365 -
1043  2021/02/03</a></h1>
1044
1045  <ul>
1046    <li>amend fix for &ldquo;word&rdquo; selection in <a href=
1047    "#xterm_364">patch #364</a> to limit that to the
1048    <code>insert-selectable</code> <em>action</em>, which reads
1049    data from the screen. This restores the interactive behavior
1050    where double-clicking on a &ldquo;word&rdquo; would make
1051    subsequent selection extensions by words as well as suppressing
1052    some boundary-checks (report by David Wolfskill, FreeBSD
1053    #253225).</li>
1054  </ul>
1055
1056  <h1><a name="xterm_364" id="xterm_364">Patch #364 -
1057  2021/02/02</a></h1>
1058
1059  <ul>
1060    <li>add <code>-fc</code> option.</li>
1061
1062    <li>correct/improve limit-checks for SRM versus ENQ from
1063    <a href="#xterm_344">patch #344</a> (report by Tom
1064    Szilagyi).</li>
1065
1066    <li>enable <code>XftFont</code> resource in Xaw3dxft
1067    configuration (patch by Tavis Ormandy).</li>
1068
1069    <li>improve quoting/escaping in build-scripts per
1070    shellcheck.</li>
1071
1072    <li>add <code>libpcre2-posix</code> to the packages tested for
1073    <code>--with-pcre2</code> option, needed with Fedora (report by
1074    Tomas Korbar).</li>
1075
1076    <li>correct a typo in manual page, and note that
1077    <code>KeepClipboard</code> may not be compiled-in (report/patch
1078    by Sean C Farley).</li>
1079
1080    <li>corrected boundary-checks for &ldquo;word&rdquo; selection
1081    used in <code>on<em>N</em>Clicks</code> resources (report by
1082    Tavis Ormandy).</li>
1083
1084    <li>update to autoconf-2.52-20210101, to improve shellcheck
1085    warnings.</li>
1086
1087    <li>improve configure check for desktop categories.</li>
1088  </ul>
1089
1090  <h1><a name="xterm_363" id="xterm_363">Patch #363 -
1091  2020/12/26</a></h1>
1092
1093  <ul>
1094    <li>disable groff hyphenation in generated html when using
1095    man2html.</li>
1096
1097    <li>change SCS &ldquo;<code>&amp;4</code>&rdquo; Cyrillic to
1098    non-NRCS, per VT520 manual.</li>
1099
1100    <li>amend fix for SCS in <a href="#xterm_198">patch #198</a> to
1101    remove <code>DEL</code> rather than converting it to a space
1102    (report by Thomas Wolff).</li>
1103
1104    <li>modify state transitions for selecting character sets to
1105    eliminate an ambiguity between the &ldquo;A&rdquo; used in
1106    VT220 versus VT320.</li>
1107
1108    <li>improve error recovery when selecting characters by
1109    resetting to US ASCII when no suitable encoding is found, e.g.,
1110    attempting to use an NRCS sequence when NRCS is not
1111    enabled.</li>
1112
1113    <li>turn off hyphenation in &ldquo;<code>.txt</code>&rdquo;
1114    conversion, prompted by groff changes.</li>
1115
1116    <li>add VT5xx ISO Latin-2 (prompted by discussion with Thomas
1117    Wolff).</li>
1118
1119    <li>amend change from <a href="#xterm_361">patch #361</a> to
1120    event-handling in <code>CopyWait</code> to handle active-icon
1121    as a special case (Debian #975687).</li>
1122
1123    <li>add call to <code>loadColorTable</code> to get the visual
1124    information needed to decode BE RGBA32 color format (patch by
1125    Leandro Lupori).</li>
1126
1127    <li>modify the resource-parsing for
1128    <code>disallowedPasteControls</code> and similar lists of
1129    names/numbers to recognize &ldquo;~;&rdquo; (tilde) for
1130    cancelling a given name/number.</li>
1131
1132    <li>add ENQ, EOT and NUL to default for
1133    <code>disallowedPasteControls</code>.</li>
1134
1135    <li>change default for <code>disallowedPasteControls</code> to
1136    omit the tab character (suggested by Harald Dunkel).</li>
1137
1138    <li>fix swapped height/width in <code>regisScreenSize</code>
1139    and <code>maxGraphicSize</code> resources using "auto" value,
1140    from <a href="#xterm_314">patch #314</a> (report by Anton
1141    Lavrentiev)</li>
1142
1143    <li>revise <a href="#xterm_362">patch #362</a> change for
1144    shift-modifier versus mouse protocol and select/paste by adding
1145    resource <code>shiftEscape</code>, which can be enabled via a
1146    control sequence (prompted by discussion with Matthijs van
1147    Duin).</li>
1148
1149    <li>simplify/improve ifdef in trace code for using a separate
1150    set of files for each run of xterm.</li>
1151
1152    <li>add options <code>-r</code> and <code>-t</code> to
1153    <code>vttests/query-color.pl</code> to show the 6-digit RGB
1154    code and actual colors.</li>
1155
1156    <li>add <code>nel</code> to <code>xterm-basic</code>
1157    terminfo.</li>
1158
1159    <li>alter <code>vttests/modify-keys.pl</code> to omit HTML
1160    reference links to the modified-keys table where no keycode was
1161    available.</li>
1162  </ul>
1163
1164  <h1><a name="xterm_362" id="xterm_362">Patch #362 -
1165  2020/11/11</a></h1>
1166
1167  <ul>
1168    <li>cleanup of calls to <code>free</code>, removing checks for
1169    null (Walter Harms).</li>
1170
1171    <li>improved mouse-button reporting (prompted by discussion
1172    with Stephane Chazelas)
1173      <ul>
1174        <li>narrow the scope of the change for shift-key in
1175        <a href="#xterm_361">patch #361</a> to make it apply only
1176        when the <code>modifyOtherKeys</code> resource is set to 2
1177        (i.e., &ldquo;program mode&rdquo;). Also, when checking the
1178        shift-key, ignore modifiers other than shift, control and
1179        &ldquo;meta&rdquo;</li>
1180
1181        <li>use the alt/meta modifier information obtained in
1182        <code>VTInitModifiers</code> to replace a hard-coded
1183        <em>mod1</em> used to detect &ldquo;Meta&rdquo; for
1184        mouse-button responses.</li>
1185      </ul>
1186    </li>
1187
1188    <li>reduce <code>SIGWINCH</code>'s sent to the client by
1189    filtering out duplicates.</li>
1190
1191    <li>improve display when <code>scaleHeight</code> is greater
1192    than 1:
1193      <ul>
1194        <li>the text-cursor is vertically-centered on the current
1195        line, rather than only extending below the current line
1196        (report by Manu Chaturvedi).</li>
1197
1198        <li>the built-in line-drawing characters extend to the
1199        scaled cell-height.</li>
1200      </ul>
1201    </li>
1202
1203    <li>fill-in special case for motion-events to match the changes
1204    for shift-key in pointer-button events from <a href=
1205    "#xterm_361">patch #361</a>.</li>
1206  </ul>
1207
1208  <h1><a name="xterm_361" id="xterm_361">Patch #361 -
1209  2020/10/14</a></h1>
1210
1211  <ul>
1212    <li>treat the return value of <code>strerror</code> as readonly
1213    (patch by Philipp Klaus Krause).</li>
1214
1215    <li>modify event-handling in <code>CopyWait</code> to work
1216    around hanging while writing large amounts of text to an active
1217    icon and at the same time iconifying/deiconifying (report by
1218    Dave Kemper).</li>
1219
1220    <li>initialize double-buffer for active-icon window.</li>
1221
1222    <li>improve manual page description of scrollbar resources
1223    (report by Brian Lindholm).</li>
1224
1225    <li>correct ifdef for menu entry for active-icon, when
1226    initializing it with toolbar configuration.</li>
1227
1228    <li>add preprocessor option to makefile to set internal
1229    definition of pixmaps directory to match the
1230    install-configuration (FreeBSD #250036).</li>
1231
1232    <li>cleanup of calls to <code>free</code>, removing checks for
1233    null (Walter Harms).</li>
1234
1235    <li>add fallback actions <code>pointer-button</code> and
1236    <code>pointer-motion</code> which handle events for the mouse
1237    control-sequences protocol if the <em>select</em>-related
1238    translations are omitted with
1239    <code>*omitTranslation:select</code> (prompted by discussion
1240    with "Ergus")</li>
1241
1242    <li>amend rule for using shift-key to override mouse-protocol
1243    for select/paste to limit that feature to mouse-buttons which
1244    are actually bound to select/paste actions (prompted by
1245    discussion with "Ergus").</li>
1246
1247    <li>corrected mapping in special case for repainting wrap-marks
1248    when viewing the scrollback area.</li>
1249
1250    <li>use separate <em>GCs</em> for <code>showWrapMarks</code>
1251    feature, to work around cursor coloring change in <a href=
1252    "#xterm_345">patch #345</a> (report by Paulo Silva de
1253    Al&iacute;bano).</li>
1254  </ul>
1255
1256  <h1><a name="xterm_360" id="xterm_360">Patch #360 -
1257  2020/09/20</a></h1>
1258
1259  <ul>
1260    <li>mention <code>decGraphicsID</code> in
1261    <code>ctlseqs.ms</code> (suggested by Thomas Wolff).</li>
1262
1263    <li>modify pixel-coordinate mouse reponse to use as origin the
1264    VT100-window rather than the underlying widget, which includes
1265    the scrollbar (report by Thomas Wolff).</li>
1266
1267    <li>add configure option <code>--disable-print-graphics</code>
1268    (Ross Combs).</li>
1269
1270    <li>add <code>test_ptydata</code> to &ldquo;make check&rdquo;
1271    rule.</li>
1272
1273    <li>minor fixes for <code>ctlseqs.ms</code> (report by
1274    Jean-Marc Bourguet).</li>
1275
1276    <li>minor fixes for manpage style (report/patch by
1277    "a1346054").</li>
1278
1279    <li>correct cleanup from switch between italics/normal font in
1280    the show/hide cursor functions (report/testcase by Peter
1281    Fabinski).</li>
1282
1283    <li>integrated patch by Ross Combs:
1284      <ul>
1285        <li>internal renaming of GraphicsID symbols, for
1286        readability.</li>
1287
1288        <li>adjust logic for VT125, treating it as a ReGIS
1289        terminal.</li>
1290      </ul>
1291    </li>
1292
1293    <li>update configure macros, for compiler-warning fixes.</li>
1294
1295    <li>integrated patch by Ross Combs:
1296      <ul>
1297        <li>add control sequence modes for graphics printing.</li>
1298
1299        <li>improve conversion to bitmaps for TrueType fonts in
1300        ReGIS</li>
1301
1302        <li>add <code>font7</code> resource, for an
1303        &ldquo;enormous&rdquo; bitmap font.</li>
1304
1305        <li>do not reset graphics in a soft-reset.</li>
1306
1307        <li>add <code>pointerFont</code> resource, and
1308        <code>-pf</code> command-line option.</li>
1309      </ul>
1310    </li>
1311
1312    <li>improve typography of manual page (patch by Branden
1313    Robinson).</li>
1314
1315    <li>amend <a href="#xterm_359">patch #359</a> change to
1316    <code>df-install.in</code> to ignore a command-line assignment
1317    to <code>DESTDIR</code> if followed by an explicit
1318    <code>--dir</code> (report by Sven Joachim).</li>
1319  </ul>
1320
1321  <h1><a name="xterm_359" id="xterm_359">Patch #359 -
1322  2020/08/17</a></h1>
1323
1324  <ul>
1325    <li>add special case in <code>WriteText</code> to allow colors
1326    8-15 to override <code>colorBDMode</code> (patch by Ingo
1327    Br&uuml;ckl).</li>
1328
1329    <li>add <code>utf8Weblike</code> resource, to provide an
1330    alternate scheme for handling ill-formed UTF-8 sequences
1331    (adapted from patch by Dan Gohman).</li>
1332
1333    <li>improve computation for the number of lines needed to
1334    scroll-up a SIXEL graphic (report/patch by Ben Wong).</li>
1335
1336    <li>correct manpage description for default value of
1337    <code>disallowWindowOps</code> from changes in <a href=
1338    "#xterm_331">xterm #331</a> (patch by Ben Wong).</li>
1339
1340    <li>correct a loop starting-point in
1341    <code>refresh_graphics</code> from optimization in <a href=
1342    "#xterm_358">patch #358</a> changes (report by Ben Wong).</li>
1343
1344    <li>add a new mouse mode 1016, which uses the same format as
1345    mode 1006, but sends the mouse's position in pixels (suggested
1346    by Igor van den Hoven).</li>
1347
1348    <li>fix an issue from <a href="#xterm_338">patch #338</a>
1349    changes where only the first selection buffer specified in the
1350    request would be updated using OSC 52 (patch by Michael
1351    Gulick).</li>
1352
1353    <li>modify makefile/scripts to allow <code>DESTDIR</code> to
1354    prefix the target directory for desktop-file-install (report by
1355    Fred Heitkamp).</li>
1356
1357    <li>enable SIXEL feature by default.</li>
1358
1359    <li>update config.guess, config.sub</li>
1360  </ul>
1361
1362  <h1><a name="xterm_358" id="xterm_358">Patch #358 -
1363  2020/07/12</a></h1>
1364
1365  <ul>
1366    <li>correct logic for decodeTerminalID changes in <a href=
1367    "#xterm_357">patch #357</a> (report by "Chartreuse").</li>
1368
1369    <li>modify makefile to use <code>plink.sh</code> when linking
1370    test-programs, to fix build when using pcre (report by H Merijn
1371    Brand)</li>
1372
1373    <li>build-fix for test_ptydata program (patch by H Merijn
1374    Brand)</li>
1375  </ul>
1376
1377  <h1><a name="xterm_357" id="xterm_357">Patch #357 -
1378  2020/07/05</a></h1>
1379
1380  <ul>
1381    <li>several minor optimizations for the ReGIS and SIXEL
1382    features, improving performance by 10%.</li>
1383
1384    <li>add resource <code>decGraphicsID</code> to allow displaying
1385    graphics when the emulation level would ordinarily disallow
1386    this (prompted by discussion with Thomas Wolff).</li>
1387
1388    <li>add control sequences for fast switching of color palettes:
1389    <code>XTPUSHCOLORS</code>, <code>XTPOPCOLORS</code>,
1390    <code>XTREPORTCOLORS</code></li>
1391
1392    <li>amend change for soft-hyphen from <a href=
1393    "#xterm_328">patch #328</a> to avoid stripping
1394    replacement-characters which would be shown with malformed or
1395    overlong UTF-8 input.</li>
1396
1397    <li>corrected an error-handling case in
1398    <code>decodeUtf8</code>, matching a similar fix in <a href=
1399    "#xterm_268">patch #268</a> (report/patch by Dan Gohman).</li>
1400
1401    <li>add a test-driver for <code>ptydata.c</code></li>
1402
1403    <li>minor cleanup of macros (adapted from patch by Walter
1404    Harms).</li>
1405
1406    <li>fix some errata in <code>ctlseqs.ms</code> (report by
1407    Thomas Wolff).</li>
1408
1409    <li>allow immediate repaint-on-palette-changed if
1410    double-buffering is enabled.</li>
1411
1412    <li>deprecate codes 10/11 in sgr push controls, changing those
1413    to 30/31, to avoid confusion with sgr 10-19.</li>
1414
1415    <li>modify <code>SGR</code> parameter handling to stop if an
1416    unrecognized parameter is encountered, to guard against
1417    malformed or nonstandard sequences (report by Bram
1418    Moolenaar).</li>
1419
1420    <li>modify <code>DECERA</code> color for consistency with other
1421    erasures/clearing (report by Thomas Wolff).</li>
1422
1423    <li><code>ECH</code> should not be masked by
1424    <code>DECSCA</code> (report by Thomas Wolff).</li>
1425
1426    <li>extend <code>DECFRA</code> and <code>REP</code> to accept
1427    any &ldquo;graphic&rdquo; character rather than just Latin1,
1428    etc. (report by Thomas Wolff).</li>
1429
1430    <li>add <code>-C</code> option to 256colors2.pl and
1431    88colors2.pl, to demonstrate mixed semicolon/colon separators
1432    which are implied by ECMA-48.</li>
1433
1434    <li>update sample terminfo to reflect the documentation
1435    improvements.</li>
1436
1437    <li>update description of 88/256/direct color in
1438    <code>ctlseqs.ms</code> to point out that using semicolons is a
1439    deprecated legacy feature, and standard terminal applications
1440    should use colons (prompted by discussion with Bram
1441    Moolenaar).</li>
1442
1443    <li>modify configure-check for <code>tgetent</code> to
1444    conditionally include <code>termcap.h</code>, enabling
1445    configuration using <code>clang</code>'s pedantic-errors option
1446    (report by Dennis Clarke). See <a href=
1447    "https://invisible-island.net/ncurses/man/curs_termcap.3x.html#h3-Other-Compatibility">
1448    <em>Other Compatibility</em></a> in ncurses'
1449    <em>curs_termcap(3X)</em>.</li>
1450
1451    <li>remove some unnecessary pointer checks (patch by Walter
1452    Harms).</li>
1453
1454    <li>accept terminal-id and add DA response for VT131,
1455    VT132.</li>
1456  </ul>
1457
1458  <h1><a name="xterm_356" id="xterm_356">Patch #356 -
1459  2020/05/02</a></h1>
1460
1461  <ul>
1462    <li>revise fix for Debian #954730, which interfered with wheel
1463    mouse events (report by Gabriele Balducci).</li>
1464  </ul>
1465
1466  <h1><a name="xterm_355" id="xterm_355">Patch #355 -
1467  2020/05/01</a></h1>
1468
1469  <ul>
1470    <li>revise fix for Debian #954730, which interfered with wheel
1471    mouse events (report by Henri Menke).</li>
1472
1473    <li>fix typos in documentation (reports by Stephen Hurd, Stefan
1474    Assmann).</li>
1475
1476    <li>add mapping for <code>decTerminalID</code> for
1477    &ldquo;100&rdquo; overlooked in <a href="#xterm_354">patch
1478    #354</a>.</li>
1479
1480    <li>update tables in wcwidth.c based on Unicode 13.0.0</li>
1481
1482    <li>build-fix for &ldquo;make check&rdquo; when building
1483    out-of-tree (report by Sven Joachim).</li>
1484  </ul>
1485
1486  <h1><a name="xterm_354" id="xterm_354">Patch #354 -
1487  2020/04/26</a></h1>
1488
1489  <ul>
1490    <li>work around performance problems of
1491    <code>XDrawImageString</code> and
1492    <code>XDrawImageString16</code> functions (Debian
1493    #954845).</li>
1494
1495    <li>add a control sequence which reports xterm's version (patch
1496    by Nicholas Marriott, mintty #881).</li>
1497
1498    <li>temporarily set numeric locale category to "C" when parsing
1499    resources, so that <code>scaleHeight</code> and
1500    <code>faceSize</code> settings do not depend on locale (Debian
1501    #820803).</li>
1502
1503    <li>improve DA/DA2 response by ensuring that the
1504    <code>decTerminalID</code> maps to one of the known
1505    identifiers, as well as providing DA2 response for VT241 and
1506    VT382.</li>
1507
1508    <li>terminfo improvements:
1509      <ul>
1510        <li>add (my) comments from ncurses which explain the keypad
1511        layouts.</li>
1512
1513        <li>add <code>vt52+keypad</code> from ncurses</li>
1514
1515        <li>use improved <code>xm</code> example for
1516        <code>xterm+x11mouse</code>, <code>xterm+sm+1006</code>
1517        from ncurses 6.2 terminfo.src</li>
1518      </ul>
1519    </li>
1520
1521    <li>two fixes for left/right wheel mouse event reporting
1522    (Debian #954730):
1523      <ul>
1524        <li>filter identical button-events</li>
1525
1526        <li>correct order of button-range versus protocol type (see
1527        <a href="#xterm_345">patch #345</a>)</li>
1528      </ul>
1529    </li>
1530
1531    <li>change &ldquo;make check&rdquo; makefile-rule to use
1532    test-drivers for charclass and wcwidth data.</li>
1533
1534    <li>quiet &ldquo;did not find a usable <em>xxx</em> TrueType
1535    font&rdquo; warnings by making <code>fontWarnings</code> apply
1536    to these messages (report by Jim Rees).</li>
1537
1538    <li>improve reinitialization of parameter list (report/testcase
1539    by James Holderness).</li>
1540
1541    <li>temporarily set numeric locale category to "C" when
1542    formatting SVG or XHTML screendumps, to make the radix
1543    separator used in RGB values consistent (adapted from patch by
1544    George Kouryachy).</li>
1545
1546    <li>add resource <code>forceXftHeight</code> to control whether
1547    workaround from Debian #880407 is used.</li>
1548
1549    <li>apply updated ascent/descent in workaround from Debian
1550    #880407 to fix a 1-pixel gap in built-in vertical lines
1551    (report/testcase by Stefan Assmann).</li>
1552
1553    <li>improve round-off of scaling for built-in line-drawing
1554    (prompted by discussion with Stefan Assmann).</li>
1555
1556    <li>adjust fonts in svg-icon files to accommodate reduced
1557    functionality of new pango (report/analysis by YOKOTA
1558    Hiroshi).</li>
1559
1560    <li>improve configure check for X Toolkit library.</li>
1561
1562    <li>correct Y-coordinate transformation in
1563    <code>ClearCurBackground</code>, overlooked in changes for
1564    <a href="#xterm_334">patch #334</a> (report/analysis by Chuck
1565    Silvers).</li>
1566
1567    <li>remove <code>--vendor</code> option from test-packages'
1568    install of desktop files; the feature is badly broken in
1569    <em>gnome-shell</em>.</li>
1570
1571    <li>modify <code>uxterm</code> to make it possible to select
1572    nonstandard locale <em>C.UTF-8</em>, e.g, if the user's locale
1573    is set to &ldquo;C&rdquo; (Debian #940626).</li>
1574
1575    <li>re-save/tweak &ldquo;.svg&rdquo; icon-files to work around
1576    breakage in toolset since the files were created in <a href=
1577    "#xterm_283">patch #283</a>.</li>
1578  </ul>
1579
1580  <h1><a name="xterm_353" id="xterm_353">Patch #353 -
1581  2020/02/01</a></h1>
1582
1583  <ul>
1584    <li>amend change in <a href="#xterm_352">patch #352</a> for
1585    button-events to fix a case where some followup events were not
1586    processed soon enough (report/patch by Jimmy Aguilar
1587    Mena).</li>
1588
1589    <li>handle <em>MappingNotify</em> X event, to improve recovery
1590    when switching keyboard configurations using
1591    <code>xkbcomp</code> (prompted by discussion with Frank Mosch,
1592    Debian #661295). There is more work needed here, possibly in
1593    the X libraries.</li>
1594
1595    <li>improve discussion of mouse-mode in <code>ctlseqs.ms</code>
1596    (suggested by Igor van den Hoven).</li>
1597
1598    <li>further improve checks for Xft <em>max-advance-width</em>
1599    to take into account fonts which use two cells for ambiguous
1600    width characters. Also improve the time used for these checks
1601    (reports by Yuri Pankov, Frank Mosch).</li>
1602
1603    <li>fix a few spelling errors reported by codespell (report by
1604    Jens Schleusener).</li>
1605
1606    <li>modify <code>run-tic.sh</code> to prefer development
1607    version of ncurses since changes to terminfo file in <a href=
1608    "#xterm_345">patch #345</a> rely upon bug-fixes in ncurses
1609    (prompted by discussion with Will Senn).</li>
1610  </ul>
1611
1612  <h1><a name="xterm_352" id="xterm_352">Patch #352 -
1613  2020/01/16</a></h1>
1614
1615  <ul>
1616    <li>adjust fontsize data to handle a minor inconsistency from
1617    recent Xft versions (Debian #880407, adapted from patch by
1618    Vincent Lef&egrave;vre).</li>
1619
1620    <li>add a table to the manual page description of
1621    <code>forceBoxChars</code> to alert the reader to the special
1622    characters aside from &ldquo;line-drawing&rdquo; which are
1623    drawn directly when this resource is set (Debian #931305).</li>
1624
1625    <li>improve <code>checkXft</code> logic which attempts to
1626    detect fonts whose <em>max-advance-width</em> is inconsistent
1627    with the actual glyph widths. For some fonts, it is necessary
1628    to check additional characters (report/analysis by Jan
1629    Engelhardt).</li>
1630
1631    <li>improve configure-checks for X headers and libraries on
1632    recent MacOS, which has moved those files under
1633    <code>/usr/X11</code>.</li>
1634
1635    <li>improve portability of iconify/deiconify feature by taking
1636    into account some window managers which manipulate the EWMH
1637    <code>_NET_WM_STATE</code> property, adding/removing
1638    <code>_NET_WM_STATE_HIDDEN</code> rather than actually
1639    <em>minimizing</em> the window (prompted by discussion with
1640    J&ouml;rg Breitbart).</li>
1641
1642    <li>improve workaround from <a href="#xterm_287">patch #287</a>
1643    for the <code>-iconic</code> option when configured with
1644    toolbar by postponing the extra request for minimizing the
1645    window to the end of menu-initialization.</li>
1646
1647    <li>modify <code>xevents</code> special-case for mouse-events
1648    to include button-events so that the meta key by itself can
1649    generate button-events (report/analysis by Mattias
1650    Engdeg&aring;rd).</li>
1651
1652    <li>amend SGR-stack change from <a href="#xterm_348">patch
1653    #348</a> to not associate bold attribute with background color
1654    (report by Nicholas Marriott).</li>
1655
1656    <li>fix copy/paste error in manual page (patch by Larry
1657    Hynes).</li>
1658
1659    <li>add definitions in <code>xterm_io.h</code> so that GNU/Hurd
1660    will use <code>posix_openpty</code> (patch by Samuel
1661    Thibault).</li>
1662
1663    <li>build-fix in debug-tracing, for <code>esctest</code>.</li>
1664
1665    <li>updated autoconf macros</li>
1666
1667    <li>update config.guess</li>
1668  </ul>
1669
1670  <h1><a name="xterm_351" id="xterm_351">Patch #351 -
1671  2019/11/17</a></h1>
1672
1673  <ul>
1674    <li>correct logic in <code>property_to_string</code> for
1675    deciding when to fallback from UTF-8 decoding to ISO-8859-1
1676    decoding, broken in <a href="#xterm_350">xterm #350</a>
1677    (FreeBSD #241961).</li>
1678
1679    <li>add <code>-report-icons</code> to help-message.</li>
1680
1681    <li>improved autoconf macros:
1682      <ul>
1683        <li><code>CF_ADD_LIBS</code>: the change to filter out
1684        duplicates caused this to append rather than prepend.
1685        revise to fix that.</li>
1686
1687        <li><code>CF_GCC_VERSION</code> and
1688        <code>CF_GCC_WARNINGS</code>: move checks to distinguish
1689        icc/clang from gcc from the macro which handles the
1690        --enable-warnings option, to make this work
1691        without-warnings for the inline-checks.</li>
1692      </ul>
1693    </li>
1694
1695    <li>update config.guess, config.sub</li>
1696
1697    <li>correct status in <code>XTGETXRES</code> replies when the
1698    resource was not found.</li>
1699
1700    <li>fix some gcc, cppcheck, clang and coverity warnings.</li>
1701
1702    <li>guard call to <code>RequestResize</code> from the
1703    struct-notify event handler to prevent recursion in the
1704    Xft+buffered workaround in some cases when doing manual
1705    resizing rather than resizing via escape sequences (reports by
1706    Stefan Assmann, Mike Thornburg).</li>
1707
1708    <li>amend the workaround for Xft+buffered blanking by moving
1709    the switch to bitmap-fonts to account for differences in font
1710    metrics between bitmap- and TrueType-fonts (report by Stefan
1711    Assmann).</li>
1712
1713    <li>improve the note on the <code>xterm-rep</code> terminfo
1714    entry (prompted by discussion with Sven Joachim).</li>
1715  </ul>
1716
1717  <h1><a name="xterm_350" id="xterm_350">Patch #350 -
1718  2019/11/02</a></h1>
1719
1720  <ul>
1721    <li>modify html/svg dump to not ignore zero'd/blank cells.</li>
1722
1723    <li>align terminfo file with ncurses, e.g., add
1724    <code>xterm+osc104</code> block.</li>
1725
1726    <li>improve discussion of <code>modifyOtherKeys</code> in
1727    manual page and in <code>ctlseqs.ms</code>.</li>
1728
1729    <li>add <code>vttests/modify-keys.pl</code> script to
1730    illustrate the <code>modifyOtherKeys</code> resource (prompted
1731    by discussion with Bram Moolenaar).</li>
1732
1733    <li>various improvements to <code>ctlseqs.ms</code>, as part of
1734    autogenerating links for the website.</li>
1735
1736    <li>update manual page default for <code>saveLines</code>
1737    resource default value (Branden Robinson, Debian #913815).</li>
1738
1739    <li>add command-line option <code>-report-xres</code> to show
1740    the values of the VT100 widget X resources when initialization
1741    is complete.</li>
1742
1743    <li>add a control sequence which, like tcap-query, allows an
1744    application to inspect most X resource settings of the VT100
1745    widget.</li>
1746
1747    <li>adjust some optional features to enable them in the imake
1748    configuration as they would be by default via the configure
1749    script.</li>
1750
1751    <li>add null-pointer checks to improve error recovery when
1752    bitmap fonts are missing or corrupt (report by Jonne
1753    Ransijn).</li>
1754
1755    <li>correct the condition for deleting the EWMH window-title
1756    property, i.e., if UTF-8 titles are disabled, rather than if an
1757    update to the EWHM property found no change (report by Sven
1758    Joachim).</li>
1759
1760    <li>build-fix for the case when configure
1761    <code>--enable-trace</code> is used without
1762    <code>--enable-warnings</code> (report by Sven Joachim).</li>
1763
1764    <li>fix a few minor bugs found with Coverity.</li>
1765
1766    <li>add a check in <code>property_to_string</code> to avoid
1767    translating <code>UTF8_STRING</code> or
1768    <code>COMPOUND_TEXT</code> into Latin-1 when UTF-8 encoding is
1769    active, e.g., when pushing onto the title-stack while switching
1770    to the alternate screen.</li>
1771
1772    <li>build-fix for the <code>--disable-doublechars</code>
1773    configure option (report by Brian Lindholm).</li>
1774  </ul>
1775
1776  <h1><a name="xterm_349" id="xterm_349">Patch #349 -
1777  2019/09/22</a></h1>
1778
1779  <ul>
1780    <li>add graphic context to support bold+italics (patch by Quinn
1781    Strahl).</li>
1782
1783    <li>document window properties in the manual page.</li>
1784
1785    <li>improve title-string feature:
1786      <ul>
1787        <li>if any of <code>allowC1Printable</code>,
1788        <code>utf8Title</code> or <code>titleModes</code> hint that
1789        an application might send a title-string encoded in UTF-8,
1790        check if that is the case, and if it is recodable into
1791        ISO-8859-1, use that for the ICCCM-style title.</li>
1792
1793        <li>check if the title given by a control sequence happens
1794        to be already encoded in UTF-8, to avoid double-encoding
1795        (FreeBSD #240393).</li>
1796
1797        <li>Make <code>sameName</code> resource work for the EWMH
1798        titles.</li>
1799
1800        <li>Modify menu-state of <code>utf8Title</code> to be
1801        consistent with the <code>utf8</code> source, i.e., setting
1802        the EWMH properties automatically when UTF-8 is
1803        active.</li>
1804      </ul>
1805    </li>
1806
1807    <li>reorganize text-drawing to make it possible to investigate
1808    using Xft to implement VT100-style double-sized characters.
1809    While doing this, made a workaround for apparent Xft bug which
1810    loses its drawable state when switching from 132 to 80
1811    columns.</li>
1812
1813    <li>improve font-warning messages by showing which are
1814    <em>derived</em> rather than directly from resource settings
1815    (suggested by Tomas Korbar). Also filter repeated font-warning
1816    messages, to accommodate broken X configurations.</li>
1817
1818    <li>fix an inconsistency between failure to load derived wide
1819    font versus failure to load derived wide-bold font (Redhat
1820    #1679790). That relies upon the &ldquo;:unscaled&rdquo;
1821    property which is broken in some distributions (however, recent
1822    Debian and the BSDs such as MacOS work).</li>
1823
1824    <li>updated autoconf-252 to check X11R7 include/lib directories
1825    found on some older configurations.</li>
1826
1827    <li>set a graphic-context for border when double-buffering is
1828    active; to prevent the border color from changing when
1829    switching to reverse-video.</li>
1830
1831    <li>build-fix for <code>--disable-ziconbeep</code>, which
1832    conflicted with the new double-buffer configuration (report by
1833    Brian Lindholm).</li>
1834
1835    <li>fix loop-limit for lookup of <code>fullscreen</code>
1836    resource broken in <a href="#xterm_347">xterm #347</a> (report
1837    by Scott Bertilson).</li>
1838  </ul>
1839
1840  <h1><a name="xterm_348" id="xterm_348">Patch #348 -
1841  2019/07/22</a></h1>
1842
1843  <ul>
1844    <li>update window-manager hints when exiting Tek4014 mode
1845    (Debian #932569, patch by Jonathan Irwin).</li>
1846
1847    <li>fix a misformatted printf in
1848    <code>report-sgr.pl</code>.</li>
1849
1850    <li>add configure check for termios types, to improve
1851    compiler-warnings.</li>
1852
1853    <li>ensure that when resetting margins, to also reset
1854    <code>DECLRMM</code>. This affects <code>DECCOLM</code>,
1855    <code>DECALN</code> (although DEC STD 070 mentions only
1856    top/bottom margins), and <code>DECSTR</code>.</li>
1857
1858    <li>corrected order of reset/move when setting
1859    <code>DECCOLM</code>, and make it more consistent by always
1860    resetting margins, rather than only when the mode is changed
1861    (report by James Holderness).</li>
1862
1863    <li>compile-in double-buffer support by default, changing the
1864    configure option to set the default resource value for
1865    <code>buffered</code> to true or false.</li>
1866
1867    <li>take in account the reverse-video state when computing the
1868    filler-color used when clearing the screen in double-buffering
1869    configuration.</li>
1870
1871    <li>correct logic for filtering scrollbar-updates when
1872    <code>buffered</code> resource is compiled-in but not enabled
1873    (report by Paul Lampert).</li>
1874
1875    <li>improve state saved/restored for cursor-save and SGR stack
1876    features.</li>
1877
1878    <li>improve description of 1006 and 1005 mouse modes, to avoid
1879    implying that they use character-parameters (report by Bryan
1880    Christ).</li>
1881
1882    <li>explain in <code>ctlseqs.ms</code> that some of the numeric
1883    keypad keys were xterm extensions rather than VT100/VT220
1884    terminal features (prompted by discussion with Thomas
1885    Wolff).</li>
1886
1887    <li>explain in <code>ctlseqs.ms</code> how the DEC windowing
1888    extension is supported by xterm.</li>
1889
1890    <li>add 28 rectangular editing to the primary response
1891    (suggested by Thomas Wolff).</li>
1892
1893    <li>fix a typo, improve wording in <code>ctlseqs.ms</code>
1894    (Thomas Wolff).</li>
1895
1896    <li>fix internal column-parameter when <code>SL</code> or
1897    <code>SR</code> is used with left/right margins (patch by
1898    Thomas Wolff).</li>
1899
1900    <li>fix off-by-one in VT52 graphics character mapping (patch by
1901    Thomas Wolff).</li>
1902
1903    <li>use <code>_X_UNUSED</code>, etc., when available as a
1904    fallback for <code>GCC_UNUSED</code>, etc., to reduce compiler
1905    warnings when building with <code><em>imake</em></code>.</li>
1906
1907    <li>update config.sub</li>
1908  </ul>
1909
1910  <h1><a name="xterm_347" id="xterm_347">Patch #347 -
1911  2019/06/30</a></h1>
1912
1913  <ul>
1914    <li>fix a few minor bugs found with Coverity.</li>
1915
1916    <li>improve double-buffering for scrollbars combined with
1917    scrolled text; add <code>bufferedFPS</code> resource to control
1918    the maximum rate of screen updates (report by Mike
1919    Thornburg).</li>
1920
1921    <li>improve fixes for <code>DECCRA</code> handling of
1922    double-width characters (patch by Martin Hostettler).</li>
1923
1924    <li>improve discussion of ECMA-48's typographical error for
1925    <code>SD</code> in <code>ctlseqs.ms</code> (prompted by report
1926    by Martin Hostettler).</li>
1927
1928    <li>correct off-by-one in parameter limit-check for
1929    <code>DECCRA</code> (report by Martin Hostettler).</li>
1930
1931    <li>modify <code>saveCellData</code> to handle case where
1932    double-width character is partially copied; that should be
1933    blanked (report/testcase by Thomas Wolff).</li>
1934
1935    <li>add resource <code>buffered</code> to allow
1936    enabling/disabling double-buffered mode.</li>
1937
1938    <li>two fixes for the double-buffer configuration, prompted by
1939    MacPorts' switch to double-buffering (patch by Mike Thornburg,
1940    MacPorts #58313):
1941      <ul>
1942        <li>ensure that the needSwap flag is set after drawing
1943        TrueType text</li>
1944
1945        <li>corrected the drawable-parameter used for the
1946        bar-cursor</li>
1947      </ul>
1948    </li>
1949
1950    <li>modify <code>ScrnRefresh</code> to ignore a case where the
1951    left/right halves of a double-width character have been set to
1952    different video attributes. The attribute to use is in the
1953    left-half (report/testcase by Thomas Wolff).</li>
1954
1955    <li>correct a limit-check for <code>DECCRA</code> in case the
1956    target lies off-screen (report/testcase by Thomas Wolff).</li>
1957
1958    <li>documentation errata (report by Thomas Wolff).</li>
1959
1960    <li>reset flags including wraparound and reverse-wrap when
1961    switching to VT52 mode, while noting that DEC's standard
1962    documentation leaves that behavior <em>undefined</em> (report
1963    by Thomas Wolff).</li>
1964
1965    <li>ensure that italic font is turned off on hard/soft resets
1966    (report by Martin Hostettler).</li>
1967
1968    <li>improve responsiveness to X events while processing HTML or
1969    SVG dumps (report by Martin Hostettler).</li>
1970
1971    <li>replace logic in <code>wcwidth.c</code> for detecting
1972    double-width characters with binary-search table generated
1973    using updated <code>uniset</code> (report by Robert Ross).</li>
1974
1975    <li>add test-driver for <code>wcwidth.c</code> to simplify
1976    comparison with system's <code>wcwidth</code>.</li>
1977
1978    <li>ensure that window-manager name comparisons work when
1979    active-icon is enabled, since <code><em>CSI</em>13t</code> uses
1980    the window-manager name (report by Glenn Golden, Arch
1981    #62818).</li>
1982
1983    <li>trim a stray &ldquo;experimental&rdquo; in one of the
1984    comments about the tcap-query feature, which has been a
1985    supported feature since 2008 (see <a href="#xterm_238">patch
1986    #238</a>).</li>
1987  </ul>
1988
1989  <h1><a name="xterm_346" id="xterm_346">Patch #346 -
1990  2019/05/27</a></h1>
1991
1992  <ul>
1993    <li>update description of the &ldquo;default&rdquo; setting for
1994    the <code>renderFont</code> resource to match the behavior in
1995    <a href="#xterm_261">patch #261</a> (Debian #862042).</li>
1996
1997    <li>account for <code>internalBorder</code> in
1998    <code>useBorderClipping</code> (report by Robert Ross).</li>
1999
2000    <li>update table of unknown-width characters in wcwidth.c based
2001    on Unicode 12.1.0 (prompted by discussion with Robert
2002    Ross).</li>
2003
2004    <li>improve description of DECSCL versus S7C1T and S8C1T in
2005    <code>ctlseqs.ms</code>.</li>
2006
2007    <li>improve consistency between <code><em>CSI</em>3t</code> and
2008    <code><em>CSI</em>13t</code>, accounting for differences
2009    between some window managers' handling of EMWH extents (report
2010    by Bram Moolenaar).</li>
2011
2012    <li>fix a sign-extension when reporting offscreen window
2013    position (report by Bram Moolenaar).</li>
2014  </ul>
2015
2016  <h1><a name="xterm_345" id="xterm_345">Patch #345 -
2017  2019/05/14</a></h1>
2018
2019  <ul>
2020    <li>updated FreeBSD test-package from recent /usr/ports
2021    scripts.</li>
2022
2023    <li>workaround in <code>run-tic.sh</code> for HPUX, whose
2024    <code>mktemp</code> prints the name of a temporary directory
2025    without creating it.</li>
2026
2027    <li>add left/right margin capabilities to terminfo, since the
2028    default terminal emulation is VT420 (suggested by Thomas
2029    Wolff).</li>
2030
2031    <li>modify treatment of <code>reverseVideo</code> for dynamic
2032    colors to make text foreground/background consistent with the
2033    cursor color (prompted by discussion with Ben Wong, lsix
2034    #20).</li>
2035
2036    <li>modify button-handling to make SGR button-release distinct
2037    from button-press for button-codes starting with 8 (patch by
2038    Mikulas Patocka).</li>
2039
2040    <li>add aliases for the sgr push/pop controls to work around
2041    language limitations of C# (request by Dan Thompson).</li>
2042
2043    <li>correct a typo in <code>setDirectFG</code>, which could
2044    cause setting of indexed-color after a direct-color to be
2045    ignored.</li>
2046
2047    <li>add resource <code>useBorderClipping</code> as an
2048    alternative to <code>useClipping</code> (request by Robert
2049    Ross).</li>
2050
2051    <li>improve logic for displaying xterm's built-in line-drawing
2052    characters vs missing glyphs, e.g., for U+2409 to U+240D (patch
2053    by Robert Ross).</li>
2054
2055    <li>add <code>vttests/sgrPushPop2.pl</code> to illustrate how
2056    selective pushes work, as well as to demonstrate push/pop of
2057    the various color types supported by xterm.</li>
2058
2059    <li>fix a special case in <code>XTPOPSGR</code> where
2060    direct-colors were not checked as a dependency of
2061    indexed-colors, contrary to documentation.</li>
2062
2063    <li>reduce buffer-flushes for <code>OSC&nbsp;4</code> and
2064    <code>OSC&nbsp;5</code> color-queries, as well as in the
2065    queries for dynamic colors.<br>
2066    <strong>Note:</strong> this change makes the reply for
2067    <code>OSC&nbsp;5</code> use the &ldquo;5&rdquo; in the
2068    response; formerly it was mapped to &rdquo;4&rdquo; after
2069    adding the maximum number of colors.</li>
2070
2071    <li>modify <code>vttests/query-color.pl</code> to demonstrate
2072    multiple queries in one request.</li>
2073
2074    <li>update tables of combining and unknown-width characters in
2075    wcwidth.c based on Unicode 12.0.0.</li>
2076
2077    <li>modify response for <code>OSC&nbsp;5</code> to be
2078    consistent with documentation.</li>
2079
2080    <li>add <code>vttests/query-dynamic.pl</code></li>
2081
2082    <li>modify <code>vttests/query-color.pl</code> to accept bold,
2083    underline, etc., keywords to decide whether to use
2084    <code>OSC&nbsp;5</code> rather than
2085    <code>OSC&nbsp;4</code>.</li>
2086
2087    <li>modify cursor coloring to avoid a case where the cursor
2088    matched the foreground color while the text was displayed in
2089    reverse-video (report by Nuno Silva).</li>
2090
2091    <li>fix an inconsistency in X10 mouse responses from <a href=
2092    "#xterm_342">patch #342</a> changes; the legacy protocol
2093    supports only buttons 1-3.</li>
2094
2095    <li>reduce the number of buffer-flushes for tcap-query
2096    batches.</li>
2097
2098    <li>modify <code>tcapquery.pl</code> to demonstrate batch
2099    queries with <code>-q</code> option.</li>
2100
2101    <li>increase response-buffer size, and make it configurable as
2102    <code>limitResponse</code> (prompted by discussion with Stephen
2103    P Wall).</li>
2104
2105    <li>modified configure script:
2106      <ul>
2107        <li>check/workaround for non-POSIX manipulation of
2108        predefined symbols</li>
2109
2110        <li>check for updated X Toolkit, which uses
2111        <code>const</code>.</li>
2112      </ul>
2113    </li>
2114
2115    <li>update config.guess, config.sub</li>
2116
2117    <li>provide for secondary-selection, overlooked in <a href=
2118    "#xterm_338">patch #338</a> (report by Emile LeBlanc).</li>
2119
2120    <li>documentation errata (patch by Larry Hynes).</li>
2121
2122    <li>improve pointer-checks in <code>Tekproc.c</code></li>
2123
2124    <li>revise solution for Debian #919475, to allow for
2125    struct-notify events occurring as a side-effect of toggling
2126    to/from full-screen mode.</li>
2127
2128    <li>window's border-size was incorrectly added to position when
2129    maximizing window (report by Gary Langshaw).</li>
2130  </ul>
2131
2132  <h1><a name="xterm_344" id="xterm_344">Patch #344 -
2133  2019/02/12</a></h1>
2134
2135  <ul>
2136    <li>add ASCII escape to default for
2137    <code>disallowedPasteControls</code> (prompted by discussion
2138    with Martin Hostettler).</li>
2139
2140    <li>fix typo in <code>ctlseqs.ms</code> (Robert Ross).</li>
2141
2142    <li>implement DEC Cyrillic NRCS (based on screenshots of vttest
2143    provided by Markus Schmidt).</li>
2144
2145    <li>correct control returning sixel geometry maximum versus
2146    actual size (patch by Ben Wong).</li>
2147
2148    <li>improve manual page for <code>resize</code> to clarify that
2149    <code>resize</code> does not execute the shell commands which
2150    it generates for setting environment variables.</li>
2151
2152    <li>improve memory-management for parser, to handle response
2153    strings that might occur with <code>ENQ</code> or when
2154    <code>SRM</code> mode is active (patch by Martin
2155    Hostettler).</li>
2156
2157    <li>change <code>Comment</code> text in uxterm's desktop file
2158    to work around a limitation of GNOME's GIO application
2159      (<a href="https://gitlab.gnome.org/GNOME/gnome-shell/issues/940#note_427334">issue
2160      #940</a>). The <a href=
2161      "https://developer.gnome.org/gio/stable/gio-Desktop-file-based-GAppInfo.html#g-desktop-app-info-search">
2162      documentation</a> reads:
2163      <blockquote>
2164        <p>Searches desktop files for ones that match
2165        <em><code>search_string</code></em>.</p>
2166
2167        <p>The return value is an array of <em>strv</em>s. Each
2168        <em>strv</em> contains a list of applications that matched
2169        search_string with an equal score. The outer list is sorted
2170        by score so that the first <em>strv</em> contains the
2171        best-matching applications, and so on. The algorithm for
2172        determining matches is undefined and may change at any
2173        time.</p>
2174      </blockquote>
2175    </li>
2176
2177    <li>a check of <code>zIconBeep</code> resource was removed in
2178    double-buffer fix in <a href="#xterm_334">patch #334</a>. That
2179    is used to decide whether to handle struct-notify events. When
2180    xterm does handle the events, it may negotiate a new
2181    window-size with the window manager. In that case, the
2182    <code>limitResize</code> resource setting limited the new
2183    window-size to the screen-size. Amended that by eliminating the
2184    limit for this special case when double-buffer is configured,
2185    and restoring the check for <code>zIconBeep</code> when
2186    double-buffer is not configured (Debian #919475).</li>
2187
2188    <li>disallow recursion which could happen if a user configures
2189    the <code>answerbackString</code> resource with the
2190    <code>ENQ</code> code and experiments with that code when
2191    <code>SRM</code> is enabled (report by by Martin
2192    Hostettler).</li>
2193
2194    <li>add remaining credits in <code>COPYING</code> file.</li>
2195
2196    <li>modify <code>run-tic.sh</code> to check if it is using an
2197    older version of ncurses which does not support large terminal
2198    descriptions, and if so, remove a non-essential feature to keep
2199    within the 4096-byte legacy limit.</li>
2200  </ul>
2201
2202  <h1><a name="xterm_343" id="xterm_343">Patch #343 -
2203  2019/01/13</a></h1>
2204
2205  <ul>
2206    <li>modify <code>run-tic.sh</code> to prefer ncurses6 over
2207    ncurses5, when available.</li>
2208
2209    <li>add <code>COPYING</code> file, and dummy "check" makefile
2210    rule for testing Arch packages.</li>
2211
2212    <li>add/update package scripts for FreeBSD and NetBSD, for
2213    testing.</li>
2214
2215    <li>update tables of combining and ambiguous-width characters
2216    in wcwidth.c based on Unicode 11.0.0.</li>
2217
2218    <li>modify <code>xterm-new</code> sample terminfo entry to
2219    correspond to ncurses 6.1, using the SGR 1006 mouse
2220    protocol.</li>
2221
2222    <li>improve manual page discussion of selection ownership
2223    versus highlighting (prompted by discussion with Martin
2224    Hostettler).</li>
2225
2226    <li>restore/repair <code>keepClipboard</code> feature which was
2227    broken by changes in <a href="#xterm_338">patch #338</a>
2228    (report by Martin Hostettler).</li>
2229
2230    <li>improve documentation for <code>deleteIsDEL</code>
2231    resource.</li>
2232
2233    <li>modify DECRQM response for private mode 1037 to account for
2234    cases where the resource <code>deleteIsDEL</code> is initially
2235    neither true nor false, but dependent upon the keyboard type
2236    (report/analysis by Martin Hostettler).</li>
2237
2238    <li>clear pointers for pattern/fontset after destroying their
2239    data when switching facename with an escape sequence (report by
2240    Robert Ross).</li>
2241
2242    <li>modify logic for TrueType fallback fonts to match the
2243    sort-order used by <code>fc-match</code> (report by Robert
2244    Ross).</li>
2245
2246    <li>add resource setting <code>limitFontsets</code> which can
2247    be used to limit or disable the new TrueType fontset feature
2248    (request by Robert Ross).</li>
2249  </ul>
2250
2251  <h1><a name="xterm_342" id="xterm_342">Patch #342 -
2252  2019/01/03</a></h1>
2253
2254  <ul>
2255    <li>limit mouse-button events to 11 buttons in the original
2256    protocol, and 15 in the extended mouse-protocol (patch by
2257    Martin Hostettler).</li>
2258
2259    <li>correct calculation for buttons past 11 in
2260    <code>mouse-codes</code> sample script (patch by Martin
2261    Hostettler).</li>
2262
2263    <li>disable a supplementary check added in <a href=
2264    "#xterm_341">patch #341</a> which interferes with using
2265    fontconfig to select different-sized bitmap fonts (Arch
2266    #61237).</li>
2267  </ul>
2268
2269  <h1><a name="xterm_341" id="xterm_341">Patch #341 -
2270  2018/12/24</a></h1>
2271
2272  <ul>
2273    <li>add options to <code>mouse-codes</code> script to
2274    demonstrate that the encoding used for mouse events limits
2275    button numbers to 11.</li>
2276
2277    <li>allow mouse button numbers up to 11 using an offset of 128
2278    for button numbers 8-11 rather than the offset of 64 used for
2279    wheel-mouse, etc., buttons 4-7 in <a href="#xterm_338">patch
2280    #338</a> (adapted from patch by Martin Hostettler).</li>
2281
2282    <li>correct off-by-one right-margin checks for double-width
2283    character adjustments in DECERA/DECFRA (patch by Martin
2284    Hostettler).</li>
2285
2286    <li>allocated size of selection buffer was not reset when
2287    freeing the buffer in <a href="#xterm_338">patch #338</a>
2288    (report/analysis by Stefan Assmann).</li>
2289
2290    <li>modify the initial pattern passed to fontconfig to disallow
2291    color bitmap fonts.</li>
2292
2293    <li>improve error recovery for a case where fontconfig ignores
2294    the requested pattern due to override in the user's font
2295    configuration (report/testcase by Stefan Assmann).</li>
2296  </ul>
2297
2298  <h1><a name="xterm_340" id="xterm_340">Patch #340 -
2299  2018/12/16</a></h1>
2300
2301  <ul>
2302    <li>suppress a spurious warning about fontsets when
2303    initializing menus for the toolbar configuration.</li>
2304
2305    <li>fix some strict compiler warnings.</li>
2306
2307    <li>improve checks for TrueType font, to help with the case of
2308    color bitmap fonts, which fontconfig misrepresents (Arch Linux
2309    #58706).</li>
2310  </ul>
2311
2312  <h1><a name="xterm_339" id="xterm_339">Patch #339 -
2313  2018/12/12</a></h1>
2314
2315  <ul>
2316    <li>modify <code>CF_GNU_SOURCE</code> macro to treat
2317    <em>newlib</em> as similar to <em>glibc</em>, fixing a problem
2318    with the configure checks for pseudoterminals in Cygwin
2319    overlooked in <a href="#xterm_334">patch #334</a> updates for
2320    configure-macros.</li>
2321  </ul>
2322
2323  <h1><a name="xterm_338" id="xterm_338">Patch #338 -
2324  2018/12/09</a></h1>
2325
2326  <ul>
2327    <li>ignore <code>$TERMINFO</code> in the configure script if it
2328    is set to a non-directory value.</li>
2329
2330    <li>updated configure macros:
2331      <ul>
2332        <li><code>CF_WITH_PCRE2</code>, modified to work with
2333        Debian's (mis-numbered) pcre3 package.</li>
2334
2335        <li><code>CF_CC_ENV_FLAGS</code> , report preprocessor
2336        options in <code>CFLAGS</code></li>
2337
2338        <li><code>CF_LD_RPATH_OPT</code> , suppress check if
2339        <code>--disable-rpath</code> option was given.</li>
2340
2341        <li><code>CF_XOPEN_SOURCE</code>, add case for
2342        midnightbsd</li>
2343      </ul>
2344    </li>
2345
2346    <li>update config.guess, config.sub</li>
2347
2348    <li>add a check to ensure that the filename parameter passed to
2349    <code>XpmReadFileToPixmap</code> is actually a file, since that
2350    function does not check (report by Ben Nott).</li>
2351
2352    <li>amend solution for Debian #758633 to ensure that replies
2353    for bracketed paste are not sent while processing a selection
2354    for <code>exec-formatted</code> (Debian #913237).</li>
2355
2356    <li>improve adjustments/clearing for double-width characters in
2357    <code>DECERA</code>, <code>DECFRA</code>,
2358    <code>DECSERA</code>.</li>
2359
2360    <li>improve adjustments/clearing for double-width characters
2361    when doing vertical scrolling within left/right margins (patch
2362    by Martin Hostettler).</li>
2363
2364    <li>modify wcwidth to encode a few spacing combining marks as
2365    regular combining characters.</li>
2366
2367    <li>change compiled-in default for <code>saveLines</code> to
2368    match the resource-file changed in <a href="#xterm_192">patch
2369    #192</a> (Debian #913815).</li>
2370
2371    <li>change default <code>faceSize</code> to 8.0, to simplify
2372    switching back/forth between bitmap fonts and TrueType. This
2373    was originally (mis)set to 14.0 in <a href="#xterm_148">patch
2374    #148</a>.</li>
2375
2376    <li>add fallback support in Xft configuration for missing
2377    glyphs (prompted by discussion with Mike Burns).</li>
2378
2379    <li>fix a problem with using direct-colors for the background
2380    color when clearing/scrolling (report by Nicholas
2381    Marriott).</li>
2382
2383    <li>add a "sources" rule for the makefile's generated
2384    source.</li>
2385
2386    <li>add a short explanation in <code>ctlseqs.ms</code>
2387    discussing the differences in error-recovery for malformed
2388    sequences versus unimplemented features, and amend one case for
2389    consistency (prompted by discussion with Martin
2390    Hostettler).</li>
2391
2392    <li>adjusted ifdef's so that the paste64 configure option does
2393    not automatically enable the readline-mouse configure
2394    option.</li>
2395
2396    <li>revert the change which prevented concurrent ownership of
2397    different selection targets, and instead modify selection
2398    storage so that different concurrent requests for different
2399    selection targets will be stored/retrieved independently
2400    (Debian #901249).</li>
2401
2402    <li>remove a check which prevented returning button-codes past
2403    the documented 4/5 for wheel mouse, and add a script
2404    <code>mouse-codes</code> which makes a report showing the
2405    various mouse codes for different button/modifier combinations
2406    (discussion with P&#345;emysl Janouch).</li>
2407
2408    <li>improve display and checksum for DEC Special Graphics by
2409    mapping 0x5f to 0.</li>
2410
2411    <li>add a null-pointer check for table-ending in the
2412    extended-boolean resource-handling (report by Felix von
2413    Leitner).</li>
2414
2415    <li>remove stray <code>]</code>'s from INSTALL-file (Larry
2416    Hynes).</li>
2417  </ul>
2418
2419  <h1><a name="xterm_337" id="xterm_337">Patch #337 -
2420  2018/09/21</a></h1>
2421
2422  <ul>
2423    <li>regenerated configure script (report by Sven Joachim).</li>
2424
2425    <li>revise/improve fix for scrolling in margins
2426    (report/analysis by Martin Hostettler):</li>
2427
2428    <li>amend change to default-translations "select" subset to
2429    ensure that specific key-press actions are listed before
2430    generic key-press actions (reports by H Merijn Brand, Sven
2431    Joachim).</li>
2432  </ul>
2433
2434  <h1><a name="xterm_336" id="xterm_336">Patch #336 -
2435  2018/09/19</a></h1>
2436
2437  <ul>
2438    <li>ensure that only one of PRIMARY and CLIPBOARD is owned by
2439    xterm at a given time (Debian #901249).</li>
2440
2441    <li>documentation fixes (report by Lars Krueger):
2442      <ul>
2443        <li>document <code>SL</code> and <code>SR</code>.</li>
2444
2445        <li>document <code>DECRPTUI</code>, change number of digits
2446        to match VT420.</li>
2447      </ul>
2448    </li>
2449
2450    <li>revise <code>omitTranslation</code> resource, e.g.,
2451    splitting &ldquo;default&rdquo; into several more useful
2452    categories.</li>
2453
2454    <li>modify mask-logic to permit <em>control-</em> and
2455    <em>meta-</em> modifiers to be used in mouse protocol.</li>
2456
2457    <li>several fixes for parsing/state (report/testcases by Martin
2458    Hostettler):
2459      <ul>
2460        <li>remove an old/unimplemented entry for xterm-title from
2461        state table.</li>
2462
2463        <li>save/restore wrap-flag when scrolling, to fix an
2464        inconsistency between jump-scrolling and
2465        normal-scrolling.</li>
2466
2467        <li>improve a special case of wrapping where the cursor
2468        starts beyond the right-margin, and wraps at the terminal's
2469        last-column before the settable-margins can take
2470        effect.</li>
2471
2472        <li>if origin mode is set, adjust a restored cursor column
2473        relative to the left margin.</li>
2474
2475        <li>when scrolling a line within left/right margins,
2476        correct order of the fixups needed when a double-width
2477        character crosses the margin boundary.</li>
2478      </ul>
2479    </li>
2480
2481    <li>review/fix a few cases where the parsing state was not
2482    reset after completing a control sequence (prompted by report
2483    by Martin Hostettler).</li>
2484
2485    <li>disallow <code>XTCHECKSUM</code> if the corresponding
2486    window-ops "SetChecksum" is unset.</li>
2487
2488    <li>add <code>print-vt-chars.pl</code> script to illustrate the
2489    NRCS and codepages supported by xterm.</li>
2490
2491    <li>add <code>other-sgr.sh</code> script to demonstrate the
2492    non-VT100 video attributes implemented in <a href=
2493    "#xterm_305">patch #305</a>, and added a summary of their
2494    introduction in ECMA-48 to the control sequences document.</li>
2495
2496    <li>add <code>tabs</code> and <code>-tabs</code> keywords to
2497    <code>ttyModes</code> resource to simplify workaround for
2498    terminal drivers which are not aware of UTF-8 (FreeBSD
2499    #229682).</li>
2500
2501    <li>add VT5xx NRCS 7-bit Turkish and DEC Turkish.</li>
2502
2503    <li>add VT5xx NRCS 7-bit Hebrew and DEC Hebrew.</li>
2504
2505    <li>add VT5xx NRCS 7-bit Greek and DEC Greek.</li>
2506
2507    <li>correct a few post-VT220 codepages to make them display
2508    without setting the NRCS state.</li>
2509
2510    <li>extend <code>vt100Graphics</code> resource to include other
2511    character-sets such as the VT500 codepages in UTF-8 mode.</li>
2512
2513    <li>add some VT5xx codepages to help with the discussion of
2514    96-character sets: <em>ISO Greek Supplemental</em>, <em>ISO
2515    Hebrew Supplemental</em>, <em>ISO Latin&ndash;5
2516    Supplemental</em>, and <em>ISO Latin&ndash;Cyrillic</em>.</li>
2517
2518    <li>improve description of the VT300-controls for designating
2519    character sets, and fix a typo which indicated that some were
2520    used for 94-character sets (prompted by discussion with Lars
2521    Krueger).</li>
2522
2523    <li>add private control <code>XTCHECKSUM</code> for modifying
2524    <code>checksumExtension</code>.</li>
2525
2526    <li>factor out xterm's <code>DECRQCRA</code> checksum
2527    extensions as a resource setting
2528    <code>checksumExtension</code>.</li>
2529
2530    <li>revise calculation of checksum for <code>DECRQCRA</code> to
2531    match DEC's terminals (using screenshots of vttest provided by
2532    Markus Schmidt).</li>
2533
2534    <li>restore a fix for memory-checksum setup of
2535    <code>DECCKSR</code> from <a href="#xterm_315">patch #315</a>
2536    incorrectly reverted in <a href="#xterm_334">patch #334</a> as
2537    part of fix for <code>DECRQCRA</code>.</li>
2538  </ul>
2539
2540  <h1><a name="xterm_335" id="xterm_335">Patch #335 -
2541  2018/08/14</a></h1>
2542
2543  <ul>
2544    <li>add <code>colorInnerBorder</code> resource to make a change
2545    from <a href="#xterm_334">patch #334</a> configurable (reports
2546    by H Merijn Brand, Gabriele Balducci).</li>
2547  </ul>
2548
2549  <h1><a name="xterm_334" id="xterm_334">Patch #334 -
2550  2018/08/12</a></h1>
2551
2552  <ul>
2553    <li>modify <code>Imakefile</code> to reflect the fact that
2554    NetBSD no longer has a working termcap emulation.</li>
2555
2556    <li>add resource-setting <code>validShells</code> which can be
2557    used to augment the system's <code>/etc/shell</code> (prompted
2558    by discussion with Paul Lampert).</li>
2559
2560    <li>stifle some useless warnings from lintian in
2561    test-packages.</li>
2562
2563    <li>add the ncurses extension &ldquo;RGB&rdquo; to the
2564    responses for the termcap-query feature.</li>
2565
2566    <li>improved getopts-handling in sample scripts.</li>
2567
2568    <li>fix some warnings from gcc8 and clang --analyze.</li>
2569
2570    <li>update note about incorrect documentation for
2571    <code>DECRQSS</code> to include VT525 (report by Markus
2572    Schmidt).</li>
2573
2574    <li>correct check for default-values in rectangular parsing; a
2575    zero counts as a missing or default parameter (report/testcase
2576    by Markus Schmidt).</li>
2577
2578    <li>correct some ranges in the <code>ambiguous[]</code> table
2579    in wcwidth (adapted from patch by KUGA Tsutomu).</li>
2580
2581    <li>fix a special case with faint video attribute incorrectly
2582    combined with default color.</li>
2583
2584    <li>add private control <code>XTREPORTSGR</code> for reporting
2585    video-attributes and color on a rectangle, and script
2586    <code>report-sgr.pl</code> to demonstrate it.</li>
2587
2588    <li>modify some of the markup in <code>ctlseqs.ms</code> to
2589    work around groff's reassignment of ASCII punctuation
2590    characters as documented in <em>groff_char(7)</em>.</li>
2591
2592    <li>treat ECMA-48 SGR 6 the same as SGR 5.</li>
2593
2594    <li>add private controls <code>XTPUSHSGR</code> and
2595    <code>XTPOPSGR</code> for saving/restoring the current
2596    video-attributes on a stack (adapted from patch by Dan
2597    Thompson).</li>
2598
2599    <li>modify <code>DECRPM</code> response for logging enable to
2600    indicate its state even when enabling/disabling it is not
2601    allowed.</li>
2602
2603    <li>implement <code>DECSNLS</code></li>
2604
2605    <li>implement <code>DECRSPS</code></li>
2606
2607    <li>improve fill-color for double-buffer configuration, which
2608    was sharing a graphic context with the cursor.</li>
2609
2610    <li>fix a couple of cases where double-sized VT100 characters
2611    were not clipped, seen in Joe Smith's <a href=
2612    "http://www.inwap.com/pdp10/#Tymnet">VT100 torture
2613    test</a>.</li>
2614
2615    <li>color the inner border using the same
2616    <code>borderColor</code> as the outer border, rather than
2617    filling with the VT100's default background.</li>
2618
2619    <li>change encoding of &ldquo;THANKS&rdquo; to UTF-8.</li>
2620
2621    <li>modify handling of <code>DECELR</code> to recognize
2622    <code>MotionNotify</code> events again, amending a check for
2623    <code>allowMouseOps</code> which limited that to button-events
2624    in <a href="#xterm_328">patch #328</a> (Olaf Rogalsky).</li>
2625
2626    <li>fix some screen-painting problems with left/right margins
2627    when using insert-line or delete-line (report/testcase by
2628    Martin Hostettler). also fix similar case with
2629    index/reverse-index.</li>
2630
2631    <li>several minor performance improvements using macros, e.g.,
2632    inline checks for character width.</li>
2633
2634    <li>add <code>DECSCPP</code> and <code>DECSLPP</code> to
2635    <code>DECRQSS</code>.</li>
2636
2637    <li>implement <code>DECSCPP</code>.</li>
2638
2639    <li>implement <code>DECCIR</code> and <code>DECTABSR</code>
2640    presentation reports.</li>
2641
2642    <li>modify checksum computation for <code>DECRQCRA</code> to
2643    treat uninitialized cells as blanks rather than nulls.</li>
2644
2645    <li>drop custom-entity from HTML-dump, use UTF-8 for &amp;nbsp;
2646    (Debian #902381).</li>
2647
2648    <li>modify display of non-BMP characters when using bitmap
2649    fonts to show a null/empty box rather than the replacement
2650    character which was used in cleanup changes for <a href=
2651    "#xterm_233">patch #233</a> (report by Christian
2652    Weisgerber).</li>
2653
2654    <li>when setting up clipping rectangle for Xft, allow for the
2655    case where xterm is only displaying a combining character,
2656    where the base was already written (report by Joshua
2657    Crowgey).</li>
2658
2659    <li>allow reset Xft's state if switching font-sizes when
2660    double-buffering is used.</li>
2661
2662    <li>fix repainting, e.g., on resize, when double-buffering is
2663    used with Xft (patch by Daniel Colascione).</li>
2664
2665    <li>correct some interchanged pairs of symbols in
2666    <code>unicode/keysym.map</code> (Brad Town).</li>
2667
2668    <li>improve configure macros CF_GCC_WARNINGS, CF_GNU_SOURCE,
2669    CF_POSIX_C_SOURCE, CF_TRY_XOPEN_SOURCE, CF_XOPEN_SOURCE,
2670    CF_X_ATHENA_CPPFLAGS.</li>
2671
2672    <li>modify <code>logFile</code> resource to interpret
2673    &ldquo;<code>-</code>&rdquo; as the standard output (adapted
2674    patch by Colum Paget).</li>
2675
2676    <li>improve documentation of Tek4014 menu options; fix a case
2677    where the Tek4014 window was not displayed before switching
2678    modes.</li>
2679
2680    <li>re-correct parameter for <em>pid</em> used for DECCKSR,
2681    DECRQCSR (see <a href="#xterm_315">xterm #315</a>).</li>
2682
2683    <li>hard/soft reset now resets the cursor-blinking state that
2684    may have been set via escape sequences; the cursor-blinking
2685    menu-entry feature is unmodified (report by Matthieu
2686    Herrb).</li>
2687
2688    <li>update config.guess, config.sub</li>
2689  </ul>
2690
2691  <h1><a name="xterm_333" id="xterm_333">Patch #333 -
2692  2018/05/03</a></h1>
2693
2694  <ul>
2695    <li>ensure that i18n is enabled if input-method is
2696    enabled.</li>
2697
2698    <li>modify logic for pre-edit to update spot-location while the
2699    cursor is invisible (Kakoune #1940).</li>
2700
2701    <li>change default icon to newer one, "mini.xterm".</li>
2702
2703    <li>install a complete set of icons, to simplify post-install
2704    customization.</li>
2705
2706    <li>add resource <code>disallowedPasteControls</code> to extend
2707    filtering of control characters from pastes.</li>
2708
2709    <li>add <code>print-on-error</code> action-hook, and document
2710    action-hooks for dump-html, dump-svg.</li>
2711
2712    <li>provide action-hook for <code>print-immediate</code>, which
2713    was available only as a menu-item (report by Rastislav
2714    Barlik).</li>
2715
2716    <li>continue to improve notes in <code>ctlseqs.ms</code> which
2717    mention where various controls originated.</li>
2718
2719    <li>add case to accept ECMA-48's bogus <code>SD</code>, but
2720    document the issue in <code>ctlseqs.ms</code>.</li>
2721
2722    <li>add control sequence for loading XPM-icon file, using the
2723    analogous control sequence from shelltool/dtterm.</li>
2724
2725    <li>add <code>-report-icons</code> option, to report on
2726    XPM-icon and title-bar updates.</li>
2727
2728    <li>correct a discrepancy between locator-reports for VT220 vs
2729    VT330.</li>
2730
2731    <li>add window-ops control sequences to complement existing
2732    ones for reporting window-position and text-area size with
2733    reports for text-area position and window-size.</li>
2734
2735    <li>display vt52 graphics mode characters.</li>
2736
2737    <li>correct case-statement for window-ops 10, overlooked since
2738    some window managers equate vertical-maximize and
2739    horizontal-maximize window hints with full-screen
2740    maximize.</li>
2741  </ul>
2742
2743  <h1><a name="xterm_332" id="xterm_332">Patch #332 -
2744  2018/04/15</a></h1>
2745
2746  <ul>
2747    <li>add a <code>GetChecksum</code> item to
2748    <code>disallowedWindowOps</code></li>
2749
2750    <li>improve notes in <code>ctlseqs.ms</code> which mention
2751    where various controls originated.</li>
2752
2753    <li>add control sequences for querying the X display size and
2754    the character size, both in pixels to help eliminate some of
2755    the constants in <code>esctest</code>.</li>
2756
2757    <li>fixes prompted by review of George Nachman's
2758    <code>esctest</code> script:
2759      <ul>
2760        <li>add a null-pointer check and a limit-check in
2761        <code>xtermCheckRect</code>.</li>
2762
2763        <li>correct limit-check for right-margin when processing
2764        autowrapping if xterm is not built for
2765        wide-characters.</li>
2766
2767        <li>repair logic in <code>RIS</code> to reset 132-column
2768        mode when an escape sequence is used to enable
2769        80/132-column switching.</li>
2770
2771        <li>correct array-limit for EWMH working state.</li>
2772
2773        <li>further improve limit-checks versus assert's (see
2774        <a href="#xterm_315">patch #315</a>).</li>
2775
2776        <li>correct order of check-margins and move-to-left margin
2777        for <code>DL</code> and <code>IL</code>.</li>
2778
2779        <li>modify reverse-wrap to pay attention to top/bottom
2780        margins as it has done for left/right margins since
2781        <a href="#xterm_279">patch #279</a>.</li>
2782
2783        <li>modify behavior of <code>DECFI</code> and
2784        <code>DECBI</code> to not index the screen at the
2785        left/right edge of the display unless those happen to be
2786        the left/right margins.</li>
2787
2788        <li>add case for VT320 DSR response for keyboard
2789        status.</li>
2790      </ul>
2791    </li>
2792
2793    <li>improve check for valid shell path using
2794    <code>getusershell</code> and <code>endusershell</code> if
2795    available, in case <code>/etc/shells</code> does not exist
2796    (suggested by Rainer Orth).</li>
2797
2798    <li>modified configure checks for groff and man2html, to use
2799    the latter by default, but allowing mandoc as a partial
2800    replacement for former.</li>
2801
2802    <li>revisited the inconsistent copyright notices mentioned in
2803    <a href="#xterm_165">patch #165</a>, and eliminate the issue as
2804    mentioned in this <a href=
2805    "https://invisible-island.net/personal/copyrights.html">copyright
2806    discussion</a>.</li>
2807
2808    <li>fix typo in this change-log (report by Sven Joachim)</li>
2809
2810    <li>update config.guess, config.sub</li>
2811  </ul>
2812
2813  <h1><a name="xterm_331" id="xterm_331">Patch #331 -
2814  2017/12/30</a></h1>
2815
2816  <ul>
2817    <li>add workaround for improper grayscale adjustments made in
2818    FreeType library, exposed by changes to rounding in 2.8.1,
2819    which shows up as a gap in line-drawing characters (Debian
2820    #880407).</li>
2821
2822    <li>improve a special case where a non-Unicode font's
2823    line-drawing characters were not used, when specifying it via
2824    the <code>utf8Fonts</code> resource, e.g.,
2825      <blockquote>
2826        <pre>
2827        -fs 15 \
2828        -xrm '*VT100.font:12x24' \
2829        -xrm '*VT100.boldFont:12x24' \
2830        -xrm '*VT100.utf8Fonts.font: 12x24' \
2831        -xrm '*VT100.utf8Fonts.boldFont: 12x24' \
2832</pre>
2833      </blockquote>
2834    </li>
2835
2836    <li>replace constant 10msec delay for next X event with new
2837    resource <code>nextEventDelay</code>, and reduce that to 1msec
2838    to accommodate faster machines than used when
2839    <code>-hold</code> was implemented in <a href=
2840    "#xterm_116">1999</a> (Debian #877628).</li>
2841
2842    <li>add <code>scroll-to</code> action, which simplifies binding
2843    a key to scroll to the beginning or end of the saved-lines
2844    (Debian #880120).</li>
2845
2846    <li>add building blocks for alternate screen and/or title-stack
2847    features in the <code>terminfo</code> file.</li>
2848
2849    <li>improve calculations for cell-data size.</li>
2850
2851    <li>change configure script to enable XHTML/SVG screen dumps by
2852    default.</li>
2853
2854    <li>change configure script to enable 256-colors by
2855    default.</li>
2856
2857    <li>update config.guess, config.sub</li>
2858
2859    <li>change configure script option for
2860    <code>--with-man2html</code> to use improved script by
2861    default.</li>
2862
2863    <li>add case for private mode 1044 in DECRQM, to report the
2864    keepClipboard resource setting and corresponding menu
2865    entry.</li>
2866
2867    <li>fix an inconsistency between private mode 12 (the AT&amp;T
2868    610 cursor blink) and <code>DECSCUSR</code>: the former relied
2869    on having the <code>cursorBlink</code> resource set initially
2870    to enable the escape sequence, while the latter does not.</li>
2871
2872    <li>add private modes 13 and 14, as well as resource
2873    <code>cursorBlinkXOR</code> to allow better control over the
2874    cursor-blinking state (discussion with Bram Moolenaar).</li>
2875
2876    <li>modify the html and svg screen dumps to support direct
2877    color</li>
2878
2879    <li>modify media copy (screen-printing) to support the same SGR
2880    codes as <code>DECRQSS</code>, including 88/256 indexed color
2881    as well as direct color.</li>
2882
2883    <li>improve options-parsing for query-status.pl script.</li>
2884
2885    <li>modify parsing of <code>SGR</code> direct-color control
2886    making <em>color space identitier</em> optional. The
2887    corresponding <code>DECRQSS</code> reply always returns an
2888    empty (default) field for the identifier.</li>
2889
2890    <li>add wide-attributes to <code>DECRQSS</code> reply for
2891    <code>SGR</code>.</li>
2892
2893    <li>add private mode 1046 to help with scripting
2894    applications.</li>
2895
2896    <li>correct expression used for readline-flags in DECRQM; to
2897    test the current flag rather than information <em>stacked</em>
2898    within the same variable.</li>
2899
2900    <li>correct typo in <code>ctlseqs.ms</code> reference to
2901    ISO-8613-6 (patch by Mike Frysinger).</li>
2902
2903    <li>fix lintian warning for test-package.</li>
2904
2905    <li>fix typo in <code>DECRQSS</code> for <code>SGR</code> 48,
2906    which printed the foreground value for colors past 15. Also use
2907    colon delimiter for codes 38/48 in response (report by Paul
2908    LeoNerd Evans).</li>
2909
2910    <li>improve workaround for Debian #542434 by using the font's
2911    maximum width when no ISO-8859-1 glyphs are provided (Debian
2912    #879936).</li>
2913
2914    <li>work around a special case of <em>Xft</em>'s mismanagement
2915    of its cached data by adding a check before the
2916    <code>-report-fonts</code> option to ensure that it does not
2917    use an <code>XftPattern</code> which may have been freed during
2918    a call to <code>XftFontOpenPattern</code>.</li>
2919
2920    <li>improve manual page description of <code>regex</code>
2921    option for <code>on<em>X</em>Clicks</code> resources (report by
2922    Lukas Mai).</li>
2923
2924    <li>add <code>directColor</code> resource.</li>
2925
2926    <li>additional manpage macro cleanup (Branden Robinson, Debian
2927    #880551).</li>
2928
2929    <li>add optional support for direct-colors (adapted from patch
2930    by anonymous &ldquo;Nibby Nebbulous&rdquo;).</li>
2931
2932    <li>improve legacy/NRC character set mapping (patch by Thomas
2933    Wolff), e.g.,
2934      <ul>
2935        <li>enable alternate NRC set designators for French and
2936        French Canadian, &lsquo;9&rsquo; and &lsquo;f&rsquo;
2937        respectively, as documented in ctlseqs. (&lsquo;9&rsquo; is
2938        documented for VT510, &lsquo;f&rsquo; is a Kermit
2939        feature).</li>
2940
2941        <li>correct the Unicode value in the <em>DEC Technical</em>
2942        table to show capital delta.</li>
2943
2944        <li>referring to
2945          <blockquote>
2946            <p><a href=
2947            "http://vt100.net/docs/vt220-rm/table2-3b.html">http://vt100.net/docs/vt220-rm/table2-3b.html</a><br>
2948
2949            <a href=
2950            "http://vt100.net/docs/vt320-uu/appendixe.html">http://vt100.net/docs/vt320-uu/appendixe.html</a></p>
2951          </blockquote>
2952
2953          <p>add entries for the <em>DEC Supplemental Graphics</em>
2954          table to display 0x28/0xa8 as &curren; and 0x5d/0xdd as
2955          &Yuml;.</p>
2956        </li>
2957
2958        <li>referring to
2959          <blockquote>
2960            <p><a href=
2961            "http://www.vt100.net/charsets/technical.html">http://www.vt100.net/charsets/technical.html</a></p>
2962          </blockquote>
2963
2964          <p>alter the Unicode values used for 0x2b through 0x2c to
2965          use <em>curly braces</em> to work with the
2966          &ldquo;middle&rdquo; parts displayed with 0x2f and
2967          0x30.</p>
2968        </li>
2969
2970        <li>modify the VT220 &ldquo;Supplemental&rdquo; table,
2971        giving a hint that it was probably meant to be
2972        &ldquo;Supplemental Graphics&rdquo; and is the same as
2973        VT320's table.</li>
2974      </ul>
2975    </li>
2976
2977    <li>quiet a few font-warnings when a derived fontname cannot be
2978    opened, overlooked in refactoring of font resources in <a href=
2979    "#xterm_328">patch #328</a> (initially reported on <a href=
2980    "https://cygwin.com/ml/cygwin/2017-06/msg00255.html">Cygwin
2981    mailing list</a>, with <a href=
2982    "https://cygwin.com/ml/cygwin/2017-07/msg00216.html">followup</a>).</li>
2983
2984    <li>correct error response for <code>DECRQSS</code> broken in
2985    cleanup of Coverity reports in <a href="#xterm_288">patch
2986    #288</a> (reports by Bram Moolenaar and IWAMOTO Kouichi).</li>
2987
2988    <li>improve <code>DECRPM</code> responses by returning <em>mode
2989    not recognized</em> for modes which may not be settable due to
2990    the selected <code>decTerminalID</code> resource (report by
2991    IWAMOTO Kouichi).</li>
2992
2993    <li>correct logic for <code>print-immediate</code> action, and
2994    enable corresponding menu entry (patch by Lauri
2995    Tirkkonen).</li>
2996
2997    <li>add configure option <code>--with-pcre2</code> (patch by
2998    David Michael).</li>
2999
3000    <li>fix a misspelled subsection title in ctlseqs.ms and add a
3001    note regarding blink which was rendered as bold in X11R6.
3002    Blinking text was implemented in <a href="#xterm_60">Patch
3003    #60</a>.</li>
3004
3005    <li>fix typos in <code>xterm.man</code> (patches by Sven
3006    Joachim, Larry Hynes).</li>
3007
3008    <li>fix typography in <code>xterm.man</code> (patch by Bjarni
3009    Ingi Gislason, Debian #869248).</li>
3010
3011    <li>fix typo in <code>INSTALL</code> (Larry Hynes).</li>
3012
3013    <li>add <code>xterm-direct</code> terminal description based on
3014    changes introduced in <a href="#xterm_277">patch #277</a>, and
3015    relying upon ncurses <code><strong>RGB</strong></code>
3016    extension.</li>
3017
3018    <li>modify <code>xterm-new</code> terminal description to use
3019    ECMA-48 <code>REP</code>, reflecting its use in xterm since
3020    <a href="#xterm_32">patch #32</a> (1996).</li>
3021
3022    <li>clarify comment in ctlseqs.ms regarding blink: it has been
3023    part of xterm since <a href="#xterm_60">patch #60</a>
3024    (1998).</li>
3025
3026    <li>update ftp URLs in documentation.</li>
3027  </ul>
3028
3029  <h1><a name="xterm_330" id="xterm_330">Patch #330 -
3030  2017/06/20</a></h1>
3031
3032  <ul>
3033    <li>updates for ReGIS (Ross Combs):
3034      <ul>
3035        <li>remove redundant text command error check which broke
3036        <code>T(B)</code> and <code>T(E)</code>.</li>
3037
3038        <li>retain the loading alphabet number across multiple
3039        &ldquo;L&rdquo; commands.</li>
3040
3041        <li>add <code>S(T)</code> delay handler.</li>
3042
3043        <li>fix some color handling error messages.</li>
3044
3045        <li>add stubbed-out macrograph handling.</li>
3046
3047        <li>use <code>fragment_remaining()</code> and
3048        <code>fragment_consumed()</code> instead of manually
3049        checking position / length in various places.</li>
3050
3051        <li>rename some local variables in string / extent / option
3052        parsing</li>
3053
3054        <li>wrap some long lines.</li>
3055
3056        <li>move macrograph command handling out of the
3057        top-level.</li>
3058      </ul>
3059    </li>
3060
3061    <li>add a summary of the italic fonts loaded to
3062    <code>-report-fonts</code> option.</li>
3063
3064    <li>modify the font-lookup for italics to allow for
3065    &ldquo;<code>-i-</code>&rdquo; if no match is found with slant
3066    &ldquo;<code>-o-</code>&rdquo; (prompted by patch by Ben
3067    Wong).</li>
3068
3069    <li>change default values for <code>mkSamplePass</code> and
3070    <code>mkSampleSize</code> to reflect generally-improved locale
3071    support in various operating systems (FreeBSD #219800).</li>
3072
3073    <li>modify <code>wcwidth.c</code> to return -1 for non-Unicode
3074    values, and adjust a couple of blocks to better match
3075    assumptions about ambiguous-width characters in other
3076    implementations. Also modify <code>wcwidth.c</code> to support
3077    configurable soft-hyphen, so there is no drawback to using this
3078    version rather than a system <code>wcwidth</code>.</li>
3079
3080    <li>amend change made in <a href="#xterm_328">patch #328</a>
3081    for cursor-visibility to handle case where an application is
3082    updating the reverse-video state (FreeBSD #219800).</li>
3083
3084    <li>update tables of combining and ambiguous-width characters
3085    in wcwidth.c based on Unicode 10.0.0.</li>
3086
3087    <li>build-fix for <code>--enable-sixel-graphics</code> without
3088    <code>--enable-regis-graphics</code> (reports by Sven Joachim,
3089    FreeBSD #219945).</li>
3090  </ul>
3091
3092  <h1><a name="xterm_329" id="xterm_329">Patch #329 -
3093  2017/06/12</a></h1>
3094
3095  <ul>
3096    <li>add control sequences for reading the Sixel and ReGIS
3097    graphics sizes (suggested by Ben Wong).</li>
3098
3099    <li>add a workaround for <code>wcwidth</code> returning -1 for
3100    characters which should have been printable (FreeBSD
3101    #219800).</li>
3102
3103    <li>fix a bug in font initialization from <a href=
3104    "#xterm_328">patch #328</a> (FreeBSD #219800).</li>
3105
3106    <li>fix a special case in <code>HideCursor</code> which
3107    assigned a bold font to the slot used for normal font in
3108    changes for italics in <a href="#xterm_307">patch #307</a>
3109    (Debian #858304).</li>
3110
3111    <li>updates for ReGIS (Ross Combs):
3112      <ul>
3113        <li>Strings specified with no command are used as
3114        "comments". Print these in the log when tracing.</li>
3115
3116        <li>Catch attempts to use "alternate display" mode (AKA
3117        "blink") from the GIGI, but do not implement it.</li>
3118
3119        <li>The <code>T(M)</code> command should only multiply the
3120        height by 10, not 20.</li>
3121
3122        <li>Make the <code>S(E)</code> command reset more state
3123        than just the screen contents.</li>
3124
3125        <li>Remove two rotation variables which were only being
3126        printed.</li>
3127
3128        <li>Numerous minor fixes and comment updates in the
3129        <code>R</code> command.</li>
3130
3131        <li>Unknown <code>R</code> command option names trigger an
3132        empty response.</li>
3133
3134        <li>Fix the output position after printing rotated text (it
3135        was missing the the sign before).</li>
3136
3137        <li>Fix the position change with pixelvectors and rotated
3138        text (the rotation transform was not being applied).</li>
3139
3140        <li>Update the <em>TODO</em> list and remove a verification
3141        <em>FIXME</em> (slanted text positioning is correct as
3142        is).</li>
3143
3144        <li>Emulate the approximately 1.4x enlargement for text
3145        which isn't rotated at right angles.</li>
3146
3147        <li>Only update the color planes specified in the plane
3148        mask (the <code>W</code> command's <code>F</code>
3149        option).</li>
3150      </ul>
3151    </li>
3152
3153    <li>fix a bug introduced by the changes to font information in
3154    <a href="#xterm_328">patch #328</a>. When processing the
3155    "checkfont" option of the <code>locale</code> resource, the
3156    program referred to the <em>request</em> data, to an array
3157    which was only allocated in the <em>new/result</em> widget
3158    (report by H Merijn Brand).</li>
3159
3160    <li>fix a missing assignment initialization to make the
3161    <code>utf8</code> resource control whether escape sequences to
3162    enable/disable UTF-8 mode are allowed.</li>
3163  </ul>
3164
3165  <h1><a name="xterm_328" id="xterm_328">Patch #328 -
3166  2017/06/01</a></h1>
3167
3168  <ul>
3169    <li>revise parser for <code>charClass</code> resource, making
3170    these improvements:
3171      <ul>
3172        <li>accept octal and hexadecimal values</li>
3173
3174        <li>allow embedded whitespace</li>
3175
3176        <li>allow the class after colon to be optional, e.g., to
3177        clear class settings for a range of characters.</li>
3178      </ul>
3179    </li>
3180
3181    <li>add command-line option
3182    <code>-report-charclass</code>.</li>
3183
3184    <li>fix most lintian warnings about test-package</li>
3185
3186    <li>add <code>eraseSavedLines</code> resource.</li>
3187
3188    <li>document <code>DECSED&nbsp;3</code> in
3189    <code>ctlseqs.ms</code> (report by Ben Longmans).</li>
3190
3191    <li>improve integration between configure-events and updates
3192    for reported screensize, in particular when switching between
3193    vt100 and tek4014 modes.</li>
3194
3195    <li>modify selection-highlighting of reverse-video text to keep
3196    that distinct, e.g., by reversing the selection foreground and
3197    background colors as one would expect. This fixes a "useless"
3198    case in the description of
3199    <code>highlightColorMode</code>.</li>
3200
3201    <li>improve fix for Debian #759734, addressing a case where
3202    non-colored cursor would be invisible against reverse-video
3203    (see <a href="#xterm_311">patch #311</a>).</li>
3204
3205    <li>updates for ReGIS (Ross Combs):
3206      <ul>
3207        <li>the "H" option of the "T" command should multiply by
3208        10, not 20.</li>
3209
3210        <li>display unknown glyphs as a solid block.</li>
3211
3212        <li>given a succession of text-direction options, use the
3213        last.</li>
3214
3215        <li>fix the direction of ReGIS slanted text so that
3216        negative values produce oblique output .</li>
3217
3218        <li>fix the ReGIS text direction option to only rotate
3219        characters when no following size option is used.</li>
3220      </ul>
3221    </li>
3222
3223    <li>update terminfo to better match corresponding entries in
3224    ncurses, e.g., <code>u8</code> pattern to match the VT220,
3225    VT420, etc., primary responses, as well as adding
3226    <code>smxx</code> and <code>rmxx</code>.</li>
3227
3228    <li>fixes from J&ouml;rg Sommer:
3229      <ul>
3230        <li>corrected a trace-message regarding maximum
3231        graphics-size; it used the similar ReGIS maximum size which
3232        might not be configured.</li>
3233
3234        <li>in <code>do_select_regex</code>, clear selection if
3235        there is no match. If the regex does not match anything
3236        around the cursor, the selection returned must be empty,
3237        otherwise the whole line is treated as a match. This way
3238        the command defined by <code>exec-selectable</code> will
3239        not be executed if there is no match.</li>
3240
3241        <li>modify limit in <code>do_select_regex</code> to include
3242        the character at the cursor in the match, making it easier
3243        to type something and then hit the key to trigger
3244        <code>exec-selectable</code>.</li>
3245
3246        <li>If <code>exec-selectable</code> or
3247        <code>insert-selection</code> is triggered by a mouse
3248        button click, the position of the mouse pointer should be
3249        used. This makes it easier to address any position on the
3250        window and it makes it possible to use the mouse, e.g., for
3251        applications such as mutt where you cannot move the
3252        cursor.</li>
3253      </ul>
3254    </li>
3255
3256    <li>modify <code>DECRC</code> to save/restore xterm's
3257    last-column flag used to control wrapping behavior rather than
3258    manipulating <code>DECAWM</code> (report/analysis by Mattias
3259    Engdeg&aring;rd).</li>
3260
3261    <li>add configure option <code>--enable-terminfo-env</code> to
3262    use the value set by <code>--with-own-terminfo</code> for the
3263    <code>$TERMINFO</code> environment variable. That variable was
3264    set automatically for HPUX, but would be useful in other
3265    systems, e.g., for Solaris (request by Jeff Wieland).</li>
3266
3267    <li>fix a race condition when setting up a signal handler to
3268    timeout if opening <code>/dev/tty</code> hangs (patch by Tobias
3269    Stoeckmann).</li>
3270
3271    <li>review/cleanup resources which were not in the manual page
3272    (report by Maxwell Anselm):
3273      <ul>
3274        <li>add manual page description as needed.</li>
3275
3276        <li>drop resource name for <code>menuBar</code>, as
3277        unnecessary.</li>
3278
3279        <li>modify fallback numeric value for
3280        <code>regisScreenSize</code> resource to match that for
3281        <code>maxGraphicSize</code>.</li>
3282      </ul>
3283    </li>
3284
3285    <li>updated configure macros <code>CF_ADD_CFLAGS</code>,
3286    <code>CF_CC_ENV_FLAGS</code>, <code>CF_GNU_SOURCE</code>,
3287    <code>CF_MATH_LIB</code>, and <code>CF_XOPEN_SOURCE</code> from
3288    other program-changes.</li>
3289
3290    <li>update config.guess, config.sub</li>
3291
3292    <li>change &ldquo;maximum screensize&rdquo; assumed by
3293    <code>resize</code> to 9999x9999, to accommodate people using
3294    the <em><code>Unreadable</code></em> font.</li>
3295
3296    <li>drop <code>Utility</code> from default value of
3297    <code>--with-desktop-category</code> (Debian #780176).</li>
3298
3299    <li>widen the configure script pattern used for finding related
3300    ".desktop" files, including &ldquo;Terminal&rdquo;</li>
3301
3302    <li>several minor improvements to font utility functions:
3303      <ul>
3304        <li>provide for later modification to implement font-sets
3305        by parsing the font resources as comma-separated
3306        lists.</li>
3307
3308        <li>parse <code>-fn</code> and <code>-fa</code> similarly,
3309        using &ldquo;x:&rdquo; and &ldquo;xft:&rdquo; prefixes for
3310        font name/family strings to distinguish between XLFD and
3311        Xft font specifications.</li>
3312
3313        <li>use loops to iterate over font classes</li>
3314
3315        <li>use getters/setters for font data to allow for
3316        on-demand lookups.</li>
3317
3318        <li>make the debugging trace for missing glyph less verbose
3319        since that interferes with the <code>-report-fonts</code>
3320        option.</li>
3321
3322        <li>refactor <code>xtermLoadFont</code> to make it clearer
3323        how some fonts are derived from others, e.g., bold,
3324        wide.</li>
3325
3326        <li>make the triggering and suppressing of font-warnings
3327        more consistent by storing the last state in the
3328        widget.</li>
3329
3330        <li>reduce font-warnings by checking for repeated
3331        warnings.</li>
3332      </ul>
3333    </li>
3334
3335    <li>add <code>vttests/query-status.pl</code></li>
3336
3337    <li>add <code>vttests/closest-rgb</code></li>
3338
3339    <li>add special case for displaying soft-hyphen if it happens
3340    to fall at the right margin, and omitting similar case such as
3341    the BIDI markers, where a zero-width character is neither a
3342    control character nor a combining character (Debian
3343    #844325).</li>
3344
3345    <li>modify logic for <code>OSC&nbsp;52</code>, <em>manipulate
3346    selection data</em>, to update the selection-time to include
3347    the latest X events. This fixes some cases where the selection
3348    was invalid, e.g., after an event due to focus-follows-mouse
3349    (report/testcase by Stephane Chauveau).</li>
3350
3351    <li>revise macro <code>CastMallocN</code> as new macro
3352    <code>TextAlloc</code> to make explicit use of
3353    <code>sizeof(char)</code> (prompted by patch by Cade
3354    Foster).</li>
3355
3356    <li>add <em>&ldquo;Mouse Ops&rdquo;</em> menu entry and related
3357    resources to allow runtime disabling/enabling of the mouse
3358    protocol escape sequences (discussion with Bob Proulx).</li>
3359
3360    <li>improve discussion of mouse actions versus protocol in the
3361    manual (discussion with Bob Proulx).</li>
3362
3363    <li>improve discussion of environment variables in the manual,
3364    pointing out where some features (such as termcap and the
3365    System5 <code>COLUMNS</code> and <code>LINES</code> variables)
3366    are used rarely, mainly to support legacy applications.</li>
3367
3368    <li>add examples of <code>translations</code> resource for
3369    select/paste, and for font-size changes to the manual.</li>
3370
3371    <li>minor reordering of some entries in <code>ctlseqs.ms</code>
3372    for consistency (report by Arran Ubels).</li>
3373
3374    <li>add <code>-s</code> option to <code>256colors2.pl</code>
3375    and <code>88colors2.pl</code>, to demonstrate modifying the
3376    &ldquo;system&rdquo; colors 0&ndash;15.</li>
3377
3378    <li>omit <code>XFT_SPACING</code> property from call to <code>
3379      XftPatternBuild</code>, to work around a bug in
3380      <em>fontconfig</em> for handling Google Go fonts, whose names
3381      sort in an order not expected by <em>fontconfig</em>, causing
3382      the request for a monospaced font to return <em>italics</em>,
3383      e.g.,
3384      <blockquote>
3385        <pre>
3386$ fc-match 'Go Mono:spacing=monospace'
3387Go-Mono-Italic.ttf: "Go Mono" "Italic"
3388(report by Giacomo Boffi on <a href=
3389"http://unix.stackexchange.com/questions/324941/xterm-displays-an-italic-face-instead-of-regular">Stackoverflow</a>).
3390
3391</pre>
3392      </blockquote>
3393    </li>
3394
3395    <li>modify <code>minstall.in</code> to improve a workaround
3396    added to the manual page in <a href="#xterm_182">patch #182</a>
3397    to avoid having the C preprocessor used in the imake
3398    configuration strip out the comments in the character classes
3399    section (reports by Ted Unangst, Anthony J Bentley).</li>
3400  </ul>
3401
3402  <h1><a name="xterm_327" id="xterm_327">Patch #327 -
3403  2016/10/07</a></h1>
3404
3405  <ul>
3406    <li>add a check in the function which handles end-of-line
3407    wrapping to ensure that C1 controls are allocated one column
3408    when <code>allowC1Printable</code> is set (Debian
3409    #738794).</li>
3410
3411    <li>use consistent error-checking after <code>strtol</code>
3412    calls, fixes a case where a query with OSC 6 did not ensure
3413    there was a valid color number (report by Alex Smith).</li>
3414
3415    <li>add <code>-baudrate</code> option, for testing
3416    ncurses.</li>
3417
3418    <li>always generate the <code>CASE_<em>xxx</em></code> symbols
3419    in <code>VTparse.h</code> and <code>Tekparse.h</code>, as part
3420    of a change to improve debug-logging. This makes the build
3421    always depend upon <code>awk</code>.</li>
3422
3423    <li>modify <code>allowC1Printable</code> to disallow codes
3424    160-254 as being equivalent to codes 32-126 when parsing escape
3425    sequences (Debian #839220).</li>
3426
3427    <li>amend fix from <a href="#xterm_326">patch #326</a> for
3428    TrueType fonts to exclude the hidden character used for
3429    double-width cells (report by Grady Martin).</li>
3430
3431    <li>fix a typo in <code>ctlseqs.ms</code></li>
3432  </ul>
3433
3434  <h1><a name="xterm_326" id="xterm_326">Patch #326 -
3435  2016/09/25</a></h1>
3436
3437  <ul>
3438    <li>updated appdata file (report by Richard Hughes).</li>
3439
3440    <li>improve discussion of the different terminal emulations
3441    provided by xterm in the manual page.</li>
3442
3443    <li>add examples of setting the icon title with/without the
3444    window title in the manual (Debian #833984).</li>
3445
3446    <li>correct a limit-check when using a numeric value for
3447    extended Booleans e.g., <code>*fullscreen:3</code> rather than
3448    a name such as <code>*fullscreen:never</code>.</li>
3449
3450    <li>add action <code>allow-bold-fonts</code></li>
3451
3452    <li>improved formatting fixes for manual page, using script to
3453    find mismatches in spelling of resources, actions and menu
3454    entries.</li>
3455
3456    <li>improve documentation of logging resources.</li>
3457
3458    <li>fix a special case of flickering cursor by adding
3459    <code>GraphicsExpose</code> to the list of event types that
3460    should not trigger making the mouse cursor visible (patch by
3461    Joe Peterson).</li>
3462
3463    <li>correct initialization of line-drawing in VT52-mode,
3464    overlooked in changes for <a href="#xterm_297">patch #297</a>
3465    (report/patch by Ben Wiley Sittler).</li>
3466
3467    <li>minor clarification of form-feed versus line-feed in
3468    <code>ctlseqs.ms</code> (suggested by David Kemper).</li>
3469
3470    <li>amend fix for Debian #738794 to restore a check for missing
3471    characters which are <em>not</em> combining characters. Also
3472    fill in a corresponding special case for TrueType fonts (Debian
3473    #827905).</li>
3474  </ul>
3475
3476  <h1><a name="xterm_325" id="xterm_325">Patch #325 -
3477  2016/06/05</a></h1>
3478
3479  <ul>
3480    <li>improve manual page discussion of function keys (discussion
3481    with Ross Combs).</li>
3482
3483    <li>further improve fix for Debian #545220 in <a href=
3484    "#xterm_248">patch #248</a>, to avoid conflict with combining
3485    characters (Debian #738794).</li>
3486
3487    <li>improve <code>-hold</code> option to avoid 100% CPU usage
3488    with NetBSD after closing the shell, which makes subsequent
3489    checks for X input events fail (prompted by patch by Pierre
3490    Pronchery).</li>
3491
3492    <li>review <code>#ifdef</code> statements, listed those which
3493    do not have a configure option in
3494    <code>xtermcfg.hin</code>.</li>
3495
3496    <li>fixed one case where the menu sensistivity for
3497    <em>Print-All Immediately</em> and <em>Print-All on Error</em>
3498    was not properly ifdef'd.</li>
3499
3500    <li>modify terminfo entries for 16-, 88- and 256-color to reset
3501    palette with <code>rs1</code> capability.</li>
3502
3503    <li>accept <code>legacy</code> value of <code>-kt</code> as
3504    synonym for the <code>oldXtermFKeys</code> resource, and extend
3505    the full-reset logic to use the keyboard type set via
3506    <code>-kt</code>.</li>
3507
3508    <li>modify <code>ioctl</code> calls for <code>I_PUSH</code> to
3509    first check if the module has been added, using
3510    <code>I_FIND</code>. This is needed for newer Solaris libraries
3511    with c11 support (adapted from patch by Alan Coopersmith).</li>
3512
3513    <li>add check in <code>getXtermCombining</code> to ensure that
3514    combining characters were allocated (report by Tor
3515    Andersson).</li>
3516
3517    <li>add configure option <code>--without-xinerama</code> to
3518    allow suppressing the extension (Gentoo #580936).</li>
3519
3520    <li>update keysym2ucs.c based on Unicode 9.0</li>
3521
3522    <li>fixed most <code>cppcheck --enable=all</code> warnings,
3523    including for style (prompted by report by David Binderman).
3524    There was one bug-fix:
3525      <ul>
3526        <li>RGB least-squares computation in
3527        <code>allocateClosestRGB</code> used only one ordinate</li>
3528      </ul>
3529    </li>
3530
3531    <li>add <code>cppcheck</code> to lint-like programs in
3532    configure script and makefile.</li>
3533
3534    <li>fix some const correctness issues and point out an array
3535    lifetime issue (Ross Combs).</li>
3536
3537    <li>updates for SIXEL and ReGIS (Ross Combs):
3538      <ul>
3539        <li>Sixel drawing should still happen after an error if
3540        some commands have been processed</li>
3541
3542        <li>Tiny steps toward reporting ReGIS input</li>
3543      </ul>
3544    </li>
3545  </ul>
3546
3547  <h1><a name="xterm_324" id="xterm_324">Patch #324 -
3548  2016/03/10</a></h1>
3549
3550  <ul>
3551    <li>updated configure macro <code>CF_LD_RPATH_OPT</code> from
3552    ncurses changes.</li>
3553
3554    <li>provide alternate fix for Juha Nurmela's report by turning
3555    on POSIX signals if <code>_POSIX_C_SOURCE</code> is at least
3556    one. This is done to improve the behavior if a direct child
3557    process receives a <code>STOP</code> signal.</li>
3558
3559    <li>revert change to <code>CF_POSIX_C_SOURCE</code> from
3560    <a href="#xterm_323">patch #323</a> (reports by Ashish Shukla,
3561    Christian Weisgerber).</li>
3562  </ul>
3563
3564  <h1><a name="xterm_323" id="xterm_323">Patch #323 -
3565  2016/03/07</a></h1>
3566
3567  <ul>
3568    <li>updated appdata and desktop files to add keywords (report
3569    by Richard Hughes).</li>
3570
3571    <li>modify configure macro <code>CF_POSIX_C_SOURCE</code> to
3572    accommodate some systems, e.g., FreeBSD, which have separated
3573    their implementation specific preprocessor symbols from the
3574    POSIX ones, requiring both to be defined (report by Juha
3575    Nurmela).</li>
3576
3577    <li>change the directory to the current working dir of the
3578    child process in exec-formatted and exec-selectable actions
3579    (patch by Alexander Pohoyda).</li>
3580
3581    <li>correct typo in xterm.man (patch by Larry Hynes).</li>
3582
3583    <li>correct typo in ctlseqs.ms (report by Shriramana
3584    Sharma).</li>
3585
3586    <li>add feature to support XHTML and SVG screen dumps (patch by
3587    Jens Schweikhardt).</li>
3588
3589    <li>correct response to DECRQSS when terminal id is less than
3590    400 (patch by Iwamoto Kouichi).</li>
3591  </ul>
3592
3593  <h1><a name="xterm_322" id="xterm_322">Patch #322 -
3594  2016/01/02</a></h1>
3595
3596  <ul>
3597    <li>fix regression due to incorrect fix for compiler warning
3598    when allocating storage for <code>/etc/shells</code> (reports
3599    by Ashish Shukla, Debian #809646).</li>
3600  </ul>
3601
3602  <h1><a name="xterm_321" id="xterm_321">Patch #321 -
3603  2015/12/31</a></h1>
3604
3605  <ul>
3606    <li>add resource <code>keepClipboard</code>, escape sequence
3607    and action <code>keep-clipboard</code>.</li>
3608
3609    <li>add optional feature to capture text copied to clipboard at
3610    the time of copying rather than at the time the clipboard
3611    contents are requested for pasting (patch by Milan
3612    Mehner).</li>
3613
3614    <li>improve a special case where the <code>-e</code> option was
3615    used to pass a single-quoted command via <code>luit</code>, by
3616    wrapping it in a &ldquo;sh -c&rdquo; (report by Keith
3617    Hedger).</li>
3618
3619    <li>minor fix for type-cleanliness when allocating storage for
3620    <code>/etc/shells</code> (Tobias Stoeckmann).</li>
3621
3622    <li>fix a typo in manual page (Dan Church).</li>
3623
3624    <li>fix minor file-descriptor leak; after calling
3625    <code>openpty</code>, the slave's file descriptor is not needed
3626    (report by Juha Nurmela).</li>
3627
3628    <li>editorial change to ctlseqs.ms (report by David
3629    Gomboc).</li>
3630
3631    <li>minor updates for autoconf macros.</li>
3632
3633    <li>update config.guess, config.sub</li>
3634  </ul>
3635
3636  <h1><a name="xterm_320" id="xterm_320">Patch #320 -
3637  2015/08/28</a></h1>
3638
3639  <ul>
3640    <li>correct documentation for <code>%t</code> format (report by
3641    Martin Tournoij).</li>
3642
3643    <li>add <code>%R</code> for consistency to
3644    <code>exec-formatted()</code> and
3645    <code>insert-formatted()</code> actions.</li>
3646
3647    <li>add <code>%r</code> format to <code>exec-formatted()</code>
3648    and <code>insert-formatted()</code> actions (patch by Martin
3649    Tournoij).</li>
3650
3651    <li>Amend fix for Debian #794201 (report forwarded from
3652    Christian Jachmann by Emanuel Haupt, Debian #797008).</li>
3653  </ul>
3654
3655  <h1><a name="xterm_319" id="xterm_319">Patch #319 -
3656  2015/08/19</a></h1>
3657
3658  <ul>
3659    <li>add a section to <code>ctlseqs.ms</code> discussing control
3660    sequences and ECMA-48, to explain why C1 controls do not occur
3661    in the decoded characters from UTF-8 byte streams (prompted by
3662    discussion with Poul-Henning Kamp).</li>
3663
3664    <li>modify check for cursor-theme from <a href=
3665    "#xterm_301">patch #301</a> to also check if the resource
3666    <code>Xcursor.theme</code> is set to a nonempty value before
3667    fallback to xterm's own dummy theme (request by Robert
3668    Kloefkorn).</li>
3669
3670    <li>explain in <code>ctlseqs.ms</code> that some keys which
3671    normally send SS3-prefixes are changed to CSI-prefixes if
3672    key-modifiers are passed as parameters (report by George
3673    Nachman).</li>
3674
3675    <li>correct double-free of font information when multiple
3676    problems are found, particularly for the wide fonts loaded via
3677    the <code>-wc</code> option (report/testcase by Nelson
3678    Beebe).</li>
3679
3680    <li>make configure option <code>--enable-builtin-xpms</code>
3681    actually work (report by William Bulley).</li>
3682
3683    <li>correct combination of <code>-ls</code> and <code>-e</code>
3684    options for utempter configuration (Debian #794201).</li>
3685
3686    <li>NetBSD build-fix for OPT_RENDERFONT versus OPT_SHIFT_FONTS
3687    (patch by Matthew Green, forwarded by Thomas Klausner).</li>
3688
3689    <li>fix a few minor bugs found with Coverity.</li>
3690
3691    <li>update pixelvector handling (Ross Combs):
3692      <ul>
3693        <li>split pixel-based and coord-based functions with common
3694        parts factored out to a "raw" function</li>
3695
3696        <li>add a "step" variant which loads a single PV digit</li>
3697      </ul>
3698    </li>
3699
3700    <li>make the graphic dirty upon resize or clear, fixing some
3701    missing refreshes (patch by Ross Combs)</li>
3702
3703    <li>fixes scrolling to use user coordinates and move in the
3704    correct direction (patch by Ross Combs)</li>
3705
3706    <li>several fixes/improvements for ReGIS whitespace and
3707    page-handling (patch by Ross Combs).</li>
3708  </ul>
3709
3710  <h1><a name="xterm_318" id="xterm_318">Patch #318 -
3711  2015/04/12</a></h1>
3712
3713  <ul>
3714    <li>rename new(er) configure option
3715    <code>--enable-initial-erase</code> to
3716    <code>--enable-pty-erase</code>, since that conflicted with an
3717    existing option (report by Jens Schweikhardt).</li>
3718
3719    <li>fix cut/paste error in <code>--with-builtin-xpms</code>
3720    configure option (reports by Jens Schweikhardt, Ross
3721    Combs).</li>
3722
3723    <li>fix minor formatting issue in xterm manual (report by Jens
3724    Schweikhardt).</li>
3725
3726    <li>eliminate unnecessary "#(vi" markers in autoconf macros by
3727    using "(" to begin case-statement cases (suggested by Jens
3728    Schweikhardt).</li>
3729
3730    <li>minor fixes to improve <code>const</code> usage (Ross
3731    Combs).</li>
3732  </ul>
3733
3734  <h1><a name="xterm_317" id="xterm_317">Patch #317 -
3735  2015/03/27</a></h1>
3736
3737  <ul>
3738    <li>adapt example for <code>exec-formatted</code> from <a href=
3739    "http://lukas.zapletalovi.com/2013/07/hidden-gems-of-xterm.html">
3740    Luk&aacute;&scaron; Zapletal's</a> webpage to manual (Debian
3741    #780008).</li>
3742
3743    <li>add a short usage section to the xterm manual, including
3744    notes on setting the window title (Debian #742477).</li>
3745
3746    <li>revise a change made to <code>ICH</code> in <a href=
3747    "#xterm_314">patch #314</a> to address limit-checks
3748    (reports/testcases by Zolt&aacute;n K&eacute;ri and Joe
3749    Peterson, also reported by Christian Weisgerber).</li>
3750  </ul>
3751
3752  <h1><a name="xterm_316" id="xterm_316">Patch #316 -
3753  2015/03/07</a></h1>
3754
3755  <ul>
3756    <li>revert change to make <code>DCH</code> honor top/bottom
3757    scrolling margins. For the record, both the VT420 and VT520
3758    reference manuals incorrectly state that <em>"DCH has no effect
3759    outside the scrolling margins."</em></li>
3760
3761    <li>fix regression in <code>DCH</code> introduced in adjustment
3762    for limit-check in <a href="#xterm_314">patch #315</a>
3763    (report/testcase by Zolt&aacute;n K&eacute;ri, also reported by
3764    Christian Weisgerber).</li>
3765
3766    <li>correct default value for configure option
3767    <code>--enable-initial-erase</code>; it should be "False", but
3768    in <a href="#xterm_315">patch #315</a> it was "Maybe", which
3769    differed from default set in <a href="#xterm_192">patch
3770    #192</a>.</li>
3771  </ul>
3772
3773  <h1><a name="xterm_315" id="xterm_315">Patch #315 -
3774  2015/03/02</a></h1>
3775
3776  <ul>
3777    <li>change default for <code>--enable-narrowproto</code> for
3778    Cygwin to "no" to better match contemporary configurations
3779    (report by Jens Schweikhardt, prompted by <a href=
3780    "http://stackoverflow.com/questions/28137618/what-is-a-narrow-prototype-and-why-would-i-need-one/28334574?noredirect=1#comment45022128_28334574">
3781    discussion</a>).</li>
3782
3783    <li>provide <code>OSC&nbsp;106</code> as an alternative to
3784    <code>OSC&nbsp;6</code>, avoiding conflict with one of
3785    Terminal.app's undocumented escape sequences (report by Egmont
3786    Koblinger).</li>
3787
3788    <li>fix an off-by-one in comparison when autowrap and
3789    left/right margins are combined (report by George
3790    Nachman).</li>
3791
3792    <li>modify <code>DECBI</code> and <code>DECFI</code> to work
3793    outside the left/right margins, since the vague VT520 reference
3794    manual could support that interpretation (suggested by George
3795    Nachman).</li>
3796
3797    <li>correct response for <code>DECSCUSR</code> in
3798    <code>DECRQSS</code> (report/analysis by George Nachman).</li>
3799
3800    <li>add <code>DECSLRM</code> to list for <code>DECRQSS</code>
3801    in ctlseqs.ms (report by George Nachman).</li>
3802
3803    <li>improve limit-checks versus assert's in the debugging
3804    version (reports by George Nachman).</li>
3805
3806    <li>correct a problem with multiple writes to the right-margin
3807    when autowrap is turned off (report by George Nachman, also
3808    reported in Gnome #744819 by Ulf Magnusson).</li>
3809
3810    <li>modify <code>DCH</code> to honor top/bottom and left/right
3811    margins (report by George Nachman).</li>
3812
3813    <li>correct off-by-one in comparison so that <code>DL</code>
3814    honors left/right margins (report by George Nachman).</li>
3815
3816    <li>correct logic of <code>DECSCL</code>, which always set
3817    8-bit controls as a side-effect (report by George
3818    Nachman).</li>
3819
3820    <li>correct loop limit for <code>DECSED&nbsp;1</code>, when
3821    <code>DECSCA</code> is enabled (report by George Nachman).</li>
3822
3823    <li>fix a entry in csi_table for &ldquo;<code>$</code>&rdquo;,
3824    needed for <code><em>CSI</em>&nbsp;[&nbsp;$&nbsp;z</code>
3825    (report by George Nachman).</li>
3826
3827    <li>remove restriction from <a href="#xterm_279">patch #279</a>
3828    changes on <code>DECIC</code> and <code>DECDC</code> to
3829    left-right mode (report by George Nachman).</li>
3830
3831    <li>correct PID value returned in response to DECRQCRA
3832    (report/analysis by George Nachman).</li>
3833
3834    <li>fix an ifdef'ing problem, where
3835    <code>--disable-dec-locator</code> would turn off logic needed
3836    for <code>DECIC</code> and <code>DECDC</code> (report by George
3837    Nachman).</li>
3838
3839    <li>correct order of parameters in report for
3840    <code><em>CSI</em>&nbsp;1&nbsp;9&nbsp;t</code>, which gives the
3841    screensize in characters (report by George Nachman).</li>
3842
3843    <li>add null pointer checks for a case in DECCRA where part of
3844    the target rectangle lies outside the screen limits (report by
3845    George Nachman).</li>
3846
3847    <li>remove extra "6" for selective erase from DA1 response
3848    (report by George Nachman).</li>
3849
3850    <li>support Xinerama screen specification in geometry parsing
3851    (patch by Nicolas George).</li>
3852
3853    <li>add configure option <code>--enable-initial-erase</code> to
3854    set <code>ptyInitialErase</code> consistently with manpage, as
3855    well as adding a table in manpage to clarify the relationship
3856    between the resources related to the backarrow key (Debian
3857    #775952).</li>
3858
3859    <li>add configure <code>--enable-builtin-xpms</code> to
3860    simplify compiling-in the icons introduced in <a href=
3861    "#xterm_284">patch #284</a> (prompted by discussion with
3862    William Bulley).</li>
3863
3864    <li>fix/improve autoconf macros:
3865      <ul>
3866        <li>CF_WITH_APP_DEFAULTS, add paths for OSX</li>
3867
3868        <li>CF_WITH_MAN2HTML, configure option "--with-man2html"
3869        provides "man2html" as alternative to groff's man/html
3870        conversion</li>
3871      </ul>
3872    </li>
3873
3874    <li>fix some minor issues in manpage (Jens Schweikhardt).</li>
3875  </ul>
3876
3877  <h1><a name="xterm_314" id="xterm_314">Patch #314 -
3878  2014/12/28</a></h1>
3879
3880  <ul>
3881    <li>fix a minor bug in the termcap-specific version of
3882    <code>resize</code> when the lines or columns values are at the
3883    very end of an incomplete termcap string (prompted by coverity
3884    report).</li>
3885
3886    <li>improve paste64 feature (report by Olaf Rogalsky)
3887      <ul>
3888        <li>fix &ldquo;<code>p</code>;&rdquo; command in
3889        <code>paste64.pl</code> example.</li>
3890
3891        <li>modify <code>_OwnSelection</code> to allow the paste64
3892        control to cause primary/clipboard selections to be
3893        disowned and cleared.</li>
3894
3895        <li>omit an extra "=" used in padding, to make the base64
3896        response a multiple of four characters.</li>
3897
3898        <li>modify <code>_ConvertSelectionHelper</code> to not stop
3899        converting on embedded nulls in the primary or clipboard
3900        selection. That makes the behavior consistent with
3901        cut-buffers. Nulls are not passed on to the application
3902        because they are used for separators in the X library calls
3903        that convert <code>XTextProperty</code> values.</li>
3904      </ul>
3905    </li>
3906
3907    <li>add configure option <code>--with-man2html</code> to allow
3908    an alternative to groff's man/html conversion.</li>
3909
3910    <li>review and modify resource-settings which can be set via
3911    control sequences, etc:
3912      <ul>
3913        <li>add <code>OSC&nbsp;6</code>, to enable/disable colors
3914        set via <code>OSC&nbsp;5</code>, without changing the color
3915        assignments (prompted by patch by Ingo Br&uuml;ckl).</li>
3916
3917        <li>add command-line option <code>-itc</code> for
3918        italics.</li>
3919
3920        <li>add <code>colorIT</code> and <code>colorITMode</code>
3921        for italics, like <code>colorBD</code>, etc.</li>
3922
3923        <li>guard <code>allowPasteControls</code> against
3924        modification by <code>editres</code>.</li>
3925      </ul>
3926    </li>
3927
3928    <li>change <code>passedPty</code> from fixed-length to
3929    allocated to ensure that it is long enough to hold the
3930    <code>-S</code> option value (report by Ben Longbons).</li>
3931
3932    <li>improve ReGIS graphics initialization (Ross Combs):
3933      <ul>
3934        <li>add a new string resource to set the default ReGIS
3935        font.</li>
3936
3937        <li>fix a caching problem where the font name wasn't taken
3938        into consideration when looking up cached metrics.</li>
3939
3940        <li>enables use of fractional values in coordinates (which
3941        in turn allows setting the coordinates to something like
3942        [0,1][1,0])</li>
3943
3944        <li>doubles the minimum ReGIS graphic to 200x200</li>
3945
3946        <li>set the default ReGIS image size to "auto"</li>
3947
3948        <li>fix some swapped width/height parameters in TRACE
3949        messages</li>
3950
3951        <li>add support for scaling and mirrored coordinate systems
3952        to the screen address command</li>
3953
3954        <li>sets a minimum ReGIS graphics size of 100x100 --
3955        smaller address ranges will be scaled up</li>
3956
3957        <li>reset the image if either the width or height is zero
3958        (which should happen together or not at all, but switching
3959        the logic gets rid of some parentheses)</li>
3960
3961        <li>adds support for alternate screen coordinates (just
3962        offsets, not inverted coordinates or scaling)</li>
3963
3964        <li>keeps the graphics state across ReGIS calls unless P1
3965        or P3 entry codes are used</li>
3966
3967        <li>changes loops to continue after parsing whitespace to
3968        allow trailing whitespace</li>
3969
3970        <li>fixes some incorrect character casts</li>
3971      </ul>
3972    </li>
3973  </ul>
3974
3975  <h1><a name="xterm_313" id="xterm_313">Patch #313 -
3976  2014/11/28</a></h1>
3977
3978  <ul>
3979    <li>add <code>regisScreenSize</code> resource setting to allow
3980    custom screensizes for ReGIS graphics (prompted by discussion
3981    with Scott Froebe).</li>
3982
3983    <li>fix some minor issues in manpage (Jens Schweikhardt).</li>
3984
3985    <li>improve ReGIS font-handling (Ross Combs):
3986      <ul>
3987        <li>remove "random junk" generation for unknown
3988        characters</li>
3989
3990        <li>add xterm extension to load user glyphs for alphabet
3991        0</li>
3992
3993        <li>add xterm extension to specify loading an alphabet from
3994        a font by name</li>
3995
3996        <li>fix bug with use of empty alphabet slots which caused
3997        slot 0 to be clobbered</li>
3998
3999        <li>update/clarify ReGIS-related comments</li>
4000
4001        <li>add DECprint extension for printing/clearing the screen
4002        (only clearing is performed)</li>
4003      </ul>
4004    </li>
4005
4006    <li>improve ReGIS colorspec conversion (Ross Combs):
4007      <ul>
4008        <li>avoid some floating point math for colorspace
4009        conversion</li>
4010
4011        <li>move two copies of colorspec parsing to a single
4012        function</li>
4013
4014        <li>change colorspec parsing to handle components being out
4015        of order or with spaces and commas between them</li>
4016
4017        <li>add support for an extension where RGB components can
4018        be given instead of HLS</li>
4019      </ul>
4020    </li>
4021
4022    <li>improve use of const, e.g., for the <code>LineData</code>
4023    pointers (patch by Ross Combs).</li>
4024
4025    <li>clip of graphics that overlap the scrollback buffer and alt
4026    screen (patch by Ross Combs).</li>
4027
4028    <li>amend change to focus-change events in <a href=
4029    "#xterm_287">patch #287</a> to limit it to suppressing the
4030    reset of the urgency-hint, because some useful
4031    <code>FocusOut</code> events were lost (report by Joe
4032    Peterson).</li>
4033
4034    <li>modify dpkg build-script to configure xterm-dev as an
4035    <code>x-terminal-emulator</code> alternative.</li>
4036
4037    <li>extend the <code>--with-xterm-symlink</code> feature to
4038    make symbolic links for the other programs and scripts.</li>
4039
4040    <li>minor fix to <code>vttests/resize.pl</code> to avoid
4041    undefined variable when receiving broken/missing response,
4042    e.g., from mrxvt.</li>
4043
4044    <li>change the way that ReGIS graphics are refreshed (patch by
4045    Ross Combs):
4046      <ul>
4047        <li>it pre-composes any overlapping graphics to avoid
4048        unnecessary and flickering draws</li>
4049
4050        <li>it adds a three-dimensional lookup table for RGB -&gt;
4051        pixel values and uses this across all graphics</li>
4052
4053        <li>it draws in line segments when there is a run of the
4054        same color</li>
4055
4056        <li>in cases where there are no transparent parts, it uses
4057        an XImage to draw</li>
4058
4059        <li>it hooks into the double-buffering support if it is
4060        enabled (though this doesn't seem to get rid of all
4061        flicker).</li>
4062      </ul>
4063      This has the effect of reducing flicker and speeding up
4064      redraws.
4065    </li>
4066  </ul>
4067
4068  <h1><a name="xterm_312" id="xterm_312">Patch #312 -
4069  2014/09/28</a></h1>
4070
4071  <ul>
4072    <li>undo change to <code>do_select_regex()</code> in <a href=
4073    "#xterm_311">patch #311</a> (reports by H Merijn Brand,
4074    Sven-Haegar Koch, Debian #762978).</li>
4075  </ul>
4076
4077  <h1><a name="xterm_311" id="xterm_311">Patch #311 -
4078  2014/09/18</a></h1>
4079
4080  <ul>
4081    <li>mention <code>xclip</code> in manpage as an alternative
4082    workaround for copying clipboard data, noting that
4083    <code>selectToClipboard</code> (see <a href="#xterm_209">patch
4084    #209</a>) is the recommended approach (Debian #639094).</li>
4085
4086    <li>correct comparison in do_select_regex() of working position
4087    against starting column.</li>
4088
4089    <li>correct initialization for regular-expression feature of
4090    <code>exec-selectable</code> and <code>insert-selectable</code>
4091    actions (Debian #758633).</li>
4092
4093    <li>modify logic for <code>exec-formatted</code> and
4094    <code>insert-formatted</code> actions to ensure that the
4095    formatting occurs just after the selection is received (Debian
4096    #758633).</li>
4097
4098    <li>account for state of reverse-video in special case of
4099    cursor coloring (Debian #759734).</li>
4100
4101    <li>fix a sign-extension problem in ReGIS support, as well as
4102    correcting a case where ignored-characters were not really
4103    ignored (patch by Ross Combs).</li>
4104
4105    <li>Enable the "Escape Sequence" menu entry when an OSC&nbsp;50
4106    is received. Also disable it if the escape sequence specifies
4107    no font (Debian #760208).</li>
4108
4109    <li>improve fix for the <code>fontsel</code> menu entry from
4110    <a href="#xterm_304">patch #304</a>: because the recovery used
4111    the "current font", it would fail if one first selected a valid
4112    font, then an invalid font (Debian #760207).</li>
4113
4114    <li>correct an off-by-one in limit-check for
4115    <code>ScrnLimitChar</code> function (report by Egmont
4116    Koblinger).</li>
4117  </ul>
4118
4119  <h1><a name="xterm_310" id="xterm_310">Patch #310 -
4120  2014/07/25</a></h1>
4121
4122  <ul>
4123    <li>update package/freebsd files based on xterm #309 port.</li>
4124
4125    <li>adapt changes from Minux3.2 which ported <a href=
4126    "#xterm_197">xterm #197</a>, to allow building on that platform
4127    both using <code>imake</code> as well as using the configure
4128    script.</li>
4129
4130    <li>update precompose.c based on Unicode 7.0</li>
4131
4132    <li>build-fix for <code>--with-Xaw3dxft</code> option (report
4133    by Emanuel Haupt).</li>
4134  </ul>
4135
4136  <h1><a name="xterm_309" id="xterm_309">Patch #309 -
4137  2014/07/13</a></h1>
4138
4139  <ul>
4140    <li>modify configure script to work around debris left by
4141    XQuartz upgrades.</li>
4142
4143    <li>modify test-package scripts to enable ReGIS graphics.</li>
4144
4145    <li>improvements/additions to ReGIS graphics, e.g., drawing
4146    text (Ross Combs).</li>
4147
4148    <li>add <code>--with-Xaw3dxft</code>, to link with Xaw 3d xft
4149    library (Stephen P Wall).</li>
4150
4151    <li>amend reset for cursor-shape to take into account
4152    <code>cursorUnderline</code> resource (report by Christian
4153    Weisgerber).</li>
4154
4155    <li>update config.guess, config.sub</li>
4156  </ul>
4157
4158  <h1><a name="xterm_308" id="xterm_308">Patch #308 -
4159  2014/06/19</a></h1>
4160
4161  <ul>
4162    <li>corrected font used for clipping double-width bitmap fonts
4163    from <a href="#xterm_307">patch #307</a> changes to work around
4164    mis-scaled fonts (Debian #752947).</li>
4165
4166    <li>improve wording of a warning message.</li>
4167  </ul>
4168
4169  <h1><a name="xterm_307" id="xterm_307">Patch #307 -
4170  2014/06/17</a></h1>
4171
4172  <ul>
4173    <li>fill background for top/bottom parts of
4174    double-width/double-height characters, to cover occasional gaps
4175    due to bitmap font-scaling (report by Egmont Koblinger).</li>
4176
4177    <li>amend resets for keyboard-type, pointer-mode and
4178    title-modes from <a href="#xterm_305">xterm #305</a> changes to
4179    account for resource settings (Debian #751351).</li>
4180
4181    <li>modify <em>printAttributes</em> feature to include new SGR
4182    codes.</li>
4183
4184    <li>modify cursor show/hide logic to work with italic
4185    fonts.</li>
4186
4187    <li>do clipping and filling for a case with bitmap-fonts and
4188    italics when the font server returns only a "close" match
4189    (report/testcase by Egmont Koblinger).</li>
4190
4191    <li>adjust loop comparison for underlining to display
4192    underlines on 5x8 font as in <a href="#xterm_304">patch
4193    #304</a> (Debian #750733).</li>
4194
4195    <li>amend fix for Freedesktop #15979 (Debian #750733).</li>
4196
4197    <li>amend xterm.appdata.xml, making it validate with current
4198    schema.</li>
4199  </ul>
4200
4201  <h1><a name="xterm_306" id="xterm_306">Patch #306 -
4202  2014/06/03</a></h1>
4203
4204  <ul>
4205    <li>fixes for display-errors in new SGR codes (report by Egmont
4206    Koblinger).</li>
4207  </ul>
4208
4209  <h1><a name="xterm_305" id="xterm_305">Patch #305 -
4210  2014/06/02</a></h1>
4211
4212  <ul>
4213    <li>add <code>xterm.appdata.xml</code> (request by Richard
4214    Hughes). By the way, none of the <em>released</em> validators
4215    yet handle <code>&lt;licence&gt;</code> tags (or
4216    <code>&lt;metadata_license&gt;</code>, etc).</li>
4217
4218    <li>fix memory leaks in bitmap font-name caching.</li>
4219
4220    <li>other changes to hard-reset behavior:
4221      <ul>
4222        <li>reset keyboard-type on hard-reset.</li>
4223
4224        <li>reset pointer-mode (<code>pointerMode</code>) on
4225        hard-reset</li>
4226
4227        <li>reset title-modes (<code>titleModes</code>) on
4228        hard-reset</li>
4229
4230        <li>reset cursor-shape on hard or soft-reset</li>
4231
4232        <li>reset LEDs on hard-reset.</li>
4233
4234        <li>reset DECSACE on hard-reset.</li>
4235      </ul>
4236    </li>
4237
4238    <li>reset bracketed-paste mode on hard-reset (suggested by
4239    Egmont Koblinger).</li>
4240
4241    <li>modify UTF-8 decoder to account for
4242    <code>allowC1Printable</code> resource.</li>
4243
4244    <li>revise <code>getXftColor</code> to ensure that its sequence
4245    number will not overflow in long-running sessions.</li>
4246
4247    <li>minor fix to selection to prevent hidden character from
4248    being returned in selection data (report by Egmont
4249    Koblinger).</li>
4250
4251    <li>add <code>-sh</code> to help-message.</li>
4252
4253    <li>amend check for incomplete fonts to always decide that a
4254    character is missing if the font lacks per-character metrics
4255    (prompted by Freedesktop #15979).</li>
4256
4257    <li>minor reorganization to implement &ldquo;filler&rdquo; SGR
4258    features. There are no established applications which rely upon
4259    these; some people find them amusing.
4260      <ul>
4261        <li>separate bits used to manage drawing state from
4262        attribute-bits.</li>
4263
4264        <li>implement SGR codes 2, 3, 9, 21 and their corresponding
4265        resets.</li>
4266
4267        <li>add configure option <code>--disable-wide-attrs</code>
4268        to disable the feature.</li>
4269      </ul>
4270    </li>
4271
4272    <li>additional changes for ReGIS support (Ross Combs):
4273      <ul>
4274        <li>fix some arc drawing bugs and add support for pattern
4275        shading.</li>
4276      </ul>
4277    </li>
4278  </ul>
4279
4280  <h1><a name="xterm_304" id="xterm_304">Patch #304 -
4281  2014/05/03</a></h1>
4282
4283  <ul>
4284    <li>add debugging check for parsing table entries, fixed a few
4285    inconsistencies.</li>
4286
4287    <li>handle utmp/utmpx strings consistently with new function
4288    that null-pads unused locations.</li>
4289
4290    <li>build-fix for imake configuration with FreeBSD 9 and later,
4291    to account for replacing <code>utmp</code> with
4292    <code>utmpx</code>.</li>
4293
4294    <li>improve handling of the <code>fontsel</code>
4295    (font-selection) menu item:
4296      <ul>
4297        <li>initialize the menu entry differently if the toolbar
4298        configuration is used, i.e., enabling it without attempting
4299        to use the current selection as a font name. Because of the
4300        way in which the toolbar is setup, this attempt usually
4301        failed, and would result in a warning.</li>
4302
4303        <li>if the menu action fails, e.g., no font can be loaded
4304        for the given selected name, then recover by resuming with
4305        the current font. Before, the recovery went to the default
4306        font. That was done to work around missing bitmap font in
4307        <a href="#xterm_276">patch #276</a>.</li>
4308      </ul>
4309    </li>
4310
4311    <li>document OSC&nbsp;119 in the control sequences listing
4312    (report by Egmont Koblinger).</li>
4313
4314    <li>modify special handling of <code>XF86Paste</code> or
4315    <code>SunPaste</code> keysyms (see <a href="#xterm_227">patch
4316    #227</a>) to use the standard shift/lock modifiers in case
4317    those are, for example, used in level 3 in an XKB file (patch
4318    by Matthieu Herrb).</li>
4319
4320    <li>configure macro updates:
4321      <ul>
4322        <li>drop the <code>-no-gcc</code> option from
4323        CF_INTEL_COMPILER</li>
4324
4325        <li>modify CF_XOPEN_SOURCE to suppress the check for
4326        defining _XOPEN_SOURCE on Solaris</li>
4327      </ul>
4328    </li>
4329
4330    <li>reduce bss storage used for ReGIS/Sixel modules, as well as
4331    cleanup storage usage in other modules.</li>
4332
4333    <li>initial changes for ReGIS support (Ross Combs):
4334      <ul>
4335        <li>document control-sequences</li>
4336
4337        <li>separate ifdef's for sixel and color-register
4338        features</li>
4339
4340        <li>add configuration for VT382</li>
4341      </ul>
4342    </li>
4343  </ul>
4344
4345  <h1><a name="xterm_303" id="xterm_303">Patch #303 -
4346  2014/03/06</a></h1>
4347
4348  <ul>
4349    <li>improve check for <code>/etc/shells</code> to allow its
4350    entries to be symbolic links.</li>
4351
4352    <li>fix a regression in <a href="#xterm_302">patch #302</a>
4353    fixes relating to interaction of <code>SHELL</code> and
4354    <code>XTERM_SHELL</code> variables (Debian #740919).</li>
4355
4356    <li>improve manpage discussion of use of
4357    <code>/etc/shells</code> for validating the <code>SHELL</code>
4358    environment variable.</li>
4359
4360    <li>further improve the approximation for color map by ignoring
4361    bits which would not be applied by the rgb masks for the
4362    current visual (report by Joe Peterson).</li>
4363
4364    <li>add <code>-report-colors</code> to usage-message (report by
4365    Joe Peterson).</li>
4366  </ul>
4367
4368  <h1><a name="xterm_302" id="xterm_302">Patch #302 -
4369  2014/03/02</a></h1>
4370
4371  <ul>
4372    <li>amend approximation for color map introduced in <a href=
4373    "#xterm_277">patch #277</a> to make that apply only to
4374    <code>TrueColor</code> (adapted from patch by Joe
4375    Peterson).</li>
4376
4377    <li>add <code>-report-colors</code> option, to show colors as
4378    they are allocated.</li>
4379
4380    <li>fix some gcc <code>-Wcast-qual</code> warnings.</li>
4381
4382    <li>correct app-defaults location for CentOS-4 in
4383    xterm.spec</li>
4384
4385    <li>improve check in <code>minstall.sh</code> for X manpage's
4386    section number; add sample dependencies for the relevant
4387    documentation package to packaging test-scripts (prompted by
4388    Novell #779474).</li>
4389
4390    <li>modify sample build-scripts for dpkg and rpm to ensure that
4391    <code>vttests</code> scripts are uncompressed and
4392    executable.</li>
4393
4394    <li>modify Perl scripts in <code>vttests</code> to use
4395    <code>env</code> to find Perl rather than relying on
4396    <code>/usr/bin/perl</code> This makes the sample scripts usable
4397    with NetBSD and other systems using <em>pkgsrc</em>.</li>
4398
4399    <li>amend check from <a href="#xterm_301">patch #301</a> for
4400    valid shell to permit existing <code>SHELL</code> value to
4401    specify the shell; clarify the behavior in the manpage (report
4402    by Emmanuel Thom&eacute;).</li>
4403
4404    <li>amend change to wide-character processing from <a href=
4405    "#xterm_257">patch #257</a> to allow switching to/from UTF-8
4406    encoding if the <code>utf8</code> resource was not set to
4407    &ldquo;always&rdquo; (report by Honza Maly).</li>
4408
4409    <li>fix incorrect free from <a href="#xterm_301">patch #301</a>
4410    changes, if explicit program without <code>-e</code> option is
4411    a valid shell (patch by Romain Francoise).</li>
4412  </ul>
4413
4414  <h1><a name="xterm_301" id="xterm_301">Patch #301 -
4415  2014/01/19</a></h1>
4416
4417  <ul>
4418    <li>OSC&nbsp;104 and 105 did not accept parameter to reset a
4419    specific color (patch by Egmont Koblinger).</li>
4420
4421    <li>add configure check for <code>initgroups</code>, and use
4422    that function to complement its use of <code>setgid</code>
4423    (prompted by patch by Miroslav Lichvar).</li>
4424
4425    <li>improve manpage description of scrollbar translations
4426    versus the vt100 translations (Debian #723573).</li>
4427
4428    <li>add a few paragraphs to manpage explaining the implications
4429    of xterm's reliance on X Toolkit for command-line parsing.</li>
4430
4431    <li>modify cursor-theme logic to check if the environment
4432    variable <code>XCURSOR_THEME</code> is set to a nonempty value
4433    before constructing a dummy them (prompted by similar check
4434    added in OpenBSD CVS).</li>
4435
4436    <li>add check for a case where TrueType bold font is missing a
4437    glyph where the non-bold font has it. Temporarily switch to the
4438    non-bold font to draw the glyph (report by David
4439    Demelier).</li>
4440
4441    <li>minor documentation fixes for ctlseqs.ms</li>
4442
4443    <li>only set <code>SHELL</code> environment variable to
4444    programs found in <code>/etc/shells</code> (prompted by
4445    patch/report by Al Poole).</li>
4446
4447    <li>build-fix, when <code>--disable-wide-chars</code>
4448    <code>--disable-boxchar</code> is used (prompted by patch by
4449    Andrey Panov).</li>
4450  </ul>
4451
4452  <h1><a name="xterm_300" id="xterm_300">Patch #300 -
4453  2013/12/03</a></h1>
4454
4455  <ul>
4456    <li>amend workaround for <code>Xcursor</code> library from
4457    <a href="#xterm_298">patch #298</a>; the suggested solution for
4458    Debian #466704 fell afoul of a bug in <code>Xcursor</code>
4459    which treated an empty value for <code>Inherits=</code> as a
4460    valid theme&mdash;and resulted in a stack overflow due to
4461    unbounded recursion. Certain environments such as XFCE4 exposed
4462    the bug. A related report in Debian #531679 was closed without
4463    following the recommendation to limit stack recursion in this
4464    library (reported by Sergey V Dyatko, Debian #731269).</li>
4465  </ul>
4466
4467  <h1><a name="xterm_299" id="xterm_299">Patch #299 -
4468  2013/12/01</a></h1>
4469
4470  <ul>
4471    <li>fix regression in line-drawing from <a href=
4472    "#xterm_297">patch #297</a> changes for NRCS exposed by change
4473    to <code>assumeAllChars</code> resource in <a href=
4474    "#xterm_298">patch #298</a> (report by Markus Waldeck).</li>
4475  </ul>
4476
4477  <h1><a name="xterm_298" id="xterm_298">Patch #298 -
4478  2013/11/27</a></h1>
4479
4480  <ul>
4481    <li>quiet a warning about ambiguity when <code>-h</code>
4482    command-line option is parsed, since <code>-help</code> is used
4483    rather than the options mentioned in the message. This warning
4484    was caused by fixes in <a href="#xterm_272">patch
4485    #272</a>.</li>
4486
4487    <li>remove an extra check for keypad-mode which interfered with
4488    the <a href="#xterm_280">patch #280</a>
4489    <code>modifyKeyboard</code> feature for the numeric keypad
4490    (report by David Conners).</li>
4491
4492    <li>change default for <code>assumeAllChars</code> resource
4493    (Debian #725682). There are unresolved issues with Terminus
4494    fonts, e.g., Debian #722017.</li>
4495
4496    <li>add <code>-report-fonts</code> command-line option and
4497    <code>reportFonts</code> resource to optionally report the
4498    fonts which are loaded, and their metrics such as the number of
4499    missing glyphs.</li>
4500
4501    <li>work around <code>Xcursor</code> library to make
4502    <code>pointerColor</code> resource work as documented (Debian
4503    #466704, analysis by Vincent Lef&egrave;vre).</li>
4504
4505    <li>amend change from <a href="#xterm_297">patch #297</a> for
4506    ASCII-equivalents to ensure that missing characters which
4507    happen to be double-width are padded to the expected number of
4508    columns. Also, correct the choice between normal/wide Xft fonts
4509    used when checking for missing characters (reported by WU Yue,
4510    Debian #728949, Gentoo #491334).</li>
4511
4512    <li>modify sixel-graphics drawing to account for scrollbar
4513    width (report by Mario Edelmann).</li>
4514
4515    <li>fix remaining issue with <code>DECNRCM</code>; the British
4516    character set was confused with ISO Latin-1 (report by Hayaki
4517    Saito).</li>
4518
4519    <li>build-fix for <code>--disable-boxchars</code> configure
4520    option.</li>
4521
4522    <li>updated configure macros, from ongoing work on lynx and
4523    ncurses.</li>
4524
4525    <li>update config.guess, config.sub</li>
4526  </ul>
4527
4528  <h1><a name="xterm_297" id="xterm_297">Patch #297 -
4529  2013/09/10</a></h1>
4530
4531  <ul>
4532    <li>modify check for missing cells in bitmap font to work
4533    around terminus 10646 encoding, which is mostly missing, add
4534    <code>assumeAllChars</code> resource to provide the older
4535    behavior.</li>
4536
4537    <li>modify macros used to check for missing cells in bitmap
4538    fonts to pick up a long-overlooked improvement made to xfd in
4539    XFree86.</li>
4540
4541    <li>improve workaround for groff versus ASCII-equivalents;
4542    <a href="#xterm_185">patch #185</a> had overlooked Xft
4543    configuration (reported by anonymous user on Arch Linux
4544    forum).</li>
4545
4546    <li>review/extend <code>DECNRCM</code> support (prompted by
4547    report by Hayaki Saito asking about the two "A" codes).
4548      <ul>
4549        <li>make pasting of DECNRCM data work by translating the
4550        pasted data into the selected encoding.</li>
4551
4552        <li>limit mode changes to VT220 and up.</li>
4553
4554        <li>ignore SCS for National Replacement Characters if
4555        <code>DECNRCM</code> is not set.</li>
4556
4557        <li>add tables and logic to decode SCS controls ending with
4558        "%" and one additional character. This expects the parsing
4559        of SCS to VT320.</li>
4560
4561        <li>also added parsing for SCS of DEC Supplemental and DEC
4562        Technical, which are for VT2xx and VT3xx respectively.</li>
4563
4564        <li>implement VT220 Multinational character set "GR" aka
4565        "DEC Supplemental Graphic".</li>
4566
4567        <li>DEC Technical character set based on <a href=
4568        "http://www.vt100.net/charsets/technical.html">vt100.net
4569        description</a>.</li>
4570
4571        <li>implement Portuguese NRC.</li>
4572
4573        <li>provide for temporarily switching to/from NRC mode from
4574        UTF-8 mode when <code>DECNRCM</code> is set or reset.</li>
4575      </ul>
4576    </li>
4577
4578    <li>minor fix to assert's found while testing examples from
4579    <a href="https://gist.github.com/ttdoda">ttdoda's
4580    slrm-test1.txt</a>.</li>
4581
4582    <li>modify <code>DECLRMM</code> to not update the cursor
4583    position (report by Iwamoto Kouichi forwarded by Hayaki
4584    Saito).</li>
4585
4586    <li>modify cursor-position report to take origin-mode into
4587    account (report by Hayaki Saito, see also <a href=
4588    "https://github.com/gnachman/iTerm2/pull/129">iTerm2 pull
4589    request 129</a>).</li>
4590
4591    <li>correct off-by-one comparison in when handling
4592    carriage-return at left margin (patch by Iwamoto Kouichi,
4593    forwarded by Hayaki Saito).</li>
4594
4595    <li>improve handling of <code>faceName</code> resource when a
4596    "size=" property is embedded in it, by using that size to
4597    replace the default <code>faceSize</code> resource. This lets
4598    xterm honor the other faceSize resources (report by Jens
4599    Schweikhardt).</li>
4600
4601    <li>improve OSC&nbsp;52 selection-data by setting its timestamp
4602    to correspond to the most-recent event received by xterm, to
4603    ensure that calls to <code>XtOwnSelect</code> succeed even if
4604    the selection is manipulated solely through the keyboard
4605    (prompted by patch by Richard Tollerton).</li>
4606
4607    <li>change configure-script defaults for "luit" and
4608    "wide-chars" options to match the values used in the imake
4609    configuration, to lessen user surprise if they are accustomed
4610    to building xterm using imake(report by Andries E
4611    Brouwer).</li>
4612
4613    <li>improve the imake-related configuration's check if xterm is
4614    started in a locale that uses UTF-8 encoding. Before, this
4615    checked the locale settings only for "UTF-8", now it checks
4616    ignoring case for "UTF-8" and "UTF-8" (report by Andries E
4617    Brouwer).</li>
4618  </ul>
4619
4620  <h1><a name="xterm_296" id="xterm_296">Patch #296 -
4621  2013/07/10</a></h1>
4622
4623  <ul>
4624    <li>improve experimental sixel feature (Ross Combs).</li>
4625
4626    <li>modify delimiter in configure macro used to add a library
4627    after a given library to avoid confusion with <code>-Wl</code>
4628    pass-through options to linker (NetBSD #48031).</li>
4629
4630    <li>fix quoting in expression used to trim extra libraries from
4631    <a href="#xterm_295">patch #295</a> changes (report by Thomas
4632    Klausner).</li>
4633  </ul>
4634
4635  <h1><a name="xterm_295" id="xterm_295">Patch #295 -
4636  2013/07/06</a></h1>
4637
4638  <ul>
4639    <li>adjust order of libraries to work around incomplete symbol
4640    resolution when using <code>--as-needed</code> option
4641    (ArchLinux #36047).</li>
4642
4643    <li>minor fix for <code>plink.sh</code>, for IRIX64.</li>
4644  </ul>
4645
4646  <h1><a name="xterm_294" id="xterm_294">Patch #294 -
4647  2013/07/05</a></h1>
4648
4649  <ul>
4650    <li>add note in ctlseqs.ms for CPR response pointing out a
4651    potential point of confusion with the string sent by a modified
4652    F1 key (suggested by Bram Moolenaar).</li>
4653
4654    <li>improve <code>plink.sh</code> by checking if the linker
4655    supports the <code>--as-needed</code> option (suggested by
4656    David Philippi).</li>
4657
4658    <li>improve clearing for private mode 1049 when switching to
4659    the alternate screen (Debian #711758).</li>
4660
4661    <li>amend fix from <a href="#xterm_292">patch #292</a> by
4662    removing now-unneeded chunk which introduced problem in
4663    selection (Debian #714527).</li>
4664
4665    <li>add definition to optionally override compiled-in class for
4666    xterm from makefile, needed for test-packages.</li>
4667
4668    <li>add configure option
4669    <code>--enable-sixel-graphics</code></li>
4670
4671    <li>add experimental support for sixel graphics (Ross
4672    Combs).</li>
4673  </ul>
4674
4675  <h1><a name="xterm_293" id="xterm_293">Patch #293 -
4676  2013/05/27</a></h1>
4677
4678  <ul>
4679    <li>modify sample xterm.spec to use newer icon</li>
4680
4681    <li>add configure option <code>--with-icon-symlink</code> to
4682    work around systems which map icon requests for to a single
4683    "xterm" icon, but neglect to install the icon needed for window
4684    decorations (report by H Merijn Brand).</li>
4685
4686    <li>improve parameterizing of sample xterm.spec</li>
4687
4688    <li>amend fix for printer from <a href="#xterm_280">patch
4689    #280</a>, removing a reset of the signal handler for
4690    <code>SIGCHLD</code> (report by Joe Julian).</li>
4691
4692    <li>set environment variable <code>XTERM_FILTER</code> if a
4693    locale-filter is used.</li>
4694
4695    <li>enable <code>DEBUG</code> logic when
4696    <code>--enable-trace</code> configure option is given.</li>
4697
4698    <li>improve description of <code>initialFont</code>,
4699    <code>set-vt-font</code> and <code>set-tex-text</code> in
4700    manpage (Debian #707899).</li>
4701
4702    <li>fix regression from <a href="#xterm_292">patch #292</a>;
4703    selecting a word that ended at the right margin without
4704    wrapping would not select the last cell (report by Christian
4705    Weisgerber).</li>
4706  </ul>
4707
4708  <h1><a name="xterm_292" id="xterm_292">Patch #292 -
4709  2013/04/25</a></h1>
4710
4711  <ul>
4712    <li>add limit-check when double-click selects a word; if the
4713    saved-lines were scrolled back and the word selected wrapped at
4714    the screen's lower right corner, an assertion was triggered
4715    (patch by Taketo Kabe).</li>
4716
4717    <li>correct limit-check in <code>unsaveEditBufLines</code>,
4718    fixing a case where enlarging the terminal size could show a
4719    blank line where there actually is available text (patch by
4720    Bertram Felgenhauer).</li>
4721
4722    <li>add <code>PasteControls</code> feature to
4723    <code>allowWindowOps</code> which by default disallows pasting
4724    control characters other than formatting such as carriage
4725    return (discussion with Hayaki Saito).</li>
4726
4727    <li>fix typo in ctlseqs.ms for DECRQM response (patch by
4728    Emanuele Giaquinta).</li>
4729
4730    <li>update default shown in configure <code>--help</code>
4731    message for <code>--with-terminal-id</code> option (patch by
4732    Andres Perera).</li>
4733
4734    <li>rename script/preprocessor variables used for substituting
4735    the <code>backarrowKey</code> default value for consistency
4736    (patch by Andres Perera).</li>
4737
4738    <li>set umask to 077 before creating debugging-trace
4739    files.</li>
4740
4741    <li>add configure option <code>--disable-openpty</code> to
4742    control whether openpty() may be used in preference to
4743    posix_openpt().</li>
4744
4745    <li>improve workaround from <a href="#xterm_279">patch #279</a>
4746    for BSD systems which do not complete initialization until both
4747    sides of the pseudoterminal are opened, by preferring openpty()
4748    function over posix_openpt() when available (report by
4749    Christian Weisgerber).</li>
4750  </ul>
4751
4752  <h1><a name="xterm_291" id="xterm_291">Patch #291 -
4753  2013/02/26</a></h1>
4754
4755  <ul>
4756    <li>add validity check for xterm widget parameter to
4757    <code>AlternateScroll</code> function, needed to handle wheel
4758    mouse events in the scrollbar area since <a href=
4759    "#xterm_282">patch #282</a> changes which introduced
4760    <code>alternateScroll</code> feature (Redhat #874327).</li>
4761  </ul>
4762
4763  <h1><a name="xterm_290" id="xterm_290">Patch #290 -
4764  2013/02/12</a></h1>
4765
4766  <ul>
4767    <li>revert of <a href="#xterm_282">patch #282</a> change was
4768    incomplete (report by Jim Reisert).</li>
4769
4770    <li>fix typo in manpage (report by Vincent
4771    Lef&egrave;vre).</li>
4772  </ul>
4773
4774  <h1><a name="xterm_289" id="xterm_289">Patch #289 -
4775  2013/02/08</a></h1>
4776
4777  <ul>
4778    <li>revert the <a href="#xterm_282">patch #282</a> change which
4779    restored "lost" text after shrinking/growing the screen size.
4780    If the screen was updated between the two resizing operations,
4781    unexpected text might be shown at the end (report/testcase by
4782    Joe Peterson).</li>
4783
4784    <li>reverse the arrow-keys sent for
4785    <code>alternateScroll</code> to match the usage in browsers
4786    (suggested by Dieter Roelants).</li>
4787
4788    <li>modify mouse reports to consistently indicate motion events
4789    whether or not a button is pressed. Old behavior (since
4790    <a href="#xterm_127">patch #127</a> modified encoding for wheel
4791    mouse) showed only that the button was released if no button
4792    had been pressed (report by Andy Koppe).</li>
4793
4794    <li>correct and improve behavior for SGR 1006 mouse protocol on
4795    button release in any-event mode. Initial implementation in
4796    <a href="#xterm_277">patch #277</a> left internal state showing
4797    the last button pressed when reporting motion events. It now
4798    keeps track of all buttons which have been pressed and
4799    released, showing the lowest remaining button by number in the
4800    response (reports by Hayaki Saito, Andy Koppe).</li>
4801
4802    <li>fix inconsistency between <code>TermColors</code> and
4803    <code>OscTextColors</code> enums which interchanged values for
4804    tektronix cursor color and highlight foreground in control
4805    sequences in <a href="#xterm_225">patch #225</a> (report/patch
4806    by Peder Stray).</li>
4807
4808    <li>fix inconsistent use of noreturn-attribute in
4809    <code>Exit</code> function which interfered with clang
4810    --analyze.</li>
4811
4812    <li>remove incorrect <code>free</code> used in computation of
4813    <code>XTERM_SHELL</code> variable, from Coverity fixes in
4814    <a href="#xterm_288">patch #288</a> (FreeBSD #175782).</li>
4815
4816    <li>add <code>--with-valgrind</code> option to configure script
4817    for consistency with my other programs.</li>
4818
4819    <li>update table of ambiguous width characters in wcwidth.c
4820    based on Unicode 6.2.0</li>
4821
4822    <li>update table of combining characters in wcwidth.c based on
4823    Unicode 6.2.0</li>
4824
4825    <li>update precompose.c based on Unicode 6.2.0</li>
4826  </ul>
4827
4828  <h1><a name="xterm_288" id="xterm_288">Patch #288 -
4829  2013/01/09</a></h1>
4830
4831  <ul>
4832    <li>fix a special case in <code>ShowCursor</code> where the
4833    foreground and background colors of the current position are
4834    the same. In that case, choose the further of the window's
4835    foreground and background colors for the cursor color.</li>
4836
4837    <li>modify <code>alternateScroll</code> feature added in
4838    <a href="#xterm_282">patch #282</a> to use either
4839    <code>CSI</code> or <code>SS3</code> according to the cursor
4840    keys application mode setting, to simplify using it in vi, etc.
4841    (suggested by Dietar Roelants).</li>
4842
4843    <li>revise manpage for <code>resize</code> to clarify the
4844    changes which <code>resize</code> may make to the terminal
4845    settings as well as to the terminal itself.</li>
4846
4847    <li>remove code such as <code>struct ttysize</code>, used for
4848    SunOS 3 and 4.</li>
4849
4850    <li>modify configure script and makefile to check for
4851    <code>groff</code> and suppress groff-specific rules if groff
4852    is not found.</li>
4853
4854    <li>modify ctlseqs.ms and makefile to work around bugs in
4855    <code>grohtml</code> which cause ".png" files to be truncated
4856    when producing html documentation.</li>
4857
4858    <li>modify suffix rules for "make docs" to make the names of
4859    the generated ".png" files predictable, helping to work around
4860    longstanding problems with this feature of groff&mdash;none of
4861    its releases work for <em>all</em> of xterm's tables..</li>
4862
4863    <li>correct typo in ctlseqs.ms for DECIC and DECDC; the
4864    character preceding the final "<code>~</code>" is an ASCII
4865    single-quote "<code>'</code>" rather than a space (report by
4866    Paul LeoNerd Evans).</li>
4867
4868    <li>update CF_GCC_VERSION macro, handling both Debian and
4869    Darwin.</li>
4870
4871    <li>improve configure script checks for the
4872    <code>--with-desktop-category</code> option. After <a href=
4873    "#xterm_280">patch #280</a> changes, if no value was given for
4874    this option, and no existing desktop files found for
4875    comparison, the incorrect "auto" value was passed into the
4876    generated desktop file (report by Julien Cristau).</li>
4877
4878    <li>modify sample build-scripts to disable check for
4879    <code>imake</code> due to code-rot in Xorg.</li>
4880
4881    <li>add <code>-v</code> command-line option to
4882    <code>resize</code>, reporting the same version string as
4883    <code>xterm</code> and the two shell-wrappers.</li>
4884
4885    <li>make name-transformation apply to other occurrences of
4886    <code>resize</code>, other manpages.</li>
4887
4888    <li>special-case the name-transformation in xterm's manpage in
4889    the NAME section so that the result works with
4890    <code>makewhatis</code> (report by Julien Cristau).</li>
4891
4892    <li>modify install-rules for manpages to put each program's
4893    respective transformed name into the header rather than
4894    xterm's.</li>
4895
4896    <li>remove deprecated files: proto.h, os2main.c</li>
4897
4898    <li>minor fixes based on Coverity scan, including:
4899      <ul>
4900        <li>correct caching of Atom value for the font menu's
4901        "Selection" entry.</li>
4902
4903        <li>ensure that utmp/utmpx calls do not depend upon
4904        trailing nulls in the <code>ut_id</code> and
4905        <code>ut_line</code> values.</li>
4906      </ul>
4907    </li>
4908  </ul>
4909
4910  <h1><a name="xterm_287" id="xterm_287">Patch #287 -
4911  2012/11/25</a></h1>
4912
4913  <ul>
4914    <li>fix a case where in_put() loop could continue when it has
4915    found an X event rather than the pty, causing the pty-read to
4916    be delayed (patch by Balazs Kezes).</li>
4917
4918    <li>add option to <code>pointerMode</code> resource and
4919    corresponding control sequences to allow text-cursor to remain
4920    hidden if the pointer leaves/enters the window via accelerator
4921    keys. Ordinary motion within the window restores the pointer
4922    (prompted by patch by Balazs Kezes).</li>
4923
4924    <li>remove special case of modifiers for the
4925    <code>Mode_switch</code> and <code>XK_ISO_Level3_Shift</code>
4926    from <a href="#xterm_223">patch #223</a>. Verified that the
4927    conflict which this was intended to resolve does not happen for
4928    normal compose- or modeswitch-handling (prompted by patch by
4929    Balazs Kezes, Debian #638694).</li>
4930
4931    <li>modify the handling of focus-change events to ignore those
4932    whose detail is <code>NotifyPointer</code>, since those are
4933    sent in addition to focus-change events directed to the old/new
4934    windows having focus. In particular, this prevents the
4935    urgency-hint from being reset inadvertently (prompted by patch
4936    by Balazs Kezes).</li>
4937
4938    <li>modify description of <code>iconName</code> in manpage to
4939    make it clearer that this resource does not specify the
4940    filename of an icon (discussion with Ian Collier).</li>
4941
4942    <li>modify <code>iconHint</code> resource to allow suppressing
4943    the built-in icon by setting this to "none" (discussion with
4944    Ian Collier).</li>
4945
4946    <li>make <code>-iconic</code> option work with the toolbar
4947    configuration.</li>
4948
4949    <li>correct initialization of window manager hints used to set
4950    the icon-pixmap. That detail from <a href="#xterm_282">patch
4951    #282</a> overwrote state used to control the
4952    <code>-iconic</code> command-line option (report by Ian
4953    Collier).</li>
4954
4955    <li>fix paste64 feature for the case where the selection comes
4956    from the current terminal. The selection callback can happen
4957    after the reply is partly built, making it necessary to flush
4958    the reply-buffer to keep things in the proper order (report by
4959    Ailin Nemui).</li>
4960
4961    <li>reject command-line options which are longer than the
4962    options in xterm's table, to avoid mismatches (Redhat
4963    #875305).</li>
4964
4965    <li>correct attribution for <a href="#xterm_282">patch #282</a>
4966    changes.</li>
4967  </ul>
4968
4969  <h1><a name="xterm_286" id="xterm_286">Patch #286 -
4970  2012/10/29</a></h1>
4971
4972  <ul>
4973    <li>fix <code>minstall.in</code> to work with "make docs" rule,
4974    so that patch number appears in the corresponding generated
4975    documentation.</li>
4976
4977    <li>modify <code>minstall.in</code> to keep the name shown in
4978    the heading consistent with any renaming, e.g., for
4979    test-builds.</li>
4980
4981    <li>check for misconfigured <code>printerCommand</code>
4982    resource on the first use, warn and disable it if it does not
4983    specify an executable command (Debian #691642).</li>
4984
4985    <li>improve check for window-manager name needed to establish
4986    usable default for activeIcon resource. This works around a
4987    scenario where <code>gdm</code> does incomplete cleanup,
4988    leaving window properties that refer to windows which no longer
4989    exist (Redhat #869959).</li>
4990  </ul>
4991
4992  <h1><a name="xterm_285" id="xterm_285">Patch #285 -
4993  2012/10/23</a></h1>
4994
4995  <ul>
4996    <li>add/adapt FreeBSD ports files for test-building.</li>
4997
4998    <li>modify <code>minstall.sh</code> to use the patch-number and
4999    date in the manpage footer.</li>
5000
5001    <li>add check for failure to allocate the fg/bg colors at
5002    startup, e.g., misconfiguration. Work around by setting both to
5003    the default colors (suggested by Scott Bertilson).</li>
5004
5005    <li>amend change for <a href="#xterm_280">patch #280</a> which
5006    added <code>modifyKeyboard</code>, to make
5007    <code>modifyOtherKeys</code> work (report by Ailin Nemui).</li>
5008
5009    <li>add <code>query-colors.pl</code> example for
5010    OSC&nbsp;4.</li>
5011
5012    <li>correct mis-applied fix for minstall.sh (report by Miroslav
5013    Lichvar).</li>
5014  </ul>
5015
5016  <h1><a name="xterm_284" id="xterm_284">Patch #284 -
5017  2012/10/14</a></h1>
5018
5019  <ul>
5020    <li>amend configurability changes for icons from <a href=
5021    "#xterm_283">patch #283</a>, moving the new functionality to
5022    the <code>iconHint</code> resource to avoid conflict with
5023    existing uses of the <code>iconName</code> resource in the
5024    <code>Shell</code> widget (report by Emanuel Haupt).</li>
5025
5026    <li>fix documentation errata reported by Miroslav Lichvar:
5027      <ul>
5028        <li>correct manpage default for <code>allowTcapOps</code>
5029        (see <a href="#xterm_243">patch #243</a></li>
5030
5031        <li>modify documentation for configure
5032        <code>--enable-backarrow-key</code> to match the script
5033        (see <a href="#xterm_280">patch #280</a>).</li>
5034
5035        <li>fix typo in <code>minstall.sh</code> in <a href=
5036        "#xterm_283">patch #283</a>, which made the leading-cap
5037        "Xterm" become "xterm" (patch by Miroslav).</li>
5038      </ul>
5039    </li>
5040
5041    <li>fix two typos in configure.in from <a href=
5042    "#xterm_283">patch #283</a> changes; one broke the
5043    <code>--regex</code> configure option (report by H Merijn
5044    Brand).</li>
5045  </ul>
5046
5047  <h1><a name="xterm_283" id="xterm_283">Patch #283 -
5048  2012/10/09</a></h1>
5049
5050  <ul>
5051    <li>modify makefile and script to generate appropriate renaming
5052    s/xterm/xterm-dev/ for test-package's manpage.</li>
5053
5054    <li>improve makefile rules for installing/uninstalling pixmap
5055    files, to include the newer mini- and filled- variants.</li>
5056
5057    <li>clarify change in manpage regarding <a href=
5058    "#xterm_282">patch #282</a> change to always set a
5059    window-decoration icon, even if <code>iconName</code> is not
5060    set.</li>
5061
5062    <li>add a fourth flavor of window-decoration icons,
5063    "filled-xterm" for a monochrome xterm with filled
5064    interior.</li>
5065
5066    <li>use shape-mask to improve contrast of the window-decoration
5067    icons.</li>
5068
5069    <li>minor changes to icon colors to improve contrast on
5070    bright-mud backgrounds.</li>
5071
5072    <li>drop configure checks for memmove versus bcopy, and
5073    strerror function; all currently tested platforms support
5074    these.</li>
5075
5076    <li>cleanup configure macros, as done in byacc 20121003.</li>
5077
5078    <li>improve configurability of the built-in icon selectable via
5079    the <code>iconName</code> resource.</li>
5080
5081    <li>update config.guess, config.sub</li>
5082  </ul>
5083
5084  <h1><a name="xterm_282" id="xterm_282">Patch #282 -
5085  2012/09/28</a></h1>
5086
5087  <ul>
5088    <li>improve configure check for
5089    <code>XkbKeycodeToKeysym</code>, fixing a regression on some
5090    older systems in the <a href="#xterm_280">patch #280</a>
5091    changes.</li>
5092
5093    <li>add clarification in manpage for
5094    <code>alwaysBoldMode</code> and <code>veryBoldColors</code>
5095    resources (prompted by Derek Martin question about using the
5096    former with TrueType fonts).</li>
5097
5098    <li>add <code>alternateScroll</code> resource and corresponding
5099    control sequences which modify the <code>scroll-forw</code> and
5100    <code>scroll-back</code> actions: when the alternate screen is
5101    displayed, wheel mouse up/down will send cursor keys (Debian
5102    #683942).</li>
5103
5104    <li>improve rendering for the case when a Unicode character is
5105    absent in the bold font but present in the normal font by
5106    temporarily falling back to the normal font (Debian #359006,
5107    Debian #408666).</li>
5108
5109    <li>provide configure option
5110    <code>--enable-double-buffer</code> and ifdef's to allow
5111    comparisons with/without double-buffering. The default uses
5112    normal buffering.</li>
5113
5114    <li>add feature to optionally scroll current page before
5115    clearing, controlled by resource setting
5116    <code>cdXtraScroll</code> (prompted by patch by Balazs
5117    Kezes):</li>
5118
5119    <li>integrated patches from Arch Linux forum posting (patches
5120    by Balazs Kezes):
5121      <ul>
5122        <li>modify reallocation limit of line-data when resizing
5123        screen so that "lost" text will be restored if the screen
5124        is first shrunk and then grown.</li>
5125
5126        <li>modify output to use double-buffering to reduce
5127        flicker.</li>
5128      </ul>
5129    </li>
5130
5131    <li>modify <code>scroll-lock</code> action to handle
5132    on/off/toggle keywords like other actions. Previously the
5133    optional parameter was interpreted as an integer.</li>
5134
5135    <li>extend <code>DECSCUSR</code> to provide a way to set the
5136    cursor to a vertical bar (patch by Paul Bolle).</li>
5137
5138    <li>add <code>-8</code>, <code>-c</code>, <code>-d</code> and
5139    <code>-u</code> options to <code>88colors2.pl</code> and
5140    <code>256colors2.pl</code> scripts. No current terminal
5141    emulator recognizes C1 controls while handling UTF-8
5142    encoding&mdash;see notes in <a href="#xterm_119">patch #119</a>
5143    and <a href="#xterm_109">patch #109</a> regarding
5144    <code>utf8controls</code>&mdash;but the <code>-u</code> and
5145    <code>-8</code> options are useful for demonstrating this
5146    point.</li>
5147
5148    <li>improve speed when changing color palettes using OSC
5149    controls by deferring repaint while followup controls might be
5150    additional color palette changes.</li>
5151
5152    <li>modify <code>SGR&nbsp;38</code> and
5153    <code>SGR&nbsp;48</code> to accept RGB index, matching the
5154    closest entry in xterm's palette.</li>
5155
5156    <li>extend <code>SGR&nbsp;38</code> and
5157    <code>SGR&nbsp;48</code> to accept colon as parameter separator
5158    (request by Paul LeoNerd Evans).</li>
5159
5160    <li>modify <code>fullscreen</code> action to allow it to toggle
5161    the full-screen mode rather than only set or unset it (prompted
5162    by Eeri Kask's suggestion to support
5163    <code>_NET_WM_TOGGLE</code>). This implementation does not yet
5164    use <code>_NET_WM_TOGGLE</code>.</li>
5165
5166    <li>add support for <code>_NET_WM_STATE_MAXIMIZED_VERT</code>
5167    and <code>_NET_WM_STATE_MAXIMIZED_HORZ</code> EWMH properties
5168    (suggested by Eeri Kask).</li>
5169
5170    <li>make fullscreen mode work with the tek4014 window. This
5171    change makes only the currently active window to be changed to
5172    fullscreen rather than changing both windows.</li>
5173
5174    <li>modify <code>TekClear</code> function to discard pending
5175    output before clearing the tek4014 display (patch by Kevin
5176    Ryde).</li>
5177
5178    <li>fix <code>deleteIsDEL</code> feature, broken in <a href=
5179    "#xterm_280">patch #280</a> changes (report by Mike Thornburg,
5180    forwarded by Jeremy Huddleston).</li>
5181
5182    <li>fix a special case of wrapping double-width characters
5183    (report/test-case by Ken Winstein).</li>
5184
5185    <li>add <code>E3</code> extended capability to
5186    <code>xterm-basic</code> to match ncurses <a href=
5187    "https://invisible-island.net/ncurses/NEWS.html#t20120728">20120728</a>
5188    patch.</li>
5189
5190    <li>fix incorrect transformation of row-parameter for
5191    <code>ClearCurBackground</code> in <a href="#xterm_279">patch
5192    #279</a> which caused incorrect painting in some scrolling
5193    scenarios (report by Chuck Silvers).</li>
5194
5195    <li>fix typo in manpage description of <code>+maximized</code>
5196    option (Paul Maier).</li>
5197
5198    <li>change default for configure option
5199    <code>--with-xpm</code>, turning it on unless requested
5200    otherwise.</li>
5201
5202    <li>add configure option <code>--with-icon-name</code> which
5203    can be used to override the default icon used in
5204    icon-themes.</li>
5205
5206    <li>extend <code>activeIcon</code> resource to provide
5207    <code>default</code> value which tells xterm to determine the
5208    window manager's name and automatically enable the feature for
5209    fvwm and window maker. The explicit true/false values can be
5210    used to override this behavior.</li>
5211
5212    <li>add "mini" xterm icon, which scales better than the
5213    standard xterm icon, e.g., for the gnome/kde "panel"
5214    feature.</li>
5215
5216    <li>extend <code>iconName</code> resource to search for icon
5217    named according to resource value and use that if found. If not
5218    found, use compiled-in pixmap. Both set the WM_ICON_NAME
5219    property which is used by various window managers, usually for
5220    window decoration.</li>
5221
5222    <li>updated autoconf patch, adding support for --datarootdir,
5223    which changes the default location of manpages.</li>
5224
5225    <li>further improved autoconf macros for configuring icons,
5226    from vile 9.8h</li>
5227  </ul>
5228
5229  <h1><a name="xterm_281" id="xterm_281">Patch #281 -
5230  2012/06/26</a></h1>
5231
5232  <ul>
5233    <li>remove "$(srcdir)/" from install-icon rule to fix builds
5234    when --srcdir configuration option is used.</li>
5235
5236    <li>fix for configure script's search for icon file when it is
5237    not found in the current directory, e.g., when building out of
5238    tree (patch by Thierry Reding).</li>
5239
5240    <li>undo the XK_Home / XK_End change from <a href=
5241    "#xterm_280">patch #280</a> which broke the non-VT220 keyboard
5242    for those keys (report by H Merijn Brand).</li>
5243  </ul>
5244
5245  <h1><a name="xterm_280" id="xterm_280">Patch #280 -
5246  2012/06/24</a></h1>
5247
5248  <ul>
5249    <li>add configure check to work around warning from
5250    desktop-file-install for "Encoding", noting that it emits
5251    deprecation warnings without providing its version
5252    information.</li>
5253
5254    <li>add configure option <code>--with-icon-theme</code> to tell
5255    xterm whether to install into an icon theme, defaulting to
5256    "hicolor" (Redhat #755206, Redhat #799614 and Redhat
5257    #804279).</li>
5258
5259    <li>change <code>--with-icondir</code> to look for "icons"
5260    directory rather than "pixmaps" by default. Add new option
5261    <code>--with-pixmapdir</code> to allow these two uses to be
5262    installed concurrently.</li>
5263
5264    <li>modify configure options <code>--with-app-defaults</code>
5265    and <code>--with-icondir</code> to accept "auto" as value to
5266    look for existing directory from well-known locations.</li>
5267
5268    <li>add missing codes for secondary DA response which tell the
5269    type of terminal as in the primary DA response.</li>
5270
5271    <li>update primary DA response for VT420 to include user
5272    windows and horizontal scrolling.</li>
5273
5274    <li>add <code>modifyKeyboard</code> resource to support
5275    keypad-modifier changes per request by Thomas Wolff.</li>
5276
5277    <li>add XK_Home / XK_End to editing-keypad checks</li>
5278
5279    <li>add back-tab key <code>kB</code> to termcap entries to
5280    match the terminfo.</li>
5281
5282    <li>update terminfo to match corresponding entries in ncurses,
5283    e.g., add <code>XT</code> and adjust <code>sgr</code> string
5284    for xterm-bold entry.</li>
5285
5286    <li>add configure options to predefine the most commonly
5287    customized resources for terminal-settings, use those to
5288    substitute into the manpage the corresponding compiled-in
5289    values: <code>altSendsEscape</code>, <code>backarrowKey</code>,
5290    <code>backarrowKeyIsErase</code>, <code>deleteIsDEL</code>,
5291    <code>metaSendsEscape</code> (Redhat #819588).</li>
5292
5293    <li>change default emulation level to VT420 (discussion with
5294    Ailin Nemui).</li>
5295
5296    <li>improve logic for DECSCL; <a href="#xterm_279">patch
5297    279</a> partly enforced limitation of this to higher-level
5298    emulations. This patch finishes that change.</li>
5299
5300    <li>improve check for base of combining characters, preventing
5301    combination when cursor movement has intervened. Mosh's webpage
5302    gives two different examples of this, with other causes
5303    ascribed to the behavior.</li>
5304
5305    <li>modify IL/DL to set cursor to first column on row for
5306    better VT102/VT220 compatibility (prompted by code review of
5307    mosh).</li>
5308
5309    <li>separate state-table entries for DECSC/DECRC from the
5310    ANSI.SYS save/restore cursor, since the latter conflicts with
5311    DECSLRM when DECLRMM is enabled since <a href=
5312    "#xterm_279">patch #279</a> (report/analysis by Ailin
5313    Nemui).</li>
5314
5315    <li>fixes to avoid using <code>SIGCHLD</code> handler of main
5316    program in printer's subprocess (report by Joe Julian).</li>
5317
5318    <li>correct restore-parameter for mouse-modes from <a href=
5319    "#xterm_279">patch #279</a> changes.</li>
5320
5321    <li>add null-pointer checks to input-method caching added in
5322    <a href="#xterm_277">patch #277</a> to fix a problem in the
5323    exposure code, when deselecting a window (report by Kriston
5324    Rehberg).</li>
5325
5326    <li>unset <code>DESKTOP_STARTUP_ID</code> environment variable
5327    to lessen confusion on the part of GTK applications which use
5328    the variable without checking it (report by John Little).</li>
5329  </ul>
5330
5331  <h1><a name="xterm_279" id="xterm_279">Patch #279 -
5332  2012/05/10</a></h1>
5333
5334  <ul>
5335    <li>fill in missing cases in the save/restore modes feature
5336    (report by Thomas Wolff).</li>
5337
5338    <li>add check to ensure that combining characters are
5339    precomposed in the order given (report/analysis by Andries E
5340    Brouwer).</li>
5341
5342    <li>improve workability check for posix_openpt(), to take into
5343    account BSD systems which do not complete initialization until
5344    both sides of the pseudoterminal are opened (report by
5345    Christian Weisgerber).</li>
5346
5347    <li>amend fix for Debian #650291 in <a href="#xterm_277">patch
5348    #277</a> changes to account for different data returned by
5349    vnc4server (Debian #670638).</li>
5350
5351    <li>add check in DECCRA operation to make copies of blinking
5352    text also blink by updating a line-level flag.</li>
5353
5354    <li>modify rectangle operations to work with DECOM.</li>
5355
5356    <li>modify DECSERA to use the current protected state rather
5357    than preserving it.</li>
5358
5359    <li>add <code>precompose</code> resource to allow storing
5360    character data in Normalized Form D as described in <a href=
5361    "http://unicode.org/reports/tr15/">http://unicode.org/reports/tr15/</a>
5362    (report/discussion with Andries E Brouwer).</li>
5363
5364    <li>modify CBT, other ISO-6429 controls which are used by VT520
5365    to work with DECOM.</li>
5366
5367    <li>add HPR and VPR controls, ISO 6429 cursor movement used in
5368    VT520.</li>
5369
5370    <li>remove "linux" restriction for IUTF8 ifdef in main.c
5371    (prompted by Matthew Dempsky posting on
5372    mailing.openbsd.tech).</li>
5373
5374    <li>implement the remaining VT420-level device status
5375    reports.</li>
5376
5377    <li>change DECXCPR to return page 1, rather than 0.</li>
5378
5379    <li>improve VT-level checks on reporting functions, such as
5380    DECXCPR.</li>
5381
5382    <li>change limit on <code>decTerminalID</code> to 525.</li>
5383
5384    <li>fixes to improve vttest vt52 screen when running as a
5385    VT420:
5386      <ul>
5387        <li>add checks for some VT2xx and up controls for
5388        consistency: DECSCL, S1C8T, S1C7T.</li>
5389
5390        <li>modify DECRQSS return for DECSCL to only return that
5391        when running as VT2xx and up.</li>
5392
5393        <li>when exiting from VT52-mode, resume in VT100 level
5394        rather than the level before starting VT52-mode.</li>
5395      </ul>
5396    </li>
5397
5398    <li>implement DECLRMM, DECSLRMM and DECNCSM (prompted by
5399    discussions with Ailin Nemui and Paul LeoNerd Evans). This
5400    modifies several controls to obey top/bottom and left/right
5401    margins.</li>
5402
5403    <li>correct macro definition used for testing modes used in
5404    ANSI/DEC request-mode controls introduced in <a href=
5405    "#xterm_262">patch #262</a>.</li>
5406
5407    <li>modify <code>x_getlogin</code> to check $LOGNAME and $USER
5408    before fallback to <code>getlogin</code>, so that user's choice
5409    for these variables can be carried forward to the xterm process
5410    (Debian #611487).</li>
5411
5412    <li>document DECSCUSR response for DECRQSS in ctlseqs.ms</li>
5413
5414    <li>add <code>zIconTitleFormat</code> resource to allow
5415    customizing the "***&nbsp;" prefixed to the icon title when the
5416    <code>zIconBeep</code> feature is activated (request by Thomas
5417    Adam).</li>
5418
5419    <li>modify DECSCUSR to update the same internal variable as
5420    RM/SM 12, and document in manpage the two variables used for
5421    controlling blinking cursor (report by Paul LeoNerd
5422    Evans).</li>
5423
5424    <li>correct response data for DECSCUSR in reply for DECRQSS
5425    response, which had inverted the blink-value (reports by Ailin
5426    Nemui, Paul LeoNerd Evans).</li>
5427
5428    <li>add a null-pointer check in <code>OkPasswd</code> macro to
5429    fix a problem in <code>resize</code> with Fedora 17 and a
5430    serial console (report/patch by Daniel Drake).</li>
5431
5432    <li>add workaround for Mac OS X, which loses the window size of
5433    a pseudo-terminal when the tty device is opened
5434    (report/analysis by Egmont Koblinger).</li>
5435
5436    <li>updated configure check for workable
5437    <code>posix_openpt</code> versus <code>grantpt</code>, from
5438    <code>luit</code> fixes.</li>
5439
5440    <li>modify DECIC/DECDC/DECBI/DECFI implemented in <a href=
5441    "#xterm_277">patch #277</a> to enable them only in VT4xx mode
5442    and up (report by Ailin Nemui).</li>
5443
5444    <li>update config.guess, config.sub</li>
5445  </ul>
5446
5447  <h1><a name="xterm_278" id="xterm_278">Patch #278 -
5448  2012/01/18</a></h1>
5449
5450  <ul>
5451    <li>correct initialization for <code>eightBitMeta</code>
5452    resource (FreeBSD #164101).</li>
5453
5454    <li>make special check for Darwin 9 (and lower) to <em>not</em>
5455    use <code>posix_openpt</code> (report by Christian Ebert).</li>
5456
5457    <li>minor fixes (adding ".ne" directives) to reduce the cases
5458    where groff's utility for generating images for tables dumps
5459    core. Most versions of groff (I've found 1.19.2 to be the most
5460    stable) dump core when attempting to report that there are too
5461    few lines on a page for a table to be shown.</li>
5462  </ul>
5463
5464  <h1><a name="xterm_277" id="xterm_277">Patch #277 -
5465  2012/01/07</a></h1>
5466
5467  <ul>
5468    <li>remove special case for ISC pseudo-terminals which attempts
5469    to open the pty in two different ways.</li>
5470
5471    <li>move call to <code>grantpt</code> before asking utempter to
5472    add a record, to work with kFreeBSD which does not update the
5473    terminal's ownership until this point (Debian #652907).</li>
5474
5475    <li>document limitation of XIM interface in manpage (Debian
5476    #230787).</li>
5477
5478    <li>cleanup error reporting with new xtermWarning
5479    function.</li>
5480
5481    <li>add configure option <code>--disable-selection-ops</code>
5482    to make the new actions optional.</li>
5483
5484    <li>add four new actions for making the selection or data
5485    directly copied from the screen (prompted by discussion in
5486    Debian #637001, as well as report by Arjen van Tol):
5487      <ul>
5488        <li>exec-formatted</li>
5489
5490        <li>exec-selectable</li>
5491
5492        <li>insert-formatted</li>
5493
5494        <li>insert-selectable</li>
5495      </ul>
5496    </li>
5497
5498    <li>add <code>visualBellLine</code> resource to allow
5499    <code>visualBell</code> to flash only the current line
5500    (prompted by patch by Gertjan Halkes).</li>
5501
5502    <li>add <code>eightBitMeta</code> resource to control the
5503    features which modify or interpret the eighth bit of a key when
5504    the meta modifier key is pressed (prompted by Debian
5505    #326200).</li>
5506
5507    <li>improve discussion of <code>eightBitInput</code> in the
5508    manpage (prompted by Debian #326200).</li>
5509
5510    <li>correct logic for <code>alt-sends-escape</code> action,
5511    overlooked when implementing <code>altSendsEscape</code>
5512    resource, which still used <code>eightBitInput</code> resource
5513    value.</li>
5514
5515    <li>add a workaround for <code>XAllocColor()</code>, which does
5516    not actually allocate "a read-only colormap entry corresponding
5517    to the closest RGB value supported by the hardware", but rather
5518    a rough approximation (Debian #650291).</li>
5519
5520    <li>undo parameter checks for <code>RequestResize()</code>
5521    added in <a href="#xterm_251">patch #251</a> and amended in
5522    <a href="#xterm_270">patch #270</a>, because zeros also are
5523    special cases (report by John S Urban).</li>
5524
5525    <li>modify some test-scripts to use <code>/bin/echo</code>
5526    rather than the shell's possibly-builtin <code>echo</code>, to
5527    work around broken configuration on Mac OS X, i.e., neither
5528    honoring the option nor flagging an error.</li>
5529
5530    <li>add SGR 1006, as a better technical solution than SGR 1015:
5531      <ul>
5532        <li>the responses will not be confused with line-deletion
5533        and scrolling controls.</li>
5534
5535        <li>the button encoding is a little simpler, since it does
5536        not add an unnecessary 32 because the integer parameter
5537        does not have to be represented as a printable
5538        character.</li>
5539
5540        <li>the control responses for pressing and releasing a
5541        mouse button differ, allowing an application to tell which
5542        button was released.</li>
5543      </ul>
5544
5545      <p>Besides these improvements, in discussion, it was noted
5546      that urxvt's implementation of 1005 is incorrect, relying
5547      upon a locale that provides UTF-8 encoding. In contrast,
5548      vttest demonstrates a correct decoding, independent of
5549      locale.</p>
5550    </li>
5551
5552    <li>add support for urxvt SGR 1015 to address shortcoming of
5553    SGR 1005 with luit (patch by Egmont Koblinger).</li>
5554
5555    <li>add ISO and DEC controls useful for left/right
5556    scrolling.</li>
5557
5558    <li>add some changes for OpenBSD and MirBSD (adapted from patch
5559    by Thorsten Glaser):
5560      <ul>
5561        <li>disable search for non-Unix96 ptys.</li>
5562
5563        <li>fix a gcc warning in
5564        <code>timestamp_filename</code></li>
5565
5566        <li>modify <code>Imakefile</code> to install xterm setgid
5567        to utmp.</li>
5568      </ul>
5569    </li>
5570
5571    <li>add/use/prefer <code>posix_openpt()</code> for opening
5572    pseudo-terminal.</li>
5573
5574    <li>modify special errno handling case in ptydata.c from
5575    <a href="#xterm_158">patch #158</a> to allow for the
5576    possibility that any platform may have special cases where
5577    "/dev/tty" is absent. For example, this can happen in a FreeBSD
5578    jail (patch by David Wolfskill).</li>
5579
5580    <li>add keyboard logic to map shift-tab into XK_ISO_Left_Tab,
5581    which is usually, not always, done by the X keyboard
5582    configuration.</li>
5583
5584    <li>portability fixes for some configure macros:
5585    <code>CF_XOPEN_SOURCE</code></li>
5586  </ul>
5587
5588  <h1><a name="xterm_276" id="xterm_276">Patch #276 -
5589  2011/10/10</a></h1>
5590
5591  <ul>
5592    <li>modify clipping limits for TrueType fonts to account for
5593    the <code>scaleHeight</code> resource setting, to work around
5594    another problem due to recent FreeType changes. In this case,
5595    the <code>DejaVu Sans Mono</code> set to pixelsize=13.5 is
5596    truncated because the font descent is reduced by FreeType to
5597    match an incorrect height metric (report by Adam Lee).</li>
5598
5599    <li>improve recovery when bitmap fonts are not installed, e.g.,
5600    so that switching font-sizes works for TrueType fonts.</li>
5601
5602    <li>modify lookup for <code>XTERM_SHELL</code> feature to allow
5603    relative pathnames.</li>
5604
5605    <li>modify abbreviation disambiguation check for command-line
5606    parameters to account for <code>-geometry</code>, whose
5607    parameter may begin with "+" or "-" (report by Scott
5608    Bertilson).</li>
5609  </ul>
5610
5611  <h1><a name="xterm_275" id="xterm_275">Patch #275 -
5612  2011/09/11</a></h1>
5613
5614  <ul>
5615    <li>add <code>ash</code>, <code>zsh</code> to known shells for
5616    <code>resize</code>.</li>
5617
5618    <li>modify <code>resize</code> to reuse the logic from
5619    <code>xterm</code> which determines the actual logon-user's
5620    shell if <code>$SHELL</code> is not set.</li>
5621
5622    <li>revert the <code>unsetenv("SHELL")</code> added in <a href=
5623    "#xterm_272">patch #272</a>.</li>
5624
5625    <li>an <code>unsetenv("SHELL")</code> added in <a href=
5626    "#xterm_272">patch #272</a> to help ensure that
5627    <code>luit</code> would get the user's shell consistently did
5628    not work as expected for cases where multiple names are in the
5629    password-file for a given uid. That was because changes in
5630    <a href="#xterm_157">patch #157</a> to handle this situation
5631    did not take into account that repeated calls to
5632    <code>getpwnam</code> and <code>getpwuid</code> return a
5633    pointer to the same static buffer. Fixed the older logic to
5634    work as intended, by ensuring that the passwd-data from each
5635    call is stored separately (report by Paul Keusemann).</li>
5636
5637    <li>adjust ifdef's for <code>putenv</code> and
5638    <code>unsetenv</code> in case only one of those is provided on
5639    a given platform.</li>
5640
5641    <li>correct comparison used in <code>ExposeContains</code>
5642    macro from <a href="#xterm_274">patch #274</a> changes, to
5643    handle window-dragging (patch by Todd Eigenschink).</li>
5644  </ul>
5645
5646  <h1><a name="xterm_274" id="xterm_274">Patch #274 -
5647  2011/09/05</a></h1>
5648
5649  <ul>
5650    <li>portability fixes for cygwin: do not define
5651    <code>SVR4</code>, and work around nonstandard header
5652    location.</li>
5653
5654    <li>ifdef'd use of <code>unsetenv</code> from <a href=
5655    "#xterm_273">patch #273</a> changes to work with Solaris 9
5656    (report by Waldemar Rachwal).</li>
5657
5658    <li>modify logic for <code>XtAppPending</code> to merge
5659    adjacent <code>Expose</code> and <code>ConfigureNotify</code>
5660    events which are redundant (report by Edward McGuire).</li>
5661
5662    <li>fix an unneeded warning message when <code>-r</code> option
5663    is given.</li>
5664
5665    <li>remove a few redundant entries from table used for helping
5666    abbreviation-checking of command-line options, makes
5667    <code>-geom</code> work again after <a href="#xterm_272">patch
5668    #272</a> changes as an abbreviation of
5669    <code>-geometry</code>.</li>
5670
5671    <li>add <code>scaleHeight</code> resource and command-line
5672    option <code>-sh</code> as workaround for some
5673    font-configurations broken by changes in FreeType 2.4.6 (report
5674    by Miroslav Hodak).</li>
5675
5676    <li>portability fixes for some configure macros:
5677    <code>CF_FUNC_TGETENT</code>, <code>CF_XOPEN_SOURCE</code>,
5678    <code>CF_X_ATHENA_LIBS</code>.</li>
5679
5680    <li>add configure option <code>--with-freetype-config</code> to
5681    improve selection over the plethora of configuration options
5682    which freetype has so far provided.</li>
5683
5684    <li>build-fix for configure <code>--enable-load-vt-fonts</code>
5685    when <code>--enable-widec</code> is not specified.</li>
5686
5687    <li>build-fixes for suppressing various features, needed after
5688    changes in patches 270, 271 and 272 (report by Brian
5689    Lindholm)</li>
5690  </ul>
5691
5692  <h1><a name="xterm_273" id="xterm_273">Patch #273 -
5693  2011/08/25</a></h1>
5694
5695  <ul>
5696    <li>build-fix for out-of-tree "make docs" rule.</li>
5697
5698    <li>correct a typo in <code>x_strdup</code>, from <a href=
5699    "#xterm_198">patch #198</a> changes.</li>
5700
5701    <li>correct initialization for <code>-e</code> option, broken
5702    in <a href="#xterm_272">patch #272</a> changes (report by
5703    Gabriele Balducci).</li>
5704
5705    <li>build-fix for out-of-tree builds to address
5706    <code>minstall</code> script changes in <a href=
5707    "#xterm_272">patch #272</a> (patch by Thierry Reding).</li>
5708  </ul>
5709
5710  <h1><a name="xterm_272" id="xterm_272">Patch #272 -
5711  2011/08/24</a></h1>
5712
5713  <ul>
5714    <li>document limitation of <code>Gtk</code> in connection with
5715    xterm's <code>-into</code> option, in the manpage (Ubuntu
5716    #806969).</li>
5717
5718    <li>improve <code>-into</code> by checking for and using the
5719    size of the window within which xterm is embedded, overriding
5720    other clues.</li>
5721
5722    <li>modify logic for <code>localeFilter</code> resource to
5723    allow that to include command-line options of luit.</li>
5724
5725    <li>improve <code>-into</code> by checking for invalid
5726    window-id, and allowing hexadecimal/decimal/octal values.</li>
5727
5728    <li>improve <code>keepSelection</code>, adding the case where
5729    the highlighting is cleared, overlooked in <a href=
5730    "#xterm_230">patch #230</a> (patch by Marco Peereboom).</li>
5731
5732    <li>improve command-line parsing to make abbreviate options
5733    work consistently across xterm-specific versus standard X
5734    toolkit options, and report cases where an abbreviated option
5735    happens to be ambiguous. In particular, <code>-d</code> now
5736    works as an abbreviation for <code>-display</code>.</li>
5737
5738    <li>fix regression in command-line parsing introduced in
5739    <a href="#xterm_271">patch #271</a> changes for Debian #629358,
5740    (Debian #637910).</li>
5741
5742    <li>split-out new termcap/terminfo building block
5743    <code>xterm+kbs</code> for configurability.</li>
5744
5745    <li>modify <code>terminfo</code> file to reflect changes in
5746    ncurses for <code>xterm-16color</code> and
5747    <code>xterm-256color</code>.</li>
5748
5749    <li>modify <code>minstall.sh</code>, etc., to reflect the
5750    default default class, <code>$TERM</code> and
5751    <code>decTerminalID</code> values.</li>
5752
5753    <li>reword <code>resize</code> manpage to reflect the fact that
5754    <code>$TERMCAP</code> is not set on all systems (patch by Alan
5755    Coopersmith).</li>
5756
5757    <li>work around combined Xaw6/Xaw7 package in DragonFlyBSD
5758    which omits the usual symbolic link to the preferred library
5759    name.</li>
5760
5761    <li>further improve build-fix for termcap systems by checking
5762    for some which are only partial implementations, e.g., termcap
5763    2.08 in CentOS 5.2</li>
5764  </ul>
5765
5766  <h1><a name="xterm_271" id="xterm_271">Patch #271 -
5767  2011/07/14</a></h1>
5768
5769  <ul>
5770    <li>omit permissions adjustments to pty on exit except for
5771    pre-Unix98 ptys, since modern implementations handle this
5772    (report by Sean C Farley).</li>
5773
5774    <li>modify logic for switching fonts between UTF-8 and
5775    non-UTF-8 encoding to not merge the derivable bold-, wide- and
5776    widebold values from the VT100 fonts. Also suppress warning
5777    when not using UTF-8 fonts if wide- and widebold-fonts cannot
5778    be derived or otherwise loaded (report by Werner
5779    Scheinast).</li>
5780
5781    <li>modify menu-creation to suppress entries which will never
5782    be used in the current configuration, rather than simply
5783    disabling them.</li>
5784
5785    <li>add resource <code>printModeImmediate</code> and menu item
5786    to allow print of screen plus saved lines to a file.</li>
5787
5788    <li>add menu item to allow runtime enable/disable of the
5789    <code>printFileOnXError</code> feature.</li>
5790
5791    <li>append a timestamp to filename used in
5792    <code>printFileOnXError</code> feature, and restrict its
5793    permissions (request by Vincent Lef&egrave;vre).</li>
5794
5795    <li>add a check when cancelling cursor-blinking, in case the
5796    cursor is blinked off. Fix so that the cursor is repainted
5797    without waiting for other events, e.g., keypress (report by
5798    Ailin Nemui).</li>
5799
5800    <li>add configure <code>--with-app-class</code> option, to
5801    simplify building "xterm-dev" packages with filenames that do
5802    not conflict with conventional "xterm" packages.</li>
5803
5804    <li>corrected logic flow for DECSCL, which prevented the
5805    updated operating level from being reported via DECRQSS (report
5806    by Ailin Nemui).</li>
5807
5808    <li>corrected default for <code>brokenStringTerm</code>
5809    resource to match manpage.</li>
5810
5811    <li>add vttests/dynamic.pl</li>
5812
5813    <li>add runtime check for locale not supported by X libraries,
5814    and fallback to XA_STRING in this case (request by Bryan
5815    Henderson).</li>
5816
5817    <li>fix a special case in configure script after no FreeType
5818    libraries are found. The script was proceeding to check for a
5819    usable configuration.</li>
5820
5821    <li>add <code>xterm+tmux</code> building block to terminfo
5822    (adapted from changes proposed by Ailin Nemui and Nicholas
5823    Marriott).</li>
5824
5825    <li>improve discussion of <code>faceName</code> resource in
5826    manpage (adapted from suggestions by Jens Schweikhardt).</li>
5827
5828    <li>correct mapping of shifted up/down cursor-keys in termcap
5829    function-keys mode, i.e., resource
5830    <code>tcapFunctionKeys</code> (patch by Gertjan Halkes).</li>
5831
5832    <li>update AIX case in <code>CF_XOPEN_SOURCE</code> configure
5833    macro to add release 7.x.</li>
5834
5835    <li>modify ifdef's in <code>xterm_io.h</code> for
5836    <code>__hpux</code> to force that to use the hacked SYSV
5837    support in that file. This fixes a problem with a non-blocking
5838    socket call (patch by Paul Lampert).</li>
5839
5840    <li>improve filtering of desktop category scanning, to exclude
5841    XFCE.</li>
5842
5843    <li>modify configure script to work with systems that have both
5844    ncurses (or other terminfo) as well as a real termcap library,
5845    e.g., Slackware (report by Andrew Watts).</li>
5846
5847    <li>modify configure script to work around special case where
5848    user's environment adds compiler flags to the <code>CC</code>
5849    variable (prompted by report by Paul Lampert).</li>
5850
5851    <li>amend change for Debian #110226 so that "-h" or "-v"
5852    options cause an exit, rather than simply printing to stdout
5853    while the window is displayed (Debian #629358).</li>
5854
5855    <li>add response for <code>DECRQSS</code> which gives the
5856    setting for <code>DECSCUSR</code>.</li>
5857
5858    <li>modify AllocateTermColor() to handle
5859    <code>XtDefaultForeground</code> and
5860    <code>XtDefaultBackground</code>, which are not recognized by
5861    <code>XParseColor</code>. For example, this fixes the use of
5862    OSC&nbsp;112 when no explicit cursor color was set (report by
5863    Ailin Nemui).</li>
5864
5865    <li>handle special-case of <code>KeyPress</code> translated to
5866    <code>popup-menu</code> action (Ubuntu #756273).</li>
5867  </ul>
5868
5869  <h1><a name="xterm_270" id="xterm_270">Patch #270 -
5870  2011/04/26</a></h1>
5871
5872  <ul>
5873    <li>build-fix, e.g., for using <code>imake</code> on platforms
5874    which use the termcap library.</li>
5875
5876    <li>modify <code>utf8</code> resource to accept a name.</li>
5877
5878    <li>mention default for <code>fontWarnings</code> in manpage
5879    (report by Werner Scheinast).</li>
5880
5881    <li>split "UTF-8" menu entry into "UTF-8 Encoding" and "UTF-8
5882    Fonts" (prompted by discussion with Werner Scheinast).</li>
5883
5884    <li>gray-out font-menu entries when a font fails to load, e.g.,
5885    a bitmap font is not installed.</li>
5886
5887    <li>improve behavior when there is no app-defaults file:
5888      <ul>
5889        <li>set the <code>toolBar</code> resource to false</li>
5890
5891        <li>gray-out the font menu entries where no resource is
5892        found.</li>
5893      </ul>
5894    </li>
5895
5896    <li>add configure option <code>--with-desktop-category</code>
5897    to allow customization of the ".desktop" files.</li>
5898
5899    <li>build-fix for the <code>install-desktop</code>
5900    makefile-rule, when the source/build directories differ (patch
5901    by Lo&iuml;c Minier).</li>
5902
5903    <li>add menu entry and corresponding resource which can be used
5904    to suppress all bold-fonts (discussion with Jan
5905    Engelhardt).</li>
5906
5907    <li>make internal line-size value consistent with allocated
5908    sizes of character and related arrays to ensure that bulk
5909    copying of line data, e.g., in scrolling, accounts for the
5910    padding used for pointer alignment (adapted from patch by
5911    Rajesh Mandalemula, also reported by Ali Bahar).</li>
5912
5913    <li>widen ifdef for screen-resizing logic from <a href=
5914    "#xterm_176">patch #176</a> changes to send
5915    <code>SIGWINCH</code> to process group to include any system
5916    supporting <code>ioctl(*,TIOCGPGRP,*)</code> (prompted by
5917    linux-specific patch in OpenSUSE rpm package).</li>
5918
5919    <li>add <code>printModeOnXError</code> and
5920    <code>printFileOnXError</code> resources, which allow the user
5921    to specify that xterm will write the contents of its screen to
5922    a file if it is exiting due to an X error (Debian
5923    #280457).</li>
5924
5925    <li>restore logic that made reverse-video apply to the
5926    scrollbar's foreground/background, broken in <a href=
5927    "#xterm_158">patch #158</a> (report by Bryan Ischo).</li>
5928
5929    <li>amend some of the window operations parameter-checks added
5930    in <a href="#xterm_251">patch #251</a> for the push/pop title
5931    feature, to allow the parameters used for window resizing to be
5932    -1's, which makes the corresponding values ignored rather than
5933    using the window's maximum width/height (report by Noah
5934    Friedman).</li>
5935
5936    <li>correct order of initialization for
5937    <code>translations</code> vs <code>fullscreen</code> resources
5938    to enable a special case which omits the Alt-Enter translation
5939    when <code>fullscreen</code> is disabled (Debian #612978).</li>
5940
5941    <li>update config.guess, config.sub</li>
5942  </ul>
5943
5944  <h1><a name="xterm_269" id="xterm_269">Patch #269 -
5945  2011/02/19</a></h1>
5946
5947  <ul>
5948    <li>build-fixes for <code>imake</code> (report by Heiko
5949    Berges).</li>
5950
5951    <li>modify autoconf macro CF_PKG_CONFIG to work with
5952    cross-compile environments (patch by Thierry Reding).</li>
5953
5954    <li>modify <code>MapToColorMode()</code> to favor bold over
5955    underline, matching the precedence used before <a href=
5956    "#xterm_252">patch #252</a> (report/analysis by Nicolas
5957    George).</li>
5958
5959    <li>add <code>omitTranslation</code> resource, which can be
5960    used to suppress the default translations for these features:
5961      <ul>
5962        <li>fullscreen</li>
5963
5964        <li>scroll-lock</li>
5965
5966        <li>shift-fonts</li>
5967
5968        <li>wheel-mouse</li>
5969      </ul>
5970    </li>
5971
5972    <li>make the fullscreen feature configurable (Debian #612978)
5973      <ul>
5974        <li>add it to the configurable list
5975        <code>disallowedWindowOps</code>.</li>
5976
5977        <li>add command-line option <code>-fullscreen</code> to
5978        allow the feature to be enabled at startup.</li>
5979
5980        <li>add resource <code>fullscreen</code> to control whether
5981        the feature is active or may be enabled.</li>
5982      </ul>
5983    </li>
5984
5985    <li>modify <code>probe_netwm_fullscreen_capability</code> for
5986    64-bit machines. Contrary to <code>XGetWindowProperty</code>
5987    manpage, that function returns 32-bit data packed as
5988    <code>long</code>'s.</li>
5989
5990    <li>eliminate copy of <code>name</code> resource, which was
5991    otherwise used only to give the terminal-description name for
5992    the tcap-query feature. Use the actual <code>$TERM</code> value
5993    instead, as derived from <code>termName</code> resource,
5994    etc.</li>
5995
5996    <li>eliminate an old inconsistency with error messages, some
5997    used the <code>-name</code> option, while others used
5998    <code>argv[0]</code>. The latter is now used consistently.</li>
5999
6000    <li>improve configure check for rpath-hack, to improve builds
6001    on systems where gcc will not search /usr/local/lib, etc.</li>
6002
6003    <li>build-fix for Xaw3d configuration (report by H Merijn
6004    Brand).</li>
6005
6006    <li>update config.guess, config.sub</li>
6007  </ul>
6008
6009  <h1><a name="xterm_268" id="xterm_268">Patch #268 -
6010  2011/02/10</a></h1>
6011
6012  <ul>
6013    <li>fix an inconsistency of the "Enable Reverse Video" checkbox
6014    in the VT Options menu. This also removes a special case added
6015    in <a href="#xterm_217">patch #217</a> which limited the effect
6016    of the <code>reverseVideo</code> resource (Debian
6017    #603808).</li>
6018
6019    <li>amend decoding of misformed UTF-8 sequences to avoid
6020    absorbing valid characters as documented in Unicode 6.0 section
6021    3.9 (report by Keith Winstein).</li>
6022
6023    <li>do not set urgency hint when window already has focus
6024    (patch by Dimitrios Christidis).</li>
6025
6026    <li>amend extended mouse-coordinate mode from <a href=
6027    "#xterm_262">patch #262</a> changes to include the <em>Cb</em>
6028    button-code, which also may be greater than 127 (report by
6029    Ailin Nemui).</li>
6030
6031    <li>ensure that underline-cursor is visible when an application
6032    happens to set the background color (report by Christian
6033    Weisgerber).</li>
6034
6035    <li>add feature for <a href=
6036    "http://www.davidsimmons.com/soft/xtermhacks/xterm-fullscreen.patch">
6037    full-screen toggling</a> using either Alt-Enter or a menu
6038    selection (integrated patch by Dave Simmons).</li>
6039
6040    <li>add missing logic to handle reallocation of FIFO index for
6041    the "UTF-8" menu entry (report by David Holland, NetBSD
6042    #44344).</li>
6043
6044    <li>add makefile rules <code>docs-ctlseqs</code>,
6045    <code>docs-xterm</code>, etc.</li>
6046
6047    <li>correct typo in description of DECRPM in control sequences
6048    document (report by Ailin Nemui).</li>
6049  </ul>
6050
6051  <h1><a name="xterm_267" id="xterm_267">Patch #267 -
6052  2010/11/20</a></h1>
6053
6054  <ul>
6055    <li>minor formatting changes to ctlseqs.ms to simplify a script
6056    which extracts the feature information. See the results in
6057    <a href=
6058    "https://invisible-island.net/xterm/xterm.faq.html#compare_versions">
6059    Comparing versions, by counting controls</a> in the xterm
6060    FAQ.</li>
6061
6062    <li>add <code>docs-clean</code> makefile rule.</li>
6063
6064    <li>add <code>copy-selection</code> action (request by Timo
6065    Juhani Lindfors, Debian #588785).</li>
6066
6067    <li>trim leading/trailing blanks from string used for
6068    "Selection" font-menu data.</li>
6069
6070    <li>trim leading/trailing blanks from color resource
6071    values.</li>
6072
6073    <li>configure script improvements:
6074      <ul>
6075        <li>add workaround for removal of X11 dependency from Xt's
6076        package file (report by Robert Hooker).</li>
6077
6078        <li>add workaround for removal of fontconfig dependency
6079        from Xft's package file (report by Jeremy Huddleston).</li>
6080
6081        <li>add workaround for removal of Xmu dependency from Xaw's
6082        package file (report by Jeremy Huddleston).</li>
6083
6084        <li>improve workaround in <code>CF_X_TOOLKIT</code> macro,
6085        checking for other possible packages where Xt's
6086        dependencies may be given.</li>
6087
6088        <li>prefer <code>${name:=value}</code> to
6089        <code>${name-value}</code>, since recent bash changes break
6090        legacy support for that feature.</li>
6091      </ul>
6092    </li>
6093  </ul>
6094
6095  <h1><a name="xterm_266" id="xterm_266">Patch #266 -
6096  2010/10/24</a></h1>
6097
6098  <ul>
6099    <li>add rpm and dpkg scripts, for testing.</li>
6100
6101    <li>more fixes for Debian #600707 (report by Cyril
6102    Brulebois).</li>
6103  </ul>
6104
6105  <h1><a name="xterm_265" id="xterm_265">Patch #265 -
6106  2010/10/22</a></h1>
6107
6108  <ul>
6109    <li>fix a regression in fontname logic from <a href=
6110    "#xterm_263">patch #263</a> changes (Debian #600707, reported
6111    by Vincent Lef&egrave;vre).</li>
6112
6113    <li>revert modification of any-event/any-button protocol from
6114    <a href="#xterm_263">patch #263</a> changes. It interferes with
6115    selection using a shifted mouse button (reports by Neil Bird,
6116    Bram Moolenaar).</li>
6117  </ul>
6118
6119  <h1><a name="xterm_264" id="xterm_264">Patch #264 -
6120  2010/10/14</a></h1>
6121
6122  <ul>
6123    <li>replace a null-pointer check with check for empty string in
6124    <code>xtermOpenFont</code>, to eliminate a warning message from
6125    <a href="#xterm_263">patch #263</a> changes.</li>
6126
6127    <li>build-fix for <a href="#xterm_263">patch #263</a> when
6128    toolbar is not configured (patch by Chris Clayton) (reports by
6129    Robby Workman, David Wood).</li>
6130  </ul>
6131
6132  <h1><a name="xterm_263" id="xterm_263">Patch #263 -
6133  2010/10/13</a></h1>
6134
6135  <ul>
6136    <li>corrected initialization of "misc" resource values, to
6137    ensure that xterm has allocated a copy of strings which may not
6138    have been malloc'd by the X library (Debian #600129).</li>
6139
6140    <li>modify handling of any-event/any-button mouse protocol; it
6141    now is active with any combination of key-modifiers.</li>
6142
6143    <li>add debugging feature <code>showWrapMarks</code>, which
6144    marks lines which xterm knows are wrapped, showing where a
6145    double-click will select past the end of a line.</li>
6146
6147    <li>build-fix to address change in include-guards for
6148    <code>Xlib.h</code> in ongoing Xorg edits (patch by Jeremy
6149    Huddleston).</li>
6150
6151    <li>improve <code>pointerMode</code> by continuing to watch for
6152    motion events after mouse tracking is disabled if the pointer
6153    is hidden (Debian #594856).</li>
6154
6155    <li>further extend initialization for active-icon font to check
6156    if the font was not loaded successfully, to retry with
6157    <code>font1</code>, or as even (if TrueType fonts are used) to
6158    use a TrueType font. The retries are to help with cases as in
6159    <a href="#xterm_241">patch #241</a> where the bitmap fonts are
6160    not available.</li>
6161
6162    <li>fix special case of active-icon used when TrueType font is
6163    specified for the xterm window, from <a href="#xterm_261">patch
6164    #261</a> change. In that case, the default font's size was used
6165    for layout of the active icon's window (Debian #591265).</li>
6166  </ul>
6167
6168  <h1><a name="xterm_262" id="xterm_262">Patch #262 - 2010/8/30</a></h1>
6169
6170  <ul>
6171    <li>fix a case where changing the cursor color via escape
6172    sequences did not immediately update the screen (report by
6173    Andreas Wagner).</li>
6174
6175    <li>implement ANSI and DEC request-mode control sequences. The
6176    latter includes the xterm-specific private modes such as the
6177    mouse mode. The feature is ifdef'd with the rectangle
6178    operations since its decoding overlaps that feature.</li>
6179
6180    <li>correct typo in ctlseqs.ms for response of OSC 21 (patch by
6181    Kevin Schoedel).</li>
6182
6183    <li>improve discussion of mouse tracking in ctlseqs.ms</li>
6184
6185    <li>increase an array limit used in reporting mouse events
6186    (report by Ryan Johnson).</li>
6187
6188    <li>add extended mouse-coordinates mode, allowing up to
6189    2015x2015 windows, using UTF-8 encoding (patch by Ryan
6190    Johnson).</li>
6191
6192    <li>modify manpage hyphens to conform with <a href=
6193    "http://lintian.debian.org/tags/hyphen-used-as-minus-sign.html">
6194    Debian</a>.</li>
6195  </ul>
6196
6197  <h1><a name="xterm_261" id="xterm_261">Patch #261 - 2010/6/28</a></h1>
6198
6199  <ul>
6200    <li>fix regression in <code>renderFont</code> logic, from
6201    <a href="#xterm_260">patch #260</a> changes (report by Joseph
6202    Quinsey).</li>
6203  </ul>
6204
6205  <h1><a name="xterm_260" id="xterm_260">Patch #260 - 2010/6/20</a></h1>
6206
6207  <ul>
6208    <li>modify <code>plink.sh</code> to work around problem linking
6209    to recent PCRE libraries.</li>
6210
6211    <li>extend <code>renderFont</code> resource to allow deferred
6212    switch to TrueType fonts without affecting existing resource
6213    settings (Debian #585620).</li>
6214
6215    <li>modify configure macro CF_X_TOOLKIT to work around omission
6216    of ICE library from ".pc" file (report by Miroslav
6217    Lichvar).</li>
6218
6219    <li>change configure script default for
6220    <code>--enable-broken-st</code> i.e., the
6221    <code>brokenStringTerm</code> feature) to normally enable it.
6222    If the corresponding resource is enabled, this feature
6223    eliminates an apparent freeze of xterm when sending mis-encoded
6224    data to the screen (Debian #584801).</li>
6225
6226    <li>document in manpage some actions which were overlooked:
6227      <ul>
6228        <li>readline-button</li>
6229
6230        <li>scroll-lock</li>
6231
6232        <li>set-8-bit-control</li>
6233      </ul>
6234    </li>
6235
6236    <li>undo a change to limit-check in <code>ScrnRefresh</code> in
6237    <a href="#xterm_257">patch #257</a>, which broke
6238    <code>fastScroll</code> feature (Debian #584841).</li>
6239
6240    <li>modify handling of <code>brokenLinuxOSC</code> and
6241    <code>brokenStringTerm</code> to also sound the bell.</li>
6242
6243    <li>add control/D and control/Q to controls which will cause
6244    early exit from control string per
6245    <code>brokenStringTerm</code> resource.</li>
6246
6247    <li>improve documentation of <code>brokenStringTerm</code>
6248    resource in manpage.</li>
6249  </ul>
6250
6251  <h1><a name="xterm_259" id="xterm_259">Patch #259 - 2010/6/5</a></h1>
6252
6253  <ul>
6254    <li>modify configure check for <a href=
6255    "https://invisible-island.net/luit/">luit</a> to include new
6256    aliases for the program (<code>xterm-filter</code> and
6257    <code>bluit</code>).</li>
6258
6259    <li>add workaround in <code>xtermClearLEDs()</code> to account
6260    for Xkb's override, making vttest's LED demo reset the scroll
6261    lock.</li>
6262
6263    <li>filter out client-message events when deciding whether to
6264    hide cursor, e.g., when using SCIM (patch/report by anonymous
6265    user).</li>
6266
6267    <li>improve description of <code>-bd</code> option in manpage
6268    (report by Guy Daniel Clotilde).</li>
6269
6270    <li>modify configure checks for PCRE and other libraries to use
6271    <code>pkg-config</code>, if available.</li>
6272
6273    <li>amend change from <a href="#xterm_252">patch #252</a>, to
6274    take <code>veryColorColors</code> resource into account when
6275    checking <code>colorBDMode</code> resource for TrueType fonts
6276    (report by anonymous user).</li>
6277
6278    <li>add <code>vttests/query-fonts.pl</code> script for
6279    demonstrating the <code>OSC&nbsp;50</code> font query.</li>
6280
6281    <li>improve manpage discussion of Scroll Lock feature.</li>
6282
6283    <li>improve configure macros CF_GCC_VERSION and
6284    CF_GCC_WARNINGS.</li>
6285
6286    <li>fix warnings for "clang --analyze".</li>
6287
6288    <li>change default for <code>allowScrollLock</code> resource to
6289    <code>false</code>, noting that the supposedly unused key has
6290    been useful for various rebindings (Debian #580946).</li>
6291  </ul>
6292
6293  <h1><a name="xterm_258" id="xterm_258">Patch #258 - 2010/5/1</a></h1>
6294
6295  <ul>
6296    <li>add pointer-checks in <code>ScrnRefresh</code> to fix a
6297    case in rapid scrolling where an empty record is fetched from
6298    the scrollback FIFO.</li>
6299  </ul>
6300
6301  <h1><a name="xterm_257" id="xterm_257">Patch #257 - 2010/4/22</a></h1>
6302
6303  <ul>
6304    <li>correct ctlseqs.ms description of OSC 17 and OSC 19 (patch
6305    by Emanuele Giaquinta).</li>
6306
6307    <li>corrected logic for <code>menuLocale</code> resource; the
6308    <code>setlocale</code> function returns the original locale
6309    only when querying.</li>
6310
6311    <li>improve filtering of translations resource, narrowing the
6312    scope of the <code>alwaysUseMods</code> to address only the
6313    translations that would cause a key to be sent to the host
6314    (report by Andrew Gaylard).</li>
6315
6316    <li>change default value of <code>menuLocale</code> resource to
6317    "C", to work around longstanding <a href=
6318    "https://invisible-island.net/xterm/xterm.faq.html#slow_menus">Xorg
6319    bug</a>.</li>
6320
6321    <li>modify handling of <code>scrollKey</code> feature to ignore
6322    XON/XOFF keys.</li>
6323
6324    <li>implement scroll-lock feature.</li>
6325
6326    <li>revise memory allocation in UTF8toLatin1() to fix an
6327    out-of-bounds index (Mandriva #54531).</li>
6328
6329    <li>compute value for first wide-character rather than assuming
6330    it is 256, fixes problem with <code>-cjk_width</code>
6331    introduced in patches <a href="#xterm_242">242</a> and <a href=
6332    "#xterm_249">249</a> (report by Thomas Wolff).</li>
6333
6334    <li>improve configure script:
6335      <ul>
6336        <li>corrected check for <code>_XOPEN_SOURCE</code> for
6337        OpenSolaris.</li>
6338
6339        <li>when possible, add rpath option for libraries in
6340        unusual places</li>
6341
6342        <li>add configure option <code>--disable-rpath-hack</code>
6343        to control whether the rpath option can be added.</li>
6344      </ul>
6345    </li>
6346
6347    <li>modify <code>AllocateTermColor()</code> to separate
6348    initialization from control sequences, fixing problem from
6349    <a href="#xterm_254">patch #254</a> changes where enabling
6350    <code>allowSendEvents</code> resource prevents setting cursor
6351    color on command-line (Debian #572928).</li>
6352
6353    <li>amend logic from <a href="#xterm_185">patch #185</a> to not
6354    reallocate cell-array if processing
6355    <code>ESC&nbsp;%&nbsp;G</code> to switch from UTF-8 if already
6356    in ISO-8859-1 character set (report by Michael Koehne).</li>
6357
6358    <li>fix to avoid calling <code>XmuInternStrings()</code> with
6359    zero count (report by Johan Bockg&aring;rd).</li>
6360
6361    <li>fix build when --disable-ansi-color configure option is
6362    used.</li>
6363
6364    <li>fix build when neither OPT_TCAP_QUERY or OPT_TCAP_FKEYS is
6365    defined (patch by Matthieu Herrb)</li>
6366  </ul>
6367
6368  <h1><a name="xterm_256" id="xterm_256">Patch #256 - 2010/3/6</a></h1>
6369
6370  <ul>
6371    <li>add TerminalEmulator to desktop category files.</li>
6372
6373    <li>modify <code>sinstall.sh</code> to ignore the "." appended
6374    to permissions by selinux.</li>
6375
6376    <li>change app-defaults organization, installing UXTerm-color
6377    and KOI8XTerm-color for consistent behavior regarding
6378    <code>customization:&nbsp;color</code> (prompted by discussion
6379    in Ubuntu #421261).</li>
6380
6381    <li>fix typo in <code>minstall.sh</code> from <a href=
6382    "#xterm_255">patch #255</a> changes, and add case for
6383    <code>/var/run</code> needed for full path of utmp (report by
6384    Julien Cristau).</li>
6385
6386    <li>minor fix to xterm manpage, remove a comment stating that
6387    margin bell can be changed via the VT Options menu. That was
6388    replaced in <a href="#xterm_225">patch #225</a></li>
6389
6390    <li>add a "docs" rule to makefile.</li>
6391
6392    <li>fix initialization of Atom used for <code>XkbBell</code>
6393    feature from <a href="#xterm_243">patch 243</a> changes. Unlike
6394    the other calls to <code>XInternAtom()</code>, in this case the
6395    flag telling X to create the Atom was unset (patch by Chris
6396    Adams).</li>
6397  </ul>
6398
6399  <h1><a name="xterm_255" id="xterm_255">Patch #255 - 2010/1/21</a></h1>
6400
6401  <ul>
6402    <li>rename <code>install.sh</code> to <code>install-sh</code>
6403    in case suffix-rules might interfere.</li>
6404
6405    <li>extend range for <code>convertToUTF8</code> function to
6406    full 31-bits, to use with printing, etc.</li>
6407
6408    <li>improve manpage by checking for actual locations of
6409    utmp/wtmp files (Debian #562640).</li>
6410
6411    <li>modify configure macro CF_XOPEN_SOURCE to remove -D's
6412    before adding the same name rather than relying on -U's, to
6413    reduce redefinition warnings for some platforms that have
6414    conflicting definitions in headers.</li>
6415
6416    <li>correct logic used to switch to alternate screen using
6417    FIFO-lines configuration (Debian #565772).</li>
6418
6419    <li>update config.guess, config.sub</li>
6420  </ul>
6421
6422  <h1><a name="xterm_254" id="xterm_254">Patch #254 - 2010/1/6</a></h1>
6423
6424  <ul>
6425    <li>add a configure-check to eliminate <code>install-ti</code>
6426    rule from Makefile when the system has no tic (terminfo
6427    compiler) program. This lets one use the
6428    <code>install-full</code> rule more consistently.</li>
6429
6430    <li>amend change to WriteText() function in <a href=
6431    "#xterm_252">patch #252</a> to take into account the
6432    <code>colorAttrMode</code> resource (report by Krzysztof
6433    Kotlenga).</li>
6434
6435    <li>document <code>titleModes</code> resource in manpage, added
6436    in <a href="#xterm_252">patch #252</a>.</li>
6437
6438    <li>modify tcap-query table entries for shifted up/down cursor
6439    keys to match ncurses convention.</li>
6440
6441    <li>improve lookup of termcap-query data, allowing for
6442    duplicate keycodes versus missing entries.</li>
6443
6444    <li>add control sequence which can be used to modify the
6445    terminal data used for the termcap-keyboard.</li>
6446
6447    <li>improve portability of tcap-query feature, using terminfo
6448    functions in preference to termcap on systems having
6449    terminfo.</li>
6450
6451    <li>improve font-setting/querying control
6452    (<code>OSC&nbsp;50</code>):
6453      <ul>
6454        <li>when TrueType font is selected, the TrueType
6455        <code>faceName</code> will be set, rather than the bitmap
6456        font.</li>
6457
6458        <li>when TrueType font is selected, querying returns the
6459        name of the TrueType font.</li>
6460
6461        <li>querying a font recognizes the relative-font convention
6462        that setting a font could use.</li>
6463      </ul>
6464    </li>
6465
6466    <li>add menu-entry for allowColorOps.</li>
6467
6468    <li>add new resources for fine-tuning menu entries:
6469    <code>allowColorOps</code>, <code>disallowedColorOps</code>,
6470    <code>disallowedFontOps</code> and
6471    <code>disallowedTcapOps</code>.</li>
6472
6473    <li>correct logic for disabling the "TrueType Fonts" menu item;
6474    it was not ensuring that the <code>faceName</code> resource
6475    value was non-empty.</li>
6476
6477    <li>implement VT520-style controls <code>DECSMBV</code> and
6478    <code>DECSWBV</code> for setting the margin- and warning-bell
6479    volume.</li>
6480
6481    <li>fix a minor error from <a href="#xterm_243">patch #243</a>
6482    which made the zIconBeep feature use a minor-error tone rather
6483    than an informational tone.</li>
6484
6485    <li>add a null-pointer check for the case where
6486    <code>renderFont</code> resource is true, but
6487    <code>faceName</code> resource is unset, used in logic to strip
6488    "xft:" prefix from <a href="#xterm_251">patch #251</a> changes
6489    (patch by Michael Riepe).</li>
6490
6491    <li>add special case to configure CF_XOPEN_SOURCE macro to use
6492    extensions on Darwin (patch by Dennis Preiser).</li>
6493
6494    <li>improve configure checks for regular expressions header and
6495    library</li>
6496
6497    <li>update config.guess, config.sub</li>
6498  </ul>
6499
6500  <h1><a name="xterm_253" id="xterm_253">Patch #253 -
6501  2009/12/10</a></h1>
6502
6503  <ul>
6504    <li>add a null-pointer check in <code>getPrinterFlags()</code>
6505    per changes in <a href="#xterm_252">patch #252</a>.</li>
6506
6507    <li>add a null-pointer check, needed in UTF-8 mode for Xft
6508    fonts after changes in <a href="#xterm_252">patch #252</a>
6509    (patch by Alan Coopersmith).</li>
6510
6511    <li>correct size when clearing struct for tek4014 (patch by
6512    Jochen Voss).</li>
6513
6514    <li>parenthesize expression in <code>MoreRows</code> macro,
6515    fixing a limit check added in <a href="#xterm_251">patch
6516    #251</a> (Debian #560039).</li>
6517  </ul>
6518
6519  <h1><a name="xterm_252" id="xterm_252">Patch #252 - 2009/12/7</a></h1>
6520
6521  <ul>
6522    <li>modify title-querying logic to support retrieval of titles
6523    encoded using UTF-8.</li>
6524
6525    <li>add new "title-modes" control sequence for controlling
6526    whether window/icon titles can be set or queried using UTF-8,
6527    optionally encoded in a hexadecimal string.</li>
6528
6529    <li>use <code>mkdir&nbsp;-p</code> rather than
6530    <code>mkdirs.sh</code> (prompted by discussion of mawk by
6531    Aleksey Cheusov).</li>
6532
6533    <li>add appropriate copyright/license notices to the bulk of
6534    files lacking same, and modify to use identical terms in others
6535    which used different wording. The main exceptions are the files
6536    contributed by Markus Kuhn, who appears to prefer public domain
6537    distribution, noting that I have modified/improved several of
6538    these without changing the terms of distribution (request by
6539    Jari Aalto).</li>
6540
6541    <li>add control sequences for resetting the "dynamic" colors to
6542    their default values.</li>
6543
6544    <li>add control sequences for resetting the "special" colors to
6545    their default values.</li>
6546
6547    <li>add control sequences for setting the "special" colors such
6548    as <code>colorBD</code> (bold).</li>
6549
6550    <li>add overlooked case for setting highlight foreground color
6551    with the dynamic-colors control.</li>
6552
6553    <li>add <code>OSC 104</code>, for resetting ANSI/16/88/256
6554    colors to default.</li>
6555
6556    <li>reset ANSI/16/88/256 colors to default in soft/hard reset
6557    functions.</li>
6558
6559    <li>strip "xft:" prefix from <code>faceName</code> and
6560    <code>faceNameDoublesize</code> resource values,</li>
6561
6562    <li>add <code>DECSCUSR</code> (discussion with Andy
6563    Koppe).</li>
6564
6565    <li>add check/warning on failure to load font, to see if the
6566    name looks like an Xft pattern rather than XLFD. This can
6567    happen if someone happens to modify their X resource settings
6568    for programs that read data from xterm's namespace.</li>
6569
6570    <li>modify handling of <code>print</code> and
6571    <code>print-everything</code> actions to allow the various
6572    printer flags to be overridden by supplying parameters.</li>
6573
6574    <li>add resource <code>printerNewLine</code> (request by Ovidiu
6575    Gheorghioiu).</li>
6576
6577    <li>minor cleanup, finish using <code>TScreenOf()</code> and
6578    <code>TekScreenOf()</code> macros introduced in <a href=
6579    "#xterm_224">patch #224</a>.</li>
6580
6581    <li>improve checks in ShowCursor/HideCursor to get the
6582    background color, particularly when
6583    <code>highlightReverse</code> resource is used (reports by Jan
6584    Engelhardt, Christian Weisgerber).</li>
6585
6586    <li>correct <code>checkVeryBoldAttr</code> to omit comparison
6587    of foreground color to special color values used for
6588    <code>color&lt;XX&gt;</code> resources (report by Jan
6589    Engelhardt).</li>
6590
6591    <li>make <code>colorBDMode</code> and <code>colorULMode</code>
6592    resources work with TrueType configuration (report by Jan
6593    Engelhardt).</li>
6594  </ul>
6595
6596  <h1><a name="xterm_251" id="xterm_251">Patch #251 -
6597  2009/11/11</a></h1>
6598
6599  <ul>
6600    <li>add window-ops controls to push/pop icon and/or window
6601    labels on a stack.</li>
6602
6603    <li>minor fixes to align termcap file with terminfo.</li>
6604
6605    <li>add resource <code>disallowedWindowOps</code>, to allow
6606    fine-tuning of features to suppress with the
6607    <code>allowWindowOps</code> resource (prompted by discussion
6608    with Bram Moolenaar).</li>
6609
6610    <li>add makefile rules for resize-manpage to pdf, etc.</li>
6611
6612    <li>further improve limit-checks in select/paste (Mandriva
6613    #54531).</li>
6614  </ul>
6615
6616  <h1><a name="xterm_250" id="xterm_250">Patch #250 -
6617  2009/10/13</a></h1>
6618
6619  <ul>
6620    <li>add check and error-message for fonts that have no
6621    printable values in the ISO-8859-1 range (Debian #542434).</li>
6622
6623    <li>some compiler-warning cleanup, in particular workaround for
6624    defective implementation of gcc's attribute warn_unused_result
6625    (report by Bram Moolenaar).</li>
6626
6627    <li>improve estimate of single-column width for packed TrueType
6628    fonts by ignoring extents for codes 127 and 159.</li>
6629
6630    <li>improve line-drawing for TrueType fonts which happen to
6631    have defined glyphs which are <em>not</em> line-drawing in
6632    0..31 by assuming they're not, and just checking the existence
6633    of the Unicode codepoints. This makes it more likely that the
6634    user can override a misconfigured font using the "Line-Drawing
6635    Characters" menu entry.</li>
6636
6637    <li>limit minimum cell-width for packed font to maximum-advance
6638    reported by Xft. Some fonts are wider than that, even in the
6639    Latin-1 range (Debian #550497).</li>
6640
6641    <li>add list of direct-contributors in "THANKS" file.</li>
6642
6643    <li>stylistic changes to this file to help scripted extraction
6644    of list of contributors.</li>
6645
6646    <li>correct off-by-one in <code>okPosition</code> fix from
6647    <a href="#xterm_249">patch #249</a> limit-checks which
6648    prevented double-click selection on the bottom line of the
6649    screen (reports by Rajeev V. Pillai, Debian #550368).</li>
6650
6651    <li>add <code>-q</code> option to
6652    <code>vttests/256colors2.pl</code> and
6653    <code>vttests/88colors2.pl</code> to demonstrate bulk
6654    initialization of color palette.</li>
6655
6656    <li>improve the workaround from patch #188 by enabling
6657    resources for the 88-color model.</li>
6658
6659    <li>document in xterm manpage the limited availability of
6660    resources <code>color16</code> to <code>color255</code> as
6661    noted in <a href="#xterm_188">patch #188</a> (Ubuntu
6662    #438850).</li>
6663  </ul>
6664
6665  <h1><a name="xterm_249" id="xterm_249">Patch #249 - 2009/10/1</a></h1>
6666
6667  <ul>
6668    <li>change default for <code>allowWindowOps</code> resource to
6669    false. 
6670    <!-- on the other hand, gnome-terminal, pterm and rxvt-unicode
6671                leave most of the related functionality enabled ;-) --></li>
6672
6673    <li>add limit-checks for result of visual_width() function,
6674    needed from <a href="#xterm_242">patch #242</a> and exposed by
6675    #244 changes (Debian #548321).</li>
6676
6677    <li>improve limit-checks in select/paste.</li>
6678
6679    <li>fix a remaining bug from <a href="#xterm_230">patch
6680    #230</a> changes for displaying multi-column characters in a
6681    proportional font (report by Chris Jones).</li>
6682
6683    <li>add new resource forcePackedFont and menu entry "Packed
6684    Font" to control whether to use the font's minimum (default) or
6685    maximum width when those differ. The workaround which xterm
6686    uses to accommodate proportional fonts is not necessary with
6687    certain fonts such as unifont which happen to store a mixture
6688    of multicolumn glyphs (report by Chris Jones).</li>
6689
6690    <li>fix an (old) bug which did not restart the timer for
6691    blinking text if the only blinking text was temporarily
6692    scrolled out of view, e.g., using the scrollbar.</li>
6693
6694    <li>fix an (old) flaw in the delete-line operation where the
6695    text which is scrolled into view while the display is scrolled
6696    up was not repainted.</li>
6697
6698    <li>improve delete-line and insert-line operations, retaining
6699    selection when the selection does not intersect the
6700    deleted/inserted lines.</li>
6701
6702    <li>fix an (old) off-by-one error when an application cleared
6703    above the cursor position while the display was scrolled up,
6704    that would leave an extra line of text uncleared.</li>
6705
6706    <li>fix a similar problem where the double-size attribute would
6707    not be reset when clearing the screen while the display was
6708    scrolled up.</li>
6709
6710    <li>fix an indexing error which would occur if an application
6711    cleared a line while the display was scrolled up and was also
6712    in UTF-8 mode (Redhat #524503). The error was from <a href=
6713    "#xterm_228">patch #228</a> but more visible after changes from
6714    <a href="#xterm_244">patch #244</a>.</li>
6715  </ul>
6716
6717  <h1><a name="xterm_248" id="xterm_248">Patch #248 - 2009/9/11</a></h1>
6718
6719  <ul>
6720    <li>fix an overlooked adjustment for selecting double-width
6721    characters in the narrow-character configuration.</li>
6722
6723    <li>eliminate uses of <code>XTERM_CELL</code> and
6724    <code>XTERM_CELLC</code> where an appropriate
6725    <code>LineData</code> pointer is available.</li>
6726
6727    <li>correct expression in <code>okScrnRow</code> macro, making
6728    selections give the length of lines below the visible screen
6729    (report by Stuart Henderson).</li>
6730
6731    <li>correct logic used to improve performance of missing-glyph
6732    check, which did not handle line-drawing characters (Debian
6733    #545220).</li>
6734  </ul>
6735
6736  <h1><a name="xterm_247" id="xterm_247">Patch #247 - 2009/8/30</a></h1>
6737
6738  <ul>
6739    <li>add ifdef's and check for openpty() on DragonFly (patch by
6740    Alex Hornung).</li>
6741
6742    <li>correct calculation for size of line's data block, which
6743    was sometimes off-by-one when configured using
6744    <code>--enable-16bit-chars</code> (report by H Merijn
6745    Brand).</li>
6746
6747    <li>fix indexing error in print-everything feature from
6748    <a href="#xterm_246">patch #246</a> (patch by Ovidiu
6749    Gheorghioiu).</li>
6750  </ul>
6751
6752  <h1><a name="xterm_246" id="xterm_246">Patch #246 - 2009/8/16</a></h1>
6753
6754  <ul>
6755    <li>remove obsolete logic for saving/restoring wrapping flags,
6756    which did not work on 64-bit platform. Wrapping flags (stored
6757    in the line-index) are now copied with line-data (Debian
6758    #541160).</li>
6759
6760    <li>modify comments in app-defaults files to avoid problem with
6761    C preprocessor used by <code>xrdb</code> (Debian #541603).</li>
6762
6763    <li>restore special case in <code>makeColorPair</code>, needed
6764    for <code>colorBDMode</code> resource (Debian #541089).</li>
6765
6766    <li>correct <code>SetLineFlags()</code> macro, broken in
6767    <a href="#xterm_244">patch #244</a> when recoding to avoid
6768    gcc-specific bitfields (Debian #541236).</li>
6769
6770    <li>modify initialization of screen buffers to ensure that
6771    pointers align to int-boundaries. This fixes a problem
6772    introduced in <a href="#xterm_244">patch #244</a> where the
6773    color- and character-arrays (stored after the video-attributes
6774    in each row) might be misaligned (report by Rajeev V
6775    Pillai).</li>
6776
6777    <li>add limit-check in <code>ScrnRefresh</code> for handling
6778    saved-lines from the circular buffer which are repainted on a
6779    screen whose width has increased. To improve performance,
6780    circular buffer entries are not resized (report by Rajeev V
6781    Pillai).</li>
6782
6783    <li>correct type for <code>CellColor</code> (a late change in
6784    <a href="#xterm_244">patch #244</a> to avoid gcc-specifc enums
6785    made that unsigned rather than unsigned short, for the
6786    256-color option).</li>
6787
6788    <li>fix typo in configure option --enable-16bit-chars (report
6789    by Rajeev V. Pillai).</li>
6790  </ul>
6791
6792  <h1><a name="xterm_245" id="xterm_245">Patch #245 - 2009/8/12</a></h1>
6793
6794  <ul>
6795    <li>correct a special case in saving FIFO-lines from <a href=
6796    "#xterm_244">patch #244</a>. If the screen was shrunk, xterm
6797    used the wrong amount for copying to FIFO-lines, and then used
6798    this amount to adjust the current row on the screen. That was
6799    both a visible defect (Debian #541109) as well as a potential
6800    addressing error (Debian #541132, Debian #541160, and Debian
6801    #541236).</li>
6802
6803    <li>add clarification in xterm manual about the various
6804    <code>allow<em>XXX</em>Ops</code> resources, which are disabled
6805    when the <code>allowSendEvents</code> resource is active (patch
6806    by Julien Cristau, Debian #531597).</li>
6807  </ul>
6808
6809  <h1><a name="xterm_244" id="xterm_244">Patch #244 - 2009/8/9</a></h1>
6810
6811  <ul>
6812    <li>refactored storage of saved-lines, providing a configure
6813    option to manage them as a FIFO (actually a circular buffer),
6814    improving performance. Added configure option
6815    <code>--enable-fifo-lines</code> to enable/disable the new
6816    feature (it is enabled by default).</li>
6817
6818    <li>added <code>fastScroll</code> resource, to amuse people who
6819    measure terminal emulator performance by <code>cat</code>'ing
6820    large files to the screen.</li>
6821
6822    <li>modify check in <code>readPtyData</code> from return values
6823    to provide exit on zero-bytes read from pty for FreeBSD, or
6824    eliminate high-CPU in "xterm-hold" processing (discussion with
6825    Ulrich Spoerlein, FreeBSD ports/136686). The check was
6826    originally modified to combine negative/zero values in
6827    XFree86-3.1.2E, 1996/05/06.</li>
6828
6829    <li>add configure option <code>--enable-16bit-chars</code> to
6830    provide wide-characters with 16-bits (rather than the default
6831    32-bits).</li>
6832
6833    <li>add <code>retryInputMethod</code> resource to allow
6834    configuring out the retries xterm uses to connect to
6835    non-responsive XIM server, to work around defective X
6836    configurations as noted in <a href=
6837    "http://mail-index.netbsd.org/tech-x11/2009/06/07/msg000511.html">
6838    NetBSD mailing list</a>.</li>
6839
6840    <li>make regular-expression selection work for VT100
6841    double-sized characters.</li>
6842
6843    <li>improve layout when drawing missing characters in a
6844    proportional font, e.g., as boxes, to take into account whether
6845    they are double-width (report by Guilbert Stabilo on
6846    comp.unix.shell).</li>
6847
6848    <li>add capability for keypad-center (kb2/KA2) to termcap entry
6849    for xterm-new, as well as xterm-8bit, xterm-sun and xterm-vt220
6850    (FreeBSD conf/136336).</li>
6851
6852    <li>change default for <code>keepSelection</code> resource to
6853    true (prompted by discussion with David Muir Sharnoff).</li>
6854
6855    <li>remove a limit-check in ptydata.c, allowing Unicode values
6856    past 64k to be displayed using TrueType fonts (Debian
6857    #458432).</li>
6858
6859    <li>remove a vt52-specific ifdef to allow mapping F1-F4 to
6860    PF1-PF4 when vt52 support is not compiled (report by Olaf
6861    'Rhialto' Seibert).</li>
6862
6863    <li>save/restore line-wrapping flags when converting from
6864    ISO-8859-1 encoding to UTF-8 encoding, as well as when resizing
6865    screen.</li>
6866
6867    <li>remove extra adjustment of position in fix for Debian
6868    #418324.</li>
6869
6870    <li>modify default check for <code>mkWidth</code> resource to
6871    check for line-drawing characters, which are categorized as
6872    double-width in Solaris 10 (report by Sebastian Kayser).</li>
6873
6874    <li>add "print-everything" action (patch by Ovidiu
6875    Gheorghioiu).</li>
6876
6877    <li>start refactoring scrollback data using new getLineData()
6878    function.</li>
6879
6880    <li>demote recent change to Debian #252873 fix to experimental,
6881    ifdef'd out as <code>EXP_BOGUS_FG</code> (Debian #522141).</li>
6882
6883    <li>work around groff mapping of ASCII quotes using macros
6884    (requested by Reuben Thomas based on Colin Watson advice, fixes
6885    Debian #378700).</li>
6886
6887    <li>correct symbol used for default of
6888    <code>allowWindowOps</code> which was
6889    <code>DEF_ALLOW_FONT</code> rather than
6890    <code>DEF_ALLOW_WINDOW</code> (report by Matthieu Herrb).</li>
6891
6892    <li>amend fix for tek4014 from <a href="#xterm_243">patch
6893    #243</a> to make it only apply to the Tek Options menu.</li>
6894  </ul>
6895
6896  <h1><a name="xterm_243" id="xterm_243">Patch #243 - 2009/3/28</a></h1>
6897
6898  <ul>
6899    <li>revert change to default for <code>allowTcapOps</code>
6900    (request by Bram Moolenaar).</li>
6901
6902    <li>reallocate result returned by <code>xtermEnvLocale()</code>
6903    to avoid reference to freed memory after handling
6904    <code>menuLocale</code> resource.</li>
6905
6906    <li>fix an old (X11R5) bug in tek4014 for switching
6907    fontsizes.</li>
6908
6909    <li>add resource <code>defaultString</code> to make
6910    configurable the use of "#" when pastes of UTF-8 text fail due
6911    to limitations in the current locale settings.</li>
6912
6913    <li>make the set of selection target Atom's configurable by two
6914    new resources <code>eightBitSelectTypes</code> and
6915    <code>utf8SelectTypes</code>, e.g., to use the
6916    <code>TEXT</code> Atom in preference to
6917    <code>UTF8_STRING</code> (discussion with Stanislav Sedov
6918    regarding koi8rxterm and the FreeBSD port).</li>
6919
6920    <li>modify handling of <code>TARGETS</code> Atom by making it
6921    return exactly the set of targets as those which xterm is
6922    currently providing.</li>
6923
6924    <li>set <code>MANPAGER</code> and <code>PAGER</code> explicitly
6925    to /bin/cat in <code>minstall.sh</code> to work around
6926    /etc/man.conf's with those variables already set (report by
6927    &#1052;&#1072;&#1088;&#1100;&#1103;&#1089;&#1080;&#1085;
6928    &#1057;&#1077;&#1084;&#1105;&#1085;).</li>
6929
6930    <li>improve error-checking of tcap-query parser.</li>
6931
6932    <li>add check for keyboard <code>tcap</code>), which ensures
6933    that terminal descriptions containing the same string for
6934    shifted/unshifted keys will be seen by tcap-query as only the
6935    unshifted key. (This would only happen with an incorrect
6936    terminal description).</li>
6937
6938    <li>fix conversion for input event-state to modifier-parameter
6939    which made tcap-query feature not work with
6940    <code>tcapFunctionKeys</code> (keyboard type
6941    <code>tcap</code>).</li>
6942
6943    <li>add "DEF_ALLOW_<em>XXX</em>" definitions to main.h to allow
6944    overriding the default compiled-in values for
6945    "allow<em>xxx</em>" resources.</li>
6946
6947    <li>remove check on bell-percentage added in <a href=
6948    "#xterm_242">patch #242</a>, which disallowed zero/negative
6949    values (Redhat Bugzilla #487829).</li>
6950  </ul>
6951
6952  <h1><a name="xterm_242" id="xterm_242">Patch #242 - 2009/2/15</a></h1>
6953
6954  <ul>
6955    <li>fix configure check for <code>XkbBell</code> and provide
6956    appropriate parameter for it.</li>
6957
6958    <li>fix a caching problem with double-size fonts versus reverse
6959    video that could cause core dump.</li>
6960
6961    <li>repair double-size fonts from workaround used in <a href=
6962    "#xterm_240">patch #240</a>.</li>
6963
6964    <li>add new section to the VT Fonts menu which allows enabling
6965    or disabling the font, termcap (tcap-query), title and window
6966    operations.</li>
6967
6968    <li>add <code>fontWarnings</code> resource, to control whether
6969    to show warnings on failure to load a font.</li>
6970
6971    <li>improve warnings for unloadable fonts introduced in
6972    <a href="#xterm_240">patch #240</a> by limiting those to the
6973    cases where a font would be specified directly by a resource
6974    setting rather than a derived fontname.</li>
6975
6976    <li>further amend fix for Debian #252873 from <a href=
6977    "#xterm_197">patch #197</a> to treat a blank cell which does
6978    not have both foreground and background colored as a
6979    non-colored cell. This improves a special case where the cursor
6980    is on a blank cell which had foreground color scrolled in
6981    (report by Miroslav Lichvar).
6982      <p>Also add the same logic when hiding cursor, so the outline
6983      matches the in-focus cursor.</p>
6984    </li>
6985
6986    <li>modify internals to reduce places PAIRED_CHARS() is used,
6987    making WriteText() and ScrnWriteText() accept IChar array, as
6988    well as providing a wrapper for drawXtermText().</li>
6989
6990    <li>change default XIM font from "*" to "fixed" to improve
6991    startup time in zh_CN.UTF-8 locale (Mike Fabian, SuSE Bugzilla
6992    #464930).</li>
6993
6994    <li>typo in #240 log (Slava Semushin)</li>
6995  </ul>
6996
6997  <h1><a name="xterm_241" id="xterm_241">Patch #241 - 2009/1/26</a></h1>
6998
6999  <ul>
7000    <li>improve checks for missing bitmap fonts, fallback to
7001    "fixed" as needed to work around broken font-packages (report
7002    by Jacek Luczak).</li>
7003
7004    <li>fix breakage from <a href="#xterm_240">patch #240</a>
7005    changes for <code>xtermAddInput()</code> (patches by Jeff Chua,
7006    Julien Cristau).</li>
7007  </ul>
7008
7009  <h1><a name="xterm_240" id="xterm_240">Patch #240 - 2009/1/25</a></h1>
7010
7011  <ul>
7012    <li>use <code>plink.sh</code> for linking xterm (suggested by
7013    Larry Doolittle).</li>
7014
7015    <li>add resource descriptions for input method to xterm
7016    manpage.</li>
7017
7018    <li>update configure script; consistently append to $CFLAGS
7019    rather than prepend.</li>
7020
7021    <li>add <code>install-scripts</code> rule to makefile, to allow
7022    koi8rxterm and uxterm scripts to be altered independently of
7023    <code>install-bin</code></li>
7024
7025    <li>add <code>-maximized</code> command-line option and
7026    corresponding resource (prompted by alt.os.linux newsgroup
7027    comment).</li>
7028
7029    <li>modify translations of scrollbar widget using
7030    <code>xtermAddInput()</code> (see <a href="#xterm_181">patch
7031    #181</a>) to accept the actions that the vt100 widget accepts,
7032    such as shift-insert to perform a paste operation (request by
7033    Martin Zwickel).</li>
7034
7035    <li>change default for <code>allowTcapsOps</code> resource to
7036    false, since it causes unexpected behavior for vim users with
7037    <code>AltGr</code>.</li>
7038
7039    <li>update config.guess, config.sub</li>
7040  </ul>
7041
7042  <h1><a name="xterm_239" id="xterm_239">Patch #239 - 2009/1/8</a></h1>
7043
7044  <ul>
7045    <li>correct a cast in input.c, which broke translation of
7046    numeric keypad codes to pageup, pagedown, etc., on 64-bit
7047    platform (Debian #511138, report by Larry Doolittle).</li>
7048  </ul>
7049
7050  <h1><a name="xterm_238" id="xterm_238">Patch #238 -
7051  2008/12/30</a></h1>
7052
7053  <ul>
7054    <li>update configure macro CF_XOPEN_SOURCE for AIX 6.x and Mint
7055    platforms.</li>
7056
7057    <li>reset the screen wrapping-flag at the end of
7058    <code>ClearRight</code> to fix an occasional case where the
7059    last character of a scrolled and wrapped line would be cleared
7060    (patch by Joe Peterson).</li>
7061
7062    <li>modify to use POSIX coding for comparing resource settings
7063    such as <code>locale</code>, to work with locales such as
7064    Turkish (report by M Vefa Bicakci).</li>
7065
7066    <li>turn on configure <code>paste64</code> feature by default
7067    (request by Jean-Philippe Bernardy). It is runtime
7068    enabled/disabled with <code>allowWindowOps</code>.</li>
7069
7070    <li>turn on configure <code>tcap-query</code> feature by
7071    default, add resource <code>allowTcapOps</code> to make this
7072    runtime enabled/disabled.</li>
7073
7074    <li>make <code>OSC 3</code> (change X property, from <a href=
7075    "#xterm_110">patch #110</a>) subject to
7076    <code>allowWindowOps</code> resource.</li>
7077
7078    <li>make VT220 <code>DSR</code> responses inactive in
7079    VT100-mode.</li>
7080
7081    <li>make <code>DECUDK</code> feature inactive in
7082    VT100-mode.</li>
7083
7084    <li>respond to incorrectly formatted <code>DECRQSS</code> with
7085    a cancel.</li>
7086
7087    <li>add <code>allowFontOps</code> resource to allow the
7088    fontsize-switching and font query/set control sequences to be
7089    enabled/disabled (prompted by Debian #510030).</li>
7090
7091    <li>some code cleanup based on gcc 4.x
7092    <code>-Wconversion</code> warnings in button.c and
7093    charproc.c</li>
7094
7095    <li>modify <code>tcap-query</code> feature to not return data
7096    for shifted cursor-keys when the keyboard type is set to vt220,
7097    since returning the same string for shifted/unshifted keys may
7098    confuse some applications (Gentoo #212546).</li>
7099  </ul>
7100
7101  <h1><a name="xterm_237" id="xterm_237">Patch #237 -
7102  2008/09/14</a></h1>
7103
7104  <ul>
7105    <li>improve usability of TrueType fonts by making the font-size
7106    switching for shifted keypad plus/minus use the
7107    <code>faceSize</code> resources to determine the order of fonts
7108    (when TrueType fonts are used) rather than the bitmap fonts,
7109    since their sizes may not be in the same order (report by H
7110    Merijn Brand)</li>
7111
7112    <li>remove an optimization of <code>ConfigureNotify</code>
7113    events from <a href="#xterm_236">patch #236</a> which seems to
7114    interfere with passing <code>SIGWINCH</code> to applications
7115    (Gentoo #233836).</li>
7116
7117    <li>modify handling of <code>altSendsEscape</code> to reset the
7118    <code>eightBitInput</code> mode, like
7119    <code>metaSendsEscape</code> (patch by Ted Phelps).</li>
7120
7121    <li>add feature to show the text-cursor as an underline rather
7122    than a box, plus command-line options <code>-uc</code> and
7123    <code>+uc</code> and resource <code>cursorUnderLine</code> to
7124    control the feature (patch by Paul Lampert).</li>
7125
7126    <li>update config.guess, config.sub</li>
7127  </ul>
7128
7129  <h1><a name="xterm_236" id="xterm_236">Patch #236 -
7130  2008/07/27</a></h1>
7131
7132  <ul>
7133    <li>correct memory reallocation when handling a paste of UTF-8
7134    text from <a href="#xterm_225">patch #225</a> changes
7135    (report/patch by Max Mikhanosha).</li>
7136
7137    <li>correct allocation of temporary buffer in
7138    <code>xtermFindShell</code> in case the user's
7139    <code>$PATH</code> contains no ":" (report/analysis by Victor
7140    Stinner, Freedesktop.Org Bugzilla #16790).</li>
7141
7142    <li>modify CF_XOPEN_SOURCE to add case for DragonFly BSD, to
7143    fix new compile problem exposed by fix for fd_mask (patch by
7144    Hasso Tepper).</li>
7145
7146    <li>add configure-check for ncurses
7147    <code>use_extended_names</code>, (report by Martin
7148    Mokrejs).</li>
7149
7150    <li>correct computation for toolbar height; layout manager
7151    already takes into account <code>borderWidth</code>
7152    resource.</li>
7153
7154    <li>implement VT320-style SCS (select character set) for ISO
7155    Latin-1 supplemental.</li>
7156
7157    <li>fixes for vt100-style character sets in UTF-8 mode (Ubuntu
7158    #230919).</li>
7159
7160    <li>fix to make <code>luit</code> work with xterm's
7161    <code>-ls</code> option (report/patch by Marius Tolzmann).</li>
7162
7163    <li>update config.guess, config.sub</li>
7164  </ul>
7165
7166  <h1><a name="xterm_235" id="xterm_235">Patch #235 -
7167  2008/04/20</a></h1>
7168
7169  <ul>
7170    <li>add control sequences for some of the recent resource/menu
7171    settings:
7172      <ul>
7173        <li><code>altSendsEscape</code> (private mode 1039)</li>
7174
7175        <li><code>keepSelection</code> (private mode 1040)</li>
7176
7177        <li><code>selectToClipboard</code> (private mode 1041)</li>
7178
7179        <li><code>bellIsUrgent</code> (private mode 1042)</li>
7180
7181        <li><code>popOnBell</code> (private mode 1043)</li>
7182      </ul>
7183    </li>
7184
7185    <li>add resource <code>formatOtherKeys</code> to provide an
7186    alternate escape sequence format for the
7187    <code>modifyOtherKeys</code> resource (request by Paul LeoNerd
7188    Evans).</li>
7189
7190    <li>adjust saved-cursor position if the window is resized while
7191    displaying the alternate screen (Novell #196880, Debian
7192    #383384).</li>
7193
7194    <li>improve pointer-checks to fix a bug exposed by resizing
7195    during initialization under StumpWM window manager (Fedora
7196    Bugzilla #437928).</li>
7197
7198    <li>modify <code>unselectwindow()</code> to ensure that the
7199    mouse pointer is not hidden after xterm loses focus (report by
7200    Jeremy Huddleston).</li>
7201
7202    <li>add special check for fd_mask on Mac OS X (report by Jeremy
7203    Huddleston).</li>
7204
7205    <li>add <code>dylib</code> to autoconf's suffix list used for
7206    checking the result from <code>xmkmf</code>, to work with Mac
7207    OS X (report by Jeremy Huddleston).</li>
7208
7209    <li>correct initialization of bold- and wide-, wide-bold fonts
7210    which may be set via the <code>utf8Fonts</code> subresource
7211    (Debian #347790).</li>
7212  </ul>
7213
7214  <h1><a name="xterm_234" id="xterm_234">Patch #234 -
7215  2008/03/02</a></h1>
7216
7217  <ul>
7218    <li>modify <code>sinstall.sh</code> to use POSIX locale to
7219    bypass GNU ls changes to date-format.</li>
7220
7221    <li>improved/refined changes for closing bitmap font (patch by
7222    Andrea Odetti).</li>
7223
7224    <li>improve resize computation for situations where the
7225    negotiation fails, by invoking the xterm widget's core-class
7226    resize method (Debian #365602, patch by Jim Paris).</li>
7227
7228    <li>restore initialization of terminal's <code>VMIN</code> and
7229    <code>VTIME</code> settings, from <a href="#xterm_232">patch
7230    #232</a> changes (patch by Matthieu Herrb).</li>
7231  </ul>
7232
7233  <h1><a name="xterm_233" id="xterm_233">Patch #233 -
7234  2008/02/24</a></h1>
7235
7236  <ul>
7237    <li>add configure check for <code>ttydefaults.h</code>, include
7238    if needed, e.g., for systems where defining
7239    <code>_POSIX_C_SOURCE</code>, etc., prevents it from being
7240    included via <code>termios.h</code> (prompted by comments by
7241    Robert Delius Royar and Jeremy Huddleston).</li>
7242
7243    <li>bug-fixes for bugs.opensolaris.org (patches from Alan
7244    Coopersmith)
7245      <dl>
7246        <dt>4029911</dt>
7247
7248        <dd>fix a typo in manpage</dd>
7249
7250        <dt>4045962</dt>
7251
7252        <dd>xterm doesn't properly set ut_syslen</dd>
7253
7254        <dt>4192572</dt>
7255
7256        <dd>left-left-right misinterpreted as triple click</dd>
7257      </dl>
7258    </li>
7259
7260    <li>minor optimization to tab-initialization (patch by
7261    N&eacute;meth M&aacute;rton).</li>
7262
7263    <li>fix a case where an incorrect font was freed during
7264    initialization from <a href="#xterm_232">patch #232</a> changes
7265    (patch by Andrea Odetti).</li>
7266
7267    <li>improve comparison used in <code>SameFont</code> function
7268    for GC-caching (Julien Cristau).</li>
7269
7270    <li>correct macro name used for default <code>CKILL</code>
7271    definition to work with Mac OS X (report by Jeremy
7272    Huddleston).</li>
7273  </ul>
7274
7275  <h1><a name="xterm_232" id="xterm_232">Patch #232 -
7276  2008/01/30</a></h1>
7277
7278  <ul>
7279    <li>corrected logic in a font-cache used for reverse-video
7280    (Debian #404079).</li>
7281
7282    <li>add control sequence to alter <code>pointerMode</code> at
7283    runtime.</li>
7284
7285    <li>add limit-checks for rectangle operation parameters (report
7286    by Martin Pirker).</li>
7287
7288    <li>modify <code>minstall.sh</code> to suppress
7289    <code>$MANPAGER</code> and <code>$PAGER</code> environment
7290    variables, which may interfere with redirecting output of
7291    <code>man</code> to a shell variable (report/patch by Zdenek
7292    Sekera).</li>
7293
7294    <li>do not try to hide mouse pointer in the tek4014 window,
7295    fixes broken "-t" option at startup from <a href=
7296    "#xterm_230">patch #230</a> changes (report by Robert K.
7297    Nelson).</li>
7298
7299    <li>correct datatype used when drawing tek4014 data using xterm
7300    compiled for wide-characters, on big-endian machines (reports
7301    by Jeremy Huddleston, Harald Hanche-Olsen, Martin Costabel,
7302    Merle Reinhart).</li>
7303
7304    <li>modify to cache the font-names along with the bitmap font
7305    data, to improve comparison of fonts.</li>
7306
7307    <li>modify to allow building with configure options
7308    <code>--disable-ansi-color</code> and
7309    <code>--disable-leaks</code> (Debian #459817, report/patch by
7310    N&eacute;meth M&aacute;rton).</li>
7311
7312    <li>modify to allow building with configure options
7313    <code>--enable-wide-chars</code> and
7314    <code>--disable-c1-print</code> (Debian #459816, report/patch
7315    by N&eacute;meth M&aacute;rton).</li>
7316
7317    <li>add <code>pointerMode</code> resource to control whether
7318    and when the pointer cursor is hidden as the user types.</li>
7319
7320    <li>simplify initialization of ttyMode- and related characters
7321    using a table.</li>
7322
7323    <li>modify initialization-logic for stty values that correspond
7324    to ltchars structure and the BSD TIOCSLTC ioctl (susp, dsusp,
7325    rprnt flush, werase, lnext). These were reset to constants for
7326    both termios and legacy interfaces immediately after asking the
7327    system for the existing values since X11R6.1, rather than using
7328    them to provide inherited values. While the legacy interface
7329    has some constraints, e.g., on HPUX, the POSIX or termios
7330    interface should not. Your shell may reset these anyway
7331    (prompted by patch by Ed Schouten).</li>
7332
7333    <li>improve logic for hiding/displaying pointer-cursor (report
7334    by Mark Brukhartz).</li>
7335
7336    <li>add limit-checks to tabs.c, increase maximum column for
7337    setting tab-stops from 320 to 1024 (report by N&eacute;meth
7338    M&aacute;rton).</li>
7339
7340    <li>correct length, i.e., number of types of selection targets,
7341    computed by <code>ConvertSelection()</code> when not handling
7342    wide characters for the <code>XA_TARGETS()</code> case. This
7343    leaves an extra Atom on the end of the list which is not
7344    handled by <a href=
7345    "http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6322854">Java
7346    applications</a>. The problem was introduced in <a href=
7347    "#xterm_151">patch #151</a> (report by David Wood).</li>
7348  </ul>
7349
7350  <h1><a name="xterm_231" id="xterm_231">Patch #231 -
7351  2008/01/05</a></h1>
7352
7353  <ul>
7354    <li>undo change to <code>getXtermCell()</code> from patch #230
7355    using <code>PACK_PAIR</code> macro (Debian #459014, analysis by
7356    Caetano Jimenez Carezzato).</li>
7357
7358    <li>minor documentation fixes (patch by Slava Semushin)</li>
7359
7360    <li>add makefile actions to install KOI8RXTerm app-defaults
7361    file (patch by Julien Cristau).</li>
7362  </ul>
7363
7364  <h1><a name="xterm_230" id="xterm_230">Patch #230 -
7365  2007/12/31</a></h1>
7366
7367  <ul>
7368    <li>add <code>quietGrab</code> resource, which when true,
7369    suppresses cursor repainting when <code>NotifyGrab</code> and
7370    <code>NotifyUngrab</code> event types are received during
7371    change of focus (request by Nicolas George).</li>
7372
7373    <li>do not treat Unicode BIDI control characters as combining
7374    characters (Debian #457634).</li>
7375
7376    <li>add <code>koi8rxterm</code>, from Debian.</li>
7377
7378    <li>add manpage for <code>uxterm</code>, from Debian (Ubuntu
7379    #128136, Debian #438645)</li>
7380
7381    <li>remove ".xpm" suffixes from Icon filenames in desktop files
7382    since it confuses some lookups following the <a href=
7383    "http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html">
7384    Icon Theme Specification</a> (report by Slava Semushin)</li>
7385
7386    <li>correct width-calculation used for adjusting proportional
7387    fonts, to work with wide-characters (Debian #441354).</li>
7388
7389    <li>fixes/improvements for double-size characters:
7390      <ul>
7391        <li>correct old clipping calculation which used total
7392        height of glyphs where ascent was needed.</li>
7393
7394        <li>if bold font is unavailable, fall back to normal
7395        font</li>
7396
7397        <li>adjust to "work" with Xft (which does not support
7398        double-width single-height characters).</li>
7399
7400        <li>restore reset of doublesize for a line when it is
7401        cleared, broken in <a href="#xterm_228">patch
7402        #228</a>.</li>
7403      </ul>
7404    </li>
7405
7406    <li>modify logic for <code>forceBoxChars</code> resource when
7407    using TrueType fonts to be consistent with bitmap fonts</li>
7408
7409    <li>modify logic for <code>forceBoxChars</code> resource to
7410    make the "Line-Drawing Characters" menu entry use xterm's
7411    line-drawing characters even asked to draw wide line-drawing
7412    characters which are available in the font.</li>
7413
7414    <li>modify rectangle-support functions to preserve colors when
7415    filling/erasing to match WRQ Reflection behavior (request by
7416    Enzo Toscano).</li>
7417
7418    <li>add getopt-parsing to tcapquery.pl, including feature to
7419    test the extended cursor/editing keys.</li>
7420
7421    <li>make missing double-width glyphs display as double-width
7422    (Debian #456236).</li>
7423
7424    <li>change <code>tcap-fkeys</code> and <code>rectangles</code>
7425    configure options to enable them by default.</li>
7426
7427    <li>hide the mouse pointer while user is typing (request by
7428    Rodolfo Borges).</li>
7429
7430    <li>extend configure options <code>--enable-tcap-query</code>
7431    and <code>--enable-tcap-fkeys</code> to send cursor- and
7432    editing-keypad keys modified according to the keyboard (or
7433    termcap) selection for shift, alt, control, meta.</li>
7434
7435    <li>modify <code>kdch1</code> in termcap, e.g.,
7436    <code>xterm-r6</code> to match the terminfo file.</li>
7437
7438    <li>add <code>-hm</code> option to turn
7439    <code>highlightColorMode</code> on or off.</li>
7440
7441    <li>add <code>highlightColorMode</code> resource to separate
7442    the new (since <a href="#xterm_225">patch #225</a>)
7443    highlighting with both text- and background-colors (prompted by
7444    report/example by Thomas Wolff).</li>
7445
7446    <li>add <em>Keep Selection</em> menu entry to turn the
7447    <code>keepSelection</code> resource on/off at runtime.</li>
7448
7449    <li>add <code>keepSelection</code> resource, which when
7450    enabled, tells xterm to retain the X selection even after it
7451    stops highlighting it (patch by Sergey Vlasov).</li>
7452
7453    <li>extend the <code>CSI&nbsp;&gt;&nbsp;n</code> sequence to
7454    allow disabling all types of modified-keys that the
7455    <code>CSI&nbsp;&gt;&nbsp;m</code> sequence affects.</li>
7456
7457    <li>move include for <code>&lt;xtermcap.h&gt;</code> in
7458    <code>resize.c</code> to avoid redefinition of
7459    <code>termios</code> structure on OpenSolaris (report by Rahul
7460    Gopinathan Nair).</li>
7461
7462    <li>extend terminfo building blocks for modified editing keys
7463    to include all six keys.</li>
7464
7465    <li>synchronize terminfo with ncurses (report by Stephane
7466    Chazelas)
7467      <ul>
7468        <li>equate <code>xterm-xfree86</code> and
7469        <code>xterm-xf86-v44</code>.</li>
7470
7471        <li>add ncurses extensions OTbs, AX, for termcap
7472        conversions.</li>
7473
7474        <li>make old/legacy entries such as <code>xterm-24</code>,
7475        <code>xterm-65</code> and aliases <code>xterms</code>,
7476        <code>vs100</code> inherit from
7477        <code>xterm-old</code>.</li>
7478
7479        <li>make <code>xterm-r5</code> and <code>xterm-r6</code>
7480        the same, ignoring historical errors in X Consortium's
7481        version.</li>
7482      </ul>
7483    </li>
7484
7485    <li>fix an ifdef in logic for selecting regular expressions
7486    while in a narrow-character locale (Debian #449227).</li>
7487  </ul>
7488
7489  <h1><a name="xterm_229" id="xterm_229">Patch #229 - 2007/8/12</a></h1>
7490
7491  <ul>
7492    <li>override locale in minstall.sh; change in <a href=
7493    "#xterm_226">patch #226</a> does not work in UTF-8 locale
7494    (report by Zdenek Sekera).</li>
7495
7496    <li>undo an incorrect fix for a memory leak in <a href=
7497    "#xterm_209">patch #209</a> (Debian #435858).</li>
7498  </ul>
7499
7500  <h1><a name="xterm_228" id="xterm_228">Patch #228 - 2007/7/22</a></h1>
7501
7502  <ul>
7503    <li>modify configure script to permit combining
7504    <code>--with-utempter</code> and <code>--enable-setuid</code>,
7505    e.g., for using xterm with the utempter library on FreeBSD
7506    (report by Andriy Gapon).</li>
7507
7508    <li>modify "Quit" menu entry to override the <code>-hold</code>
7509    command-line option.</li>
7510
7511    <li>add a check in the startup error-reporting to avoid writing
7512    to pipe when it has not been opened. In that case, report
7513    errors directly to the standard error.</li>
7514
7515    <li>add OPT_READLINE definition to xtermcfg.hin, overlooked in
7516    <a href="#xterm_205">patch #205</a> (report by Kalle Olavi
7517    Niemitalo).</li>
7518
7519    <li>modify <code>88colors2.pl</code> and
7520    <code>256colors2.pl</code>, adding <code>-r</code> option to
7521    reverse the palettes for the extended colors.</li>
7522
7523    <li>check for partial overwrite or deletion of multi-column
7524    characters in several cases, e.g., insert-character,
7525    delete-character, etc., and fill the remainder of the cells
7526    used by the multi-column characters affected with blanks.</li>
7527
7528    <li>correct character-class codes in wide-character mode for
7529    characters 215, 247 (see also <a href="#xterm_165">patch
7530    #165</a>).</li>
7531
7532    <li>fix missing assignment for UTF-8 parsing in widget
7533    initialization (Debian #403360).</li>
7534
7535    <li>correct index expression used to set line-wrapping flag,
7536    making selection from scrollback work consistently (Debian
7537    #430121, report by Vincent Lef&egrave;vre).</li>
7538
7539    <li>amend changes to handshake in <a href="#xterm_226">patch
7540    #226</a> to accommodate Solaris, which relies on the extra
7541    setting of the terminal size after I/O initialization. Do this
7542    by adding new resource <code>ptySttySize</code>, which is false
7543    for Linux and MacOS X, i.e., true for for Solaris and other
7544    SVR4 platforms, as well as FreeBSD (reports by David Wood,
7545    Renato Botelho).</li>
7546
7547    <li>check for X events after cursor-left, and carriage return,
7548    consistent with indexing operations (comments by Vegard Nossum
7549    and Ingo Molnar on a mailing-list).</li>
7550
7551    <li>initialize the <code>.keyboard</code> structure, needed for
7552    some platforms (such as Solaris) after <a href=
7553    "#xterm_227">patch #227</a> fixes for keysyms (patch by David
7554    Wood).</li>
7555
7556    <li>update config.guess, config.sub</li>
7557  </ul>
7558
7559  <h1><a name="xterm_227" id="xterm_227">Patch #227 - 2007/6/27</a></h1>
7560
7561  <ul>
7562    <li>exclude the Intel compiler from the extra gcc warning
7563    options added in <a href="#xterm_226">patch #226</a>.</li>
7564
7565    <li>modify change for Debian #422521 from <a href=
7566    "#xterm_226">patch #226</a> to work with configurations where
7567    the X server does not recognize the <code>XF86Paste</code> or
7568    <code>SunPaste</code> keysyms (report by Paolo Pumilia).</li>
7569
7570    <li>fix incorrect free in fix for "Selection" menu entry in
7571    <a href="#xterm_226">patch #226</a>.</li>
7572  </ul>
7573
7574  <h1><a name="xterm_226" id="xterm_226">Patch #226 - 2007/6/17</a></h1>
7575
7576  <ul>
7577    <li>add configure check to use
7578    <code>-Wno-unknown-pragmas</code> for Solaris, and a few other
7579    new gcc warning options to address regressions in its warning
7580    options.</li>
7581
7582    <li>add sample desktop and icon files, along with configure
7583    options for manipulating them.</li>
7584
7585    <li>fix an infinite loop when showing a 2-column character in a
7586    1-column screen (Debian #426863).</li>
7587
7588    <li>add <code>XF86Paste</code> and <code>SunPaste</code> to the
7589    default translations (Debian #422521, patch by Bernhard R
7590    Link).</li>
7591
7592    <li>update wcwidth.c (partly based on/prompted by mailing list
7593    comment).</li>
7594
7595    <li>update/improve keysym2ucs.c based on Unicode 5.0.1d3 and
7596    Xorg 7.1 keysymdef.h file.</li>
7597
7598    <li>improve <code>gen-pc-fkeys.pl</code>, making it show all of
7599    the building-block terminfo entries used by xterm.</li>
7600
7601    <li>correct strings used for modifiers applied to F1-F4 in
7602    xterm+pcf1 terminfo entry.</li>
7603
7604    <li>improve session management by adding the ICE connection
7605    number to the <code>select</code> call rather than waking up
7606    once per second (patch by Miroslav Lichvar).</li>
7607
7608    <li>add environment variable <code>$XTERM_LOCALE</code> to help
7609    with shell initialization, e.g., to set a specific locale for
7610    xterm on systems where a global locale is set in the shell
7611    startup scripts.</li>
7612
7613    <li>add resource settings <code>mkSampleSize</code> and
7614    <code>mkSamplePass</code> to modify the <code>mkWidth</code>
7615    added in <a href="#xterm_201">patch #201</a>. In <a href=
7616    "#xterm_202">patch #202</a>, xterm would also check if the
7617    system's <code>wcwidth</code> matched its built-in tables "well
7618    enough" to be used when <code>mkWidth</code> was false, and if
7619    not would use the built-in tables anyway. These resources allow
7620    the user to customize the decision (prompted by comments by
7621    Emanuele Giaquinta)</li>
7622
7623    <li>modify logic which resets/updates the screensize on the
7624    child process side of the pseudo-terminal to do this only if a
7625    successful handshake was received, e.g., as determined by the
7626    <code>waitForMap</code> resource (prompted by reports by
7627    Emanuele Giaquinta and Bernhard R Link, but see also <a href=
7628    "#xterm_177">patch #177</a> and <a href="#xterm_159">patch
7629    #159</a>.</li>
7630
7631    <li>improve permissions logic when closing pseudo-terminal
7632    (Debian #12261, patch by Nathanael Nerode, analysis by Richard
7633    Braakman).</li>
7634
7635    <li>add resource <code>highlightReverse</code> which controls
7636    whether xterm will allow selection highlighting to hide
7637    reverse-video or use the older behavior which inverts the
7638    foreground and background colors when selected text with
7639    reverse-video attribute (report by Adam M Costello, comments by
7640    Victor Vaile).</li>
7641
7642    <li>restore a special case for cursor-color in
7643    <code>ReverseVideo()</code> lost in rewrite for <a href=
7644    "#xterm_224">patch #224</a> (report by Adam Sulmicki).</li>
7645
7646    <li>correct initialization for menu entry for
7647    <code>bellIsUrgent</code> (patch by Emanuele Giaquinta).</li>
7648
7649    <li>correct length of underlining for double-width Xft fonts
7650    (report by Shidai Liu "Leo").</li>
7651
7652    <li>correct clipping for double-width Xft fonts (report by
7653    Shidai Liu "Leo").</li>
7654
7655    <li>modify initialization for <code>italicULMode</code> to
7656    avoid <code>XftPatternBuild</code> reusing bold attributes
7657    (report by Shidai Liu "Leo").</li>
7658
7659    <li>add a check in case someone tries to call the
7660    <code>popup-menu()</code> action on a menu which is not
7661    initialized (Debian #426364).</li>
7662
7663    <li>improve CF_IMAKE_CFLAGS to work with Solaris sed (report by
7664    Peter Bray).</li>
7665
7666    <li>improve guess for X's manpage section in
7667    <code>minstall.sh</code>, (prompted by comment by Miroslav
7668    Lichvar).</li>
7669
7670    <li>modify <code>minstall.sh</code> to handle manpage patch
7671    with more than one dot (patch by Miroslav Lichvar).</li>
7672
7673    <li>fix configure message for --disable-setgid option (patch by
7674    Miroslav Lichvar).</li>
7675
7676    <li>add <code>allowTitleOps</code> resource to allow users to
7677    prevent the title- and icon-names from changing (request by
7678    John Bashinski).</li>
7679
7680    <li>fix "spawn-new-terminal" action, for the case where no
7681    parameter is passed to the action (patch by Daniel
7682    Colascione).</li>
7683
7684    <li>fix error-checking on internal font switching for
7685    "Selection" menu entry (Debian #421523).</li>
7686
7687    <li>amend select/paste change from <a href="#xterm_225">patch
7688    #225</a> by limiting it to non-UTF-8/non-KOI8-R encoding
7689    (Debian #420974).</li>
7690
7691    <li>add workaround for groff ".URL" codes which are not present
7692    in some commonly-used bitmap fonts (Debian #418324).</li>
7693  </ul>
7694
7695  <h1><a name="xterm_225" id="xterm_225">Patch #225 - 2007/3/24</a></h1>
7696
7697  <ul>
7698    <li>add <code>useClipping</code> resource to allow clipping to
7699    be disabled.</li>
7700
7701    <li>use <code>XftDrawSetClipRectangles</code> to work around
7702    Xft pixel-trash (report by Reuben Thomas).</li>
7703
7704    <li>add configure option <code>--enable-tcap-fkeys</code>, and
7705    resource <code>tcapFunctionKeys</code>, which can be used to
7706    tell xterm to use function-key definitions from the termcap (or
7707    terminfo) which it uses to set $TERM on startup.</li>
7708
7709    <li>add resources <code>altIsNotMeta</code> and
7710    <code>altSendsEscape</code> to allow one to use Alt-keys like
7711    the meta-key even if they are bound to different keycodes
7712    (prompted by discussion with Daniel Jacobowitz).</li>
7713
7714    <li>revert a change from <a href="#xterm_216">patch #216</a>
7715    that unnecessarily made the meta modifier override the
7716    <code>eightBitInput</code> resource if the alt- and
7717    meta-modifiers happened to overlap (report/patch by Daniel
7718    Jacobowitz).</li>
7719
7720    <li>correct associated font for active icon for colored text
7721    (broken in <a href="#xterm_224">patch #224</a>).</li>
7722
7723    <li>correct ifdef's for Darwin (patch by Emanuele
7724    Giaquinta).</li>
7725
7726    <li>add <code>highlightTextColor</code> resource, and options
7727    <code>-selfg</code>, <code>-selbg</code> like <code>xwsh</code>
7728    (adapted from patch by Victor Vaile).</li>
7729
7730    <li>revise <code>find_closest_color()</code> function to
7731    address concern about borrowing from <code>Tcl/Tk</code>
7732    (request by Dan McNichol).</li>
7733
7734    <li>add "spawn-new-terminal" action, which can be assigned to
7735    key translation, allowing one to spawn a new copy of xterm
7736    using the current process's working directory (adapted from
7737    patch by Daniel Colascione).</li>
7738
7739    <li>improve select/paste between UTF-8 and Latin1 xterms by
7740    adapting the translations from <a href="#xterm_185">patch
7741    #185</a>. Extend that to include Unicode fullwidth forms
7742    FF00-FF5E. Also modify select/paste of DEC line-drawing
7743    characters in Latin1 mode to use ASCII characters.</li>
7744
7745    <li>add "Enable Bell Urgency" to VT Options menu, removed
7746    "Enable Margin Bell".</li>
7747
7748    <li>add <code>bellIsUrgent</code> resource to control whether
7749    the Urgency hint is set/reset.</li>
7750
7751    <li>modify to set Urgency window manager hint on bell, reset it
7752    on Focus-In event (patch by Emanuele Giaquinta).</li>
7753
7754    <li>add <code>--disable-setgid</code> configure option (request
7755    by Miroslav Lichvar).</li>
7756
7757    <li>fix a possible infinite loop in last change to
7758    <code>dabbrev-expand()</code> (patch by Emanuele
7759    Giaquinta).</li>
7760
7761    <li>modify initialization to set the pty erase value if the
7762    <code>erase</code> is set in the <code>ttyModes</code>
7763    resource. This overrides the <code>ptyInitialErase</code>
7764    setting (request by Llu&iacute;s Batlle i Rossell).</li>
7765
7766    <li>add <code>initialFont</code> resource to xterm widget, like
7767    tek-widget (Debian #299669).</li>
7768
7769    <li>amend change to <code>boldMode</code> from <a href=
7770    "#xterm_223">patch #223</a> for Debian #347790. As noted in
7771    Debian #412599, that made xterm no longer match the documented
7772    behavior. Add new resource <code>alwaysBoldMode</code> to allow
7773    overriding the comparison between normal/bold fonts when
7774    deciding whether to use overstriking to simulate bold
7775    fonts.</li>
7776
7777    <li>restore background color in ClearCurBackground(), omitted
7778    in changes for <a href="#xterm_223">patch #223</a> (report by
7779    Miroslav Lichvar).</li>
7780
7781    <li>correct logic for repainting double-width TrueType
7782    characters (prompted by test-case for Novell #246573).</li>
7783
7784    <li>add a check to avoid trying to repeat a multibyte character
7785    (report by Sami Farin).</li>
7786
7787    <li>modify parameter to <code>XftNameParse()</code> to select
7788    wide face-name as needed, to make <code>-fd</code> option work
7789    (patch by Mike Fabian, Novell #246573).</li>
7790
7791    <li>correct logic for mouse highlight tracking's abort
7792    sequence, broken in a restructuring modification from <a href=
7793    "#xterm_224">patch #224</a> (report by Thomas Wolff).</li>
7794
7795    <li>revert the simplification of blinking cursor, since that
7796    broke the xor'ing introduced in <a href="#xterm_193">patch
7797    #193</a> (report by Thomas Wolff).</li>
7798  </ul>
7799
7800  <h1><a name="xterm_224" id="xterm_224">Patch #224 - 2007/2/11</a></h1>
7801
7802  <ul>
7803    <li>simplify code for set/reset mode for blinking cursor (patch
7804    by Emanuele Giaquinta).</li>
7805
7806    <li>modify <code>dabbrev-expand()</code> to restart after the
7807    last match (patch by Emanuele Giaquinta).</li>
7808
7809    <li>add control sequences for enabling/disabling focus in/out
7810    event reporting (request by Bram Moolenaar).</li>
7811
7812    <li>improve startup performance of menus by adding resource
7813    setting <code>menuLocale</code> which can be set to override
7814    X's lengthy initialization of fontsets - which are seldom used
7815    for the <code>Xaw</code> popup menus (adapted from patch by
7816    Dave Coffin).</li>
7817
7818    <li>modify <code>do_precomposition()</code> function and
7819    <code>make-precompose.sh</code> to handle 21-bit codes vs the
7820    16-bit codes those were written for, and fix a few mis-sorted
7821    codes (patch by Thomas Wolff).</li>
7822
7823    <li>handle special case in <code>-cjk_width</code> which
7824    unexpectedly caused a character's width to change when a
7825    combining character (patch by Thomas Wolff)</li>
7826
7827    <li>fix build for GNU/KFreeBSD (Debian #40111).</li>
7828
7829    <li>consolidate GC creation/updating into a single module to
7830    reduce GC manipulation (prompted by Debian #389476, though a
7831    complete fix would involve optimizing the scrolling
7832    behavior).</li>
7833
7834    <li>fix ifdef of xtermCellWidth(), which broke for a case
7835    without TrueType and without wide-character support (report by
7836    Martin Pirker).</li>
7837
7838    <li>undo a comparison in
7839    <code>handle_translated_exposure</code> which did not work due
7840    to X server optimization. That caused the inner border to be
7841    repainted with unexpected colors when handling a repaint, e.g.,
7842    after switching to/from another workspace (Debian #401726,
7843    Redhat Bugzilla #223027).</li>
7844
7845    <li>allow <code>-cr</code> option to override cursor color when
7846    <code>-ah</code> option is used (Debian #406502).</li>
7847
7848    <li>add a note in xterm's manpage explaining that the
7849    <code>-bw</code> (or <code>-w</code>) option is only used by
7850    the window manager, if at all (Debian #405043).</li>
7851
7852    <li>make <code>Selection</code> of <code>VT&nbsp;Fonts</code>
7853    work with <code>selectToClipboard</code> resource.</li>
7854
7855    <li>correct length calculation for <code>Selection</code> entry
7856    of <code>VT&nbsp;Fonts</code> menu, broken since it ignored the
7857    actual selection length since X11R4.</li>
7858
7859    <li>fixes for fontsize changes with <code>-fa</code> option
7860    (Redhat Bugzilla #222340).</li>
7861  </ul>
7862
7863  <h1><a name="xterm_223" id="xterm_223">Patch #223 -
7864  2006/11/30</a></h1>
7865
7866  <ul>
7867    <li>add <code>--enable-rectangles</code> configure option
7868    (request by Martin Pirker).</li>
7869
7870    <li>correct default value for <code>--with-symlink</code>
7871    configure option.</li>
7872
7873    <li>fixes configure script macros that use
7874    <code>$X_EXTRA_LIBS</code>.</li>
7875
7876    <li>modify configure script to provide support for pre-package
7877    config versions of Xft aka "FreeType".</li>
7878
7879    <li>add the Xaw scrollbar translations resource to the xterm
7880    manpage, add an example showing how to change the mouse button
7881    assignments (Debian #382225).</li>
7882
7883    <li>amend a change from <a href="#xterm_216">patch #216</a>,
7884    which omitted modifiers for control, meta, etc., if they were
7885    mixed with any other modifiers. The intent of the change was to
7886    avoid confusion with <code>XK_Mode_switch</code> and
7887    <code>XK_ISO_Level3_Shift</code>; the check is now done
7888    explicitly (report by Daniel Jacobowitz).</li>
7889
7890    <li>interpret a negative value for
7891    <code>modifyCursorKeys</code> or
7892    <code>modifyFunctionKeys</code> resources to disable the
7893    respective features (prompted by Novell #220728).</li>
7894
7895    <li>amend cell-width computation for FreeType from <a href=
7896    "#xterm_217">patch #217</a>, which did not work for VT100
7897    line-drawing characters (Debian #399638, Gentoo #147111).</li>
7898
7899    <li>amend a change from <a href="#xterm_216">patch #216</a>,
7900    which made alt-modifier on a cursor-key send a modifier
7901    parameter (Novell #220728).</li>
7902
7903    <li>correct an off-by-one that made DECCRA not work
7904    (report/patch by Martin Pirker).</li>
7905
7906    <li>revert an optimization in SGR_Foreground() and
7907    SGR_Background from <a href="#xterm_209">patch #209</a> (Debian
7908    #347722, analysis by Pierre Lombard).</li>
7909
7910    <li>fix for <code>boldMode</code> (Debian #347790, patch by Tim
7911    Pope).</li>
7912
7913    <li>amend fix for <code>-iconic</code> in <a href=
7914    "#xterm_208">patch #208</a>, which broke the positioning part
7915    of <code>-geom</code> with toolbar configuration.</li>
7916
7917    <li>fix to prevent indexing error in regular expressions (patch
7918    by Dennis Schneider).</li>
7919
7920    <li>fixes to make the <code>internalBorder</code> area not
7921    change color due to reverseVideo and/or related exposure
7922    events. The latter was a very old bug exposed in <a href=
7923    "#xterm_196">patch #196</a> (report by Neil Hoggarth, also
7924    Debian #397624).</li>
7925  </ul>
7926
7927  <h1><a name="xterm_222" id="xterm_222">Patch #222 -
7928  2006/10/17</a></h1>
7929
7930  <ul>
7931    <li>minor optimization for recoloring cursor via dynamic
7932    colors.</li>
7933
7934    <li>fix a bug caused by restructuring of tek4014 widget (report
7935    by Paul Schenkeveld)</li>
7936  </ul>
7937
7938  <h1><a name="xterm_221" id="xterm_221">Patch #221 - 2006/10/1</a></h1>
7939
7940  <ul>
7941    <li>fix for regular expressions: the code which converted the
7942    column offset within a line did not check properly for the end
7943    of a line, and if allowed to match the whole line, would select
7944    the beginning of the following line. If the following line were
7945    empty, in turn it would select from the next, etc. (report by
7946    Sean Reifschneider).</li>
7947
7948    <li>minor optimization of color allocation to avoid repainting
7949    the screen if the corresponding color had not been
7950    allocated.</li>
7951
7952    <li>fixes for vttests/256colors.pl (report by Egmont
7953    Koblinger).</li>
7954
7955    <li>add terminfo building block entries for modifiers of the
7956    6-key editing keypad.</li>
7957
7958    <li>fix for initialization of tek4014 which broke on QNX
7959    6.1</li>
7960  </ul>
7961
7962  <h1><a name="xterm_220" id="xterm_220">Patch #220 - 2006/9/10</a></h1>
7963
7964  <ul>
7965    <li>make "xterm -t -iconic" work as expected, i.e., start in
7966    tek4014 mode, but iconified.</li>
7967  </ul>
7968
7969  <h1><a name="xterm_219" id="xterm_219">Patch #219 - 2006/9/4</a></h1>
7970
7971  <ul>
7972    <li>some internal restructuring to separate data for vt100 and
7973    tek4014 widgets.</li>
7974
7975    <li>fix a few cases where form-events would be seen by the
7976    vt100 widget when built with the toolbar configuration.</li>
7977  </ul>
7978
7979  <h1><a name="xterm_218" id="xterm_218">Patch #218 - 2006/8/27</a></h1>
7980
7981  <ul>
7982    <li>change behavior when encountering an illegal character in a
7983    title string. Rather than reject the string, translate illegal
7984    characters into "?" and use the string (requested by Thomas
7985    Wolff).</li>
7986
7987    <li>improve checks for nonprinting characters in title strings
7988    (report by Samuel Thibault).</li>
7989
7990    <li>correct typo in menu labels, changing
7991    <code>print-redirect</code> to <code>print-redir</code>, making
7992    it follow the manpage and match the usage for the actions table
7993    (report by Samuel Thibault).</li>
7994
7995    <li>correct a typo that prevents building with some older
7996    systems such as Solaris 2.6 (report by Julian Bridle).</li>
7997  </ul>
7998
7999  <h1><a name="xterm_217" id="xterm_217">Patch #217 - 2006/8/20</a></h1>
8000
8001  <ul>
8002    <li>minor improvements to FreeType font layout and
8003    drawing.</li>
8004
8005    <li>add a check in the ptyInitialErase logic to ensure that the
8006    termcap was read (Redhat Bugzilla #201246).</li>
8007
8008    <li>limit changes for reverse-video from <a href=
8009    "#xterm_216">patch #216</a> to cases where the reverse-video
8010    command-line option is used (report by Zdenek Sekera).</li>
8011
8012    <li>correct bitmap-derived pointsizes for TrueType fonts; they
8013    should be proportional to the square root of the area of the
8014    bitmap fonts.</li>
8015
8016    <li>add resources to specify pointsize of TrueType fonts
8017    (request by Reuben Thomas).</li>
8018
8019    <li>improve install of terminfo by filtering out harmless
8020    messages related to extended capabilities. At the same time,
8021    use ncurses tic to compile the extended capabilities if
8022    possible (report by Zdenek Sekera).</li>
8023
8024    <li>update "xterm+pcfkeys" terminfo entry to correspond to
8025    <a href="#xterm_216">patch #216</a>.</li>
8026  </ul>
8027
8028  <h1><a name="xterm_216" id="xterm_216">Patch #216 - 2006/8/3</a></h1>
8029
8030  <ul>
8031    <li>improve handling of <code>ConfigureNotify</code> events by
8032    checking if there are further events in the queue which
8033    obsolete the current one (adapted from rxvt 2.7.5). Only the
8034    normal normal (non-toolbar) configuration is addressed in this
8035    patch.</li>
8036
8037    <li>several changes to terminfo:
8038      <ul>
8039        <li>incorporate some minor changes from ncurses to help
8040        keep these synchronized:
8041          <dl>
8042            <dt>2005-02-26</dt>
8043
8044            <dd>modify sgr/sgr0 in xterm-new to improve tgetent's
8045            derived "me".</dd>
8046
8047            <dt>2006-02-18</dt>
8048
8049            <dd>remove ncv flag from xterm-16color</dd>
8050
8051            <dt>2006-06-24</dt>
8052
8053            <dd>improve xterm-256color by combining the 16-color
8054            setaf/setab strings with SGR 48, and cancelling the
8055            setf/setb strings.</dd>
8056          </dl>
8057        </li>
8058
8059        <li>use extended function-key definitions for xterm-sun,
8060        xterm-sco entries.</li>
8061
8062        <li>add terminfo building-blocks corresponding to the
8063        <code>modifyFunctionKeys</code> and
8064        <code>modifyCursorKeys</code> resources.</li>
8065      </ul>
8066    </li>
8067
8068    <li>ifdef'd Sun function-key feature to make it optional, like
8069    HP and SCO.</li>
8070
8071    <li>extend table for termcap-query feature through F63, and
8072    updated tcapquery.pl to match.</li>
8073
8074    <li>modify logic for function-key input processing to allow
8075    function key numbers which are constructed by control- and
8076    shift-modifiers to extend beyond X's hardcoded limit of
8077    35.</li>
8078
8079    <li>add control sequence to set or reset the
8080    <code>eightBitInput</code> resource.</li>
8081
8082    <li>change default resource <code>modifyFunctionKeys</code> to
8083    2 to avoid sending SS3 with parameters (report by Kalle Olavi
8084    Niemitalo).</li>
8085
8086    <li>add control sequences for setting and resetting the values
8087    of the <code>modifyCursorKeys</code>,
8088    <code>modifyFunctionKeys</code> and
8089    <code>modifyOtherKeys</code> resources.</li>
8090
8091    <li>add <code>modifyFunctionKeys</code> resource like
8092    <code>modifyCursorKeys</code>. Setting this to zero allows one
8093    to use the control- and shift-modifiers to construct function
8094    key strings, for terminals using many function keys, e.g., for
8095    <code>xterm-sun</code> or <code>xterm-sco</code>.</li>
8096
8097    <li>modify screen responses and function-key logic to reduce
8098    the number of writes made, to make it less likely that an
8099    application would read only part of a function-key in a read
8100    operation (suggested by John E Urbanczyk).</li>
8101
8102    <li>add <code>combiningChars</code> resource, which allows the
8103    user to specify the maximum number of combining characters that
8104    xterm will store for each cell in wide-character mode (prompted
8105    by request by Markus Kuhn to increase the limit from 2).</li>
8106
8107    <li>improve logic in <code>metaSendsEscape</code> in case the
8108    Alt- and Meta-keys are mapped to different modifiers. That
8109    allows one to use the Alt-key for shifting in the
8110    <code>eightBitInput</code> and use a Meta-key modifier to
8111    prefix the result with an <code>&lt;ESC&gt;</code>.</li>
8112
8113    <li>improve <code>modifyCursorKeys</code> logic to prevent it
8114    from modifying codes where <code>eightBitInput</code> or
8115    <code>metaSendsEscape</code> are set (request by Dan
8116    Nicolaescu).</li>
8117
8118    <li>improve <code>modifyCursorKeys</code> logic to prevent it
8119    from changing the user input when other modifiers such as AltGr
8120    are used (report by Thomas Wolff).</li>
8121
8122    <li>extend <code>modifyCursorKeys</code> to include the numeric
8123    keypad when in application mode.</li>
8124
8125    <li>improve <code>-reverse</code> (<code>-rv</code>) option
8126    (patch by Jason Vas Dias, Redhat #189161).</li>
8127
8128    <li>workaround for color resources on Fedora-5 which made the
8129    toolbar colors inconsistent.</li>
8130
8131    <li>corrected calls used for <code>--disable-setuid</code>
8132    option, add debugging traces to help diagnose this area.</li>
8133
8134    <li>modify configure script to ensure that
8135    <code>USE_UTMP_SETGID</code> is defined only if the check for
8136    POSIX saved-ids succeeds, or corresponds to one of the BSD
8137    systems known to have a workable <code>setegid</code>
8138    function.</li>
8139
8140    <li>extend configure check for POSIX saved-ids to include BSD
8141    systems</li>
8142
8143    <li>modify CF_SYSV configure macro to work with gcc on HPUX
8144    10.20, whose broken <code>&lt;term.h&gt;</code> relies on
8145    including <code>&lt;termios.h&gt;</code>.</li>
8146
8147    <li>change order of setuid/setgid ifdef checks in Imakefile to
8148    make it simpler to produce a setgid install, allowing the
8149    latter to override the former (prompted by an XFree86
8150    commit).</li>
8151
8152    <li>adapt a fix for setgid support from subsequent XFree86
8153    changes (patch by Emanuele Giaquinta).</li>
8154
8155    <li>further improve setgid support (patches by Emanuele
8156    Giaquinta).</li>
8157  </ul>
8158
8159  <h1><a name="xterm_215" id="xterm_215">Patch #215 - 2006/6/19 -
8160  XFree86 4.6.99.2</a></h1>
8161
8162  <ul>
8163    <li>improve setgid support by exploiting the saved-ids feature
8164    on which it relies (patch by Emanuele Giaquinta).</li>
8165
8166    <li>make the <code>modifyOtherKeys</code> resource disabled by
8167    default since the intermediate setting altered some common
8168    bindings (report by Emanuele Giaquinta).</li>
8169  </ul>
8170
8171  <h1><a name="xterm_214" id="xterm_214">Patch #214 - 2006/6/18 -
8172  XFree86 4.6.99.2</a></h1>
8173
8174  <ul>
8175    <li>modify makefile rule for ctlseqs.txt to strip
8176    backspace/overstrikes, and add a copy of ctlseqs.txt to the
8177    source tarballs (requests by Bram Moolenaar, Emanuele
8178    Giaquinta).</li>
8179
8180    <li>add <code>modifyOtherKeys</code> resource, analogous to the
8181    <code>modifyCursorKeys</code> resource. This applies to keys
8182    that normally would transmit nothing when a given modifier is
8183    applied (request by Dan Nicolaescu).</li>
8184
8185    <li>add <code>default</code> to the acceptable values for the
8186    <code>keyboardType</code> resource, allowing the
8187    <code>-kt</code> command-line option to override app-defaults
8188    resource settings of <code>sunKeyboard</code>, etc.</li>
8189
8190    <li>correct ifdef's for <code>XkbBell()</code> which used the
8191    header file but not the corresponding function in <a href=
8192    "#xterm_175">patch #175</a> (report by Zach Beane).</li>
8193
8194    <li>add xterm manpage to the <code>--with-symlink</code>
8195    logic.</li>
8196
8197    <li>regenerated configure script to omit some debugging
8198    artifacts of the SIGWINCH test.</li>
8199
8200    <li>fix <code>install-man</code> rule in
8201    <code>Makefile.in</code> to avoid including the
8202    <code>$(DESTDIR)</code> value in substitutions made on the
8203    manpages (patch by Emanuele Giaquinta).</li>
8204
8205    <li>improved fix for cursor deallocation (Redhat #186935, patch
8206    by Jason Vas Dias).</li>
8207
8208    <li>improve checks for setuid/setgid operation to accommodate
8209    limited resource management in some kernels (Gentoo
8210    #193238).</li>
8211
8212    <li>update config.guess, config.sub</li>
8213  </ul>
8214
8215  <h1><a name="xterm_213" id="xterm_213">Patch #213 - 2006/4/30 -
8216  XFree86 4.5.99.905</a></h1>
8217
8218  <ul>
8219    <li>minor optimization to cell layout; will use that to
8220    simplify some logic and allow for more than two combining
8221    characters in another patch.</li>
8222
8223    <li>add <code>utf8Latin1</code> resource to make optional the
8224    feature from <a href="#xterm_209">patch #209</a> which allowed
8225    ISO-8859-1 fonts to be used in cases where a wide font was
8226    given. This would only work for the special case where the user
8227    normally used Latin-1 and wanted some wide characters (report
8228    by Rostislav Krasny).</li>
8229
8230    <li>add <code>utf8Title</code> resource to manpage (Novell
8231    #52655).</li>
8232
8233    <li>fix typo in table entry for <code>utf8Title</code> resource
8234    which made it treated as an integer rather than boolean (patch
8235    by Mike Fabian, Novell #52655).</li>
8236  </ul>
8237
8238  <h1><a name="xterm_212" id="xterm_212">Patch #212 - 2006/4/9 -
8239  XFree86 4.5.99.904</a></h1>
8240
8241  <ul>
8242    <li>improve description of <code>forceBoxChars</code> in
8243    manpage (discussion with Joe Wells).</li>
8244
8245    <li>set checkmark for "Select To Clipboard" menu entry on
8246    startup, from resource setting.</li>
8247
8248    <li>update manpage to note that
8249    <code>*customization:color</code> is not needed, though it is
8250    useful (Redhat #188034).</li>
8251
8252    <li>add underscore to sample pattern for URL in
8253    <code>XTerm.ad</code> (Redhat #188037).</li>
8254
8255    <li>modify install rule for manpage to use the configured
8256    app-defaults directory (Redhat #188031).</li>
8257
8258    <li>add checks in <code>releaseCursorGCs()</code> to ensure
8259    GC's are distinct, needed since memory leak changes for
8260    <a href="#xterm_208">patch #208</a> (Redhat #186935, patch by
8261    Jason Vas Dias).</li>
8262
8263    <li>modify <code>Imakefile</code> definitions to allow
8264    <code>imake</code> to set <code>InstallXtermSetGID</code>. Add
8265    symbol <code>InstGidFlags</code>.</li>
8266
8267    <li>add configure script check to ensure that SIGWINCH if
8268    defined even when headers undefine this as a side-effect of
8269    <code>_POSIX_C_SOURCE</code>, etc.</li>
8270
8271    <li>resync with XFree86 CVS
8272      <ul>
8273        <li>ifdef-out chmod of terminal device for OS/2 (XFree86
8274        #1663, Frank Giessler).</li>
8275
8276        <li>move new <code>Imakefile</code> chunk which defines
8277        <code>$(CSGIDFLAGS)</code> before DEFINES, e.g., for IRIX64
8278        (Marc La France).</li>
8279      </ul>
8280    </li>
8281  </ul>
8282
8283  <h1><a name="xterm_211" id="xterm_211">Patch #211 - 2006/3/19 -
8284  XFree86 4.5.99.902</a></h1>
8285
8286  <ul>
8287    <li>modify prefix/suffix transformation in makefile to make
8288    <code>uxterm</code> install properly on Cygwin.</li>
8289
8290    <li>restore the sizeof-comparison for <code>struct
8291    lastlog</code> added in <a href="#xterm_208">patch #208</a>,
8292    rendered (mostly) obsolete in <a href="#xterm_210">patch
8293    #210</a>, since an imake configuration can still turn that code
8294    on (prompted by comment by David Dawes).</li>
8295
8296    <li>remove feature for <code>FreeBSDArchitecture</code> from
8297    <code>Imakefile</code> which would install xterm using the
8298    <code>utmp</code> group since a standard FreeBSD system has no
8299    such group, though it would support this configuration. FreeBSD
8300    packager uses the <code>configure</code> script, which can make
8301    the appropriate check (prompted by comment by David
8302    Dawes).</li>
8303
8304    <li>fixes for gcc redefinition warnings when built using imake
8305    (reports by David Dawes, Marc La France).</li>
8306  </ul>
8307
8308  <h1><a name="xterm_210" id="xterm_210">Patch #210 - 2006/3/12 -
8309  XFree86 4.5.99.902</a></h1>
8310
8311  <ul>
8312    <li>add configure check for workaround in <a href=
8313    "#xterm_208">patch #208</a> for Solaris' inconsistent support
8314    for struct lastlog to quiet compiler warnings (prompted by
8315    David Dawes commit message for XFree86).</li>
8316
8317    <li>fixes for BASE64 selection manipulation, e.g., ensure that
8318    the string terminator is written after cut-buffer data (report
8319    by Joe Allen).</li>
8320
8321    <li>add vttests/paste64.pl script to test experimental option
8322    for setting/getting selection data.</li>
8323
8324    <li>add some error-checking in fontutils.c (prompted by David
8325    Dawes commit message for XFree86).</li>
8326
8327    <li>change xterm manpage to show the actual color resource
8328    names <code>XtDefaultForeground</code> and
8329    <code>XtDefaultBackground</code> rather than black and white
8330    (prompted by discussion with Emanuele Giaquinta).</li>
8331
8332    <li>add <code>utf8Title</code> resource and menu entry,
8333    allowing the user to control whether title strings are
8334    interpreted as ISO-8859-1 or UTF-8 encoding (Novell #52655,
8335    Novell #113206).</li>
8336
8337    <li>change order of ifdef's for utempter versus platforms in
8338    <code>Imakefile</code> to ensure a proper value for
8339    <code>InstallXtermSetGID</code> (prompted by Marc La France
8340    commit message for XFree86).</li>
8341
8342    <li>update the cursor GCs when menu entry for reverse video is
8343    toggled. (Redhat #183993).</li>
8344
8345    <li>a memory-leak fix for <code>set_cursor_gcs()</code> in
8346    <a href="#xterm_208">patch #208</a> broke the <code>-cm</code>
8347    option (Redhat #182382).</li>
8348  </ul>
8349
8350  <h1><a name="xterm_209" id="xterm_209">Patch #209 - 2006/2/12 -
8351  XFree86 4.5.99.22</a></h1>
8352
8353  <ul>
8354    <li>remove <code>setf</code> and <code>setb</code> from
8355    <code>xterm-256color</code> terminfo entry to avoid issues with
8356    applications that ignore the ANSI strings (report by Emanuele
8357    Giaquinta).</li>
8358
8359    <li>remove obsolete references to "Xorg" to avoid confusion
8360    with "X.org" (prompted by David Dawes commit message for
8361    XFree86).</li>
8362
8363    <li>improve initial layout performance for the toolbar
8364    configuration by precalculating the height of the toolbar.</li>
8365
8366    <li>remove menu entry for "Enable Curses Emulation" (to make
8367    room for "Select To Clipboard").</li>
8368
8369    <li>add resource <code>selectToClipboard</code>, action
8370    <code>set-select</code> and a menu entry to allow users to
8371    switch between PRIMARY and CLIPBOARD for select/paste.</li>
8372
8373    <li>allow cursor to have the same color as foreground (text),
8374    since it is rendered as reverse (Debian #350664).</li>
8375
8376    <li>amend change for loading <code>utf8Fonts</code> resource
8377    from <a href="#xterm_204">patch #204</a> to allow an ISO-8859-1
8378    "normal" font to be combined with an ISO-10646 font if the
8379    latter is given via the <code>-fw</code> option or its
8380    corresponding resource value (prompted by comment in Novell
8381    #49305).</li>
8382
8383    <li>add <code>TIOCSCTTY</code> <code>ioctl()</code> ifdef'd for
8384    <code>__GNU__</code> to set the controlling terminal (Debian
8385    #348457).</li>
8386
8387    <li>add configure option <code>--disable-leaks</code>.</li>
8388
8389    <li>add a check in <code>Bell</code> to ensure that the VT100
8390    widget is realized, since it may be called by
8391    <code>xtermLoadFont</code> given an incorrect font resource
8392    (Redhat #180450).</li>
8393
8394    <li>improve initialization of wide-bold font by not using the
8395    derived value when it happens to have few glyphs (report by
8396    Mboso Sampson).</li>
8397
8398    <li>improve dynamic colors by not repainting the screen if only
8399    the cursor color changes (request by Bram Moolenaar).</li>
8400
8401    <li>fix menu initialization for tek4014 window broken in
8402    <a href="#xterm_206">patch #206</a>.</li>
8403
8404    <li>typo in manpage (Debian #351425).</li>
8405
8406    <li>correct loop logic in <code>dotext</code> to prevent an
8407    infinite loop if a wide character was just at the right margin
8408    when wrapping was disabled (report by Serge van den Boom).</li>
8409
8410    <li>initialize the saved-cursor data so a restore-cursor
8411    operation without a preceding save-cursor operation will not
8412    modify the foreground color.</li>
8413
8414    <li>add a new selection feature: regular expressions, and new
8415    resources which specify what happens on multiple mouse clicks:
8416    <code>on2Clicks</code>, <code>on3Clicks</code>,
8417    <code>on4Clicks</code> and <code>on5Clicks</code>.</li>
8418
8419    <li>revert the <code>XTerm.ad</code> change from <a href=
8420    "#xterm_208">patch #208</a> (Debian #348384).</li>
8421
8422    <li>fixes for the print-window to make it handle combining
8423    characters in UTF-8 mode.</li>
8424
8425    <li>add check to ensure that double-clicking to extend
8426    selection will not extend it into the scrollback area. This
8427    still allows users to scroll back and select text (Debian
8428    #347415).</li>
8429
8430    <li>add configure option <code>--with-tty-group</code> to help
8431    work around deficiencies in packager's build environment
8432    (Debian #349142).</li>
8433
8434    <li>fix typo in configure script option
8435    <code>--disable-narrowproto</code> (report by David
8436    Mart&iacute;nez Moreno).</li>
8437
8438    <li>amend CF_X_FREETYPE changes for <code>pkg-config</code>
8439    check to ensure that <code>Xft</code> is known to that tool
8440    (report and patch by Emanuele Giaquinta).</li>
8441
8442    <li>add an ifdef to allow <code>./configure
8443    --disable-active-icon</code> to work, broken by new code for
8444    testing memory leaks in <a href="#xterm_208">patch #208</a>
8445    (report by Brian Lindholm).</li>
8446  </ul>
8447
8448  <h1><a name="xterm_208" id="xterm_208">Patch #208 - 2006/1/3 -
8449  XFree86 4.5.99.19</a></h1>
8450
8451  <ul>
8452    <li>add <code>charClass</code> resource to
8453    <code>XTerm.ad</code> and <code>UXTerm.ad</code> which
8454    simplifies selecting URLs (prompted by Kirill Ponomarew).</li>
8455
8456    <li>modify install rule for <code>uxterm</code> to account for
8457    the <code>--program-prefix</code>, etc., options by invoking
8458    the transformed name of xterm rather than simply "xterm".</li>
8459
8460    <li>modify configure <code>--with-app-defaults</code> option to
8461    allow <code>--without-app-defaults</code>.</li>
8462
8463    <li>add configure <code>--with-symlink</code> option to make it
8464    simpler to install successive versions of <code>xterm</code>
8465    renamed using the <code>--program-prefix</code>, etc., options
8466    with a symbolic link pointing to the most recent.</li>
8467
8468    <li>make <code>-iconic</code> option work with toolbar
8469    configuration (Gentoo #113604).</li>
8470
8471    <li>suppress <code>lastlog</code> feature for 64-bit Solaris
8472    configuration since that platform provides only a 32-bit
8473    interface (report by Peter Bray).</li>
8474
8475    <li>fix memory reallocation for the "UTF-8" menu entry when
8476    xterm is started using the <code>+u8</code> option (reported by
8477    Jan Willem Stumpel).</li>
8478
8479    <li>add a configure check for the actual path of
8480    <code>luit</code>, to work around broken <code>imake</code>
8481    configurations.</li>
8482
8483    <li>add a configure check for <code>pkg-config</code> (Redhat
8484    Bugzilla #173541).</li>
8485
8486    <li>modify install-rule for <code>uxterm</code> to omit
8487    executable suffix, e.g., for Cygwin.</li>
8488
8489    <li>modify <code>sinstall.sh</code> to work around quirks in
8490    Cygwin configuration.</li>
8491  </ul>
8492
8493  <h1><a name="xterm_207" id="xterm_207">Patch #207 - 2005/11/13 -
8494  XFree86 4.5.99.16</a></h1>
8495
8496  <ul>
8497    <li>enable <code>lastlogx</code> support for NetBSD (was added,
8498    but not enabled in <a href="#xterm_186">patch #186</a>).</li>
8499
8500    <li>work around broken <code>lastlog.h</code> in glibc 2.3.5,
8501    which includes <code>utmp.h</code>.</li>
8502
8503    <li>revert part of recent XFree86 Imakefile change, restoring
8504    the <code>-I.</code> needed for <code>xmkmf</code> builds of
8505    xterm (XFree86 Bugzilla #1633, reports by Alexander Pohoyda,
8506    Matthieu Herrb).</li>
8507
8508    <li>change compiled-in default for <code>printerCommand</code>
8509    resource to an empty string. People who want to use the printer
8510    should be able to read the manual (Debian #311490).</li>
8511
8512    <li>modify <code>Imakefile</code> to work around old problems
8513    in <code>imake</code> configuration to allow test-builds using
8514    <code>xmkmf</code> on Linux. (This was not noticed since
8515    several releases had broken definitions relating to Xft which
8516    were harder to work around).</li>
8517
8518    <li>link <code>resize</code> for SCO platforms (Kean
8519    Johnston).</li>
8520  </ul>
8521
8522  <h1><a name="xterm_206" id="xterm_206">Patch #206 - 2005/11/3 -
8523  XFree86 4.5.99.15</a></h1>
8524
8525  <ul>
8526    <li>add configure <code>--with-app-defaults</code> option to
8527    allow app-defaults directory for install-rules to be
8528    customized.</li>
8529
8530    <li>remove default translations for
8531    <code>dabbrev-expand()</code> due to conflicts with existing
8532    keyboard arrangements.</li>
8533
8534    <li>remove redundant check for <code>_NET_WM_PID</code> (report
8535    by Emanuele Giaquinta).</li>
8536
8537    <li>set icon border width explicitly to work around fvwm
8538    problem with active icon resizing (report by Steve Morris,
8539    analysis by Dominik Vogt).</li>
8540
8541    <li>modify resource files to make the font-resources a little
8542    more specific, e.g., changing "*VT100*" to "*VT100.", to make
8543    the distinction between VT100.font and VT100.utf8Fonts.font
8544    sharper, in case a packager modifies one of those.</li>
8545
8546    <li>expanded comments in <code>UXTerm.ad</code> regarding the
8547    font resources (Debian #319179).</li>
8548
8549    <li>add <code>--enable-narrowproto</code> configure option to
8550    accommodate X.org "modular" build (report by Stephan Hermann,
8551    Gentoo #17220).</li>
8552
8553    <li>fix typo in xterm.man description of <code>+wf</code>
8554    (patch by Tobias Stoeckmann).</li>
8555
8556    <li>add <code>scrollBarBorder</code> resource (request by Floyd
8557    L Davidson).</li>
8558
8559    <li>modify <code>xterm-new</code> terminfo entry to use
8560    capabilities for shifted scroll forward/reverse as shifted
8561    cursor up/down.</li>
8562
8563    <li>correct updating of checkmark for toolbar entry in popup
8564    menu (report by Emanuele Giaquinta).</li>
8565
8566    <li>fix ifdef's to allow compiling with toolbar and without
8567    tek4014 (patch by Emanuele Giaquinta).</li>
8568
8569    <li>use <code>openpty()</code> for Darwin port (patch by
8570    Emanuele Giaquinta).</li>
8571
8572    <li>fix Gentoo #90697 a different way, postponing the logic in
8573    <code>SetupToolbar</code> until the toolbar is actually needed,
8574    i.e., the <code>+tb</code> option is handled as expected.</li>
8575
8576    <li>revert fix made in <a href="#xterm_203">patch #203</a> for
8577    Gentoo #90697. That introduced a problem with the control mouse
8578    click-popups, while most of the performance problems can be
8579    resolved by restricting the menu fonts (report by Emanuele
8580    Giaquinta).</li>
8581
8582    <li>fix a file-descriptor leak when calling
8583    <code>openpty()</code> (OpenBSD system/4561).</li>
8584
8585    <li>make a special case of resizing work like vt100: a hard
8586    reset also resets the 132/80 mode. The code to support this was
8587    present since X11R5, but not used because the corresponding
8588    initial state of the <code>-132</code> option was not
8589    saved.</li>
8590
8591    <li>restore window manager hints after
8592    <code>XtMakeResizeRequest()</code> calls. One instance from
8593    <a href="#xterm_205">patch #205</a> resulted in the window
8594    manager displaying pixels rather than than characters after
8595    selecting a different font size (FreeBSD ports/87424).</li>
8596
8597    <li>remove special case for Darwin in CF_XOPEN_SOURCE (Emanuele
8598    Giaquinta).</li>
8599
8600    <li>modify parsing of control sequence <code>CSI&nbsp;T</code>
8601    to allow scroll-down to be sent while mouse tracking is enabled
8602    (request by D Hugh Redelmeier).</li>
8603
8604    <li>correct termcap "me" (mode-end) string so it does not
8605    modify the alternate character set (report by Andrey
8606    Chernov).</li>
8607
8608    <li>correct size-comparison in HandleInterpret() broken in
8609    changes from <a href="#xterm_201">patch #201</a> to allocate
8610    input buffer (Debian #334317).</li>
8611
8612    <li>amend adjustments for scrollbar layout from <a href=
8613    "#xterm_204">patch #204</a> to make this apply only to the
8614    toolbar configuration. In the non-toolbar configuration, the
8615    resulting scrollbar was shifted by its borderwidth (report by
8616    Matthieu Herrb).</li>
8617
8618    <li>add select-cursor-extend() action.</li>
8619
8620    <li>fix some broken href's in xterm.log.html, and typo in the
8621    INSTALL file (report/patch by David Mart&iacute;nez
8622    Moreno).</li>
8623
8624    <li>modify <code>Imakefile</code> to use setgid mode for
8625    installing with Linux, OpenBSD and FreeBSD.</li>
8626
8627    <li>add configure --with-setuid and --with-reference options to
8628    allow packagers more flexibility in customizing install
8629    permissions.</li>
8630
8631    <li>generalize and make optional (configure --with-utmp-setgid)
8632    the change made for XFree86 Bugzilla #878 in <a href=
8633    "#xterm_205">patch #205</a> (FreeBSD bug report
8634    #ports/86663).</li>
8635  </ul>
8636
8637  <h1><a name="xterm_205" id="xterm_205">Patch #205 - 2005/9/18 -
8638  XFree86 4.5.99.12</a></h1>
8639
8640  <ul>
8641    <li>correct a typo in CF_FUNC_TGETENT introduced in <a href=
8642    "#xterm_198">patch #198</a> fix for Gentoo #69926.</li>
8643
8644    <li>implement logic in termcap query to process multiple
8645    parameters as documented in ctlseqs.ms</li>
8646
8647    <li>fix buffer size used for termcap query, which was not long
8648    enough for the terminfo "colors" name (patch by Bradd W.
8649    Szonye).</li>
8650
8651    <li>add configure option --enable-readline-mouse, which turns
8652    on the experimental OPT_READLINE code (patch by Ilya
8653    Zakharevich).</li>
8654
8655    <li>for FreeBSD, drop setuid privileges after startup (XFree86
8656    Bugzilla #878, report/patch by Alexander Pohoyda)</li>
8657
8658    <li>add menu entry (alt-esc) and corresponding action
8659    (alt-sends-esc) to toggle the <code>eightBitInput</code>
8660    resource setting.</li>
8661
8662    <li>generate configure script with autoconf 2.52 (patched) to
8663    use the feature therein which forces the script's locale to
8664    POSIX (Gentoo Bugzilla #105369).</li>
8665
8666    <li>modify computation of rows/columns on resize to avoid
8667    extending beyond the given limits, e.g., if resizing in
8668    response to a "maximize" in Gnome or KDE which do not use the
8669    window manager hints for this case (Debian #289123, Novell
8670    #61153).</li>
8671
8672    <li>modifications to work with z/OS 1.4 (Paul Giordano).</li>
8673
8674    <li>improve error-reporting when chown/chmod of the
8675    pseudo-terminal fails, e.g., if a copy of xterm which was
8676    designed to work with old-style pseudo-terminals is not
8677    installed setuid or setgid (report by Jeremy C. Reed).</li>
8678
8679    <li>patches from Emanuele Giaquinta:
8680      <ul>
8681        <li>ctlseqs.ms says that primary and secondary DA accept a
8682        nonzero parameter, which is incorrect. Also modify code to
8683        agree with this.</li>
8684
8685        <li>correct a comment in 88colres.pl</li>
8686
8687        <li>ctlseqs.ms says that the DEC Set/Reset control
8688        sequences for the backarrow key make it send DEL/BS,
8689        respectively, while it's the opposite.</li>
8690
8691        <li>update the menu entries for the metaSendsEscape,
8692        deleteIsDEL and numLock resources when changing them with
8693        the corresponding DEC Set/Reset control sequences.</li>
8694      </ul>
8695    </li>
8696
8697    <li>fixes for configure script:
8698      <ul>
8699        <li>add special case for QNX, defining _QNX_SOURCE.</li>
8700
8701        <li>check for preprocessors which do not perform -U and -D
8702        options in the given order.</li>
8703
8704        <li>improve macro to determine gcc version</li>
8705
8706        <li>improve check for Intel compiler and related warning
8707        options</li>
8708      </ul>
8709    </li>
8710
8711    <li>update config.guess, config.sub</li>
8712
8713    <li>improve fix from <a href="#xterm_198">patch #198</a> for
8714    <code>Cleanup()</code> by ensuring it is not called from the
8715    SIGCHLD handler (patch by Todd Miller (OpenBSD CVS)).</li>
8716
8717    <li>eliminate a retry for a better-matching bold font, to work
8718    around recent font server changes.</li>
8719
8720    <li>fixes for Novell #113277:
8721      <ul>
8722        <li>specify weight for wide font which may be derived from
8723        normal fontname.</li>
8724
8725        <li>cache the derived wide- and widebolt-fontnames.</li>
8726      </ul>
8727    </li>
8728
8729    <li>workaround for Gentoo Bugzilla #100728.</li>
8730
8731    <li>add menubar's border width to layout computation. Normally
8732    this is zero, but patterns such as
8733    <code>XTerm*borderWidth:1</code> would give poor layout for the
8734    toolbar configuration.</li>
8735  </ul>
8736
8737  <h1><a name="xterm_204" id="xterm_204">Patch #204 - 2005/8/4 -
8738  XFree86 4.5.99.9</a></h1>
8739
8740  <ul>
8741    <li>work around quirk in shell which allowed user to "run"
8742    uxterm script when there was no UTF-8 locale installed by
8743    entering "sh -x uxterm". Also popup an xmessage to show the
8744    problem for users who run this via a GUI (Debian #318513).</li>
8745
8746    <li>disallow changes to fonts, toolbar and scrollbar when the
8747    vt100 window is iconified, to simplify management of the active
8748    icon.</li>
8749
8750    <li>fixes to make <code>-geom</code> option work properly with
8751    the toolbar configuration (Gentoo #90717, Gentoo #91967).</li>
8752
8753    <li>minor improvements to scrollbar layout: ensure that the
8754    scrollbar border is zero if the vt100 border is zero.</li>
8755
8756    <li>improve initialization due to <code>utf8</code> resource by
8757    loading the <code>utf8Fonts</code> resource in the case where
8758    <code>locale</code> resource is false. Also in this case, do
8759    not disable switching UTF-8 mode on/off.</li>
8760
8761    <li>minor optimization of TrueType font-loading, loads italic
8762    font only when needed.</li>
8763
8764    <li>correct variable used to store temporary result from lookup
8765    of bold font, when initializing the wide-bold-font data and no
8766    immediate match is found by asking for a bold variant of the
8767    wide-font. The result was to use overstriking rather than the
8768    actual bold font (Debian #318162, patch by Eugene Konev).</li>
8769
8770    <li>add checks to ensure vt100 widget is realized when it might
8771    be updated via actions handled from a tek4014-only
8772    configuration.</li>
8773  </ul>
8774
8775  <h1><a name="xterm_203" id="xterm_203">Patch #203 - 2005/7/6 -
8776  XFree86 4.5.99.7</a></h1>
8777
8778  <ul>
8779    <li>modify initialization of <code>allowSendEvents</code> and
8780    <code>allowWindowOps</code> to prevent modification with the
8781    editres protocol.</li>
8782
8783    <li>fix compiler warning for NetBSD by including util.h in
8784    main.c (XFree86 Bugzilla #1596).</li>
8785
8786    <li>fix to build on Darwin 8.x, which no longer provides
8787    <code>setpgrp()</code> (patch by Min Sik Kim).</li>
8788
8789    <li>adapted fixes for Legend (SCO) from diffs attached to
8790    Freedesktop.Org Bugzilla #3180.</li>
8791
8792    <li>fix typo in xterm manpage description of <code>-ls</code>
8793    option (Freedesktop.Org Bugzilla #3543).</li>
8794
8795    <li>add support for interpreting the underline attribute as an
8796    italic font in Xft mode (patch by Chuck Blake).</li>
8797
8798    <li>improve initialization of toolbar so that individual
8799    pulldown menus are initialized on demand, as they are in the
8800    scenario where they are invoked as popup menus (Gentoo Bugzilla
8801    #90697).</li>
8802
8803    <li>fix logic in <code>find_utmp</code>, which did not reset
8804    result in <code>getutid()</code>, causing an infinite loop in
8805    some conditions (report by Emil Mikulic).</li>
8806
8807    <li>set the <code>_NET_WM_PID</code> property (Gentoo Bugzilla
8808    #91008).</li>
8809
8810    <li>modify ifdef's in ptyx.h and xterm_io.h to build with
8811    DragonFly (patch by Jeroen Ruigrok).</li>
8812
8813    <li>change default values for <code>minBufSize</code> and
8814    <code>maxBufSize</code> to 4096 and 32768 respectively so that
8815    the initial read request will match the value from before
8816    changes to use <code>sched_yield()</code>.</li>
8817
8818    <li>make paste of UTF-8 faster for Western character sets by
8819    checking range of incoming data (patch by Joe Allen).</li>
8820
8821    <li>add experimental option to allow applications to get or set
8822    the selection data as a BASE64 string (adapted from patch by
8823    Joe Allen).</li>
8824
8825    <li>fix an off-by-one error parsing <code>-S/nn</code> option
8826    (Debian #311438, report/fix by Peter Chubb).</li>
8827
8828    <li>fix an initialization bug from <a href="#xterm_201">patch
8829    #201</a> that broke logging (report by Rodney Thayer).</li>
8830
8831    <li>amend change to command-line processing in <a href=
8832    "#xterm_201">patch #201</a> to avoid conflict with
8833    <code>-e</code> option (report by Servatius Brandt).</li>
8834
8835    <li>suppress configure check for <code>_XOPEN_SOURCE</code> on
8836    darwin.</li>
8837
8838    <li>update config.guess, config.sub</li>
8839  </ul>
8840
8841  <h1><a name="xterm_202" id="xterm_202">Patch #202 - 2005/5/2 -
8842  XFree86 4.5.99.3</a></h1>
8843
8844  <ul>
8845    <li>add extended shift- and control-modifier cursor keys to
8846    "xterm+pcfkeys" terminfo entry to correspond to ncurses
8847    20050430 patch.</li>
8848
8849    <li>fix a rare case where text would be written with the wrong
8850    colors because output of scrolled text would reset the colors
8851    and the new text would be written with the same colors
8852    (report/testcase by Thomas Glanzmann).</li>
8853
8854    <li>rename <code>$CMD</code> variable in <code>plink.sh</code>
8855    because it is a reserved symbol in bash 3.00.16 (report by Ted
8856    Taylor).</li>
8857
8858    <li>add environment variables <code>$XTERM_SHELL</code> and
8859    <code>$XTERM_VERSION</code> (request by Zdenek Sekera).</li>
8860
8861    <li>corrected workaround for background color of menubar, which
8862    gave a too-broad expression, coloring the background of the
8863    VT100 widget unless overridden by another resource
8864    setting.</li>
8865
8866    <li>correct an error in the logic which decides when
8867    <code>sched_yield()</code> is run; it would occasionally hang
8868    when contending with other pseudo-terminal applications such as
8869    screen (report by Kirill Ponomarew).</li>
8870
8871    <li>modify initialization to decide whether to default to
8872    built-in <code>wcwidth()</code> versus system's version based
8873    on the starting locale and whether the system's version is poor
8874    quality (suggested by Bram Moolenaar).</li>
8875
8876    <li>update table for <code>mk_width()</code> from UnicodeData
8877    4.1.0 using Markus Kuhn's <code>uniset</code> script.</li>
8878  </ul>
8879
8880  <h1><a name="xterm_201" id="xterm_201">Patch #201 - 2005/4/21 -
8881  XFree86 4.5.99.2</a></h1>
8882
8883  <ul>
8884    <li>improve resource files to show how the menubar and popup
8885    menus can be colored (prompted by report by Joe Wells).</li>
8886
8887    <li>modify parsing of OSC (and SOS, etc), strings so their
8888    contents are not interpreted as UTF-8. This allows non-ASCII
8889    title strings to be set, provided that the window manager
8890    complies (report by Thomas Wolff).</li>
8891
8892    <li>improved some of the built-in line-drawing glyphs.</li>
8893
8894    <li>correct color of "box" character drawn for line-drawing
8895    glyph 1 (report by Nicolas George).</li>
8896
8897    <li>improve behavior when switching to UTF-8 mode after startup
8898    so xterm will check if the current fonts are already wide
8899    (ISO10646-1). If they are not, xterm will use the
8900    <code>utf8Fonts</code> subresource to load appropriate fonts
8901    (request by Bram Moolenaar).</li>
8902
8903    <li>modify logic for setting title-string so it applies to the
8904    current widget rather than the vt100 widget.</li>
8905
8906    <li>modify initialization for wide-bold fontname, to search for
8907    one if none is given (report by Michael Schroeder).</li>
8908
8909    <li>add resource <code>mkWidth</code> and command-line option
8910    <code>-mk_width</code> to control whether xterm uses the
8911    built-in version of wcwidth().</li>
8912
8913    <li>add resource settings for minimum/maximum input buffer
8914    size, and call to <code>sched_yield</code> to improve
8915    performance with newer Linux kernels (adapted from patch by
8916    Nicolas George).</li>
8917
8918    <li>correct computation of width for wide characters with the
8919    invisible attribute (report by Thomas Wolff).</li>
8920
8921    <li>modify interaction between <code>+u8</code> and
8922    <code>locale</code> resource to allow the command-line option
8923    to override the resource (requested by Thomas Wolff).</li>
8924
8925    <li>add a limit check for scrolling margins in a one-line
8926    screen, overlooked in fixes for <a href="#xterm_198">patch
8927    #198</a> (Debian #297430).</li>
8928
8929    <li>correct treatment of <code>iconBorderWidth</code> for
8930    resizing an active-icon, and its description in manpage (Debian
8931    #296592).</li>
8932
8933    <li>modify configure script <code>--disable-imake</code> to use
8934    the script's definitions anyway if it cannot detect imake
8935    (prompted by FreeBSD bug 77408).</li>
8936
8937    <li>ignore error in the I/O initialization that tries to set
8938    the tty to 7-bit input for the case where
8939    <code>eightBitInput</code> resource is false (Debian
8940    #298551).</li>
8941
8942    <li>modify command-processing to accept an optional parameter
8943    that tells xterm which shell program to use (request by Zdenek
8944    Sekera).</li>
8945
8946    <li>add simpler resource <code>keyboardType</code> which, when
8947    set, overrides the individual keyboard-type resources and
8948    eliminates the possibility of conflict between them.</li>
8949
8950    <li>add initialization for <code>scoFunctionKeys</code>
8951    resource (report by Rick K).</li>
8952
8953    <li>correct logic of <code>ReallocateBufOffsets()</code> which
8954    did not copy the content of the old screen buffer to the proper
8955    location, making a repaint clear after switching to
8956    wide-character mode (report by Bram Moolenaar):</li>
8957
8958    <li>implement the remaining pieces to make xterm allocate cells
8959    for wide-characters when the "UTF-8" menu entry is selected.
8960    Also, load the UTF-8 font when that menu entry is selected, or
8961    the escape sequence for UTF-8 mode is received (report by Bram
8962    Moolenaar):</li>
8963
8964    <li>add command-line options (<code>-tb</code>,
8965    <code>+tb</code>) and resource <code>toolBar</code> to allow
8966    menu/toolbar to disabled or enabled at startup (prompted by
8967    reports by Joe Wells).</li>
8968
8969    <li>correct typo in configure script's --enable-dec-locator
8970    option (report by Bram Moolenaar).</li>
8971  </ul>
8972
8973  <h1><a name="xterm_200" id="xterm_200">Patch #200 - 2005/2/6 -
8974  XFree86 4.4.99.23</a></h1>
8975
8976  <ul>
8977    <li>increase color pairs value for xterm-256color and
8978    xterm-88color to match ncurses, which has an experimental
8979    option to support this.</li>
8980
8981    <li>modify ifdef's to make AIX use termios rather than termio;
8982    the struct sizes for the two were not the same.</li>
8983
8984    <li>improve CF_WITH_IMAKE_CFLAGS configure macro script for
8985    OSMAJORVERSION and OSMINORVERSION values, e.g., for Tru64 and
8986    AIX.</li>
8987
8988    <li>modify ifdef to define USE_POSIX_TERMIOS for Darwin (patch
8989    by Min Sik Kim).</li>
8990
8991    <li>modify find_utmp() to initialize the whole utmpx struct
8992    (except ut_id), since that is needed for OSF1 4.0D to prevent
8993    an infinite loop on exit.</li>
8994
8995    <li>add configure check before adding -D_POSIX_SOURCE since
8996    some platforms predefine it, e.g., cygwin.</li>
8997
8998    <li>add simplified sed expressions in CF_IMAKE_CFLAGS configure
8999    script macro to ensure value for PROJECTROOT is quoted on
9000    Solaris, i.e., when nested <code>\(</code> and <code>\)</code>
9001    are not interpreted correctly.</li>
9002
9003    <li>correct DEC rectangle operations to reset state after
9004    completing the operations.</li>
9005
9006    <li>modify CASE_ST handling in charproc.c to ensure that the
9007    parse state is reset even if xterm is not currently processing
9008    an OSC or other string (patch by Johnny Billquist forwarded by
9009    Matthias Scheler, NetBSD xsrc/29003).</li>
9010
9011    <li>fix OS/2 build for innotek_libc (patch by David Yeo).</li>
9012
9013    <li>fix a regression from <a href="#xterm_197">patch #197</a>
9014    fix for Debian #277832 which disowned the selection if it was
9015    scrolled, e.g., by the user pressing return at the bottom of
9016    the screen (Debian #291787).</li>
9017
9018    <li>move the warning/exit for missing $DISPLAY into the error
9019    handler in case <code>-display</code> is given, and the connect
9020    fails for some other reason.</li>
9021  </ul>
9022
9023  <h1><a name="xterm_199" id="xterm_199">Patch #199 - 2005/1/17 -
9024  XFree86 4.4.99.22</a></h1>
9025
9026  <ul>
9027    <li>instead of setting <code>$DISPLAY</code>, check for the
9028    unset variable and warn/exit on this condition (comments by H
9029    Merijn Brand and Bernhard R Link).</li>
9030
9031    <li>fix a typo in Imakefile from <a href="#xterm_198">patch
9032    #198</a> (reports/patches by Stefan Dirsch, Mike Castle).</li>
9033  </ul>
9034
9035  <h1><a name="xterm_198" id="xterm_198">Patch #198 - 2005/1/13 -
9036  XFree86 4.4.99.21</a></h1>
9037
9038  <ul>
9039    <li>set <code>$DISPLAY</code> to ":0" if it is not set.</li>
9040
9041    <li>add <code>utmpDisplayId</code> resource to allow users to
9042    control whether the display identifier (display number and
9043    screen number) are retained in the connection information
9044    recorded in utmp (discussion with Edoardo Tirtarahardja).</li>
9045
9046    <li>add <code>bellOnReset</code> resource to allow users to
9047    disable bell which sounds on hard reset since <a href=
9048    "#xterm_183">patch #183</a> changes to DECSCL (discussion with
9049    Danek Duvall).</li>
9050
9051    <li>improve <code>$WINDOWID</code> for configuration with
9052    toolbar by making it refer to the top-level shell rather than
9053    the parent of the current window. For that case, the parent is
9054    a form widget, which does not have a name, which made the
9055    <code>$WINDOWID</code> not very useful as a parameter for
9056    <code>xwininfo</code> (suggested by Dave Bodenstab).</li>
9057
9058    <li>fix a typo in WhichVFont() macro from <a href=
9059    "#xterm_197">patch #197</a> changes which broke the
9060    --disable-active-icon configuration (report by Ralf S.
9061    Engelschall).</li>
9062
9063    <li>improve some limit checks (Gentoo Bugzilla #75604).</li>
9064
9065    <li>add --disable-setuid option to configure script (Gentoo
9066    Bugzilla #76543).</li>
9067
9068    <li>add --disable-full-tgetent option to configure script,
9069    allowing one to ignore a termcap library in favor of
9070    ncurses/curses (Gentoo Bugzilla #69926).</li>
9071
9072    <li>modify configure script to choose useful warning options
9073    for Intel version 8.0 compiler.</li>
9074
9075    <li>update config.guess, config.sub</li>
9076
9077    <li>make active-icon work properly when TrueType fonts are used
9078    (Debian #286068).</li>
9079
9080    <li>correct change from <a href="#xterm_157">patch #157</a>
9081    which uses getlogin() to check for an alias; the storage used
9082    for the related getpwuid() call was overwritten by the data
9083    used for comparison (patch by Per Hedeland).</li>
9084
9085    <li>correct case of SCS for character set 0 (line-drawing) to
9086    allow it to be selected into GR.</li>
9087
9088    <li>fix a file-descriptor leak (Redhat Bugzilla #139597).</li>
9089
9090    <li>modify <code>creat_as()</code> to only fork if xterm is
9091    actually running as setuid and/or setgid. This works around a
9092    Cygwin bug which hangs when logging is enabled and makes xterm
9093    a little faster for systems using interfaces such as utempter
9094    (report by Al Goodman).</li>
9095
9096    <li>modify <code>Cleanup()</code> to avoid operations such as X
9097    calls that might use unsafe functions when it is called by a
9098    signal handler (report by Michiel Boland).</li>
9099
9100    <li>fix bugs in <a href="#xterm_191">patch #191</a> and in SRM
9101    changes from <a href="#xterm_197">patch #197</a> that broke
9102    DECSET 38: switch to Tek4014 emulation (report by Dave
9103    Bodenstab).</li>
9104
9105    <li>fix for manpage escapes (Marc La France).</li>
9106
9107    <li>improve on IRIX-specific change for Imakefile in XFree86
9108    CVS versus resize linking against termcap library to reflect
9109    definitions for USE_TERMCAP in resize.c</li>
9110  </ul>
9111
9112  <h1><a name="xterm_197" id="xterm_197">Patch #197 - 2004/11/30 -
9113  XFree86 4.4.99.19</a></h1>
9114
9115  <ul>
9116    <li>modify configure script to remove empty "-DPROJECTROOT="
9117    definition which resulted unusable values for luit's default
9118    path.</li>
9119
9120    <li>update precompose.c based on Unicode 4.0.1</li>
9121
9122    <li>several minor fixes based on Intel compiler warnings.</li>
9123
9124    <li>change default translations so a <code>BtnDown</code> which
9125    is not recognized is simply ignored rather than emitting a
9126    bell. That makes it less obtrusive when the user tries to use a
9127    mouse which provides more capabilities than the X mouse driver
9128    supports, e.g., one with a horizontal scroll wheel (Debian
9129    #265133).</li>
9130
9131    <li>note in xterm's manpage that <code>translations</code> is
9132    not specific to xterm (Debian #278897).</li>
9133
9134    <li>modify uxterm script to use locale program to verify if the
9135    derived locale is installed (Debian #246398).</li>
9136
9137    <li>correct font handling for active icon when in UTF-8 mode
9138    (report by Paolo Liberatore).</li>
9139
9140    <li>make active-icon and toolbar configurations work
9141    together.</li>
9142
9143    <li>modify the criteria for disowning primary selection.
9144    Previously, this happened anytime the cursor was moved before
9145    the end of the selection. That would ensure that any
9146    insert/delete of char or line, as well as scrolling, would
9147    disown the selection. The new criteria change this to checking
9148    if the operations would modify the data which is highlighted
9149    (Debian #277832).</li>
9150
9151    <li>reimplement <code>DECALN</code> with functions for vt420
9152    rectangles, fixes selection for this case.</li>
9153
9154    <li>implement vt420 rectangle operations.</li>
9155
9156    <li>add parsing, for debug/test of vt220 soft-fonts.</li>
9157
9158    <li>add menu entry, actions and escape sequence to allow
9159    enabling/disabling toolbars at runtime.</li>
9160
9161    <li>improve rendering for Xft, allow it to draw non-linedrawing
9162    characters such as "pi", which were drawn from internal tables
9163    with <a href="#xterm_180">patch #180</a> (Freedesktop.org
9164    Bugzilla #1260).</li>
9165
9166    <li>add configure option <code>--enable-mini-luit</code>,
9167    ifdef'd the mini-luit feature with
9168    <code>OPT_MINI_LUIT</code>.</li>
9169
9170    <li>add mini-luit feature, which supports Latin9 directly
9171    rather than via luit, provided that Unicode fonts are used
9172    (Freedesktop.org Bugzilla #1571, request by Stefan Dirsch,
9173    patch by Michael Schroeder).</li>
9174
9175    <li>for Linux, if IUTF8 is defined, e.g., on recent 2.6.x
9176    kernels, set the corresponding flag for the slave pty, to
9177    enable UTF-8 interpretation of backspace in cooked mode
9178    (Freedesktop.org Bugzilla #1578, request by Stefan
9179    Dirsch).</li>
9180
9181    <li>modify <code>faceSize</code> resource to use a
9182    floating-point internal value (adapted from patch by Sam
9183    Stephenson).</li>
9184
9185    <li>correct handling selection of tabs over cleared space in
9186    UTF-8 mode. In this special case, xterm represents the
9187    whitespace with a null rather than a space character (Debian
9188    #276447).</li>
9189
9190    <li>amend fix for infinite loop from <a href="#xterm_192">patch
9191    #192</a> to check if there is wrapped text to output in a
9192    following iteration (Debian #273202).</li>
9193
9194    <li>fixes ifdef'd with <code>__INTERIX</code> to allow building
9195    with Interix (Windows Services for UNIX) 3.5 using the xlibs
9196    libraries from freedesktop.org (patch by Min Sik Kim).</li>
9197
9198    <li>amend solution for Debian #252873, Debian #260471 from
9199    <a href="#xterm_194">patch #194</a> by making the cursor not
9200    explicitly colored if only the foreground color is set, and the
9201    cursor is on a blank space (Debian #275473).</li>
9202
9203    <li>correct logic for send/receive mode (SRM) with regard to
9204    control characters.</li>
9205
9206    <li>fix masking of invisible text in wide-character mode, which
9207    did not work for line-drawing characters.</li>
9208
9209    <li>incorporate CF_XOPEN_SOURCE into configure script,
9210    replacing CF_GNU_SOURCE.</li>
9211  </ul>
9212
9213  <h1><a name="xterm_196" id="xterm_196">Patch #196 - 2004/8/15 -
9214  XFree86 4.4.99.12</a></h1>
9215
9216  <ul>
9217    <li>add a special case to configure script to ignore NetBSD's
9218    <code>grantpt()</code> which was recently added (but not part
9219    of a release), until someone is able to ensure that xterm can
9220    use it (report by Min Sik Kim).</li>
9221
9222    <li>clear the buffer returned by getutid(). This fixes an
9223    infinite loop on some platforms introduced in <a href=
9224    "#xterm_193">patch #193</a> by Debian #256468 fix (report by
9225    David Ellement).</li>
9226  </ul>
9227
9228  <h1><a name="xterm_195" id="xterm_195">Patch #195 - 2004/8/8 -
9229  XFree86 4.4.99.11</a></h1>
9230
9231  <ul>
9232    <li>correct length used for blinking text, make the last column
9233    blink (patch by Alexander V Lukyanov).</li>
9234
9235    <li>start changes to make doublesize characters work with
9236    TrueType fonts (see <a href="#xterm_44">patch #44</a>).</li>
9237
9238    <li>trim leading/trailing blanks from color resources as done
9239    for other strings in <a href="#xterm_167">patch #167</a>.</li>
9240
9241    <li>fixes for <code>showBlinkAsBold</code> resource (report by
9242    Christoph Berg).</li>
9243  </ul>
9244
9245  <h1><a name="xterm_194" id="xterm_194">Patch #194 - 2004/7/27 -
9246  XFree86 4.4.99.11</a></h1>
9247
9248  <ul>
9249    <li>change clearing operations so foreground color attribute is
9250    not set. Usually this is benign, but in some cases when the
9251    cursor color is not set explicitly, the cursor would show this
9252    color (Debian #252873, Debian #260471).</li>
9253
9254    <li>add extra state (cursor-moved) to guard against deciding
9255    that the cursor did not require repainting after an indexing
9256    operation that leaves the cursor in the same location on the
9257    screen.</li>
9258
9259    <li>fix a case where a full-screen indexing operation would not
9260    restore the cursor-busy state.</li>
9261
9262    <li>fix a repainting bug introduced in <a href=
9263    "#xterm_180">patch #180</a>: when using a font lacking
9264    line-drawing characters, a repaint of the screen could skip
9265    horizontally an extra amount after filling in the missing
9266    character (reports by Nicolas George, Hans de Goede, Redhat
9267    Bugzilla #128341).</li>
9268
9269    <li>rename terminfo fragment "xterm-pc-fkeys" to
9270    "xterm+pcfkeys" for consistency with ncurses.</li>
9271  </ul>
9272
9273  <h1><a name="xterm_193" id="xterm_193">Patch #193 - 2004/7/19 -
9274  XFree86 4.4.99.10</a></h1>
9275
9276  <ul>
9277    <li>fix for wide-character selection from OpenBSD CVS
9278    (report/patch by Matthieu Herrb).</li>
9279
9280    <li>modify initialization and cleanup of utmp data to also
9281    compare the <code>ut_line</code> member (Debian #256468).</li>
9282
9283    <li>modify check on focus-change to ignore
9284    <code>FocusOut</code> events generated by
9285    <code>XGrabKeyboard</code>. This fixes a case where the text
9286    cursor would act as if focus were lost when selecting the
9287    "Secure Keyboard" menu option.</li>
9288
9289    <li>add <code>gen-pc-fkeys.pl</code> script, use that to
9290    generate terminfo fragment corresponding to the pc-style
9291    function keys.</li>
9292
9293    <li>fix a case where the checkmark by the "VT220 Keyboard" menu
9294    entry was not set on startup.</li>
9295
9296    <li>separated two methods for making the cursor blink (menu and
9297    escape sequence) by using the menu as the primary method and
9298    XOR'ing the state of the escape sequence against that.</li>
9299
9300    <li>modify logic for enabling blinking cursor via escape
9301    sequence as well as the related save/restore operations so this
9302    is only available if the <code>cursorBlink</code> resource was
9303    set on startup.</li>
9304  </ul>
9305
9306  <h1><a name="xterm_192" id="xterm_192">Patch #192 - 2004/7/12 -
9307  XFree86 4.4.99.9</a></h1>
9308
9309  <ul>
9310    <li>change resource settings for color4 and color12, add some
9311    discussion in <code>XTerm-col.ad</code> (Debian #241717).</li>
9312
9313    <li>add a note in xterm manpage discussing the difference
9314    between alt- and meta-keys, and the way the latter is used in
9315    the <code>eightBitInput</code> resource.</li>
9316
9317    <li>add a note in xterm manpage regarding possible conflict
9318    between resource settings for <code>xterm.vt100.font</code> and
9319    <code>xterm.vt100.utf8Fonts.font</code> (Debian #254650).</li>
9320
9321    <li>add compile-time customization of
9322    <code>backarrowKeyIsErase</code> and
9323    <code>ptyInitialErase</code> default resource values (adapted
9324    from OpenBSD CVS).</li>
9325
9326    <li>change parameter of <code>FIONREAD</code>
9327    <code>ioctl()</code> call from long to int (discussion on
9328    tech-x11@netbsd.org regarding LP64 by John Heasley and Matthias
9329    Scheler).</li>
9330
9331    <li>modify configure script options for Athena widgets to work
9332    as expected for "--without-Xaw3d", etc., (Gentoo Bugzilla
9333    #53455).</li>
9334
9335    <li>add case to uxterm to accommodate locales ending with
9336    "@euro", e.g., fr_FR.UTF-8@euro (Debian #255197,
9337    report/analysis by Matthieu Lagouge).</li>
9338
9339    <li>add special case for VT100 graphic's "box" character
9340    (discussion with Ben Armstrong).</li>
9341
9342    <li>add missing initialization for bitmap-font sizes needed to
9343    make fonts menu work with TrueType fonts (report by Ben
9344    Armstrong).</li>
9345
9346    <li>save the fontnames for bold fonts that are derived from
9347    normal fonts, or from the <code>boldFont</code> resource, so
9348    the same value is restored when switching with the VT Fonts
9349    menu (Debian #256086).</li>
9350
9351    <li>fix manpage preprocessing (Marc La France).</li>
9352
9353    <li>fix typo in manpage's description of character classes
9354    (Debian #257073).</li>
9355
9356    <li>modify terminfo to accommodate luit, which relies on G1
9357    being used via an ISO-2022 escape sequence (Debian #254316,
9358    analysis by Juliusz Chroboczek).</li>
9359
9360    <li>modify Makefile.in rule for ctlseqs.txt to work around
9361    groff SGR misfeature.</li>
9362
9363    <li>modify <code>XTerm.ad</code> to set <code>saveLines</code>
9364    default to 1024 (Redhat Bugzilla #127132).</li>
9365
9366    <li>add a limit-check in <code>dotext()</code> to prevent
9367    infinite loop in a corner case of UTF-8 configuration.</li>
9368
9369    <li>update config.guess, config.sub</li>
9370  </ul>
9371
9372  <h1><a name="xterm_191" id="xterm_191">Patch #191 - 2004/6/6 -
9373  XFree86 4.4.99.7</a></h1>
9374
9375  <ul>
9376    <li>correct options parsing for <code>-into</code> option so it
9377    can be combined with <code>-e</code> (Redhat Bugzilla #124518,
9378    report/patch by James Armstrong).</li>
9379
9380    <li>fix ifdef's for <code>OPT_COLOR_RES2</code> so that the
9381    fake resource table introduced in <a href="#xterm_188">patch
9382    #188</a> is not compiled if it is empty. This happened to work
9383    with gcc (report by Joel Konkle-Parker).</li>
9384
9385    <li>reorganize ptydata.c to use one input buffer shared between
9386    the VTxxx and tek4014 emulators. In the new scheme, UTF-8
9387    decoding is performed on characters as they are needed by the
9388    state machine rather than on buffers as they are read.</li>
9389
9390    <li>work around change in quoting of PROJECTROOT symbol when
9391    using configure script, from changes made in <a href=
9392    "#xterm_187">patch #187</a> for CF_IMAKE_CFLAGS (Gentoo
9393    Bugzilla #50982).</li>
9394  </ul>
9395
9396  <h1><a name="xterm_190" id="xterm_190">Patch #190 - 2004/5/25 -
9397  XFree86 4.4.99.6</a></h1>
9398
9399  <ul>
9400    <li>correct state for values in the range 128-159 after
9401    translating from UTF-8: this should be ignored unless the user
9402    overrides it with the <code>allowC1Printable</code> resource
9403    (reported by Simon Strandgaard).</li>
9404
9405    <li>add configure-script check for nl_langinfo(CODESET), use
9406    this to replace check of environment variables for UTF-8.</li>
9407
9408    <li>change Makefile.in rules for 256colres.h and 88colres.h so
9409    they are only made if they do not exist. The maintainer-clean
9410    rule will remove these files; they require perl to be
9411    made.</li>
9412
9413    <li>remove check in configure script --enable-toolbar that
9414    suppressed this option when building with Xaw7.</li>
9415
9416    <li>apply fixes to Tektronix widget used for VT100 widget to
9417    make toolbar work with Xaw7 (XFree86 4.x).</li>
9418  </ul>
9419
9420  <h1><a name="xterm_189" id="xterm_189">Patch #189 - 2004/5/16 -
9421  XFree86 4.4.99.6</a></h1>
9422
9423  <ul>
9424    <li>do not call xim_real_init() if <code>openIm</code> resource
9425    is false (Debian #249025).</li>
9426
9427    <li>minor improvements to built-in line-drawing.</li>
9428
9429    <li>fix a few portability issues with dynamic abbreviation
9430    support, i.e., did not compile on Tru64.</li>
9431
9432    <li>modify constraints in form used to layout toolbar, to work
9433    with newer Xaw in XFree86 4.x.</li>
9434  </ul>
9435
9436  <h1><a name="xterm_188" id="xterm_188">Patch #188 - 2004/5/12 -
9437  XFree86 4.4.99.6</a></h1>
9438
9439  <ul>
9440    <li>correct table entry for DEL in the ground state, which
9441    marked it as a printable character from <a href=
9442    "#xterm_171">patch #171</a> (report by D Hugh Redelmeier).</li>
9443
9444    <li>improve fix in <a href="#xterm_186">patch #186</a> for
9445    failure in xim_real_init() by adding a sleep.</li>
9446
9447    <li>fix a typo in os2main.c (XFree86 Bugzilla #1358,
9448    report/patch by Frank Giessler).</li>
9449
9450    <li>make escape sequence reporting dynamic colors consistent
9451    with the logic that sets it; choosing the opposite color when
9452    reverse video is set (XFree86 Bugzilla #1361, reported by Bradd
9453    W Szonye).</li>
9454
9455    <li>modify initialization of 256- and 88-colors so that colors
9456    beyond 16 are normally not X resources. This works around a
9457    hard-coded limit in Xt which breaks xterm when 256-colors and
9458    luit are both configured (report by Noah Friedman).</li>
9459
9460    <li>remove <code>ncv</code> from <code>xterm-256color</code>
9461    terminfo entry since it is no longer needed (report by Eli
9462    Zaretskii).</li>
9463
9464    <li>add "erase2" and "eol2" keywords to <code>ttyModes</code>
9465    resource, for recent/current FreeBSD.</li>
9466
9467    <li>improve ifdef's for utempter library to omit direct calls
9468    to <code>setutent()</code> or <code>getutent()</code> (adapted
9469    from patch by Christian Biere).</li>
9470
9471    <li>add dynamic abbreviation support like Emacs (patch by
9472    Tomasz Cholewo). This is ifdef'd with <code>OPT_DABBREV</code>,
9473    and enabled via the configure script
9474    <code>--enable-dabbrev</code> option.</li>
9475
9476    <li>fix problem responding to session management events, e.g.,
9477    which would make logging out very slow (patch by Eddy De Greef,
9478    Debian #233883).</li>
9479
9480    <li>work around a newer bug in toolbar with XFree86 by forcing
9481    menus to be fully initialized at startup. In older versions of
9482    XFree86 and X11R6, it was possible to delay initialization of
9483    the menu contents until it was popped up. (The longstanding bug
9484    with XFree86 4.x layout for toolbar still exists, though).</li>
9485
9486    <li>modify <code>xtermAddInput</code> to work around core dump
9487    on IRIX64 when initializing scrollbar translations if toolbar
9488    is compiled-in.</li>
9489
9490    <li>fix some minor conflicts in the 2-character entry names in
9491    the termcap file.</li>
9492  </ul>
9493
9494  <h1><a name="xterm_187" id="xterm_187">Patch #187 - 2004/4/27 -
9495  XFree86 4.4.99.4</a></h1>
9496
9497  <ul>
9498    <li>change xterm version string to use
9499    <code>__vendorversion__</code> where that is available, and
9500    "XTerm" otherwise.</li>
9501
9502    <li>improve description of <code>utf8</code> resource in
9503    manpage (Debian #179407).</li>
9504
9505    <li>modify configure macros CF_IMAKE_CFLAGS and CF_ADD_CFLAGS
9506    to handle <code>-D</code> options that define string values,
9507    e.g., for <code>XVENDORNAME</code>.</li>
9508
9509    <li>modify configure macro CF_IMAKE_CFLAGS to allow (if
9510    <code>$PATH</code> is set accordingly) to use the
9511    <code>xmkmf</code> script within an X build tree.</li>
9512
9513    <li>add missing <code>#undef OPT_SESSION_MGT</code> to
9514    xtermcfg.hin to make the configure script's
9515    --disable-session-mgt option work.</li>
9516
9517    <li>update config.guess, config.sub</li>
9518  </ul>
9519
9520  <h1><a name="xterm_186" id="xterm_186">Patch #186 - 2004/4/18 -
9521  XFree86 4.4.99.4</a></h1>
9522
9523  <ul>
9524    <li>change reset on <code>DECSCL</code> to a soft-reset
9525    (appears some DEC manuals have errors).</li>
9526
9527    <li>add a section to ctlseqs.ms elaborating on normal/alternate
9528    screens.</li>
9529
9530    <li>modify initialization of Acolors[] so that any
9531    XtDefaultForeground or XtDefaultBackground values are
9532    translated as in the Tcolors[], to use the window's
9533    foreground/background colors. This affects the
9534    <code>colorBD</code> and similar resources which normally have
9535    no explicit color assigned.</li>
9536
9537    <li>modify initialization of Tektronix window so that control
9538    sequences setting its color before the window is popped up will
9539    apply to its initial colors.</li>
9540
9541    <li>add control sequence to set Tektronix window's
9542    text-cursor.</li>
9543
9544    <li>modify initialization of terminal colors, e.g., mouse
9545    pointer and text cursor, to treat
9546    <code>XtDefaultForeground</code> and
9547    <code>XtDefaultBackground</code> values as the actual
9548    foreground and background colors of the terminal rather than
9549    white and black (Debian #241717).</li>
9550
9551    <li>remove an incorrect comparison against
9552    <code>PTYCHARLEN</code> in parsing the <code>-S</code> option
9553    (report by Michael B Taylor).</li>
9554
9555    <li>minor restructuring of terminfo/termcap files, having noted
9556    some packager's customizations which caused the structure to be
9557    confused.</li>
9558
9559    <li>eliminate an isolated use of MIN/MAX in charproc.c</li>
9560
9561    <li>replace <code>XtExtdefaultfont</code> and
9562    <code>XtExtdefaultbackground</code> by their more familiar
9563    equivalents <code>XtDefaultFont</code> and
9564    <code>XtDefaultBackground</code>.</li>
9565
9566    <li>replace ifdef's using <code>SCO</code>, <code>sco</code>
9567    and <code>SCO325</code> with <code>__SCO__</code> (XFree86
9568    Bugzilla #1301, Kean Johnston). But ensure that it still builds
9569    on platforms where this symbol is not defined.</li>
9570
9571    <li>add <code>scoFunctionKeys</code> resource, to match
9572    manpage.</li>
9573
9574    <li>update manpage discussion of menus and related
9575    resources.</li>
9576
9577    <li>enable utmpx support for NetBSD 1.6C and newer (patch by
9578    Matthias Scheler).</li>
9579
9580    <li>add a note in the manpage discussing xterm's treatment of
9581    open file-descriptors (request by Dan Shearer).</li>
9582
9583    <li>modify <code>Help()</code> to make "xterm -h" write to
9584    standard output rather than standard error (patch by Bram
9585    Moolenaar).</li>
9586
9587    <li>check for type of failure in xim_real_init() to avoid
9588    looping when the problem is an unsupported input method rather
9589    than a failure to connect to the XIM server. Problem was
9590    introduced in <a href="#xterm_175">patch #175</a> (XFree86
9591    Bugzilla #1306).</li>
9592
9593    <li>modify <code>Imakefile</code> to remove dependency of
9594    "install" target on the <code>xterm</code> executable to make
9595    installs from tree without attempting to rebuild anything
9596    (commit by David Dawes, report/patch from Lee Olsen).</li>
9597
9598    <li>remove call to <code>ShowCursor</code> from
9599    <code>SetCursorBlink()</code> since that is redundant, and can
9600    cause display glitches if the cursor is already blinking
9601    (XFree86 Bugzilla #1158, patch/report by Andreas Schwab).</li>
9602  </ul>
9603
9604  <h1><a name="xterm_185" id="xterm_185">Patch #185 - 2004/3/3 -
9605  XFree86 4.4</a></h1>
9606
9607  <ul>
9608    <li>fix tcap-query logic for the backspace key (XFree86
9609    Bugzilla #1233, report/patch by Anton Kovalenko).</li>
9610
9611    <li>add test-scripts resize.pl and tcapquery.pl</li>
9612
9613    <li>add translation to ASCII of commonly-used characters that
9614    groff translates to Unicode, when the font in use does not
9615    provide the corresponding glyphs (Debian #219551).</li>
9616
9617    <li>modify RequestMaximize(), which performs maximize/restore
9618    via control sequences, to account for window-frame (patch by
9619    Jess Thrysoee).</li>
9620
9621    <li>improve pattern used in <code>uxterm</code> to check for
9622    UTF-8 locale, e.g., for HPUX (patch by H Merijn Brand).</li>
9623
9624    <li>add <code>-fd</code> option and resource
9625    <code>faceNameDoublesize</code> to specify double-wide fonts
9626    with Xft (adapted from patch by Zarick Lau).</li>
9627
9628    <li>change a couple of resource classes from "Boolean" to
9629    specific values: <code>freeBoldBox</code>,
9630    <code>forceBoxChars</code>.</li>
9631
9632    <li>add resource <code>showMissingGlyphs</code> to outline
9633    places on the screen where a font lacks the corresponding
9634    glyph.</li>
9635
9636    <li>add resource <code>showBlinkAsBold</code> to control
9637    whether blinking text should be shown as bold or actual
9638    blinking text.</li>
9639
9640    <li>improve logic in ShowCursor() to avoid repainting the
9641    cursor when it is already visible, e.g., in response to the
9642    DECTCEM escape sequence. This also addresses XFree86 Bugzilla
9643    #1158.</li>
9644
9645    <li>implement blinking text, using the timer for blinking
9646    cursor.</li>
9647
9648    <li>modify FreeType support to allow resizing the font, in the
9649    same ways the window can be resized if fixed fonts are used.
9650    The relative font sizes are derived from the fixed font
9651    sizes.</li>
9652
9653    <li>add menu items and corresponding actions for switching
9654    on/off the UTF-8 mode and Xft (TrueType) support.</li>
9655
9656    <li>add logic to handle switching UTF-8 mode on/off. It worked
9657    if the escape sequences were flushed, but if data was mixed in
9658    with the same write, some were not handled properly (report by
9659    Nicolas George).</li>
9660
9661    <li>modify to allow turning UTF-8 mode on/off via escape
9662    sequence even if <code>-wc</code> option was not given at
9663    startup (patch by Peter Berg Larsen).</li>
9664
9665    <li>amend fix for XFree86 Bugzilla #981, adjusting for
9666    savedlines value (report by Tim Adye).</li>
9667
9668    <li>fix a typo in computing relative font size (Jess
9669    Thrysoee).</li>
9670  </ul>
9671
9672  <h1><a name="xterm_184" id="xterm_184">Patch #184 - 2003/12/31 -
9673  XFree86 4.3.99.903</a></h1>
9674
9675  <ul>
9676    <li>improve configure-script checks for FreeType and related
9677    libraries, using <code>xft-config</code> or
9678    <code>freetype-config</code> scripts when available.</li>
9679
9680    <li>fix configure-script check for <code>SYSV</code> definition
9681    by ensuring whether <code>sys_errlist[]</code> is declared, and
9682    by modifying the test program to include
9683    <code>X11/Intrinsic.h</code> to check that <code>wchar_t</code>
9684    is declared consistently (report by H Merijn Brand).</li>
9685  </ul>
9686
9687  <h1><a name="xterm_183" id="xterm_183">Patch #183 - 2003/12/26 -
9688  XFree86 4.3.99.903</a></h1>
9689
9690  <ul>
9691    <li>correct logic for configurations that may attempt to open
9692    both old/new-style pseudoterminals. In this case, the old-style
9693    are preferred. Logic was broken in <a href="#xterm_145">patch
9694    #145</a> (XFree86 Bugzilla #997, report/patch by Kean
9695    Johnston).</li>
9696
9697    <li>modify handling of <code>eightBitInput</code> resource in
9698    UTF-8 mode to translate the value into UTF-8. Otherwise an
9699    illegal UTF-8 code is sent to the application (report by Bram
9700    Moolenaar).</li>
9701
9702    <li>modify <code>uxterm</code> script to interpret help and
9703    version options so xterm does not always create a window when
9704    the user requests this information (Debian #223926).</li>
9705
9706    <li>add a limit check to ScrnTstWrapped() (XFree86 Bugzilla
9707    #981).</li>
9708
9709    <li>modify DECSCL to perform a hard reset (RIS) as per DEC
9710    manuals. Extended DECSCL to accept parameters for vt4XX and
9711    vt5xx terminals.</li>
9712
9713    <li>correct logic for ANSI conformance level escape sequences,
9714    which were confused with DEC conformance level escape
9715    sequences.</li>
9716
9717    <li>correct state for vt52 shift-in/shift-out, which was not
9718    reset properly after <a href="#xterm_171">patch #171</a>.</li>
9719
9720    <li>correct handling of graphics characters for vt52 mode,
9721    which did not display line-drawing characters after G1 fix from
9722    <a href="#xterm_182">patch #182</a>.</li>
9723
9724    <li>fixes for configure script to work with current Cygwin
9725    headers and libraries.</li>
9726
9727    <li>modify <code>Imakefile</code> to put the current directory
9728    at the beginning of the include searchpath (patch by David
9729    Dawes).</li>
9730  </ul>
9731
9732  <h1><a name="xterm_182" id="xterm_182">Patch #182 - 2003/12/2 -
9733  XFree86 4.3.99.901</a></h1>
9734
9735  <ul>
9736    <li>correct logic for <code>metaSendsEscape</code> resource to
9737    allow for the meta-right key to be tested. Improve check for
9738    meta/alt modifiers by dropping the assumption that a keysym is
9739    associated with only one modifier, and by ignoring NoSymbol
9740    entries in the xmodmap data (XFree86 Bugzilla #924, patch by
9741    David Dawes).</li>
9742
9743    <li>correct wrapping logic for line-drawing characters written
9744    in non-UTF-8 mode of xterm build for wide-characters (XFree86
9745    Bugzilla #918, report/patch by J&uuml;rgen Keil).</li>
9746
9747    <li>improve manpage description of resources, in particular the
9748    <code>utf8Fonts</code> class (XFree86 Bugzilla #905).</li>
9749
9750    <li>add definitions to compile with glibc-based GNU/Hurd,
9751    GNU/KFreeBSD and GNU/KNetBSD (XFree86 Bugzilla #893).</li>
9752
9753    <li>compiler-warning fixes (patch by Christian Biere).</li>
9754
9755    <li>add README.i18n (Tomohiro Kubota).</li>
9756
9757    <li>correct initialization of G1 character set mapping, which
9758    used line-drawing set as a result of confusion between "DEC
9759    Supplemental Graphic" and "DEC Special Graphic" character sets
9760    (see <a href="#xterm_34">patch #34</a> regarding DECSTR).</li>
9761
9762    <li>correct ifdef in main.c for variable utret (patch by
9763    Bernhard Rosenkraenzer).</li>
9764
9765    <li>document in xterm's manpage how to use XFree86 ":unscaled"
9766    keyword to suppress scaling of bold fonts.</li>
9767
9768    <li>when deriving bold fontname from normal fontname, use the
9769    normal font's average width to avoid for example selecting
9770    7x13bold from an 8x13 normal font (Debian #107769).</li>
9771  </ul>
9772
9773  <h1><a name="xterm_181" id="xterm_181">Patch #181 - 2003/10/26 -
9774  XFree86 4.3.99.15</a></h1>
9775
9776  <ul>
9777    <li>implement <code>boldMode</code> for wide-character logic in
9778    <code>drawXtermText()</code> (report by Michael
9779    Schroeder).</li>
9780
9781    <li>modify <code>UXTerm.ad</code> resource file to include
9782    "XTerm-color" rather than "XTerm", in case the latter file
9783    contains no color resource definitions, e.g., after <a href=
9784    "#xterm_180">patch #180</a>.</li>
9785
9786    <li>add action <code>load-vt-fonts()</code> and configure
9787    option <code>--enable-load-vt-fonts</code> which allows users
9788    to define additional sets of VT-fonts which can be loaded at
9789    runtime.</li>
9790
9791    <li>add logic to wide-character support which attempts to load
9792    fonts specified by <code>utf8Fonts</code> subresources at
9793    startup. The subresources have the same names as the fonts
9794    which they replace, e.g., <code>font</code>,
9795    <code>font1</code>, etc., so that the ISO-10646-1 fonts can be
9796    specified in the <code>XTerm</code> app-defaults file (adapted
9797    from patch by Tomohiro Kubota).</li>
9798
9799    <li>improve Set Font escape string handling by making the
9800    relative settings apply to the size of the font, as in shift
9801    keypad plus/minus rather than the menu index.</li>
9802
9803    <li>simplify parameter passing for the <code>set-vt-font</code>
9804    action and related code.</li>
9805
9806    <li>cleanup some include-ordering, moving some recently-added
9807    hardcoded stuff into xterm.h where it will not interfere with
9808    the configure script.</li>
9809
9810    <li>modify <code>xtermAddInput()</code> (see note on
9811    augmentation in <a href="#xterm_158">patch #158</a>) to use the
9812    complete set of default keyboard translations so that one can
9813    use shifted pageup, wheel mouse, etc., while the mouse pointer
9814    is over the scrollbar. (Debian #178812).</li>
9815
9816    <li>make save/restore mode controls apply to show/blink cursor
9817    states.</li>
9818
9819    <li>add escape sequence to start/stop blinking cursor, which
9820    allows implementing <code>cvvis</code> terminfo capability
9821    (request by Nate Bargmann).</li>
9822
9823    <li>add <code>indp</code> and <code>rin</code> to terminfo
9824    entry.</li>
9825
9826    <li>fix an out-of-bounds array reference in ScrnRefresh() for
9827    wide characters (report by Dan Harnett, patch by Todd Miller).
9828    This bug dates from <a href="#xterm_141">patch #141</a>.</li>
9829  </ul>
9830
9831  <h1><a name="xterm_180" id="xterm_180">Patch #180 - 2003/10/12 -
9832  XFree86 4.3.99.15</a></h1>
9833
9834  <ul>
9835    <li>several fixes for rendering using Xft via option
9836    <code>-fa</code>:
9837      <ul>
9838        <li>translate Unicode values, i.e,. from UTF-8 output to
9839        xterm, for line-drawing to xterm's internal code, etc.,
9840        since TrueType fonts generally do not have either set of
9841        line-drawing glyphs. xterm can draw these directly (report
9842        by Abigail Brady).</li>
9843
9844        <li>pass 16-bit values rather than 8-bit values to
9845        xtermXftDrawString() to allow for wide-characters.</li>
9846
9847        <li>remove spurious check for <code>colorBDMode</code>
9848        resource in logic that does bold fonts.</li>
9849
9850        <li>implement underlining.</li>
9851      </ul>
9852    </li>
9853
9854    <li>patches by Ilya Zakharevich:
9855      <ul>
9856        <li>improve drawXtermText() by making the recursive calls
9857        communicate through arguments, and not through
9858        saving/restoring global variables.</li>
9859
9860        <li>make double-width characters work with <code>-u8</code>
9861        option.</li>
9862
9863        <li>modify lookup of double-sized fonts by checking for a
9864        match ignoring x/y resolution if the first check
9865        fails.</li>
9866      </ul>
9867    </li>
9868
9869    <li>make height of TrueType fonts match ascent+descent (patch
9870    by Keith Packard).</li>
9871
9872    <li>correct configure-script check for imake $CFLAGS, which did
9873    not check properly if imake was not available.</li>
9874
9875    <li>correct install rule in Makefile.in for
9876    <code>uxterm</code>, which was attempting to strip the script
9877    (newsgroup posting by Fernan Aguero).</li>
9878
9879    <li>correct AF/AB strings in termcap for xterm-256color and
9880    xterm-88color entries (report by Josh Howard).</li>
9881
9882    <li>update wcwidth.c to incorporate changes from Markus Kuhn's
9883    2003-05-20 (Unicode 4.0) version of that file.</li>
9884
9885    <li>modify <code>scroll-back</code> and
9886    <code>scroll-forw</code> actions to accept an adjustment value,
9887    e.g.,
9888
9889      <pre>
9890              <code>scroll-back(1, page-2)</code>
9891</pre>to scroll back by 2 lines less than a page (patch by Greg
9892Klanderman).
9893    </li>
9894
9895    <li>use color resource setting from Debian package for xterm
9896    VT100 widget, since the choice of blues provides better
9897    contrast.</li>
9898
9899    <li>remove color resources from <code>XTerm.ad</code>, leaving
9900    them only in <code>XTerm-col.ad</code> (prompted by Debian
9901    package for xterm).</li>
9902
9903    <li>correct configure script option --enable-pty-handshake
9904    (report by Paul Gilmartin).</li>
9905
9906    <li>add <code>visualBellDelay</code> resource to modify the
9907    length of time used for visual bell, for very slow displays or
9908    very fast computers (reports by Ingo van Lil and Doug
9909    Toppin).</li>
9910
9911    <li>correct logic for initializing dynamic highlight color
9912    (patch by Jess Thrysoee).</li>
9913
9914    <li>add a check for non-zero size in call to
9915    <code>XCopyArea()</code> to accommodate a Solaris bug.</li>
9916
9917    <li>correct typo in example for character classes in xterm
9918    manpage (Debian #198910).</li>
9919
9920    <li>link xterm with bind_on_load option on Darwin to work
9921    around a deadlock in the dynamic loader when a signal is
9922    received while the dynamic loader is looking up symbols
9923    (patches by Rob Braun, Torrey Lyons).</li>
9924
9925    <li>modify configure script to avoid using "head -1".</li>
9926
9927    <li>update config.guess, config.sub</li>
9928
9929    <li>modify ifdef's to work around inclusion of types FcChar32
9930    and XftCharSpec with FreeType 2.0 (see <a href=
9931    "#xterm_175">patch #175</a>).</li>
9932
9933    <li>modify the predictable version of the generated logfile
9934    name (see <a href="#xterm_171">patch #171</a>) to append the
9935    process-id rather than a random value.</li>
9936
9937    <li>resync with XFree86 CVS
9938      <ul>
9939        <li>Enable SCO function keys in xterm</li>
9940
9941        <li>Make Delete key send DEL by default on SCO in
9942        xterm</li>
9943      </ul>
9944    </li>
9945  </ul>
9946
9947  <h1><a name="xterm_179" id="xterm_179">Patch #179 - 2003/5/21 -
9948  XFree86 4.3.99.5</a></h1>
9949
9950  <ul>
9951    <li>modify ifdef's for WTMPX_FILE to allow building on cygwin
9952    again.</li>
9953
9954    <li>change the default of pty-handshaking configure option (and
9955    related default for imake) to assume this feature is
9956    needed.</li>
9957
9958    <li>add ifdef's so configure option for XawPlus library works
9959    (patch by Pavel Roskin).</li>
9960
9961    <li>add <code>$(MAIN_DEFINES)</code> to the variables checked
9962    by the configure script that may contain information set by
9963    imake. This allows xterm to build/run properly using the
9964    configure script on IRIX64.</li>
9965
9966    <li>add configure check for ".exe" suffix on cygwin.</li>
9967  </ul>
9968
9969  <h1><a name="xterm_178" id="xterm_178">Patch #178 - 2003/5/18 -
9970  XFree86 4.3.99.5</a></h1>
9971
9972  <ul>
9973    <li>modify default for configure
9974    <code>--enable-pty-handshake</code> option to enable it for
9975    Solaris (report by Nelson Beebe).</li>
9976
9977    <li>modify <code>in_put()</code> function to call
9978    <code>PreeditPosition()</code> only when the cursor's position
9979    has changed. This addresses report by Stefan Baums of high CPU
9980    usage while xterm with chinput are running in the background
9981    (patch by Yong Li).</li>
9982
9983    <li>improved explanation of <code>-ls</code> conflict with
9984    <code>-e</code> option in xterm manpage (adapted from comments
9985    by Henning Makholm).</li>
9986
9987    <li>correct comment in terminfo file regarding modifier used
9988    for <code>kDC</code> (Debian #189764, report by Henning
9989    Makholm).</li>
9990
9991    <li>correct/extend some of the keypad description in ctlseqs.ms
9992    (report by Henning Makholm).</li>
9993
9994    <li>correct keypad-mapping table in input.c so
9995    <code>XK_KP_Equal</code> works (report by Henning
9996    Makholm).</li>
9997
9998    <li>modified to work with CJK double-width (bi-width/monospace)
9999    fonts. They're similar to Roman Czbora and David Starner's
10000    gnuunifonts in that Latin letters and numbers have all the same
10001    width which is exactly the half of the width of East Asian
10002    characters. (patch by Jungshik Shin
10003    &lt;jshin@mailaps.org&gt;).</li>
10004
10005    <li>add configure option <code>--enable-broken-osc</code> and
10006    resource <code>brokenLinuxOSC</code> to accommodate scripts
10007    which do not distinguish between running in the Linux console
10008    and running in X. Linux console recognizes malformed control
10009    strings which start with an <code>OSC</code>, but are
10010    fixed-length, with no terminator.</li>
10011
10012    <li>add configure option <code>--enable-broken-st</code> and
10013    resource <code>brokenStringTerm</code> to allow user to revert
10014    one part of the parsing table corrections from <a href=
10015    "#xterm_171">patch #171</a>. (reports by Matthias Scheler and
10016    Kirill Ponomarew indicate that someone's network firmware sends
10017    an <code>&lt;escape&gt;X</code>).</li>
10018
10019    <li>modify configure <code>--disable-imake</code> to provide
10020    values for <code>OSMAJORVERSION</code>,
10021    <code>OSMINORVERSION</code>, <code>FUNCPROTO</code> and
10022    <code>NARROWPROTO</code> (report by Heiko Schlichting).</li>
10023
10024    <li>correct <code>vttests/16colors.sh</code>, which omitted the
10025    <code>$SUF</code> variable in output strings (patch by Paul
10026    Gilmartin).</li>
10027
10028    <li>modify shell scripts in <code>vttests</code> directory to
10029    attempt to use named signals in the <code>trap</code>
10030    statement, making this portable to OS/390 (report by Paul
10031    Gilmartin). Tested on SunOS 4.1.4, which implements only
10032    numbers.</li>
10033  </ul>
10034
10035  <h1><a name="xterm_177" id="xterm_177">Patch #177 - 2003/3/23 -
10036  XFree86 4.3.0</a></h1>
10037
10038  <ul>
10039    <li>fix definition of <code>USE_HANDSHAKE</code>, must be
10040    numeric (reported by Jens Schleusener).</li>
10041  </ul>
10042
10043  <h1><a name="xterm_176" id="xterm_176">Patch #176 - 2003/3/22 -
10044  XFree86 4.3.0</a></h1>
10045
10046  <ul>
10047    <li>add configure option <code>--enable-pty-handshake</code> to
10048    allow one to compile-in support for the pty handshaking logic,
10049    and resource <code>ptyHandshake</code> to enable or disable it
10050    (suggested by Ian Collier).</li>
10051
10052    <li>restore <code>USE_HANDSHAKE</code> ifdef removed in
10053    <a href="#xterm_159">patch #159</a> to address Debian
10054    #39964.</li>
10055
10056    <li>move ifdef's for ttysize/winsize into xterm_io.h</li>
10057
10058    <li>simplify loop on <code>tgetent</code>, check if the
10059    successive entries in the lookup table are the same. That makes
10060    xterm do one less lookup if there is no "xterm" entry in the
10061    termcap file (report by Derek Martin).</li>
10062
10063    <li>correct manpage discussion of <code>$TERM</code> and
10064    <code>$TERMCAP</code> variables, which omitted the Tektronix
10065    emulation and a note of the final "dumb" fallback.</li>
10066
10067    <li>broaden ifdef for
10068    <code>XRegisterIMInstantiateCallback()</code> from <a href=
10069    "#xterm_175">patch #175</a> (XIM fix) to exclude non-XFree86
10070    (report by Nelson Beebe indicates this breaks for Solaris, IRIX
10071    and OSF/1).</li>
10072
10073    <li>correct resource-size for <code>iconFont</code> (this was
10074    added by X11R6.3).</li>
10075
10076    <li>improve configure check for XKB bell extension, to work
10077    around inconsistent implementation of this feature (reports by
10078    Nelson Beebe, Kriston Rehberg and David Ellement).</li>
10079
10080    <li>modify configure-check for <code>tty</code> group to be
10081    less strict in batch mode (report by Nelson Beebe).</li>
10082
10083    <li>modify to allow building with g++, to use its compiler
10084    warnings (suggested by Nelson Beebe).</li>
10085
10086    <li>modify <code>dec2ucs[]</code> table to reflect newer codes
10087    available for scanlines 1, 3, 7, 9 (report by Michael
10088    Schroeder).</li>
10089
10090    <li>add configure option for XawPlus library.</li>
10091  </ul>
10092
10093  <h1><a name="xterm_175" id="xterm_175">Patch #175 - 2003/3/9 -
10094  XFree86 4.3.0</a></h1>
10095
10096  <ul>
10097    <li>fix a SIGSEGV which could occur if xterm is connecting to
10098    XIM server, and the XIM server is destroyed (patch by Nam
10099    SungHyun).</li>
10100
10101    <li>modify to use built-in line-drawing characters for Xft
10102    fonts (patch by Andrew Tipton).</li>
10103
10104    <li>make menu reflect the state of the <code>tekInhibit</code>
10105    resource.</li>
10106
10107    <li>make <code>signalInhibit</code> resource work, i.e.,
10108    disable the menu entries that would send signals to, or exit
10109    xterm. This was probably broken in X11R5 when logging was
10110    disabled (report by Sven Mascheck).</li>
10111
10112    <li>changed classes of <code>colorBDMode</code> and similar
10113    resources that override colors when a video attribute is set to
10114    <code>ColorAttrMode</code>, to make them distinct from
10115    <code>ColorMode</code>. This avoids an unexpected rendering of
10116    reverse video, for example (report by Paul Fox).</li>
10117
10118    <li>changed class of <code>veryBoldColors</code> to
10119    <code>VeryBoldColors</code>, since <code>ColorMode</code> is
10120    associated with boolean resources.</li>
10121
10122    <li>add option <code>-k8</code> and resource
10123    <code>allowC1Printable</code> to allow users of non-VTxxx
10124    character sets such as KOI-8 to treat the C1 control area
10125    (character codes 128-159) as printable rather than control
10126    characters.</li>
10127
10128    <li>add a null-pointer check for return-value of
10129    <code>ptsname()</code> in HPUX-specific code (report by David
10130    Ellement).</li>
10131
10132    <li>revise the ifdef's used for <code>XKB</code> bell support.
10133    The code was using a nonstandard call
10134    <code>XkbStdBell()</code>. Changed to use
10135    <code>XkbBell()</code> (based on patch by
10136    &lt;derek@signalmarketing.com&gt;).</li>
10137
10138    <li>add a null-pointer check in <code>xtermLoadFont()</code> in
10139    case there is no wide-bold font (Nam SungHyun).</li>
10140
10141    <li>change <code>Makefile.in</code> to use autoconf's
10142    <code>bindir</code>, <code>libdir</code> and
10143    <code>mandir</code> variables (report by Nam SungHyun).</li>
10144
10145    <li>add <code>le</code> to termcap <code>xterm-basic</code>
10146    entry. Though missing from older termcaps for xterm, some
10147    applications check for it (report by Matthias Buelow).</li>
10148
10149    <li>modify <code>uxterm</code> script to strip modifiers such
10150    as "@euro" from the locale setting before adding ".UTF-8"
10151    (Debian #179929).</li>
10152
10153    <li>modify the remaining places where tek4014 emulation uses
10154    <code>XDefineCursor()</code>, to make it work as originally
10155    implemented, e.g., when switching back to alpha mode. Added
10156    test-screen in vttest to test this feature properly.</li>
10157  </ul>
10158
10159  <h1><a name="xterm_174" id="xterm_174">Patch #174 - 2003/2/25 -
10160  XFree86 4.2.99.903</a></h1>
10161
10162  <ul>
10163    <li>work-around for XFree86 bug which made
10164    <code>XDefineCursor()</code> on a shell-window no longer work.
10165    The tek4014 emulation used this. Use the next lower window
10166    (report by Karl Rudolf Bauchspiess).</li>
10167
10168    <li>add a resource setting <code>allowWindowOps</code> to
10169    control whether the extended window operations should be
10170    allowed, e.g., resize, iconify, report window attributes. This
10171    is to accommodate people who are not capable of using a pager
10172    to view log-files.</li>
10173  </ul>
10174
10175  <h1><a name="xterm_173" id="xterm_173">Patch #173 - 2003/2/6 -
10176  XFree86 4.2.99.902</a></h1>
10177
10178  <ul>
10179    <li>reset mouse mode to normal on a full reset. This does not
10180    apply to mouse hilite tracking mode, of course (see
10181    ctlseqs.ms).</li>
10182
10183    <li>add a time-delay at the point where mouse hilite tracking
10184    mode choses to not handle X events, to avoid runaway CPU usage
10185    (report by D Hugh Redelmeier).</li>
10186
10187    <li>check for illegal character in DECUDK string, quit if
10188    detected.</li>
10189  </ul>
10190
10191  <h1><a name="xterm_172" id="xterm_172">Patch #172 - 2002/12/27 -
10192  XFree86 4.2.99.3</a></h1>
10193
10194  <ul>
10195    <li>fixes to make repainting of 256-color example work properly
10196    (reports by Abigail Brady and Scott A Crosby).
10197      <ul>
10198        <li>set flag in <code>AllocateAnsiColor()</code> to ensure
10199        the color is allocated once only.</li>
10200
10201        <li>fix check in <code>ScrnRefresh</code>, which was
10202        comparing background colors only if the ANSI foreground
10203        colors also were set.</li>
10204      </ul>
10205    </li>
10206
10207    <li>merge <code>Error()</code> calls and some
10208    <code>exit()</code> calls into <code>SysError()</code>, and
10209    change that to add the brief explanation for each error code
10210    which is provided in the manpage. Change a few
10211    <code>SysError()</code>, calls to avoid using code 1, to avoid
10212    confusion with exit status from places that do not use
10213    <code>SysError()</code>.</li>
10214
10215    <li>simplify logic used to open a debug logfile as the standard
10216    error.</li>
10217
10218    <li>modify the <code>-e</code> option so that if it fails,
10219    xterm will check if only one argument follows, e.g., it was
10220    quoted, and then retry using <code>sh&nbsp;-c</code>.</li>
10221
10222    <li>modify parsing of DECUDK string parameter to allow a comma
10223    between pairs of hexadecimal digits (Ray Neuman
10224    &lt;raymond@one.com.au&gt; reports that "real" terminals accept
10225    this; perhaps they simply ignore unexpected characters).</li>
10226
10227    <li>fix a few problems with the <code>$TERMCAP</code> string
10228    generated by <code>resize</code>:
10229      <ul>
10230        <li>for Bourne shell, add an <code>export</code> command.
10231        This was missing as far back as X11R5.</li>
10232
10233        <li>escape exclamation marks, used in xterm's reset
10234        string.</li>
10235
10236        <li>translate literal <code>\177\</code> to "^?".</li>
10237      </ul>
10238    </li>
10239
10240    <li>improve configure check for <code>tgetent()</code> to work
10241    when <code>$TERMCAP</code> has been set to a specific
10242    entry.</li>
10243
10244    <li>modify <code>minstall.sh</code> to use "%" rather than "@",
10245    to avoid problems with AFS (report by Zdenek Sekera).</li>
10246
10247    <li>list fatal error codes from <code>error.h</code> in the
10248    manpage, remove unused codes in <code>error.h</code>.</li>
10249
10250    <li>use more explicit wording for manpage list of color
10251    resources, since at least one user confused the generic names
10252    such as "black" with the names in rgb.txt (the latter are now
10253    used).</li>
10254
10255    <li>minor fix to description of 1003 mouse mode in ctlseqs.ms
10256    (Larry Riedel).</li>
10257  </ul>
10258
10259  <h1><a name="xterm_171" id="xterm_171">Patch #171 - 2002/12/12 -
10260  XFree86 4.2.99.3</a></h1>
10261
10262  <ul>
10263    <li>modify parser tables to improve detection of malformed
10264    control sequences, making xterm behave more like a real DEC
10265    terminal (patch by Paul Williams).</li>
10266
10267    <li>update comment in <code>input.c</code> to document
10268    <code>Meta</code> as a modifier for escape sequences (patch by
10269    D Roland Walker).</li>
10270
10271    <li>add ifdef'd code for logging option which adds the hostname
10272    and a timestamp to the generated logfile name. The ifdef's are
10273    setup with the configure script (patch by Nelson Beebe).</li>
10274
10275    <li>remove <code>xevents()</code> call from the end of
10276    <code>BlinkCursor()</code>, to fix an occasional problem which
10277    caused xterm to pause until a key was pressed. The reason for
10278    this was that there was no check to ensure that there really
10279    were events for <code>xevents()</code> to process. (patch by
10280    Semen A Ustimenko &lt;semenu@FreeBSD.org&gt;).</li>
10281
10282    <li>remove unused mode-params from <code>open()</code> calls
10283    that do not create a file.</li>
10284
10285    <li>modify configure script to put new items first on
10286    <code>$CPPFLAGS</code> and <code>$CFLAGS</code> to avoid
10287    conflict with environment's <em>-I</em> and <em>-D</em>
10288    options.</li>
10289
10290    <li>update config.guess, config.sub</li>
10291
10292    <li>resync with XFree86 CVS
10293      <ul>
10294        <li>fix va_args glitches for xterm/libfontconfig: 0 ==
10295        (void*)0 isn't true for all platforms (Egbert Eich).</li>
10296
10297        <li>initialise ProgramName in xterm's main before
10298        referencing it (XFree86 #5473, Peter Valchev).</li>
10299
10300        <li>some cleanup of Imakefile ifdef's (Marc La
10301        France).</li>
10302      </ul>
10303    </li>
10304  </ul>
10305
10306  <h1><a name="xterm_170" id="xterm_170">Patch #170 - 2002/10/13 -
10307  XFree86 4.2.1</a></h1>
10308
10309  <ul>
10310    <li>correct an off-by-one allocating data for sorted help
10311    message.</li>
10312
10313    <li>modify configure script to check for Xpm library, on which
10314    XFree86 Xaw library depends.</li>
10315
10316    <li>update config.guess, config.sub</li>
10317  </ul>
10318
10319  <h1><a name="xterm_169" id="xterm_169">Patch #169 - 2002/10/5 -
10320  XFree86 4.2.1</a></h1>
10321
10322  <ul>
10323    <li>modify wording of some options in help message to make them
10324    use <code>-/+</code> consistently with respect to "on/off" or
10325    "off/on".</li>
10326
10327    <li>sort options list which is displayed in help- and
10328    syntax-messages at runtime to simplify maintenance.</li>
10329
10330    <li>remove support for Amoeba and Minix (Juliusz Chroboczek
10331    noted it was removed from XFree86 server; there have been no
10332    users since 1996).</li>
10333
10334    <li>add configure script option
10335    <code>--disable-session-mgt</code> to control whether the
10336    session management code should be compiled-in (request by H
10337    Merijn Brand).</li>
10338
10339    <li>ifdef'd the session-management changes with
10340    <code>OPT_SESSION_MGT</code>, to accommodate X11R5 which
10341    predates the related definitions.</li>
10342
10343    <li>fix <code>decode_keyvalue()</code>, which did not properly
10344    parse multiple settings as needed for the <code>ttyModes</code>
10345    resource, since it did not skip over the parsed data.</li>
10346
10347    <li>fix an option-parsing conflict between <code>-class</code>
10348    and <code>-cjk_width</code> (Nam SungHyun)</li>
10349
10350    <li>add a missing null in <code>XtVaSetValues()</code> call
10351    used in <code>Cleanup()</code> (Nam SungHyun)</li>
10352  </ul>
10353
10354  <h1><a name="xterm_168" id="xterm_168">Patch #168 - 2002/9/29 -
10355  XFree86 4.2.1</a></h1>
10356
10357  <ul>
10358    <li>improve data reported for control sequence that requests
10359    window position by taking into account the window decorations,
10360    e.g., border and title (patch by Jess Thrysoee
10361    &lt;jess@thrysoee.dk&gt;).</li>
10362
10363    <li>add <code>-cjk_width</code> and corresponding resource
10364    <code>cjkWidth</code> (patch by Jungshik Shin
10365    &lt;jshin@mailaps.org&gt;).</li>
10366
10367    <li>add <code>-into</code> option, for embedding xterm in a
10368    Tcl/Tk application (patch by George Peter Staplin
10369    &lt;georgeps@xmission.com&gt;).</li>
10370
10371    <li>add simple session management (XSM) client capabilities to
10372    xterm. So a session manager such as, e.g., xsm, should be able
10373    to respawn or kill xterms without the help of an SM proxy (like
10374    smproxy), which is a hack and almost always buggy (patch by
10375    David Madore).</li>
10376
10377    <li>fix conflict between ifdef's for
10378    <code>OPT_DEC_LOCATOR</code> and <code>OPT_READLINE</code> in
10379    button.c (reported by Ilya Zakharevich).</li>
10380
10381    <li>fix for inconsistent use of <code>struct utmp</code> versus
10382    <code>struct utmpx</code> introduced in <a href=
10383    "#xterm_167">patch #167</a> (patches by Paul Gilmartin, Marc La
10384    France).</li>
10385
10386    <li>modify logic for <code>metaSendsEscape</code> to allow it
10387    to work in a setup where the Meta-key is not recognized as a
10388    modifier by the key-translations logic (discussion of
10389    eightBitInput with H.J.Lu). Note however that Vincent
10390    Lef&egrave;vre reported this in January).</li>
10391
10392    <li>use null pointer values consistently, rather than literal
10393    "0", for ending variable-length argument lists, e.g., for
10394    <code>execlp()</code> (based on patch by Matthieu Herrb).</li>
10395
10396    <li>correct logic of <code>ChangeAnsiColorRequest()</code>,
10397    which would do a screen repaint after replying to a request for
10398    information.</li>
10399
10400    <li>improve scripts in vttests to work with systems whose
10401    shells support <code>echo -n</code> and have, as does Debian,
10402    an unrelated <code>print</code> utility.</li>
10403
10404    <li>add vttests/acolors.sh to demonstrate OSC 4, which queries
10405    or sets ANSI colors.</li>
10406
10407    <li>fixes for ctlseqs.ms (Pavel Roskin, Ilya Zakharevich).</li>
10408
10409    <li>typos in xterm manpage (Jens Schweikhardt)</li>
10410
10411    <li>remove a redundant GCC_UNUSED from InitPopup() (Nam
10412    SungHyun)</li>
10413  </ul>
10414
10415  <h1><a name="xterm_167" id="xterm_167">Patch #167 - 2002/8/24 -
10416  XFree86 4.2.0</a></h1>
10417
10418  <ul>
10419    <li>correct ifdef's for <code>USE_TERMCAP</code> to match
10420    cygwin configuration.</li>
10421
10422    <li>fix several places in ctlseqs.ms which had no boxes around
10423    the literal text (report by Ilya Zakharevich).</li>
10424
10425    <li>extend mouse support for readline, ifdef'd with
10426    OPT_READLINE (integrated patch from Ilya Zakharevich).</li>
10427
10428    <li>modify terminfo description to match default for
10429    <code>modifyCursorKeys</code> resource.</li>
10430
10431    <li>add <code>modifyCursorKeys</code> resource to control how
10432    the shift- and similar modifiers are used to make a cursor
10433    escape sequence. The default makes a modified escape sequence
10434    always start with CSI and puts the modifier as the second
10435    parameter, to avoid confusing applications that would interpret
10436    the first parameter as a repeat count. The original behavior
10437    can be obtained by setting the resource to 0 (newsgroup
10438    discussion with Stephen J Turnbull, Jeffrey Altman).</li>
10439
10440    <li>correct missing initializations for
10441    <code>appdefaultCursor</code> and <code>appdefaultKeypad</code>
10442    resources.</li>
10443
10444    <li>add configure option <code>--enable-luit</code> and ifdef'd
10445    the luit-related code with OPT_LUIT_PROG.</li>
10446
10447    <li>modify xterm to invoke luit (integrated patch by Tomohiro
10448    Kubota)</li>
10449
10450    <li>update wcwidth.c to match Markus Kuhn's 2002-05-18
10451    version.</li>
10452
10453    <li>correct limit-checking in <code>ComputeSelect()</code> to
10454    handle selections that extend off the visible area; rather than
10455    modify the parameters to <code>TrackText()</code>, use
10456    <code>ScrollSelection()</code> to update the highlighting
10457    limits. (reported by Yegappan Lakshmanan and Nelson Beebe,
10458    patch by Alexander V Lukyanov).</li>
10459
10460    <li>correct manpage description of <code>tiXtraScroll</code>
10461    resource (reported by Tony Finch).</li>
10462
10463    <li>changes from OpenBSD:
10464      <ul>
10465        <li>Make xterm setgid utmp to be able to update utmp even
10466        with root privileges revoked.</li>
10467
10468        <li>If not updating utmp, revoke group privileges totally
10469        too.</li>
10470      </ul>
10471    </li>
10472
10473    <li>changes from NetBSD:
10474      <ul>
10475        <li>Check that the return value from ttyslot() is greater
10476        than 0 before writing the utmp file. Fixes w's "w: Stale
10477        utmp entry: &lt;user&gt; &lt;tty&gt; &lt;pty&gt;"
10478        errors.</li>
10479
10480        <li>Use openpty() to deal with new pty naming scheme.</li>
10481      </ul>
10482    </li>
10483
10484    <li>add <code>print-redir</code> action and menu entry to allow
10485    user to switch terminal in/out of printer controller mode. It
10486    appears from the manual that a real vt220 would not switch back
10487    to normal mode, so another mechanism is used (addresses Debian
10488    #37517).</li>
10489
10490    <li>check if <code>printerCommand</code> resource string is
10491    empty, use this to allow user to disable printer function.</li>
10492
10493    <li>trim trailing blanks from resource strings.</li>
10494
10495    <li>check return value from <code>ptsname()</code>, which may
10496    return null for example if someone has changed the permissions
10497    of /dev/pts to zero (Debian #121899).</li>
10498
10499    <li>modify OS/2 version to use <code>__UNIXOS2__</code>
10500    definition rather than <code>__EMX__</code>, related cleanup
10501    (patch by Holger Veit).</li>
10502
10503    <li>used modified indent 2.0 (patch <a href=
10504    "ftp://ftp.invisible-island.net/gnu-patches/">20020428</a>) to
10505    reformat most of the C source files, to simplify
10506    maintenance.</li>
10507
10508    <li>fix a couple of places where there were leading tabs on
10509    symbol-definition lines in Imakefile (Marc La France from
10510    report by Tony Finch)</li>
10511
10512    <li>add imake variable (TraceXTerm) to allow building debug
10513    version (Egbert Eich).</li>
10514  </ul>
10515
10516  <h1><a name="xterm_166" id="xterm_166">Patch #166 - 2002/3/25 -
10517  XFree86 4.2.0</a></h1>
10518
10519  <ul>
10520    <li>correct a bug in selection: double clicking on a word which
10521    was partly scrolled off the screen may select that text (report
10522    by Vincent Lef&egrave;vre &lt;vincent@vinc17.org&gt;).</li>
10523
10524    <li>implement <code>veryBoldColors</code> resource to control
10525    whether the corresponding video attribute such as
10526    <code>bold</code> is displayed when using
10527    <code>colorBDMode</code>, etc. (request by Josh Howard
10528    &lt;jrh@vicor-nb.com&gt;).</li>
10529
10530    <li>define escape sequences for function keys F21-F35 (patch by
10531    Stephen P Wall).</li>
10532
10533    <li>change the colors for the 256-color model, making them less
10534    skewed toward black (patch by Stephen P Wall).</li>
10535
10536    <li>add <code>vt100Graphics</code> resource (see <a href=
10537    "#xterm_115">patch #115</a>, based on discussion with Glenn
10538    Maynard).</li>
10539
10540    <li>ifdef'd Xaw/Xaw3d/neXtaw includes separately to avoid
10541    potential incompatibilities between these flavors of Athena
10542    widgets.</li>
10543
10544    <li>add configure check for XFree86 4.x Xaw library, whose
10545    geometry management is broken, to avoid trying to use it for
10546    toolbar configuration.</li>
10547
10548    <li>updates to configure script from vile and lynx to allow
10549    configure.in to be compiled with autoconf 2.5x</li>
10550
10551    <li>add a check for null pointer return by
10552    <code>ptsname()</code> (newsgroup posting from Mike Silva
10553    &lt;mikesilva@lucent.com&gt;).</li>
10554
10555    <li>fill in a few details needed to allow UTF-8 mode to switch
10556    on/off after startup. This requires that <code>wideChars</code>
10557    resource be set. (based on comments in 4 Aug 2001 by Alexey
10558    Marinichev &lt;lyosha@lyosha.2y.net&gt;).</li>
10559
10560    <li>remove duplicate install rules that make directories, e.g.,
10561    so installing manpage will not create app-defaults
10562    directory.</li>
10563
10564    <li>add comment in in <code>do_osc()</code>, reserving cases 30
10565    and 31 for for Konsole (request by Stephan Binner
10566    &lt;Stephan.Binner@gmx.de&gt;).</li>
10567
10568    <li>fixes for ctlseqs.ms and xterm.man (patch by Werner Lemberg
10569    &lt;wl@gnu.org&gt;).</li>
10570
10571    <li>add check for monochrome display, disabling colorMode in
10572    that case (fixes Debian #134130).</li>
10573
10574    <li>resync with XFree86 CVS
10575      <ul>
10576        <li>Fix some xterm build warnings on *BSD (patch by David
10577        Dawes).</li>
10578
10579        <li>Only use SA_RESTART in xterm when it's available (patch
10580        by Frank Liu).</li>
10581
10582        <li>Fix incorrect code in signal handlers in most of the
10583        clients, xterm and xdm not done yet (patch by Matthieu
10584        Herrb).</li>
10585      </ul>
10586    </li>
10587  </ul>
10588
10589  <h1><a name="xterm_165" id="xterm_165">Patch #165 - 2002/1/5 -
10590  XFree86 4.1.0</a></h1>
10591
10592  <ul>
10593    <li>modify <code>uxterm</code> script to strip encoding part
10594    from environment variable before adding ".UTF-8" (based on
10595    Debian #125947, but using a more portable solution).</li>
10596
10597    <li>add an assignment statement in VTInitialize() to make
10598    <code>awaitInput</code> resource work.</li>
10599
10600    <li>use new macros init_Bres(), etc., in VTInitialize() to add
10601    trace of the initialization of resources.</li>
10602
10603    <li>modify checks for $LC_ALL, related environment variables to
10604    ensure the resulting strings are nonempty (report by Markus
10605    Kuhn).</li>
10606
10607    <li>add an ifdef in charproc.c for num_ptrs variable in case
10608    all configure options are disabled.</li>
10609
10610    <li>modify definition of getXtermBackground() to avoid negative
10611    array index warning on Tru64 (report by Jeremie Petit).</li>
10612
10613    <li>improve fix from patch #165 (still Debian #117184, report
10614    by Matt Zimmerman &lt;mdz@debian.org&gt;)</li>
10615
10616    <li>correct install rule for uxterm in Makefile.in, to handle
10617    the case where building in a different directory than xterm's
10618    source (patch by Paul Gilmartin).</li>
10619
10620    <li>documented ANSI.SYS-style cursor save/restore escape
10621    sequences in ctlseqs.ms, which are in xterm since X11R5.</li>
10622
10623    <li>correct two entries in the default charClass table, which
10624    did not follow the manpage comment about the character number
10625    corresponding to the class (patch by Marc Bevand
10626    &lt;bevand_m@epita.fr&gt;).</li>
10627
10628    <li>fix a couple of typos in comments in the app-defaults files
10629    (David Krause &lt;xfree86@davidkrause.com&gt;).</li>
10630
10631    <li>resync with XFree86 CVS
10632      <ul>
10633        <li>update language of copyrights in some files to reflect
10634        the fact that they were reassigned from X Consortium to The
10635        Open Group in 1998. Note that this xterm source is derived
10636        from the 1996 version from X Consortium, does not
10637        incorporate changes made by X Consortium or The Open Group
10638        after that date, hence we do not add The Open Group's 1998
10639        copyright date to related files.</li>
10640
10641        <li>save/restore <code>errno</code> in signal catcher
10642        (patch by Matthieu Herrb).</li>
10643
10644        <li>modify UXTerm.ad's font5 resource so that xterm can
10645        display double width characters using a font distributed
10646        with XFree86 (Tomohiro Kubota).</li>
10647      </ul>
10648    </li>
10649  </ul>
10650
10651  <h1><a name="xterm_164" id="xterm_164">Patch #164 - 2001/11/13 -
10652  XFree86 4.1.0</a></h1>
10653
10654  <ul>
10655    <li>correct a case where <code>ptyInitialErase</code> and
10656    <code>backarrowKeyIsErase</code> resources combine to set
10657    <code>DECBKM</code> mode, but a <code>reset</code> command
10658    would not reset xterm to that state, making the erase character
10659    revert to ^H (Debian #117184)</li>
10660  </ul>
10661
10662  <h1><a name="xterm_163" id="xterm_163">Patch #163 - 2001/11/04 -
10663  XFree86 4.1.0</a></h1>
10664
10665  <ul>
10666    <li>correct ifdef's for <code>__QNX__</code> and
10667    <code>USE_SYSV_PGRP</code> in main.c call to
10668    <code>tcsetpgrp</code>, which broke bash behavior around
10669    <a href="#xterm_140">patch #140</a> (report/patch by Frank Liu
10670    &lt;fliu@mail.vipstage.com&gt;).</li>
10671
10672    <li>modify trace.c to fix missing definition of GCC_UNUSED for
10673    compilers other than gcc when configured for trace code
10674    (report/patch by Paul Gilmartin).</li>
10675
10676    <li>change format in TraceOptions() to use long rather than
10677    int, since the latter could lose precision on 64-bit machines
10678    (report/patch by Nelson Beebe).</li>
10679
10680    <li>modify xterm manual page and minstall.sh to allow imake
10681    rules to define location of app-defaults directory (Debian
10682    #87611).</li>
10683
10684    <li>review/update list of conflicting preprocessor symbols to
10685    remove from $CPPFLAGS at the end of the configure script. In
10686    particular, this allows one to configure xterm without the
10687    utempter library on Redhat 7.1 (report/patch by Adam
10688    Sulmicki).</li>
10689  </ul>
10690
10691  <h1><a name="xterm_162" id="xterm_162">Patch #162 - 2001/10/23 -
10692  XFree86 4.1.0</a></h1>
10693
10694  <ul>
10695    <li>correct logic that processes <code>-class</code> option, so
10696    that a following <code>-e</code> option is handled (Debian
10697    #116297).</li>
10698
10699    <li>improve options-decoding to allow <code>-version</code> and
10700    <code>-help</code> options to be combined (Debian
10701    #110226).</li>
10702
10703    <li>add a 10 millisecond delay in event loop when processing
10704    <code>-hold</code> option, to avoid using too much CPU time
10705    (Debian #116213).</li>
10706
10707    <li>prefix final program execution in <code>uxterm</code> with
10708    "exec" to avoid a useless shell hanging around (Christian
10709    Weisgerber).</li>
10710  </ul>
10711
10712  <h1><a name="xterm_161" id="xterm_161">Patch #161 - 2001/10/10 -
10713  XFree86 4.1.0</a></h1>
10714
10715  <ul>
10716    <li>modify logic that resets keypad application mode to avoid
10717    doing this if there is no modifier associated with the Num_Lock
10718    keysym (report by John E Davis &lt;davis@space.mit.edu&gt; and
10719    Alan W Irwin &lt;irwin@beluga.phys.uvic.ca&gt;).</li>
10720
10721    <li>add built-in translation for Control/KP_Separator to
10722    KP_Subtract, to accommodate users who wish to use xmodmap to
10723    reassign the top row of the numeric keypad.</li>
10724
10725    <li>correct Imakefile install-rule for <code>uxname</code>
10726    script (reported by Nam SungHyun &lt;namsh@lge.com&gt;).</li>
10727
10728    <li>resync with XFree86 CVS &ndash; correct typo in
10729    <code>&lt;ncurses/term.h&gt;</code> ifdef.</li>
10730  </ul>
10731
10732  <h1><a name="xterm_160" id="xterm_160">Patch #160 - 2001/10/7 -
10733  XFree86 4.1.0</a></h1>
10734
10735  <ul>
10736    <li>modify logic in main.c (see <a href="#xterm_145">patch
10737    #145</a>) to avoid generating the same identifier, for example,
10738    for /dev/tty1 and /dev/pts/1, which is used to denote an entry
10739    in the utmp file (Debian bug report #84676), A similar fix was
10740    also sent by Jerome Borsboom &lt;borsboom@westbrabant.net&gt;
10741    in May, but I overlooked it when reviewing bug reports.</li>
10742
10743    <li>add configure check for <code>&lt;ncurses/term.h&gt;</code>
10744    to get rid of hardcoded <code>__CYGWIN__</code> ifdef in
10745    resize.c
10746      <p>NOTE: The CYGWIN port should not be linking
10747      <code>resize</code> with ncurses. It appears that the only
10748      reason it is, is because both the ncurses and termcap ports
10749      on that platform are badly misconfigured (essential pieces
10750      have been removed, etc). Checking for
10751      <code>&lt;ncurses/term.h&gt;</code> does not hurt anything,
10752      since there are some correct installations that are set up
10753      that way.</p>
10754    </li>
10755
10756    <li>add a sample <code>uxterm</code> script, which uses the
10757    <code>UXTerm</code> application defaults for UTF-8
10758    environments.</li>
10759
10760    <li>undo change to xterm application defaults, since this
10761    introduced an unnecessary incompatibility. The intended
10762    functionality was already addressed by the <a href=
10763    "#xterm_141">UXTerm</a> app-defaults file.</li>
10764
10765    <li>resync with XFree86 CVS
10766      <ul>
10767        <li>Modified xterm app default to use LFD fontnames instead
10768        of old type (Michael Schroeder).</li>
10769
10770        <li>Fix xterm when XIM is disabled - caused a segfault
10771        (Tomohiro Kubota).</li>
10772      </ul>
10773    </li>
10774  </ul>
10775
10776  <h1><a name="xterm_159" id="xterm_159">Patch #159 - 2001/9/19 -
10777  XFree86 4.1.0</a></h1>
10778
10779  <ul>
10780    <li>remove an ifdef for <code>USE_HANDSHAKE</code> added in
10781    patch #158 from the second <code>TIOCSSIZE</code> ioctl call in
10782    the initialization code. Paul Gilmartin reports that for
10783    Solaris 2.6 (sparc), stty does not show that xterm sets rows
10784    and columns unless the second ioctl is executed.</li>
10785
10786    <li>correct treatment of empty parameter list for some OSC
10787    strings (report by Sami Farin &lt;sfarin@ratol.fi&gt;).</li>
10788  </ul>
10789
10790  <h1><a name="xterm_158" id="xterm_158">Patch #158 - 2001/9/8 -
10791  XFree86 4.1.0</a></h1>
10792
10793  <ul>
10794    <li>augment key translations for scrollbar widget to ensure
10795    that keystrokes intended for the text area are not lost if the
10796    mouse pointer happens to fall on the scrollbar. This can
10797    happen, for instance, if the user's <code>app-defaults</code>
10798    or <code>.Xdefaults</code> file contains a translations
10799    resource, though it may also happen through unrelated resource
10800    settings: probably a bug in libXt (reported by Paul Fox
10801    &lt;pgf@foxharp.boston.ma.us&gt; and Dmitry Yu. Bolkhovityanov
10802    &lt;D.Yu.Bolkhovityanov@inp.nsk.su&gt;).</li>
10803
10804    <li>widen ifdef's in xterm.h to define
10805    <code>__EXTENSIONS__</code> on Solaris, for compilers other
10806    than gcc. This was added along <code>_POSIX_C_SOURCE</code>
10807    with in <a href="#xterm_151">patch #151</a>, but is not
10808    sufficient since Sun's compiler does not define
10809    <code>__STDC__</code> by default (report by Matthias Scheler
10810    &lt;tron@zhadum.de&gt;).</li>
10811
10812    <li>modify xterm to obtain the closest matching color if an
10813    exact color is not available, e.g., on 8-bit displays (patch by
10814    Stephen P Wall)</li>
10815
10816    <li>implement "OverTheSpot" preedit type of XIM input (patch by
10817    Tomohiro Kubota):
10818      <ul>
10819        <li>This preedit type is a reasonable compromise between
10820        simpleness of implementation and usefulness. "Root" preedit
10821        type is easy to implement but not useful; "OnTheSpot"
10822        preedit type is the best in the point of view of user
10823        interface but very complex. And more, "OverTheSpot" is the
10824        preedit type which the most XIM servers support. Thus, to
10825        achieve reasonable usability, support of "OverTheSpot"
10826        preedit type is needed.</li>
10827
10828        <li>In "OverTheSpot" preedit type, the preedit
10829        (preconversion) string is displayed at the position of the
10830        cursor. On the other hand, it is XIM server's
10831        responsibility to display the preedit string. Thus, it is
10832        needed for XIM client (here XTerm) to inform the XIM server
10833        of the cursor position. And more, to achieve good visual
10834        proportion, preedit string must be written using proper
10835        font. Thus, it is XIM client's responsibility to inform the
10836        XIM server of the proper font. The font must be supplied by
10837        "fontset". Fontset is a set of fonts with charsets which
10838        are specified by the current locale. Since XTerm uses
10839        ISO10646 fonts regardless of the current locale, the fonts
10840        for XIM must be prepared separately. It is difficult to
10841        prepare fonts which are similar to XTerm font. Thus, my
10842        patch uses a simple way - the default font is "*" which
10843        matches every fonts and X library will automatically choose
10844        fonts with proper charsets. I added "-fx" command option
10845        and "ximFont" resource to override this default font
10846        setting.</li>
10847
10848        <li>changed the definition of "OverTheSpot" preedit type
10849        from XIMPreeditPosition|XIMStatusArea to
10850        XIMPreeditPosition|XIMStatusNothing. This matches the
10851        behavior of other programs such as Rxvt, Kterm, Gedit.</li>
10852
10853        <li>A tiny XIM bugfix is also included. By calling
10854        XSetLocaleModifiers() with parameter of "", it can consider
10855        XMODIFIERS environmental variable which is a standard way
10856        for users to specify XIM server to be used.</li>
10857      </ul>
10858    </li>
10859
10860    <li>adjust configure script to accommodate repackaging of
10861    keysym2ucs.c as include-file for xutf8.c (patch by Tomohiro
10862    Kubota).</li>
10863
10864    <li>add the <code>UXTerm</code> app-defaults file to makefile
10865    install rules (request by Juliusz Chroboczek).</li>
10866
10867    <li>correct logic in <code>get_termcap()</code>, which returned
10868    false if the <code>tgetent()</code> call indicated that xterm
10869    was linked with terminfo. Although the <code>$TERMCAP</code>
10870    variable cannot be adjusted in this case, xterm still needs
10871    information from this call to extract data to initialize the
10872    erase-mode when the <code>ptyInitialErase</code> resource is
10873    false.</li>
10874
10875    <li>modify <code>ScrollbarReverseVideo()</code> function to
10876    cache the original border color, so it can restore that when an
10877    application flashes the screen (Bugzilla #38872).</li>
10878
10879    <li>resync with XFree86 CVS
10880      <ul>
10881        <li>remove ifdef's for X_NOT_STDC_ENV (patch by David
10882        Dawes).</li>
10883
10884        <li>add Cygwin to special errno handling case in ptydata.c
10885        (Alan Hourihane)</li>
10886
10887        <li>set screen size earlier in initialization, to address a
10888        race with window manager resizing its clients (Keith
10889        Packard).</li>
10890      </ul>
10891    </li>
10892  </ul>
10893
10894  <h1><a name="xterm_157" id="xterm_157">Patch #157 - 2001/6/18 -
10895  XFree86 4.1.0</a></h1>
10896
10897  <ul>
10898    <li>clean up button.c and input.c (patch by Juliusz
10899    Chroboczek). The basic idea is to use a single set of APIs in
10900    the XTerm core, and put a set of workarounds in a separate
10901    file. As you will notice, this drastically simplifies parts of
10902    the code; in particular, the only remaining ifdefs related to
10903    the differences between Xutf8 and legacy systems are related to
10904    the selection provider logic. This defines two new files,
10905    xutf8.h and xutf8.c, provide some half-hearted but fully
10906    portable emulation for the three Xutf8* functions that XTerm
10907    uses. Putting these in a separate file will allow people to
10908    experiment with more complex versions without making the core
10909    of XTerm more difficult to maintain. The functionality of the
10910    emulation is as follows.
10911      <ul>
10912        <li>Xutf8TextListToTextProperty fully handles XStringstyle
10913        and XUTF8StringStyle. It will only generate STRING for
10914        XStdICCTextStyle, and will only generate Latin-1 in
10915        XCompoundTextStyle (but label it as COMPOUND_TEXT, as the
10916        spec requires). (I have hesitated to make this function
10917        fail for XStdICCTextStyle and XCompoundTextStyle; this
10918        might be a smart thing to do, in the hope that the
10919        selection requestor will try UTF8_STRING afterwards;
10920        opinions?)</li>
10921
10922        <li>Xutf8TextPropertyToTextList fully handles STRING and
10923        UTF8_STRING. It systematically fails for
10924        COMPOUND_TEXT.</li>
10925
10926        <li>Xutf8LookupString will properly handle single-keystroke
10927        input for the keysyms covered by Markus' keysym2ucs
10928        function. It will not handle either compose key input or
10929        external input methods.</li>
10930      </ul>
10931    </li>
10932
10933    <li>add an ifdef for <code>SunXK_F36</code>, used in
10934    <code>xtermcapKeycode()</code> (patch by Mark Waggoner
10935    &lt;waggoner@ichips.intel.com&gt;).</li>
10936
10937    <li>modify check for login name to try <code>getlogin()</code>
10938    and $LOGNAME, $USER environment variables to detect if the user
10939    has logged in under an alias, i.e., an account with the same
10940    user id but a different name (Debian bug report #70084).</li>
10941
10942    <li>add resource <code>tiXtraScroll</code>, which can be used
10943    to preserve the screen contents in the scrollback rather than
10944    erasing it when starting a fullscreen application such as
10945    <code>vi</code> (patch by Ken Martin
10946    &lt;fletcher@catsreach.org&gt;).</li>
10947
10948    <li>two patches by Denis Zaitsev &lt;zzz@cd-club.ru&gt;:
10949      <ul>
10950        <li>added <code>forceBoxChars</code> resource to control
10951        the "line-drawing characters" option.</li>
10952
10953        <li>added <code>freeBoldBox</code> resource, which, when
10954        set true, suppresses check in
10955        <code>same_font_size()</code>, so xterm does not attempt to
10956        ensure that the bold font is the same size as the normal
10957        font.</li>
10958      </ul>
10959    </li>
10960
10961    <li>change the color class for ANSI colors and similar ones
10962    such as bold-color, etc., to follow the convention that the
10963    classname is the instance name with a leading capital (e.g.,
10964    <code>color0</code> and <code>Color0</code> rather than
10965    <code>color0</code> and <code>Foreground</code>). There was
10966    little use for Foreground as a class other than to create
10967    occasional confusion and bug reports, most recently by Nelson
10968    Beebe who reports that it disables colors in xterm but not on
10969    Linux, which is probably due to a difference in resource
10970    evaluation order. A configure script option
10971    (--disable-color-class) is provided for anyone who did use the
10972    older behavior.</li>
10973
10974    <li>fix a signal-handling bug. When running xterm with
10975    <code>ksh</code> or similar shell such as bash 2.05, xterm will
10976    hang and not respond to keystrokes after the user types
10977    <code>suspend</code>. Additionally the popup menus do not
10978    respond, so it is not possible to send SIGCONT to the shell.
10979    What is happening is that the shell is sending itself SIGSTOP,
10980    and it is being stopped. Per specification it also means that
10981    the operating system is sending SIGCHLD to parent to the bash
10982    (XTERM). Now the issue is that xterm assumes it cannot happen
10983    and it expects to receive SIGCHLD only upon
10984    <em>termination</em> of its children. This causes a deadlock
10985    with xterm waiting for the child to die, and the child waiting
10986    for SIGCONT. (report/patch by Adam Sulmicki), analysis/testing
10987    by Sven Mascheck
10988    &lt;sven.mascheck@student.uni-ulm.de&gt;).</li>
10989
10990    <li>correct some inconsistent checks for
10991    <code>XtReleaseGC()</code> calls in
10992    <code>xtermLoadFont()</code> (patch by Nam SungHyun
10993    &lt;namsh@lge.com&gt;).</li>
10994
10995    <li>updated wcwidth.c and keysym2ucs.c to versions dated
10996    2001/1/12 and 2001/4/18, respectively from
10997    http://www.cl.cam.ac.uk/~mgk25/ucs/</li>
10998
10999    <li>correction to change from <a href="#xterm_90">patch
11000    #90</a>, which was intended to reset the saved cursor position
11001    for normal/alternate screens on a soft reset, but actually
11002    wiped out all of the saved cursor information. Just reset the
11003    saved position for the current screen (report by Michael
11004    Schroeder).</li>
11005
11006    <li>modify ShowCursor() and HideCursor() so that if the cursor
11007    points to the second part of a wide character, make the
11008    show/hide operate on the first position of the wide character
11009    (patch by Sven Verdoolaege).</li>
11010
11011    <li>scrolling in the alternate screen just before switching
11012    back to the main screen can cause extra blank lines to be
11013    inserted into the scrollback buffer (patch by Paul Vojta
11014    &lt;vojta@math.berkeley.edu&gt;).</li>
11015
11016    <li>resync with XFree86 4.1.0:
11017      <ul>
11018        <li>Use TermcapLibrary as -lncurses instead of -ltermcap,
11019        fixes problem building xterm/resize on Cygwin/XFree86
11020        (Harold Hunt).</li>
11021
11022        <li>Install xterm.termcap and xterm.terminfo when
11023        installing xterm (Torrey T. Lyons).</li>
11024
11025        <li>Fix some build issues on Cygwin/XFree86 (Suhaib
11026        Siddiqi).</li>
11027
11028        <li>Define CBAUD, when it's missing in xterm, on LynxOS
11029        (Stuart Lissaman).</li>
11030      </ul>
11031    </li>
11032  </ul>
11033
11034  <h1><a name="xterm_156" id="xterm_156">Patch #156 - 2001/4/28 -
11035  XFree86 4.0.3</a></h1>
11036
11037  <ul>
11038    <li>change order of selection-target types to make 8-bit xterm
11039    prefer UTF8_STRING to COMPOUND_TEXT (patch by Juliusz
11040    Chroboczek).</li>
11041
11042    <li>document <code>-fa</code>, <code>-fs</code> command-line
11043    options and <code>faceName</code>, <code>faceSize</code>
11044    resources which are used by the freetype library support.</li>
11045
11046    <li>if configure script finds freetype libraries, but imake
11047    definitions do not have the XRENDERFONT definition, define it
11048    anyway.</li>
11049
11050    <li>modify configure script check for freetype libraries to
11051    include <code>&lt;Xlib.h&gt;</code>, since an older version of
11052    the related headers relies on this (patch by Adam
11053    Sulmicki).</li>
11054  </ul>
11055
11056  <h1><a name="xterm_155" id="xterm_155">Patch #155 - 2001/4/20 -
11057  XFree86 4.0.3</a></h1>
11058
11059  <ul>
11060    <li>correct return type of in_put() from <a href=
11061    "#xterm_155">patch #153</a> changes, which left it not wide
11062    enough for UTF-8 (patch by Bruno Haible).</li>
11063  </ul>
11064
11065  <h1><a name="xterm_154" id="xterm_154">Patch #154 - 2001/4/11 -
11066  XFree86 4.0.3</a></h1>
11067
11068  <ul>
11069    <li>undo check for return value from <code>pututline</code>
11070    (used for debugging) since that function does not return a
11071    value on Slackware 3.6.</li>
11072
11073    <li>correct length in ScreenWrite, when rendering invisible
11074    text (patch by Sven Verdoolaege &lt;skimo@kotnet.org&gt;).</li>
11075
11076    <li>fixes/improvements for the <code>i18nSelection</code>
11077    resource from patch #153, by Bruno Haible:
11078      <ul>
11079        <li>add missing initialization for
11080        <code>i18nSelection</code> resource.</li>
11081
11082        <li>split-out the non-ICCM aspect of the
11083        <code>i18nSelection</code> resource as a new resource,
11084        <code>brokenSelections</code>.</li>
11085      </ul>
11086    </li>
11087
11088    <li>add configure check for <code>&lt;time.h&gt;</code> and
11089    <code>&lt;sys/time.h&gt;</code>, to allow for Unixware&nbsp;7,
11090    which requires both. If the configure script is not used, only
11091    <code>&lt;time.h&gt;</code> will be included as before (report
11092    by Thanh Ma).</li>
11093
11094    <li>fix redefinition of <code>dup2</code>,
11095    <code>getutent</code>, <code>getutid</code>,
11096    <code>getutline</code> and <code>sleep</code> functions on
11097    Unixware&nbsp;7 (report by Thanh Ma
11098    &lt;Thanh.Ma@casi-rusco.com&gt;)</li>
11099
11100    <li>add a fall-back definition for <code>__hpux</code>, which
11101    is apparently not defined in some compilers on HPUX 11.0
11102    (reported by Clint Olsen).</li>
11103
11104    <li>change VAL_INITIAL_ERASE, which is used as a fallback for
11105    the <code>"kb"</code> termcap string to 8, since that matches
11106    the xterm terminal description (request by Alexander V
11107    Lukyanov).</li>
11108
11109    <li>correct an off-by-one in <code>ClearInLine</code>, which
11110    caused the erase-characters (ECH) control to display
11111    incorrectly (patch by Alexander V Lukyanov).</li>
11112
11113    <li>correct escape sequences shown in terminfo for shifted
11114    editing keys. The modifier code was for the control key rather
11115    than the shift key.</li>
11116  </ul>
11117
11118  <h1><a name="xterm_153" id="xterm_153">Patch #153 - 2001/3/29 -
11119  XFree86 4.0.3</a></h1>
11120
11121  <ul>
11122    <li>increase PTYCHARLEN to 8 for os390, add some debugging
11123    traces for UTMP functions (patch by Paul Gilmartin).</li>
11124
11125    <li>correct an misplaced brace in
11126    <code>SelectionReceived()</code> (patch by Bruno Haible).</li>
11127
11128    <li>correct an assignment dropped in
11129    <code>SelectionReceived()</code> which made it not compile for
11130    wide-characters combined with debug traces.</li>
11131
11132    <li>correct typo, clarify description of 88- and 256-color
11133    controls (report by Bram Moolenaar).</li>
11134
11135    <li>correct a typo in ctlseqs.ms which caused DEC Locator
11136    control sequences using single quote "'" display grave "`"
11137    instead (reported by Paul Williams, apparently in patch
11138    #114).</li>
11139  </ul>
11140
11141  <h1><a name="xterm_152" id="xterm_152">Patch #152 - 2001/3/13 -
11142  XFree86 4.0.2</a></h1>
11143
11144  <ul>
11145    <li>correct index in inner loop in <code>VTInitI18N()</code>
11146    from patch #151 changes, which resulted in infinite loop under
11147    some conditions (report/analysis by Paul Gilmartin).</li>
11148
11149    <li>remove spurious "%|" from terminfo sgr capabilities
11150    (report/analysis by Adam M Costello, Debian #89222).</li>
11151
11152    <li>add shell script to adjust list of dynamic libraries linked
11153    by <code>resize</code> when building with the standalone
11154    configure script. Otherwise it uses the same list as for xterm,
11155    which is excessive.</li>
11156
11157    <li>fix a few compiler warnings reported by the 20010305 gcc
11158    snapshot.</li>
11159  </ul>
11160
11161  <h1><a name="xterm_151" id="xterm_151">Patch #151 - 2001/3/10 -
11162  XFree86 4.0.2</a></h1>
11163
11164  <ul>
11165    <li>alter the behaviour of selections in XTerm (patch by
11166    Juliusz Chroboczek). It is believed to follow the ICCCM +
11167    UTF8_STRING to the letter, both in UTF-8 and in eight-bit mode.
11168    From his description:
11169      <ul>
11170        <li>When compiled against XFree86 4.0.2, the patched XTerm
11171        will make the selection available as COMPOUND_TEXT, STRING
11172        or UTF8_STRING in both modes. It will request selections in
11173        the following order:
11174          <p>UTF-8 mode: UTF8_STRING, TEXT, COMPOUND_TEXT,
11175          STRING.<br>
11176          eight-bit mode: TEXT, COMPOUND_TEXT, UTF8_STRING,
11177          STRING.</p>
11178        </li>
11179
11180        <li>When compiled against an earlier version of XFree86 (or
11181        compiled with OPT_UTF8_API=0), it will still obey the
11182        ICCCM, but will neither request nor provide UTF8_STRING in
11183        eight-bit mode, and neither TEXT nor COMPOUND_TEXT in UTF-8
11184        mode.</li>
11185
11186        <li>For compatibility with previous versions of XTerm, a
11187        resource <code>i18nSelections</code> is provided, please
11188        see the manpage for details. However, due to an unexpected
11189        combination of ICCCM extensions by various bits and pieces
11190        of the libraries, interacting with previous versions of
11191        XTerm will work in many locales even without this flag.
11192        (Please do not set this resource to true by default, as
11193        this would violate the ICCCM.)</li>
11194      </ul>
11195    </li>
11196
11197    <li>improved error checking/reporting in VTInitI18N(), ensuring
11198    that lack of input method styles is treated distinctly from a
11199    mismatch.</li>
11200
11201    <li>remove an incorrect ifdef from patch #141 which suppressed
11202    overstriking to simulate bold font when xterm was compiled to
11203    support wide characters (report/analysis by Adam M Costello
11204    &lt;amc@cs.berkeley.edu&gt;, Debian #76404, Debian
11205    #77575).</li>
11206
11207    <li>modify <code>RequestResize()</code> function to
11208    save/restore window manager hints. Its call to
11209    <code>XtMakeResizeRequest()</code> had the undesirable
11210    side-effect of clearing window manager hints, e.g., when
11211    switching to 132-columns via DECCOLM escape sequence. Window
11212    manager hints make it simple to resize xterm in terms of
11213    character cells rather than pixels (reports by Christian
11214    Weisgerber, Debian #79939).
11215      <p>This applies to the normal configuration. When built with
11216      toolbar support, the hints are applied to a different widget
11217      level (more work will be needed to make hints work with the
11218      toolbar).</p>
11219    </li>
11220
11221    <li>fix a redefinition warning for resize.c on OpenBSD (patch
11222    by Christian Weisgerber).</li>
11223
11224    <li>change resource corresponding to <code>-T</code> option to
11225    match Xt library's <code>-title</code>, i.e.,
11226    <code>.title</code> rather than <code>*title</code> so the
11227    command-line options are interchangeable as documented (Debian
11228    bug report #68843).</li>
11229
11230    <li>add script used from autoconf'd makefile for installing
11231    manpages, since recent XFree86 changing the way section numbers
11232    are represented makes the install dependent on extra
11233    scripts.</li>
11234
11235    <li>add configure check for freetype libraries and configure
11236    option --disable-freetype to override this feature.</li>
11237
11238    <li>modify some configure script macros to avoid using
11239    changequote(), which has been rendered useless in the latest
11240    autoconf alpha 2.49c</li>
11241
11242    <li>update config.guess, config.sub to 2001-2-13</li>
11243
11244    <li>remove redundant/contradictory __CYGWIN__ definitions from
11245    resize.c</li>
11246
11247    <li>correct manpage typo introduced by X11R6.5 resync.</li>
11248  </ul>
11249
11250  <p>Changes from XFree86 4.0.2:</p>
11251
11252  <ul>
11253    <li>add definition of <code>_POSIX_C_SOURCE</code> for Solaris
11254    to make this compile with <code>gcc -ansi -pedantic</code>
11255    (report by &lt;mark@zang.com&gt;.</li>
11256  </ul>
11257
11258  <h1><a name="xterm_150" id="xterm_150">Patch #150 - 2000/12/29 -
11259  XFree86 4.0.2</a></h1>
11260
11261  <ul>
11262    <li>move the binding for shifted keypad plus/minus, which
11263    invokes the <code>larger-vt-font()</code> and
11264    <code>smaller-vt-font()</code> actions, respectively, into the
11265    translations resource (suggested by Marius Gedminas
11266    &lt;mgedmin@puni.osf.lt&gt;).</li>
11267
11268    <li>modify configure script to support the
11269    <code>--program-prefix</code>, <code>--program-suffix</code>
11270    and <code>--program-transform-name</code> options (request by
11271    Alison Winters &lt;alison@mirrabooka.com&gt;).</li>
11272
11273    <li>fixes for wide/combining characters (Robert Brady):
11274      <ul>
11275        <li>fix a scrolling / combining characters display
11276        anomaly</li>
11277
11278        <li>fix a problem with double-width characters where if the
11279        primary font had no box-drawing characters, the right hand
11280        half of double-width characters was erased (reported by Yao
11281        Zhang &lt;yzhang@sharemedia.com&gt;).</li>
11282
11283        <li>fix special case of null byte for key handling in UTF-8
11284        locales.</li>
11285      </ul>
11286    </li>
11287
11288    <li>modify logic that compares sizes of normal and bold fonts
11289    to be more forgiving of the font server's choice of bold font
11290    which must match the normal font's size. Now
11291    <code>same_font_size()</code> compares the height of the fonts
11292    rather than individually ascent and descent, and allows the
11293    bold font to be one pixel smaller than the normal font
11294    (addresses a report by Alan Citterman &lt;alan@mticket.com&gt;,
11295    who says that something in patches #146 to #148 made xterm more
11296    likely to overstrike bold fonts, and indirectly Debian bug
11297    report #76404, which reports the opposite).</li>
11298
11299    <li>make configure script use $CFLAGS and $CPPFLAGS
11300    consistently, including removing a chunk from configure.in
11301    which attempted to save/restore $CPPFLAGS while processing
11302    value set by the --x-includes option, but lost values set in an
11303    intervening AC_CHECK_HEADERS. This change modifies macros
11304    CF_ADD_CFLAGS, CF_ANSI_CC_CHECK and CF_X_TOOLKIT, as well as
11305    removing variables IMAKE_CFLAGS and X_CFLAGS from the generated
11306    makefile (the AC_CHECK_HEADERS problem was reported by Albert
11307    Chin-A-Young &lt;china@thewrittenword.com&lt;).</li>
11308
11309    <li>correct a comparison in SELECTWORD case of ComputeSelect(),
11310    which resulted in a word-selection wrapping past the first
11311    column without checking the first column's character class
11312    (reported by Christian Lacunza
11313    &lt;celacunza@netscape.net&gt;</li>
11314
11315    <li>correct a logic in UTF-8 mode for selecting double-width
11316    characters; a combining character was omitted (patch by Markus
11317    Kuhn).</li>
11318
11319    <li>add feature to pop (raise) window when a bell is received
11320    (patch by Gael Roualland
11321    &lt;gael.roualland@dial.oleane.com&gt;).</li>
11322
11323    <li>add __NetBSD__ and __OpenBSD__ to special-case in
11324    xterm_io.h for USE_POSIX_TERMIOS definition (patch by Christian
11325    Weisgerber).</li>
11326
11327    <li>move special-case HPUX include for &lt;sys/bsdtty.h&gt; to
11328    xterm_io.h to define TIOCSLTC, making HAS_LTCHARS defined for
11329    HPUX 10.20 (report by Bruno Betro).</li>
11330  </ul>
11331
11332  <h1><a name="xterm_149" id="xterm_149">Patch #149 - 2000/12/6 -
11333  XFree86 4.0.1h</a></h1>
11334
11335  <ul>
11336    <li>restructured includes for <code>termios.h</code>,
11337    <code>termio.h</code> and related definitions for main.c,
11338    os2main.c, screen.c and resize.c so they will share equivalent
11339    definitions in a new header <code>xterm_io.h</code>. This is
11340    intended to solve some problems mainly for HPUX which appear to
11341    arise from inconsistent definitions for SIGWINCH- and
11342    HAS_LTCHARS-related symbols (reports by Bruno Betro, Jeremie
11343    Petit and Clint Olsen).</li>
11344
11345    <li>improve usability of double-width fonts by allowing normal
11346    fonts to be given as double-width (from a patch by Fabrice
11347    Bellard &lt;bellard@email.enst.fr&gt;).</li>
11348
11349    <li>correct a few compiler warnings in TRACE() macros for
11350    signed/unsigned variable differences (reported by Clint
11351    Olsen).</li>
11352
11353    <li>make configure script use $CFLAGS and $CPPFLAGS more
11354    consistently, i.e., by using CF_ADD_CFLAGS in CF_ANSI_CC
11355    macro.</li>
11356
11357    <li>expanded description of environment variables in
11358    manual-page.</li>
11359
11360    <li>modify OPT_TCAP_QUERY feature to always return the termcap
11361    or terminfo capability string in the response, and to
11362    read/write the names in hexadecimal form to allow for the
11363    special case of termcap's <code>k;</code> name (patch by Bram
11364    Moolenaar).</li>
11365
11366    <li>add OPT_SAME_NAME and OPT_TCAP_QUERY to xtermcfg.hin, so
11367    the corresponding configure options work (patch by Bram
11368    Moolenaar).</li>
11369
11370    <li>resync with XFree86 4.0.1g:
11371      <ul>
11372        <li>Rewrite Xft library for Render extension/core text and
11373        font management Change xterm to use new interface (Keith
11374        Packard).</li>
11375      </ul>
11376    </li>
11377  </ul>
11378
11379  <h1><a name="xterm_148" id="xterm_148">Patch #148 - 2000/10/31 -
11380  XFree86 4.0.1d</a></h1>
11381
11382  <ul>
11383    <li>document logfile options in man-page.</li>
11384
11385    <li>correct spelling of <code>-samename</code> option in help
11386    message.</li>
11387
11388    <li>add configure script option
11389    <code>--enable-tcap-query</code> (request by Bram
11390    Moolenaar).</li>
11391
11392    <li>add a "Co" or "colors" entry to the OPT_TCAP_QUERY feature
11393    (patch by Bram Moolenaar).</li>
11394
11395    <li>patch by Kiyokazu Suto &lt;suto@ks-and-ks.ne.jp&gt;:
11396      <ul>
11397        <li>add support for bold font for double width characters.
11398        The font name may be specified with the command line option
11399        <code>-fwb</code> or with resource
11400        <code>wideBoldFont</code> (class
11401        <code>WideBoldFont</code>).</li>
11402
11403        <li>correct underlining of double width character string,
11404        which was drawn only half width.</li>
11405
11406        <li>correct binary search of precomposed character table,
11407        which may return wrong result when <code>int</code> is just
11408        32 bits.</li>
11409      </ul>
11410    </li>
11411
11412    <li>some changes to align terminfo with ncurses 5.2:
11413      <ul>
11414        <li>remove xtermm description, retaining xterm-mono since
11415        the former conflicts with ncurses.</li>
11416
11417        <li>modify initialization and reset strings to avoid
11418        putting the save/restore cursor operations bracketing
11419        changes to video attributes, since the changes could be
11420        lost when the cursor is restored. This affects xterm-r6 and
11421        xterm-8bit (the xterm-xfree86 entry uses the soft-reset
11422        feature which resets scrolling margins and origin mode
11423        without requiring us to save/restore the cursor
11424        position).</li>
11425
11426        <li>make a few entries explicitly inherit from
11427        xterm-xfree86 rather than xterm: xterm-rep, xterm-xmc,
11428        xterm-nrc</li>
11429      </ul>
11430    </li>
11431
11432    <li>ensure that sign-extension does not affect
11433    <code>ctype</code> macros by using <code>CharOf()</code> macro
11434    to coerce the parameter to an unsigned char.</li>
11435
11436    <li>resync with XFree86 4.0.1d:
11437      <ul>
11438        <li>Add primitive support in xterm for Xft based fonts
11439        (Keith Packard). The changes are ifdef'd with
11440        <code>-DXRENDERFONT</code>.</li>
11441      </ul>
11442    </li>
11443  </ul>
11444
11445  <h1><a name="xterm_147" id="xterm_147">Patch #147 - 2000/10/26 -
11446  XFree86 4.0.1c</a></h1>
11447
11448  <ul>
11449    <li>correct implementation of <code>ptyInitialErase</code>: the
11450    value assigned to <code>initial_erase</code> was for the
11451    control terminal, which is correct as far as it goes. But there
11452    was no following test for the pseudo-terminal's erase value,
11453    which would overwrite the default obtained from the control
11454    terminal (reported by Christian Weisgerber
11455    &lt;naddy@mips.inka.de&gt;).</li>
11456
11457    <li>modify check for printable-characters in OSC string to use
11458    xterm's ansi_table rather than isprint() macro, to isolate this
11459    check from locale settings. This fixes a problem using 8-bit
11460    characters to set the title (reported by Ricardas Cepas
11461    &lt;rch@richard.eu.org&gt;).</li>
11462
11463    <li>modify sample scripts to check for printf before print,
11464    since the latter is not as well standardized (e.g., on
11465    Linux).</li>
11466
11467    <li>updated config.sub, config.guess to reflect changes on
11468    subversions.gnu.org</li>
11469  </ul>
11470
11471  <h1><a name="xterm_146" id="xterm_146">Patch #146 - 2000/9/12 -
11472  XFree86 4.0.1c</a></h1>
11473
11474  <ul>
11475    <li>correct two instances overlooked from patch #141 which
11476    assumed UTF-8 mode without checking, causing a core dump in
11477    non-UTF-8 mode (one instance was reported by Tommi Virtanen
11478    &lt;tv@debian.org&gt;).</li>
11479
11480    <li>correct a problem selecting from the scrollback buffer in
11481    UTF-8 mode by changing remaining getXtermCell() calls to
11482    XTERM_CELL() as in the non-UTF-8 cases (report by Markus Kuhn,
11483    patch by Robert Brady).</li>
11484  </ul>
11485
11486  <h1><a name="xterm_145" id="xterm_145">Patch #145 - 2000/9/11 -
11487  XFree86 4.0.1c</a></h1>
11488
11489  <ul>
11490    <li>changes for UTF-8 configuration (Robert Brady):
11491      <ul>
11492        <li>doublewide characters don't lose their accents when the
11493        cursor moves onto or from them (a visual bug)</li>
11494
11495        <li>fix logic in addXtermCombining, which mean that if the
11496        low byte of a cell's first combining char was 0, a
11497        following combining char would go into combining slot 1,
11498        not 2.</li>
11499
11500        <li>modify logic for cut-buffers so UTF-8 data is first
11501        converted to Latin1.</li>
11502
11503        <li>collapse surrogates, 0xfffe, 0xffff to UCS_REPL.</li>
11504
11505        <li>modify to allow xterm to to show combining characters
11506        attached to doublewidth characters.</li>
11507
11508        <li>correct bug in linewrap with -u8 option (reported by
11509        Andreas Koenig &lt;andreas.koenig@anima.de&gt;).</li>
11510      </ul>
11511    </li>
11512
11513    <li>several changes to PTY logic (based on request by Tim Ryan
11514    &lt;timryan@nortelnetworks.com&gt;).
11515      <ul>
11516        <li>modify treatment of <code>-S</code> option to to make
11517        it work with Unix98 PTY's.</li>
11518
11519        <li>restore sense of IsPts flag in <code>get_pty()</code>,
11520        which was lost in Unix98 changes.</li>
11521
11522        <li>use new functions <code>my_pty_id()</code> and
11523        <code>my_pty_name()</code> to simplify/fix strings used for
11524        utmp, wtmp identifiers.</li>
11525
11526        <li>simplify <code>get_pty()</code> function, making it
11527        have a single return point so its inputs/outputs can be
11528        identified.</li>
11529      </ul>
11530    </li>
11531
11532    <li>update config.guess and config.sub and scripts to my
11533    20000819 patch, adding cases for OS/2 EMX.</li>
11534
11535    <li>add special case for os390 compiler options to configure
11536    script (patch by Paul Gilmartin)</li>
11537
11538    <li>fix some unused-variable compiler warnings (reported by
11539    Zdenek Sekera).</li>
11540
11541    <li>split-out some string functions into xstrings.c, to use
11542    them more consistently among main.c, os2main.c and
11543    resize.c</li>
11544
11545    <li>align termcap/terminfo files, adding entries to make them
11546    match. The termcap entries are necessarily less complete than
11547    the terminfo, to fit within 1023 character per entry.</li>
11548
11549    <li>add terminfo entry for xterm-sco (SCO function keys).</li>
11550
11551    <li>modify <code>same_font_name()</code> to properly handle
11552    wildcard introduced in <code>bold_font_name()</code>, making
11553    comparison for different fonts succeed when only the normal
11554    font is specified. This is needed to decide if 1-pixel offset
11555    should be used. (reported in a newsgroup by Bart Oldeman
11556    &lt;enbeo@enbeo.resnet.bris.ac.uk&gt;)</li>
11557
11558    <li>correct preprocessor line for OPT_WIDE_CHARS in
11559    drawXtermText() from patch #141 which resulted in overstriking
11560    for bold fonts not working.</li>
11561
11562    <li>correct Imakefile from 4.0.1c resync so UTF-8 modules are
11563    in UTF8SRC, UTF8OBJ lists, allowing build without UTF-8
11564    support.</li>
11565  </ul>
11566
11567  <h1><a name="xterm_144" id="xterm_144">Patch #144 - 2000/8/23 -
11568  XFree86 4.0.1b</a></h1>
11569
11570  <ul>
11571    <li>remove a spurious assignment in ScreenWrite() from Robert
11572    Brady's patch which set a null at the "end" of the buffer to be
11573    written. That made the autowrap feature write a blank in the
11574    first column for the non-UTF-8 configuration, rather than the
11575    actual character (reported by Alan Citterman
11576    &lt;alan@mticket.com&gt;).</li>
11577  </ul>
11578
11579  <h1><a name="xterm_143" id="xterm_143">Patch #143 - 2000/8/19 -
11580  XFree86 4.0.1b</a></h1>
11581
11582  <ul>
11583    <li>add a check to ensure that <code>-class</code> command-line
11584    option is not confused with <code>-c</code> (reported by Paul
11585    Townsend &lt;aab@aab.cc.purdue.edu&gt;).</li>
11586  </ul>
11587
11588  <h1><a name="xterm_142" id="xterm_142">Patch #142 - 2000/8/18 -
11589  XFree86 4.0.1b</a></h1>
11590
11591  <ul>
11592    <li>correction to precompose scripts, so 0061 + 0300 will now
11593    be really be displayed as 00C0 (patch by Robert Brady
11594    &lt;robert@susu.org.uk&gt;).</li>
11595
11596    <li>correct macro ClassSelects() in button.c, used to hide
11597    ifdef's for OPT_WIDE_CHARS in patch #141 (reported by Andreas
11598    Paul &lt;paula@informatik.tu-muenchen.de&gt;).</li>
11599
11600    <li>change wcwidth.h to include stddef.h rather than wchar.h,
11601    which is not present on OpenBSD and FreeBSD (reported by
11602    Christian Weisgerber and Bram Moolenaar).</li>
11603
11604    <li>newer config.sub and config.guess, from lynx
11605    2.8.4dev.7</li>
11606  </ul>
11607
11608  <h1><a name="xterm_141" id="xterm_141">Patch #141 - 2000/8/14 -
11609  XFree86 4.0.1b</a></h1>
11610
11611  <ul>
11612    <li>changes for doublewidth and combining characters, from
11613    http://www.ecs.soton.ac.uk/~rwb197/xterm/ (integrated patch by
11614    Robert Brady). In this context, doublewidth refers to 16-bit
11615    character sets which may have glyphs occupying two cells.</li>
11616
11617    <li>add command-line option <code>-class</code>, which allows
11618    one to override xterm's resource class. Also add resource file
11619    <code>UXTerm.ad</code>, which simplifies using xterm for both
11620    8-bit character sets and UTF-8.</li>
11621
11622    <li>fixes/improvements to OPT_TCAP_QUERY logic (patches by Bram
11623    Moolenaar, Stephen P Wall).</li>
11624  </ul>
11625
11626  <h1><a name="xterm_140" id="xterm_140">Patch #140 - 2000/7/23 -
11627  XFree86 4.0.1</a></h1>
11628
11629  <ul>
11630    <li>modify Makefile.in to circumvent GNU make's built-in suffix
11631    rule for ".sh" which confuses install.sh with the "make
11632    install" target (report/patch by Paul Gilmartin).</li>
11633
11634    <li>implement an experimental control sequence which an
11635    application may use to query the terminal to determine what
11636    sequence of characters it would send for a given function key.
11637    This is ifdef'd with OPT_TCAP_QUERY (request by Bram
11638    Moolenaar).</li>
11639
11640    <li>add /usr/local to search path in CF_X_ATHENA configure
11641    macro to build with Xaw3d on OpenBSD (patch by Christian
11642    Weisgerber).</li>
11643
11644    <li>add missing <code>#undef HAVE_TERMIO_C_ISPEED</code> to
11645    xtermcfg.hin, omitted in patch #133 fix for IRIX 6.5 baudrate
11646    (report by Alain Filbois &lt;Alain.Filbois@loria.fr&gt;).</li>
11647
11648    <li>correct a few errors in xterm.man: font in filename example
11649    for Tektronix emulation, and description of -nul/+nul
11650    command-line options (report by Eric Fischer
11651    &lt;enf@pobox.com&gt;).</li>
11652
11653    <li>update config.guess and config.sub, from tin and lynx.</li>
11654  </ul>
11655
11656  <h1><a name="xterm_139" id="xterm_139">Patch #139 - 2000/6/17 -
11657  XFree86 4.0d</a></h1>
11658
11659  <ul>
11660    <li>back out change to <code>-name</code> command-line option,
11661    restoring its original behavior (as noted by David Madore, the
11662    correct interpretation of this option is the application
11663    instance rather than the application class).</li>
11664  </ul>
11665
11666  <h1><a name="xterm_138" id="xterm_138">Patch #138 - 2000/6/15 -
11667  XFree86 4.0c</a></h1>
11668
11669  <ul>
11670    <li>workaround for fixed fonts which are generated from Unicode
11671    fonts: they omit glyphs for some xterm's less-used line-drawing
11672    characters, which caused xterm to set a flag telling it to use
11673    only its internal line-drawing characters. Do not set the flag
11674    (it can be set from the popup menu), and xterm will generate
11675    only the line-drawing glyphs which actually are missing.<br>
11676    Otherwise, when used for large fonts, xterm may generate a
11677    2-pixel wide line, which can leave dots on the screen.</li>
11678
11679    <li>restore first line of 256colres.pl, omitted in 4.0c
11680    diffs.</li>
11681  </ul>
11682
11683  <h1><a name="xterm_137" id="xterm_137">Patch #137 - 2000/6/10 -
11684  XFree86 4.0b</a></h1>
11685
11686  <ul>
11687    <li>make command-line <code>-name</code> option work as
11688    documented. Apparently this was lost in X11R5 when coding to
11689    use <code>XtAppInitialize</code>.</li>
11690
11691    <li>limit numeric parameters of control sequences to 65535 to
11692    simplify checks for numeric overflow.</li>
11693
11694    <li>change index into UDK list to unsigned to guard against
11695    numeric overflow making the index negative (Taneli Huuskonen
11696    &lt;huuskone@cc.helsinki.fi&gt;).</li>
11697
11698    <li>change <code>sun&nbsp;function-keys</code> resource name to
11699    <code>sunFunctionKeys</code> to work around redefinition of the
11700    token <code>sun</code> by xrdb on Solaris. Similarly, renamed
11701    resource <code>sun&nbsp;keyboard</code> to
11702    <code>sunKeyboard</code> (Stephen P Wall).</li>
11703
11704    <li>change similar resource names for HP and SCO to avoid
11705    potential conflict with xrdb symbols on other systems, as well
11706    as for consistency.</li>
11707
11708    <li>reorganized the install targets in the autoconf'd Makefile,
11709    adding install-app, install-bin, install-dirs and install-man.
11710    The app-defaults class can be overridden by setting the make
11711    variable 'CLASS', simplifying customization of xterm as a
11712    Unicode terminal, e.g., CLASS=UXTerm.</li>
11713
11714    <li>add limit checks to <code>ClearInLine()</code>,
11715    <code>ScrnInsertChar()</code>, <code>ScrnDeleteChar()</code> to
11716    correct potential out-of-bounds indexing (prompted by Debian
11717    bug report #64713, which reported a problem with ICH escape
11718    sequences).</li>
11719
11720    <li>updates to config.sub and config.guess Kevin Buettner
11721    &lt;kev@primenet.com&gt; for elf64_ia64 Bernd Kuemmerlen
11722    &lt;bkuemmer@mevis.de&gt; and MacOS X.</li>
11723
11724    <li>for os390, add check for errno set to ENODEV on failure to
11725    open /dev/tty when there is no controlling terminal (patch by
11726    Paul Gilmartin).</li>
11727
11728    <li>fixes for building on Digital Unix 4.0 and AIX 4.2 (patch
11729    from H Merijn Brand &lt;h.m.brand@hccnet.nl&gt;).</li>
11730
11731    <li>modify DECRQSS reply for DECSCL to additionally report if
11732    the terminal is set for 8-bit controls.</li>
11733  </ul>
11734
11735  <h1><a name="xterm_136" id="xterm_136">Patch #136 - 2000/6/3 -
11736  XFree86 4.0b</a></h1>
11737
11738  <ul>
11739    <li>add a resource (<code>limitResize</code>) limiting resizing
11740    via the CSI 4 t and CSI 8 t sequences.</li>
11741
11742    <li>ignore out-of-bounds resize requests, i.e., where
11743    sign-extension or truncation of the parameters would
11744    occur.</li>
11745  </ul>
11746
11747  <h1><a name="xterm_135" id="xterm_135">Patch #135 - 2000/5/29 -
11748  XFree86 4.0b</a></h1>
11749
11750  <ul>
11751    <li>remove code introduced in #134 which made some backgrounds
11752    bold.</li>
11753
11754    <li>minor correction to format of updated $TERMCAP when adding
11755    <code>kb</code> capability for <code>ptyInitialErase</code>
11756    logic.</li>
11757
11758    <li>improved test for SVR4 definition.</li>
11759  </ul>
11760
11761  <h1><a name="xterm_134" id="xterm_134">Patch #134 - 2000/5/28 -
11762  XFree86 4.0b</a></h1>
11763
11764  <ul>
11765    <li>update URL's and mailing addresses, moved to
11766    http://dickey.his.com and dickey@herndon4.his.com</li>
11767
11768    <li>correct missing quotes in CF_TTY_GROUP configure script
11769    macro in case the script is run in batch mode.</li>
11770
11771    <li>modify ownership-check of log file to ignore the group
11772    ownership. Otherwise xterm cannot create logfiles in
11773    directories with set-gid permissions.</li>
11774
11775    <li>simplify the logic that reads termcap data.</li>
11776
11777    <li>add fallback definition for B9600 in case line speed
11778    definition for 38400 is missing (report by Jack J Woehr
11779    &lt;jwoehr@ibm.net&gt;, for OpenBSD 2.6).</li>
11780
11781    <li>fix: Set highlightColor, and select a region containing the
11782    text cursor. If the window loses focus, the cursor becomes
11783    hollow, with the region inside the cursor being
11784    background/foreground, unlike the rest of the selection, which
11785    is foreground/highlight (patch by Ross Paterson
11786    &lt;ross@soi.city.ac.uk&gt;).</li>
11787
11788    <li>add configure script tests to define SVR4, SYSV and
11789    USE_POSIX_WAIT, which enables xterm to compile on Solaris 7 and
11790    SCO Openserver without imake, though there are still a few
11791    features for the latter which require <code>sco</code> to be
11792    predefined.</li>
11793
11794    <li>patches from Stephen P Wall:
11795      <ul>
11796        <li>add support for two Sun-specific function keys. These
11797        keys are labeled F11 and F12 on Sun Type 5 keyboards, but
11798        return SunXK_F36 and SunXK_F37. Support will only be
11799        compiled in if the header file &lt;X11/Sunkeysym.h&gt;
11800        exists and contains the appropriate symbol definitions. The
11801        keycodes for the DEC keycodes were arbitrary unused codes,
11802        but the ones for the Sun keycodes are what cmdtool and
11803        shelltool actually send.</li>
11804
11805        <li>add <code>colorRV</code> and <code>colorRVMode</code>
11806        resources to allow specifying a color to use for reverse
11807        video, similar to the existing UL, BD, and BL modes.</li>
11808
11809        <li>add <code>alwaysUseMods</code> resource, to override
11810        check if <code>alt</code> or <code>meta</code> modifiers
11811        are used in <code>translations</code> resource. Revamped
11812        the code to calculate the modifier value, and included Meta
11813        if alwaysUseMods is TRUE, using values 9-16.</li>
11814      </ul>
11815    </li>
11816
11817    <li>fixes for os390 (Paul Gilmartin):
11818      <ul>
11819        <li>regularize the definition of CONTROL() and remove an
11820        acknowledged "trial and error" table.</li>
11821
11822        <li>translate "^?" into A2E(0177) which is the EBCDIC "DEL"
11823        rather than plain 0177 which is the EBCDIC quotation
11824        mark.</li>
11825
11826        <li>modify <code>xtermMissingChar()</code> so that EBCDIC
11827        codes 128-159 are not rendered as blanks by X server
11828        running on Solaris, which sees those as control
11829        characters.</li>
11830
11831        <li>make debugging traces (configure --enable-trace) work
11832        properly with EBCDIC.</li>
11833      </ul>
11834    </li>
11835  </ul>
11836
11837  <h1><a name="xterm_133" id="xterm_133">Patch #133 - 2000/5/2 -
11838  XFree86 4.0a</a></h1>
11839
11840  <ul>
11841    <li>add substitutions in autoconf'd Makefile for CPPFLAGS,
11842    LDFLAGS and AWK (reported by Neil Bird).</li>
11843
11844    <li>correct uninitialized <code>childstat</code> variable from
11845    patch #131 in <code>creat_as()</code> function, which caused
11846    logging to not work on Solaris, whose <code>waitpid()</code>
11847    function does not initialize its parameter. Add check for EINTR
11848    on return from <code>waitpid()</code> as well (reported by Neil
11849    Bird &lt;neil.bird@rdel.co.uk&gt;).</li>
11850
11851    <li>remove a redundant check for working <code>setuid()</code>
11852    function introduced in patch #132. Greg Smith reports that this
11853    does not work as intended on os390.</li>
11854
11855    <li>change line speed from 9600bd to 38400bd, to accommodate
11856    people who mistakenly use $TERM set to <em>vt100</em>, to
11857    reduce the effect of padding associated with this terminal
11858    type.</li>
11859
11860    <li>add configure script check for IRIX 6.5's redefinition of
11861    baud rates associated with <code>struct termio</code>, to
11862    correct a situation where the baud rate was initialized to zero
11863    (reported by Andrew Isaacson &lt;adi@lcse.umn.edu&gt;).</li>
11864
11865    <li>remove unused configure script check for VDISABLE.</li>
11866  </ul>
11867
11868  <h1><a name="xterm_132" id="xterm_132">Patch #132 - 2000/4/11 -
11869  XFree86 4.0a</a></h1>
11870
11871  <ul>
11872    <li>undo an incorrect change from patch #113 caused the right
11873    scrollbar to be positioned incorrectly when re-enabling it
11874    (analysis by D Roland Walker).</li>
11875
11876    <li>add ctrlFKeys resource, replacing constant for adjusting
11877    control-F1 to control-F12 to VT220-style F10-F20. The resource
11878    changes the constant 12 to a default value of 10 (request by
11879    Jim Knoble &lt;jmknoble@pobox.com&gt;).</li>
11880
11881    <li>correct ifdef'ing for conflict between definitions in AIX's
11882    &lt;sys/select.h&gt; and &lt;X11/Xpoll.h&gt; (reported by Clint
11883    Olsen).</li>
11884
11885    <li>add checks for return-values of getutid(), initgroups() and
11886    setuid() in main.c, as well as modifying ifdef's for __osf__ to
11887    include tty-group and WTMP logic (adapted from patch by Paul
11888    Szabo &lt;psz@maths.usyd.edu.au&gt;)</li>
11889
11890    <li>modify resize.c to build and work on os390 (uses EBCDIC)
11891    (adapted from patch by Phil Sidler
11892    &lt;Phil.Sidler@airborne.com&gt;)</li>
11893
11894    <li>use Ires(), Bres() and Sres() macros to simplify resource
11895    list in charproc.c</li>
11896
11897    <li>resync with XFree86 4.0a:
11898      <ul>
11899        <li>correct a typo in os2main.c (Holger Veit, from
11900        4.0a).</li>
11901      </ul>
11902    </li>
11903  </ul>
11904
11905  <h1><a name="xterm_131" id="xterm_131">Patch #131 - 2000/3/3 -
11906  XFree86 3.9.18b</a></h1>
11907
11908  <ul>
11909    <li>improve logfile security (integrated patch by Branden
11910    Robinson)
11911      <ul>
11912        <li>make the <code>creat_as()</code> function more strict
11913        by using O_EXCL rather than O_APPEND.</li>
11914
11915        <li>fixes to make DEBUG ifdef's compile/run, including
11916        making the debug logfile more unique by appending a
11917        timestamp to its name.</li>
11918
11919        <li>include &lt;term.h&gt; in resize.c, to fix a
11920        missing-prototype warning.</li>
11921      </ul>
11922    </li>
11923
11924    <li>modified <code>creat_as()</code> a little more, retaining
11925    the ability to append to a logfile If the user specifies the
11926    name. Also, check if the opened file (which patch #130 ensures
11927    is owned by the effective user) is not writable by other
11928    users.</li>
11929
11930    <li>use <code>creat_as()</code> logic to make tek4014
11931    screen-copy more secure (noted by Branden Robinson).</li>
11932
11933    <li>ifdef'd some of Branden's changes to build/work on older
11934    machines.</li>
11935
11936    <li>correct missing initialization of the <code>.mode</code>
11937    flag in <code>ColorRes</code> struct, from patch #129. This
11938    worked on Linux because <code>malloc()</code> zeroes memory on
11939    that platform (reported by Christian Weisgerber).</li>
11940
11941    <li>modify logic for <code>deleteIsDEL</code> resource so it
11942    has internally 3 states: unspecified, true and false. If
11943    unspecified, the keyboard type determines whether the Delete
11944    key transmits <code>&lt;ESC&gt;[3~</code> or <code>\177</code>,
11945    and the popup menu entry reflects the internal state.
11946    Otherwise, the popup menu entry overrides the keyboard type
11947    (suggested by Dr Werner Fink, to make it simpler to set
11948    resources that imitate the legacy X11R6 xterm).</li>
11949  </ul>
11950
11951  <h1><a name="xterm_130" id="xterm_130">Patch #130 - 2000/3/1 -
11952  XFree86 3.9.18a</a></h1>
11953
11954  <ul>
11955    <li>modify <code>scroll-forw()</code> and
11956    <code>scroll-back()</code> actions, adding a third parameter
11957    which will direct xterm to ignore the action when mouse
11958    reporting is enabled. This is needed for the wheel mouse to be
11959    used to report to the application rather than scroll the
11960    window.</li>
11961
11962    <li>add menu entry and action to allow disabling xterm's
11963    assumption that the current font contains line-drawing
11964    characters if the font cells 1-31 are nonempty. Some fonts may
11965    have other characters (reported by Bruno Betro
11966    &lt;bruno@iami.mi.cnr.it&gt;).</li>
11967
11968    <li>add a check in <code>creat_as()</code> to ensure that the
11969    user really owns the logfile that has been opened.</li>
11970
11971    <li>add logic to implement SCO function-keys. (This is really
11972    incomplete, since I intend to revisit this and make xterm able
11973    to emulate scoansi better than just the function-keys).</li>
11974
11975    <li>add configure script option --enable-sco-fkeys, minor
11976    related fixes (patch by Dr Werner Fink).</li>
11977
11978    <li>fix typos in ctlseqs.ms (reported by Bram Moolenaar)</li>
11979
11980    <li>fix typo in sinstall.sh default for $TST_PROG (reported by
11981    Paul Gilmartin &lt;pg@sweng.stortek.com&gt;)</li>
11982  </ul>
11983
11984  <h1><a name="xterm_129" id="xterm_129">Patch #129 - 2000/2/26 -
11985  XFree86 3.9.18a</a></h1>
11986
11987  <ul>
11988    <li>improve initialization of ANSI colors by delaying
11989    allocation until each color is first used.</li>
11990
11991    <li>remove ifdef that prevented colorBD/colorUL/colorBL
11992    resources from working when 256-color configuration was built
11993    (reported by Todd Larason).</li>
11994
11995    <li>fix some minor inconsistencies in terminfo (Debian
11996    #58530).</li>
11997  </ul>
11998
11999  <h1><a name="xterm_128" id="xterm_128">Patch #128 - 2000/2/17 -
12000  XFree86 3.9.18</a></h1>
12001
12002  <ul>
12003    <li>correct logic for <code>oldXtermFKeys</code> resource,
12004    fixes a core dump when attempting to set it from the
12005    command-line (reported by Dr Werner Fink).</li>
12006
12007    <li>correct ifdef for meta-sends-escap so configure
12008    --disable-num-lock builds.</li>
12009  </ul>
12010
12011  <h1><a name="xterm_127" id="xterm_127">Patch #127 - 2000/2/12 -
12012  XFree86 3.9.17e</a></h1>
12013
12014  <ul>
12015    <li>add resource, popup menu entry and control sequence to
12016    allow changing the Delete key to send either DEL or the
12017    VT220-style Remove escape sequence.</li>
12018
12019    <li>remove logic for metaSendsEscape that would allow xterm to
12020    send <code>&lt;ESC&gt;[3~</code> before a function key that
12021    would begin with <code>&lt;ESC&gt;[3~</code> (request by
12022    Christian Weisgerber).</li>
12023
12024    <li>add missing action and documentation for
12025    meta-sends-escape.</li>
12026
12027    <li>correct a few typos in ctlseqs.ms (incorrect code for Cyan
12028    color)</li>
12029  </ul>
12030
12031  <h1><a name="xterm_126" id="xterm_126">Patch #126 - 2000/2/8 -
12032  XFree86 3.9.17c</a></h1>
12033
12034  <ul>
12035    <li>ensure that xterm will automatically activate the UTF-8
12036    mode whenever the name of the locale environment variable
12037    suggests that a UTF-8 locale is in use (patch by Markus Kuhn).
12038    This will help that by simply setting LC_CTYPE an entire system
12039    can be switched over to UTF-8, without users having to remember
12040    the UTF-8 command line options ("-u8", etc.) of the various
12041    applications. Command line options and X resource entries can
12042    still be used to override this default choice.</li>
12043
12044    <li>add old function-keys control sequences and popup menu
12045    entry, for compatibility with legacy X11R6 xterm.</li>
12046
12047    <li>revert translation of editing keypad "Delete" key to legacy
12048    \177.</li>
12049
12050    <li>simplify the color-resource data expressions with macro
12051    COLOR_RES, for later use in restructuring color
12052    initialization.</li>
12053
12054    <li>change encoding of wheel mouse (buttons 4 and 5) to avoid
12055    conflict with legacy mouse modifiers (suggested by Bram
12056    Moolenaar).</li>
12057  </ul>
12058
12059  <h1><a name="xterm_125" id="xterm_125">Patch #125 - 2000/1/31 -
12060  XFree86 3.9.17c</a></h1>
12061
12062  <ul>
12063    <li>make this work on OpenVMS (integrated patch by David
12064    Mathog).</li>
12065
12066    <li>rename some functions, e.g., <code>Index</code> to
12067    <code>xtermIndex</code> so that ports such as VMS which link
12068    externals ignoring case will not have library conflicts
12069    (reported by David Mathog).</li>
12070
12071    <li>correct logic of <code>do_reversevideo()</code>, which did
12072    not update the corresponding popup menu check mark (reported by
12073    David Mathog, this was a detail overlooked in patch #94).</li>
12074
12075    <li>change TRACE macro so semicolon is not within definition,
12076    making <em>indent</em> and similar programs work better.</li>
12077
12078    <li>add <code>depend</code> rule to Makefile.in</li>
12079
12080    <li>modify logic of boldColors resource to suppress it if an
12081    extended color control has been used, e.g., for 88-color or
12082    256-color mode (patch by Todd Larason).</li>
12083
12084    <li>revise logic that handles menus and input translation for
12085    keyboard type so only one can be selected at a time.</li>
12086
12087    <li>restore kdch1=\177 for the Sun function-key type, and make
12088    the the Delete key send DEL (\177) if the oldXtermFKeys
12089    resource is set.</li>
12090
12091    <li>rephrase logic and ifdef's for POSIX VDISABLE to avoid
12092    preprocessor expression that will not compile on NetBSD/x86
12093    1.4.1 (reported by Takaaki Nomura
12094    &lt;amadeus@yk.rim.or.jp&gt;).</li>
12095  </ul>
12096
12097  <h1><a name="xterm_124" id="xterm_124">Patch #124 - 2000/1/27 -
12098  XFree86 3.9.17b</a></h1>
12099
12100  <ul>
12101    <li>change coding of editing keypad's "Delete" key to
12102    &lt;escape&gt;[3~, in the default (Sun/PC) keyboard mode. This
12103    makes the terminfo kdch1 capability independent of the coding
12104    of the backarrow key, which sends either backspace (8) or DEL
12105    (127). The reason for doing this (compatibility with the
12106    <em>screen</em> program) outweighs the choice of DEL (127)
12107    which was used in X11R5/X11R6 xterms. The <em>screen</em>
12108    program translates whatever matches kdch1 into
12109    &lt;escape&gt;[3~, even if it happens to be the stty erase
12110    character.</li>
12111
12112    <li>add encoding for control/?, to work around xmodmap or key
12113    translations which may confuse backspace and delete. A
12114    control/? will send DEL (127), and a control/H will of course
12115    send backspace (8).</li>
12116
12117    <li>add encoding for kcbt to &lt;escape&gt;[Z (fixes Debian
12118    #54840).</li>
12119
12120    <li>minor correction to logic that encodes Sun and DEC function
12121    keys to avoid sending an escape sequence if the key symbol is
12122    not found in xterm's lookup table.</li>
12123
12124    <li>simplify ifdef's in main.c for POSIX VDISABLE so the "^-"
12125    pattern is more likely to be implemented when <em>imake</em>
12126    configures xterm (fixes Debian #55105).</li>
12127
12128    <li>change manpage to make it clearer what codes are sent by
12129    the backarrow key.</li>
12130  </ul>
12131
12132  <h1><a name="xterm_123" id="xterm_123">Patch #123 - 2000/1/22 -
12133  XFree86 3.9.17a</a></h1>
12134
12135  <ul>
12136    <li>add a note reserving OSC 51 for use in Emacs shell (request
12137    by Rob Mayoff &lt;mayoff@dqd.com&gt;).</li>
12138
12139    <li>correct a missing backslash in xterm-vt220 termcap.</li>
12140
12141    <li>cleanup remaining quoted includes, preferring bracketed
12142    form.</li>
12143
12144    <li>minor configure-script macro updates from tin and
12145    vile.</li>
12146
12147    <li>add configure-script option for using utempter library,
12148    adapted from Redhat 6.1 patch for XFree86 3.3.5</li>
12149
12150    <li>resync with XFree86 3.9.17a:
12151      <ul>
12152        <li>correction to QNX support (Frank Guangxin Liu)</li>
12153
12154        <li>some cosmetic changes that did not correct any reported
12155        problems.</li>
12156      </ul>
12157    </li>
12158  </ul>
12159
12160  <h1><a name="xterm_122" id="xterm_122">Patch #122 - 1999/12/28 -
12161  XFree86 3.9.16f</a></h1>
12162
12163  <ul>
12164    <li>move the suggested wheel-mouse button translations into
12165    charproc.c to simplify customization. Correct some minor logic
12166    errors in the support for buttons 4 and 5, used for wheel mice
12167    (reported by Bram Moolenaar).</li>
12168
12169    <li>implement <em>metaSendsEscape</em> resource, with
12170    corresponding control sequence and menu entry. Like
12171    <em>eightBitInput</em>, this causes xterm to send ESC prefixing
12172    the given key, but applies to all keys and is independent of
12173    the 8-bit/7-bit terminal setting. (requests by Alexander V
12174    Lukyanov and Marc Feeley).</li>
12175
12176    <li>correct potential indexing with negative subscript in
12177    udk_lookup(), (reported by Ian Collier
12178    &lt;Ian.Collier@comlab.ox.ac.uk&gt;).</li>
12179
12180    <li>modify configure script that sets TERMINFO_DIR to use
12181    ${prefix} rather than /usr if the --prefix option was specified
12182    (request by Zdenek Sekera &lt;zs@sgi.com&gt;).</li>
12183
12184    <li>modify checks for repeat-character control sequence to test
12185    the character class against xterm's state table, rather than
12186    the isprint() macro (patch by Alexander V Lukyanov).</li>
12187
12188    <li>change several functions to macros to improve speed</li>
12189
12190    <li>two corrections to simulation of bold font via
12191    overstriking:
12192      <ul>
12193        <li>use clipping to avoid leaving trash at end of the text,
12194        and</li>
12195
12196        <li>add brackets so wide-character logic does not
12197        fall-through into the overstriking logic (reported by Marc
12198        Feeley &lt;feeley@IRO.UMontreal.CA&gt;)</li>
12199      </ul>
12200    </li>
12201
12202    <li>add several entries to termcap file to make it have the
12203    same set of aliases as the terminfo file.</li>
12204
12205    <li>scale the color values used for xterm-256color terminfo
12206    entry to 0..1000, as expected by ncurses.</li>
12207
12208    <li>change xterm-r6 terminfo definitions for F1-F4 to match
12209    program.</li>
12210
12211    <li>Add QNX/Neutrino support (Frank Guangxin Liu
12212    &lt;frank@ctcqnx4.ctc.cummins.com&gt;)</li>
12213  </ul>
12214
12215  <h1><a name="xterm_121" id="xterm_121">Patch #121 - 1999/11/14 -
12216  XFree86 3.9.16c</a></h1>
12217
12218  <ul>
12219    <li>change label on "Sun/PC Keyboard" popup menu entry to
12220    "VT220 Keyboard", since the checked state corresponds to VT220
12221    rather than Sun/PC.</li>
12222
12223    <li>add configure test CF_UTMP_UT_XSTATUS to handle the
12224    variants of utmp exit status (reports by Dave Ellement, Jeremie
12225    Petit, Tomas Vanhala).</li>
12226
12227    <li>amend treatment of ALT key (see <a href="#xterm_94">patch
12228    #94</a>) so that if ALT is used as a modifier in key
12229    translations, then no parameter will be sent in escape
12230    sequences for Sun/PC function keys (request by Dr Werner
12231    Fink).</li>
12232
12233    <li>modify default for OPT_I18N_SUPPORT to assume that
12234    <code>XtSetLanguageProc()</code> is available in X11R5.
12235      <p>Caveat: <code>XtSetLanguageProc()</code> was added fairly
12236      late in the X11R5 patches, and some vendors shipped buggy
12237      versions of this function (request by Tomas Vanhala).</p>
12238    </li>
12239
12240    <li>correct configure macro CF_SYSV_UTMP to test-link with
12241    functions consistent with the header, e.g., getutent() for
12242    utmp.h and getutxent() for utmpx.h (reported by Greg
12243    Smith).</li>
12244
12245    <li>modify terminfo entry for <code>xterm-xfree86</code> to
12246    reflect modifiers for shift and control (from a patch by
12247    Alexander V Lukyanov).</li>
12248
12249    <li>modify terminfo entry for <code>xterm-sun</code> to match
12250    the function-key definitions in ncurses. The pageup/pagedown
12251    and related function keys correspond to the Sun keyboard, which
12252    does not necessarily correspond with X's notion of those
12253    keys.</li>
12254
12255    <li>modify treatment of XK_Delete keysym so it transmits
12256    parameterized VT220-style <code>&lt;ESC&gt;[3~</code> if
12257    modifiers (shift, control alt) are given (request by Alexander
12258    V Lukyanov).</li>
12259
12260    <li>corrected misspelled resource name in command-line option
12261    for HP function keys.</li>
12262  </ul>
12263
12264  <h1><a name="xterm_120" id="xterm_120">Patch #120 - 1999/10/28 -
12265  XFree86 3.9.16c</a></h1>
12266
12267  <ul>
12268    <li>refine the change to <code>SGR_Background()</code> in patch
12269    #119, by not flushing the pending scrolling operation if the
12270    background color is not actually changing. This combination
12271    occurs when using color-ls to display a long listing, since
12272    each line ends with an SGR0 which affects only the foreground
12273    color. The unnecessary flushing made it noticeably slower
12274    (reported by D Roland Walker &lt;walker@pobox.com&gt;).</li>
12275
12276    <li>remove obsolete documentation about modifiers which can be
12277    returned in mouse tracking mode, and modify logic to ignore
12278    modifiers other than the existing ones, e.g., NumLock (prompted
12279    by discussions with Christian Weisgerber and Brad Pepers
12280    &lt;brad@linuxcanada.com&gt;).</li>
12281
12282    <li>use free bit from obsolete shift-modifier coding of mouse
12283    tracking button events to encode buttons 4 and 5, e.g., for a
12284    wheel mouse (requests by Brad Pepers and Bram Moolenaar).</li>
12285
12286    <li>correct a place where the ptyInitialErase logic did not set
12287    the backarrowKey state, and modify it further to use tgetstr()
12288    rather than parse the termcap data returned from tgetent() so
12289    the ptyInitialErase logic will work when xterm is linked with a
12290    terminfo library (based on a patch by Dr Werner Fink
12291    &lt;werner@suse.de&gt;).</li>
12292
12293    <li>fix definition of HAVE_UTMP_UT_HOST for ISC configuration
12294    (patch by Michael Rohleder).</li>
12295
12296    <li>improve configure script's utmp tests (based on reports by
12297    Greg Smith for os390, and David Ellement for HPUX).</li>
12298
12299    <li>modify sinstall.sh to use uid=0 rather than 'root' to
12300    determine if the installer is privileged. This is needed on
12301    some systems since more than one account may be privileged
12302    (report by Greg Smith).</li>
12303
12304    <li>add an application resource, <code>messages</code> (and a
12305    corresponding -/+mesg option) which controls the initial
12306    permission on the terminal: if messages is set to true (the
12307    default), behavior is as without the patch; if it is set to
12308    false (as per -mesg), the terminal is opened in mode 0600, thus
12309    producing the effect of the <code>mesg n</code> command. This
12310    is useful for users who want to redirect all their messages to
12311    one particular xterm: it is more pleasant to do this with xterm
12312    resources than with explicit calls to the <code>mesg</code>
12313    program (patch, description by David Madore
12314    &lt;david.madore@ens.fr&gt;).</li>
12315  </ul>
12316
12317  <h1><a name="xterm_119" id="xterm_119">Patch #119 - 1999/10/16 -
12318  XFree86 3.9.16c</a></h1>
12319
12320  <ul>
12321    <li>add responses (DA and DSR) for DEC locator mode</li>
12322
12323    <li>add coding for ANSI color to DA response</li>
12324
12325    <li>implement UTF-8 translation for Media Copy (print)
12326    operations.</li>
12327
12328    <li>implement vt320 control sequences for Print Composed Main
12329    Display and for Print All Pages. The latter directs xterm to
12330    print the current screen as well as the scrollback buffer.</li>
12331
12332    <li>correct error in _GNU_SOURCE configure test, which left it
12333    always defined.</li>
12334
12335    <li>add more information, i.e., with strerror for some system
12336    calls in the main program which may fail due to insufficient
12337    permissions (prompted by a problem report for <code>-C</code>
12338    by Jeremie Petit &lt;Jeremie.Petit@digital.com&gt;).</li>
12339
12340    <li>add workaround for conflict between &lt;X11/Xpoll.h&gt; and
12341    &lt;sys/select.h&gt; on AIX 4.3 (Richard Griswold
12342    &lt;griswold@acm.org&gt;).</li>
12343
12344    <li>add configure script test to resolve conflict between
12345    between &lt;X11/Xpoll.h&gt; and &lt;sys/select.h&gt;</li>
12346
12347    <li>modify translation of UTF-8 sequences to reject "overly
12348    long" variations (patch by Markus Kuhn).</li>
12349
12350    <li>remove <code>utf8controls</code> resource, since Markus'
12351    change removes the corresponding logic.</li>
12352
12353    <li>correct a case where colors were not rendered properly.
12354    This happened when an application inserted several lines, then
12355    changed colors. If this was done all in one write, then there
12356    would be no intervening refresh, and the new color was applied
12357    to the pending scrolling operation which was awaiting the next
12358    refresh (reported by Stephane Chazelas
12359    &lt;Stephane_Chazelas@Raytheon.com&gt;).</li>
12360  </ul>
12361
12362  <h1><a name="xterm_118" id="xterm_118">Patch #118 - 1999/10/5 -
12363  XFree86 3.9.16b</a></h1>
12364
12365  <ul>
12366    <li>refine configure test for utmp versus utmpx, to build on
12367    HP-UX 10.x (reported by David Ellement).</li>
12368
12369    <li>move the configure check for <code>const</code> after the
12370    check for ANSI C compiler options, since those may be required
12371    to make it work properly on HP-UX.</li>
12372
12373    <li>add configure test for defining
12374    <code>_GNU_SOURCE</code></li>
12375
12376    <li>correction to <em>-hold</em> option, ensure that if data is
12377    already in the output buffer that it will be displayed before
12378    closing the PTY.</li>
12379
12380    <li>move the configure checks for setuid install of xterm into
12381    a script to avoid installing it setuid'd to a non-root user
12382    (reported by Adam Sulmicki &lt;adam@cfar.umd.edu&gt;).</li>
12383
12384    <li>correct configure script's check for termcap.h to avoid
12385    using ncurses' version of it on systems that have a working
12386    <code>tgetent()</code> function. This is needed to make
12387    <code>resize</code> work properly.</li>
12388
12389    <li>fix some typography in ctlseqs.ms description of DEC
12390    locator events (reported by Stephen P Wall).</li>
12391  </ul>
12392
12393  <h1><a name="xterm_117" id="xterm_117">Patch #117 - 1999/9/29 -
12394  XFree86 3.9.16b</a></h1>
12395
12396  <ul>
12397    <li>change order of tests in configure script for utmp and
12398    utmpx to test utmpx first, to compile on Solaris (reported by
12399    Leena Heino &lt;liinu@uta.fi&gt; and Patrik Hagglund
12400    &lt;patha@ida.liu.se&gt;).</li>
12401
12402    <li>add a configure test for utmp.ut_xtime, needed for SCO
12403    Openserver, and for lastlog, needed for Redhat 6.0, to refine
12404    the utmp/utmpx auto-configure.</li>
12405
12406    <li>remove a spurious comma in an #undef (reported by David
12407    Green &lt;greendjf@cvhp152.marconicomms.com&gt; and David
12408    Ellement &lt;ellement@sdd.hp.com&gt; both on HP-UX, whose
12409    compiler does care about syntax).</li>
12410
12411    <li>change ifdef's using __CYGWIN32__ to __CYGWIN__ (reported
12412    by Suhaib M. Siddiqi &lt;Ssiddiqi@InspirePharm.Com&gt;, who is
12413    told that the next Cygnus release will drop that symbol in
12414    their next release).</li>
12415
12416    <li>minor cleanup of ifdef's for makeColorPair (patch by
12417    Stephen P Wall).</li>
12418
12419    <li>work around problem observed in XFree86 3.3.5 (patch by
12420    Alexander V Lukyanov, Redhat #5419). From the problem report:
12421      <blockquote>
12422        <p>xterm consumes cpu when selecting text with mouse
12423        (holding down left mouse button) and when a program working
12424        under the xterm outputs something to stdout.</p>
12425
12426        <p>Easy way to reproduce:<br>
12427        <code>while :; do echo aaa; sleep 1; done</code><br>
12428        (while this runs, select text and hold down left mouse
12429        button) watch cpu load.<br>
12430        release left mouse button - spinning stops.</p>
12431      </blockquote>
12432    </li>
12433  </ul>
12434
12435  <h1><a name="xterm_116" id="xterm_116">Patch #116 - 1999/9/25 -
12436  XFree86 3.9.16a</a></h1>
12437
12438  <ul>
12439    <li>modify warning if change-ownership of PTY fails; some
12440    configurations may not happen to have old-style pty's (reported
12441    by Bob Maynard).</li>
12442
12443    <li>improve check in configure script for group ownership of
12444    installed xterm; some platforms use the -g option of ls to
12445    toggle group off rather than on (reported by Greg Smith).</li>
12446
12447    <li>minor improvement to toolbar geometry, to make it not
12448    resizable. This still is not satisfactory (but is usable) since
12449    the toolbar overlaps the xterm widget if the window is resized
12450    to make it smaller. It appears that some work is needed for the
12451    xterm widget's geometry management to make it function
12452    properly.</li>
12453
12454    <li>implement configure script tests for utmp, tty group.</li>
12455
12456    <li>implement <em>-hold</em> option, allowing users to retain
12457    the window after a shell has exited (this is recently an FAQ,
12458    but prompted by a comment by Joachim Plaettner-Hochwarth
12459    &lt;plaettner@aem.umn.edu&gt; in comp.unix.programmer, that the
12460    IRIX winterm provides this option).</li>
12461
12462    <li>add support for DEC Locator control sequences for xterm
12463    (integrated patch by Stephen P Wall):
12464
12465      <pre>
12466                DECEFR, "Enable Filter Rectangle"
12467                DECELR, "Enable Locator Reports"
12468                DECSLE, "Select Locator Events"
12469                DECRQLP, "Request Locator Position"
12470</pre>
12471      <p>This allows the xterm mouse to be used with applications
12472      that use the DEC Locator sequences, such as VAX Tpu, or SMG$
12473      based applications.</p>
12474    </li>
12475
12476    <li>improve print action (patch by Matthias Baake). From his
12477    notes,
12478      <ul>
12479        <li>Bug 1<br>
12480        Underlined text is preceded by ESC&nbsp;[0;2m . This should
12481        be ESC&nbsp;[0;4m&nbsp;, ESC&nbsp;[2m doesn't seem to have
12482        any effect. (print.c/send_SGR)</li>
12483
12484        <li>Bug 2<br>
12485        The check for the last non-empty column (while (last &gt;
12486        0) ... in print.c/printLine) omits the rightmost column of
12487        the screen, the loop must start with last =
12488        screen-&gt;max_col+1 instead of last =
12489        screen-&gt;max_col.</li>
12490
12491        <li>Bug 3<br>
12492        Any attributes of the first character (and of all
12493        immediately following characters with the same attributes)
12494        are ignored. The variable attr (print.c/printLine) should
12495        be initialized with 0, not with *a &amp; SGR_MASK.</li>
12496      </ul>
12497    </li>
12498  </ul>
12499
12500  <h1><a name="xterm_115" id="xterm_115">Patch #115 - 1999/9/18 -
12501  XFree86 3.9.16a</a></h1>
12502
12503  <ul>
12504    <li>integrated changes by Stephen P Wall to implement an
12505    88-color model for systems where 256-colors cannot be
12506    allocated.</li>
12507
12508    <li>when 256-color configuration is compiled, colored bold and
12509    underlining is not available; ifdef'd to avoid possible odd
12510    effects in this case (reported by Stephen P Wall).</li>
12511
12512    <li>add resource <em>cacheDoublesize</em>, to limit the caching
12513    of font information for double-sized characters. This addresses
12514    a problem reported by Aryeh Koenigsberg for X terminals with
12515    limited font memory.</li>
12516
12517    <li>modify treatment of line-drawing characters in UTF-8 mode
12518    so that the Unicode values are used rather than the C0 codes
12519    for storing the translated characters (request by Markus
12520    Kuhn).</li>
12521  </ul>
12522
12523  <h1><a name="xterm_114" id="xterm_114">Patch #114 - 1999/9/15 -
12524  XFree86 3.9.16</a></h1>
12525
12526  <ul>
12527    <li>add configure script checks for Athena headers and
12528    libraries under /usr/contrib to work on HPUX (reported by
12529    several people: David Nixon &lt;djn@csc.liv.ac.uk&gt; Aryeh
12530    Koenigsberg &lt;aryeh.koenigsberg@telrad.co.il&gt; Johannes
12531    M&auml;hner &lt;johanm@camline.com&gt; Andrew Gaylard
12532    &lt;andrew.gaylard@bsw.co.za&gt;).</li>
12533
12534    <li>add check to configure script if xterm is installed setgid
12535    rather than setuid, since wtmp and utmp may be installed with
12536    group-writable permissions other than root (based on Debian bug
12537    report #7112 by Bo Branten &lt;bosse@ing.umu.se&gt;).</li>
12538
12539    <li>rewrote logic that removes data from termcap entry, e.g.,
12540    for titeInhibit, to make it less likely to remove the wrong
12541    data.</li>
12542
12543    <li>correct logic which checks for missing characters used for
12544    line drawing. The 0 character was tested unnecessarily, leading
12545    to some inefficiency when rendering.</li>
12546
12547    <li>change termcap capability which is used as input or output
12548    of ptyInitialErase logic from <em>kD</em> to <em>kb</em>.
12549    Christian Weisgerber &lt;naddy@mips.rhein-neckar.de&gt; pointed
12550    out in effect that <em>kD</em> (in terminfo <em>kdch1</em>)
12551    should correspond to the control sequence for <em>dch1</em>,
12552    which deletes from the current position toward the right.</li>
12553
12554    <li>check for failure to change ownership of the PTY device and
12555    warn when xterm is running setuid'd to root. This was reported
12556    to happen on the FreeBSD/NetBSD/OpenBSD systems as a result of
12557    the chflags() call.</li>
12558
12559    <li>add xterm-noapp terminfo entry to illustate a nominally
12560    bash-compatible terminal description.</li>
12561  </ul>
12562
12563  <h1><a name="xterm_113" id="xterm_113">Patch #113 - 1999/8/15 -
12564  XFree86 3.9.15b</a></h1>
12565
12566  <p>Several fixes. The main one is a first draft of pulldown
12567  menus. It's not complete (I have some minor/annoying geometry
12568  problems to correct), but is usable. Once it's complete I plan to
12569  add a menu to support additional selections that won't fit on the
12570  current popup menus. Also, this fits into my longterm plan to
12571  allow configuring with Motif libraries.</p>
12572
12573  <ul>
12574    <li>correct error in input conversion for NRC mode (reported by
12575    Stefan Traby &lt;stefan@sime.com&gt;).</li>
12576
12577    <li>fix initialization of num_lock data in Misc struct (since
12578    those fields of the reference widget aren't initialized), and
12579    add logic to deal with XVision whose NumLock key does not
12580    transmit but does alter keypad state.</li>
12581
12582    <li>correct a missing return-value in get_pty(), for SCO</li>
12583
12584    <li>add E2A fix for backspace (patch by Greg Smith), i.e.,<br>
12585    #define VAL_INITIAL_ERASE A2E(127)</li>
12586
12587    <li>correct foreground color within cursor outline when the
12588    window is unfocused (reported by Stephane Chazelas).</li>
12589
12590    <li>corrected position of scrollbar set in ResizeScrollBar(),
12591    which left it positioned incorrectly if the right scrollbar
12592    were enabled from the popup menu but was not initially enabled.
12593      <p>I have noticed some additional problems with
12594      right-scrollbar on X11R5 which I will correct later.</p>
12595    </li>
12596
12597    <li>integrate changes by Jean-Claude Michot for QNX from
12598    XFree86 3.3.4c</li>
12599
12600    <li>add resources menuBar/MenuBar, menuHeight/MenuHeight for
12601    later use in toolbar geometry.</li>
12602
12603    <li>add configure option --enable-toolbar</li>
12604
12605    <li>add missing definition to make ziconbeep logic not
12606    compile-in when configure script disables it.</li>
12607
12608    <li>add configure-check for input-method support in X
12609    libraries</li>
12610  </ul>
12611
12612  <h1><a name="xterm_112" id="xterm_112">Patch #112 - 1999/7/17 -
12613  XFree86 3.9Pw</a></h1>
12614
12615  <ul>
12616    <li>add null-pointer check to FlushLog(), fixes a core dump
12617    when both -l and -lf options are used when xterm is configured
12618    with wide-character support.</li>
12619
12620    <li>remove "ISO" case for SD, which was due to a typographical
12621    error in ECMA-48 (reported by Paul Williams
12622    &lt;paul@celigne.co.uk&gt; for vttest).</li>
12623
12624    <li>add "FILES" section to manpage.</li>
12625
12626    <li>generate header file to initialize default resources for
12627    colors 16-255.</li>
12628
12629    <li>fixes for os390 (Greg Smith):
12630      <ul>
12631        <li>add README.os390</li>
12632
12633        <li>use the pty_search() function to find an available
12634        pty/tty pair.</li>
12635
12636        <li>move E2A() call out of getXtermCell() to SaveText()
12637        function so it will be available in all
12638        configurations.</li>
12639      </ul>
12640    </li>
12641
12642    <li>patches by Todd Larason:
12643      <ul>
12644        <li>enable SGR 48 5 in ISO color mode, not just 256 color
12645        mode</li>
12646
12647        <li>change configure's --disable-256-color option to
12648        --enable-256-color, to match its effect</li>
12649
12650        <li>fix OSC 4 xx ? (report ansi color) to report a string
12651        which can actually be used to set the color back</li>
12652
12653        <li>fix OSC 4 xx yy (change ansi color) to not allow
12654        setting colors &gt; 15 in 16 color mode</li>
12655
12656        <li>simplify the COLOR_ settings a bit in ptyx.h, along
12657        with setting NUM_ANSI_COLORS needed for #1 and #4
12658        above</li>
12659
12660        <li>correct string-terminator code passed for reference to
12661        OSC responses; when in 7-bit mode, only the final byte of
12662        ST was seen.</li>
12663
12664        <li>Allow multiple color #;name pairs in OSC 4, and
12665        document changes to match.</li>
12666      </ul>
12667    </li>
12668  </ul>
12669
12670  <h1><a name="xterm_111" id="xterm_111">Patch #111 - 1999/7/10 -
12671  XFree86 3.9Pw</a></h1>
12672
12673  <ul>
12674    <li>add control sequences for specifying the RGB value of the
12675    ANSI colors, and for configuring with 256 colors (patch by Todd
12676    Larason &lt;jtl@molehill.org&gt;). I made the default
12677    configuration to 16-colors, because xterm uses the default
12678    color map (which has only 256 colors).</li>
12679
12680    <li>correct an error in DCS $ q m reporting for colors 8-15
12681    (Todd Larason).</li>
12682
12683    <li>add test/demo script for double size characters. Used this
12684    to test/correct display of double size characters that should
12685    wrap, underlined double size characters.</li>
12686
12687    <li>increased cache size for double size fonts to 8, to allow
12688    for both normal and bold fonts (discussion with Aryeh
12689    Koenigsberg &lt;aryeh.koenigsberg@telrad.co.il&gt;).</li>
12690
12691    <li>add fixes for port to OS390 aka MVS (integrated patch from
12692    Greg Smith &lt;rys@epaibm.rtpnc.epa.gov&gt;). OS390 uses EBCDIC
12693    rather than ASCII.</li>
12694
12695    <li>correct an off-by-one in binary search limits in
12696    keysym2ucs.c (Markus Kuhn).</li>
12697
12698    <li>implement logging for UTF-8 mode. The output is written in
12699    UTF-8 form.</li>
12700  </ul>
12701
12702  <h1><a name="xterm_110" id="xterm_110">Patch #110 - 1999/6/29 -
12703  XFree86 3.9Pu</a></h1>
12704
12705  <ul>
12706    <li>If colorMode is enabled by default, compile-in default
12707    resources to match the colors listed in XTerm-col.ad (this
12708    should fix a longstanding FAQ).</li>
12709
12710    <li>added new OSC&nbsp;3&nbsp;;&nbsp;PROPNAME=VALUE&nbsp;ST
12711    escape sequence to set an arbitrary X property on the top level
12712    xterm X11 window. Omit "=VALUE" to delete the X property (patch
12713    by Greg Badros &lt;gjb@cs.washington.edu&gt;).</li>
12714
12715    <li>change internal flag used for <em>utf8controls</em>
12716    resource so we allow 31-bit range of characters (suggested by
12717    Thomas Wolff).</li>
12718
12719    <li>add check for 16-bit characters in OSC strings, change them
12720    to '?' (reported by Thomas Wolff).</li>
12721
12722    <li>modify logic of same_font_name() to avoid trying to
12723    interpret both parameters as wildcard patterns. That does not
12724    (cannot) work, and in some instances the font server will
12725    return unresolved wildcards for the normal or bold fontnames,
12726    making them match inadvertently, triggering the fallback
12727    overstrike logic (reported by Tim Adye).</li>
12728  </ul>
12729
12730  <h1><a name="xterm_109" id="xterm_109">Patch #109 - 1999/6/23 -
12731  XFree86 3.9Pt</a></h1>
12732
12733  <ul>
12734    <li>correct range-check from patch #108, which resulted in not
12735    being able to select from the scrollback buffer (reported by
12736    Tim Adye &lt;T.J.Adye@rl.ac.uk&gt;)</li>
12737
12738    <li>correct "no available ptys" problem with Cygwin B20.1
12739    (patch by Tim Adye).</li>
12740
12741    <li>modified install-ti rule in Makefile.in to allow override
12742    of the terminfo directory when doing a "make install", i.e., by
12743    assigning to TERMINFO_DIR (request by Zdenek Sekera
12744    &lt;zs@sgi.com&gt;).</li>
12745
12746    <li>added install-full rule to Makefile.in</li>
12747
12748    <li>resync mkdirs.sh and install.sh scripts against current
12749    autoconf</li>
12750
12751    <li>implement $(DESTDIR) in Makefile.in, making it simple to
12752    install xterm and associated files into a directory just for
12753    packaging a binary release (suggested by CaT
12754    &lt;cat@zip.com.au&gt;).</li>
12755
12756    <li>change IChar type to unsigned, rather than unsigned short,
12757    making room for a flag to keep with 16-bit characters to
12758    prevent them from being interpreted as C0 or C1 controls
12759    (reported by Thomas Wolff).</li>
12760
12761    <li>correct a typo from patch #107, incorrect array name, in
12762    the filterUTF8 function (patch by Bruno Haible
12763    &lt;haible@ilog.fr&gt;)</li>
12764
12765    <li>add <em>utf8controls</em> resource to specify whether xterm
12766    should interpret 16-bit characters unpacked from UTF-8 form as
12767    control characters if they happen to fall into that range. This
12768    behavior is left unspecified by the Unicode standard (request
12769    by Thomas Wolff).</li>
12770
12771    <li>modify handling of OSC to recover if application sends
12772    16-bit characters with codes above 255. We cannot display them
12773    as is, but translate out-of-range characters to a '?' (reported
12774    by Thomas Wolff).</li>
12775  </ul>
12776
12777  <h1><a name="xterm_108" id="xterm_108">Patch #108 - 1999/6/19 -
12778  XFree86 3.9Ps</a></h1>
12779
12780  <ul>
12781    <li>add a range-check to LastTextCol(), to guard against
12782    indexing before the beginning of the scrollback buffer. This
12783    appears to happen with certain fonts under X11R5 (reported by
12784    Stephane Chazelas &lt;Stephane_Chazelas@Raytheon.com&gt;).</li>
12785
12786    <li>implement resource <em>boldMode</em>, to allow disabling
12787    the simulation of bold fonts when the bold and normal fonts are
12788    not different (requested by Will Day
12789    &lt;willday@rom.oit.gatech.edu&gt;).</li>
12790
12791    <li>change the atom "UTF-8" to "UTF8_STRING", and fixes a few
12792    bugs in the UTF-8 selection (patch by Juliusz Chroboczek).</li>
12793
12794    <li>correct logic of binary-search in keysym2ucs.c (patch by
12795    Markus Kuhn).</li>
12796
12797    <li>add special interpretation of keysym codes above 0x1000000
12798    as the corresponding UCS value plus 0x1000000 (patch by Markus
12799    Kuhn).</li>
12800  </ul>
12801
12802  <h1><a name="xterm_107" id="xterm_107">Patch #107 - 1999/6/12 -
12803  XFree86 3.9Pq</a></h1>
12804
12805  <ul>
12806    <li>Two changes from Stephen P Wall. From his description:
12807      <blockquote>
12808        <p>The first change is simple - I added ESC[3J to erase the
12809        stored lines above the screen. That's what the changes to
12810        util.c and ctlseqs.ms are.</p>
12811
12812        <p>The second change is to get the blinking cursor working.
12813        I took out the cursorBlinkTime resource, and put in
12814        cursorBlink (Boolean), cursorOnTime (time cursor is on in
12815        msecs) and cursorOffTime, and added a cursorblink item to
12816        the vtMenu to enable/disable it.</p>
12817      </blockquote>
12818    </li>
12819
12820    <li>improve selection (integrated patch by Juliusz Chroboczek).
12821    From his description:
12822      <blockquote>
12823        <p>With this patch, selection conversion works
12824        properly:</p>
12825
12826        <pre>
12827        ISO 8859-1 xterm -&gt; ISO 8859-1 xterm (transferred as STRING);
12828        ISO 8859-1 xterm -&gt; UTF-8 xterm (transferred as STRING);
12829        UTF-8 xterm -&gt; ISO 8859-1 xterm (transferred as STRING);
12830        UTF-8 xterm -&gt; UTF-8 xterm (transferred as UTF-8).
12831</pre>
12832        <p>It will not work properly if one xterm is in, say, ISO
12833        8859-2. Actually, for this case xterm breaks the ICCCM
12834        routinely (sending ISO 8859-2 data as STRING), so I
12835        wouldn't worry too much about it. I have not changed the
12836        behaviour in eight-bit mode in any way.</p>
12837      </blockquote>
12838    </li>
12839  </ul>
12840
12841  <h1><a name="xterm_106" id="xterm_106">Patch #106 - 1999/6/9 -
12842  XFree86 3.9Pq</a></h1>
12843
12844  <ul>
12845    <li>remove duplicate fix for OpenBSD in resize.c</li>
12846
12847    <li>correct logic in ScreenWrite, which did not reset the high
12848    bytes of 16-bit characters when overwriting them with a 8-bit
12849    character string (reported by Thomas Wolff).</li>
12850
12851    <li>provide limited support for input of UTF-8 16-bit data by a
12852    lookup table (integrated patch by Markus Kuhn).</li>
12853
12854    <li>correct check in non_blank_line to ensure we're in
12855    wide-character mode before looking at the high bytes, for
12856    InsertChar.</li>
12857  </ul>
12858
12859  <h1><a name="xterm_105" id="xterm_105">Patch #105 - 1999/6/5 -
12860  XFree86 3.9Pp</a></h1>
12861
12862  <ul>
12863    <li>implement new resource <em>trimSelection</em>, which allows
12864    xterm to trim trailing blanks from selected lines. This does
12865    not affect the highlighting. (reported by several people using
12866    <em>mutt</em>, including Hans Morten Kind &lt;edphk@uib.no&gt;,
12867    Jeremy &lt;jeremy@exit109.com&gt; and (Michael Fuller
12868    &lt;msf@mds.rmit.edu.au&gt;).</li>
12869
12870    <li>include term.h in resize for OpenBSD (patch by Matthieu
12871    Herrb).</li>
12872
12873    <li>correct logic for UTF-8 in functions that hide and show the
12874    cursor; it was displaying a space whenever the low byte of the
12875    character at the cursor position was zero (reported by Thomas
12876    Wolff &lt;Thomas.Wolff@icn.siemens.de&gt;).</li>
12877  </ul>
12878
12879  <h1><a name="xterm_104" id="xterm_104">Patch #104 - 1999/5/30 -
12880  XFree86 3.9Pn</a></h1>
12881
12882  <p>This is a resync patch against XFree86 3.9Pn, reflecting
12883  changes which were submitted by Branden Robinson, who worked with
12884  Wichert Akkerman &lt;wichert@cs.leidenuniv.nl&gt; to set up
12885  ifdef's to handle GNU libc 2.1, and use getpt() which lets xterm
12886  avoid having to know the actual PTY name.</p>
12887
12888  <p>I have also added a few fixes for signed/unsigned mismatches,
12889  and corrected a problem in the configure script (the UTF-8 code
12890  was always configured since the Imakefile defines this).</p>
12891
12892  <h1><a name="xterm_103" id="xterm_103">Patch #103 - 1999/5/14 -
12893  XFree86 3.9Pm</a></h1>
12894
12895  <ul>
12896    <li>correct selection logic: I omitted an offset that accounts
12897    for the distance into the scrollback buffer when rewriting this
12898    for patch #101. Also fixed a similar problem for selecting
12899    double size characters from the scrollback buffer (first was
12900    reported by D Roland Walker &lt;walker@pobox.com&gt;).</li>
12901
12902    <li>improved support for Unix98 PTY's, using patch in Debian
12903    bug report #35650, by J.H.M. Dassen
12904    &lt;jdassen@wi.leidenuniv.nl&gt;. From the patch description:
12905      <blockquote>
12906        <ul>
12907          <li>No longer links xterm against libutil on a glibc2.1
12908          system. libutil is a compatibility library and should
12909          only be used when necessary. Rather than having get_pty()
12910          use openpty() from this compatibility library, use the
12911          real UNIX98 pty support in get_pty() (open()ing the
12912          master pty, through getpt() if available (glibc
12913          extension)). Use openpty() only under glibc2.0.</li>
12914
12915          <li>GNU libc2 is not Linux-specific; already it runs on
12916          the Hurd. It provides the UNIX98 pty functions (plus the
12917          getpt() extension), regardless of the underlying OS.
12918          Changed two constructs to look for GNU libc2 only, not
12919          GNU libc2 on Linux.</li>
12920        </ul>
12921      </blockquote>
12922    </li>
12923
12924    <li>improve font configuration, by checking if the user's
12925    resource settings for normal and bold fonts give the same font
12926    sizes (fixes problem reported by Peter Waltenberg
12927    &lt;peterw@dascom.com&gt;).</li>
12928  </ul>
12929
12930  <h1><a name="xterm_102" id="xterm_102">Patch #102 - 1999/5/12 -
12931  XFree86 3.9Pm</a></h1>
12932
12933  <ul>
12934    <li>revert change to openpty call in patch #101; this causes
12935    xterm to fail on DEC-Alpha OSF/1 4.0B (reported by H Merijn
12936    Brand).</li>
12937
12938    <li>modify print.c to move include of stdio.h after the
12939    autoconf'd xtermcfg.h since HP's ANSI C compiler otherwise sees
12940    inconsistent prototype for getopt, probably due to problem with
12941    const (reported by H Merijn Brand).</li>
12942  </ul>
12943
12944  <h1><a name="xterm_101" id="xterm_101">Patch #101 - 1999/5/10 -
12945  XFree86 3.9Pm</a></h1>
12946
12947  <ul>
12948    <li>moved includes and definitions for 'select' from data.h to
12949    xterm.h to fix problem introduced by prototype for getPtyData,
12950    part of UTF-8 changes (reported by Jens Schleusener
12951    &lt;Jens.Schleusener@dlr.de&gt;)</li>
12952
12953    <li>added "Meta &lt;Btn2Down&gt;:clear-saved-lines()" default
12954    translation (patch by H Merijn Brand)</li>
12955
12956    <li>fixes to configure script and ifdef's in main.c to build on
12957    a HP9000/D390 (hppa-2.0w) running HP-UX 11.00 (64 bit) with
12958    egcs 1.1.2 and HP's ANSI C compiler (patch by H Merijn Brand
12959    &lt;PROCURA_BV@CompuServe.com&gt;)</li>
12960
12961    <li>add more parentheses in ifdef's (patch by Bob
12962    Maynard).</li>
12963
12964    <li>eliminate conflicting definitions for USE_TERMINFO in
12965    resize.c (reported by Jeremy Buhler).</li>
12966
12967    <li>change openpty call to pass NULL rather than ttydev
12968    parameter, since that was used only to estimate the length of
12969    the corresponding data, and may not really be long enough
12970    (reported by Andreas Jaeger)</li>
12971
12972    <li>update description in xterm manpage for character class
12973    table, which said it handles only 7-bit codes.</li>
12974
12975    <li>correct a typo in ScrnDeleteChar() which made it not clear
12976    the high byte of wide-character data.</li>
12977
12978    <li>add logic to convert selection to UTF-8 form when
12979    appropriate. This makes select/paste "work", but further work
12980    is needed to make UTF-8 recognized as a locale in Xlib.</li>
12981
12982    <li>correct right-limit check when selecting double-width
12983    characters.</li>
12984
12985    <li>change default answerback response to an empty string.</li>
12986  </ul>
12987
12988  <h1><a name="xterm_100" id="xterm_100">Patch #100 - 1999/5/3 -
12989  XFree86 3.9Pl</a></h1>
12990
12991  <ul>
12992    <li>Correct a typo in the default resource value for
12993    backarrowKeyIsErase: it was always true (reported by Bram
12994    Moolenaar).</li>
12995
12996    <li>improve configure script's test if the installed xterm is
12997    setuid, in case that is a symbolic link.</li>
12998
12999    <li>correct "install-ti" rule in Makefile.in, by not setting a
13000    blank $TERMINFO value. That is interpreted as "." by ncurses'
13001    tic.</li>
13002  </ul>
13003
13004  <h1><a name="xterm_99" id="xterm_99">Patch #99 - 1999/5/2 -
13005  XFree86 3.9Pk</a></h1>
13006
13007  <ul>
13008    <li>correct logic that computes num_ptrs count of the number of
13009    indices into the screen buffer. This is the maximum of the
13010    colors and character-set indices; was incorrect in patch
13011    #97.</li>
13012
13013    <li>correct argument type for sigsetjmp, incidental change in
13014    patch #96's Unix88 PTY patch (reported by Bram Moolenaar).</li>
13015
13016    <li>correct description of secondary DA in ctlseqs.ms (reported
13017    by Bram Moolenaar).</li>
13018
13019    <li>decouple the backarrowKey and ptyInitialErase resources by
13020    adding a new resource backarrowKeyIsErase, to accommodate
13021    people using applications which have hardcoded tests for
13022    characters 8 and 127 rather than relying on the stty
13023    settings.</li>
13024
13025    <li>modify the UTF-8 decoder so that all possible illegal UTF-8
13026    sequences are properly represented by U+FFFD. This should be
13027    very helpful for developers of code that output UTF-8 strings
13028    for debugging. See the file utf-8-test.txt in
13029    http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts.tar.gz for a
13030    demonstration text that contains numerous illegal UTF-8 values.
13031    (patch by Markus Kuhn).</li>
13032
13033    <li>correct a place in ScrnRefresh where I was filling the high
13034    byte of a wide character with a space rather than a null
13035    (reported by Markus Kuhn).</li>
13036  </ul>
13037
13038  <h1><a name="xterm_98" id="xterm_98">Patch #98 - 1999/4/26 -
13039  XFree86 3.9Pk</a></h1>
13040
13041  <ul>
13042    <li>correct data manipulation in unparseputc(), broken for
13043    little-endian machines by patch #97's UTF-8 changes. This meant
13044    that keyboard input on SunOS did not work, though Linux i386
13045    was fine.</li>
13046
13047    <li>modify initialization for backarrowKey and logic for
13048    initial-erase to prevent the initial-erase from overriding an
13049    explicitly set backarrowKey resource (reported by Vikas
13050    Agnihotri).</li>
13051
13052    <li>add a missing null-pointer check in ScrnRefresh, for the
13053    wide-characters configuration.</li>
13054  </ul>
13055
13056  <h1><a name="xterm_97" id="xterm_97">Patch #97 - 1999/4/25 -
13057  XFree86 3.9Pk</a></h1>
13058
13059  <ul>
13060    <li>add configure script test for -lutil, needed for openpty
13061    call when configuring xterm for Glibc-2.1 and Unix98 PTY's
13062    (first reported by Martin Lorentz"
13063    &lt;m.lorentz@w12.link-goe.de&gt;).</li>
13064
13065    <li>completely parenthesize ifdef expressions for Glibc
13066    (suggested by Bob Maynard).</li>
13067
13068    <li>add initial-erase options (-ie, +ie) to help message
13069    (reported by Vikas Agnihotri).</li>
13070
13071    <li>remove duplicate definition of USE_USG_PTYS (reported by
13072    Jeremy Buhler).</li>
13073
13074    <li>change termcap <em>kD</em> and terminfo <em>kdch1</em> to a
13075    DEL (\177). I overlooked this when separating the styles of
13076    keyboard with the <em>sunKeyboard</em> resources in patch #94,
13077    so that it normally matches the value of the stty erase
13078    character:
13079      <ul>
13080        <li>Reported by Jae Gangemi
13081        &lt;jgangemi@ccf.rutgers.edu&gt;, this caused emacs to not
13082        process the DEL properly, combining it with succeeding
13083        characters.</li>
13084
13085        <li>This does not appear to be related to a problem which I
13086        have found with <em>screen</em>, which translates the stty
13087        erase into the termcap <em>kD</em> or terminfo
13088        <em>kdch1</em> value (depending on how it is linked) if the
13089        $TERMCAP variable is set when <em>screen</em> is
13090        invoked.</li>
13091      </ul>
13092    </li>
13093
13094    <li>add command-line options for enabling UTF-8 mode: -u8 and
13095    +u8. The more obvious -utf8 and +utf8 would conflict with
13096    xterm's -ut and +ut (utmp) options. The UTF-8 changes were
13097    requested by Markus Kuhn &lt;Markus.Kuhn@cl.cam.ac.uk&gt;. This
13098    patch does not complete UTF-8 implementation, but makes it
13099    usable, i.e., display and refresh work, and I am able to
13100    display the test cases which Markus provides. More work is
13101    needed to complete this feature:
13102      <ul>
13103        <li>the control sequences for switching in/out of UTF-8
13104        mode are partly implemented (don't use them). Similarly,
13105        the switching between vt100 and tek4014 emulations when
13106        UTF-8 mode is enabled will not work properly.
13107          <p>You must use the -u8 command line option to use this
13108          feature, as well as compile with the OPT_WIDE_CHARS
13109          definition.</p>
13110        </li>
13111
13112        <li>cut/paste only copies 8-bit characters.</li>
13113
13114        <li>logging is disabled in the wide-character
13115        configuration</li>
13116
13117        <li>printing only writes 8-bit characters.</li>
13118
13119        <li>input only does 8-bit characters. This is the area that
13120        I know least about.</li>
13121      </ul>
13122    </li>
13123  </ul>
13124
13125  <h1><a name="xterm_96" id="xterm_96">Patch #96 - 1999/4/19 -
13126  XFree86 3.9Pj</a></h1>
13127
13128  <ul>
13129    <li>modify Makefile.in to work with configure script's --srcdir
13130    option. (patch by Jeremy Buhler
13131    &lt;jbuhler@cs.washington.edu&gt;)</li>
13132
13133    <li>add checks for 'echo -n' equivalent for 8colors.sh and
13134    16colors.sh scripts (reported by Vikas Agnihotri).</li>
13135
13136    <li>improve logic that looks for bold fonts to allow for
13137    wildcards in the specification for normal fonts, and to ensure
13138    that if a bold font is specified as normal, that xterm will
13139    simulate a bold version of that using a one-pixel offset
13140    overstrike (reported by Henrik Harmsen
13141    &lt;harmsen@erv.ericsson.se&gt;).</li>
13142
13143    <li>correct horizontal spacing of double width line-drawing
13144    characters that xterm simulates.</li>
13145
13146    <li>improve support for Unix98 PTY's, using patch in Debian bug
13147    report #35650, by Topi Miettinen
13148    &lt;Topi.Miettinen@medialab.sonera.fi&gt;. Andreas Jaeger says
13149    this also corrects a permissions problem reported by
13150    cat@zip.net.au</li>
13151
13152    <li>modify initial-erase logic to ensure that
13153    <code>ttyModes</code> resource overrides it.</li>
13154  </ul>
13155
13156  <h1><a name="xterm_95" id="xterm_95">Patch #95 - 1999/4/5 -
13157  XFree86 3.9Ph</a></h1>
13158
13159  <ul>
13160    <li>modify primary DA response to allow a '1' parameter.</li>
13161
13162    <li>add printer and national replacement character sets to
13163    VT220 primary DA response.</li>
13164
13165    <li>document primary and secondary DA responses in
13166    ctlseqs.ms</li>
13167
13168    <li>use the patch number (e.g., 95) in the secondary DA
13169    response, providing user applications a means of determining
13170    the version of xterm for feature comparison (request by Bram
13171    Moolenaar).</li>
13172
13173    <li>make xterm respond to secondary DA when the decTerminalID
13174    is set for VT100.</li>
13175
13176    <li>limit user-defined keys (DECUDK) to VT220-style keyboard
13177    when sunKeyBoard resource is true.</li>
13178
13179    <li>modify ifdef's for Linux-2.2.x with Glibc-2.1 to work with
13180    Glibc-2.1 and no Unix98 PTY support (patch from Andreas Jaeger
13181    &lt;aj@arthur.rhein-neckar.de&gt;)</li>
13182
13183    <li>add optional feature (resource and command-line options) to
13184    make xterm use the PTY's sense of erase character on startup,
13185    rather than requiring it to be \177, or set the PTY's erase
13186    character to match xterm's configuration. Note that while
13187    $TERMCAP is modified to reflect the actual configuration, the
13188    terminfo kdch1 string is not (request by Dirk H Hohndel
13189    &lt;hohndel@suse.de&gt;)</li>
13190
13191    <li>improve scripts in vttests to work with newer shells that
13192    do not use 'echo -n'.</li>
13193
13194    <li>add fonts.sh example script</li>
13195
13196    <li>correct inequality in handling of "#1" font
13197    specification.</li>
13198
13199    <li>correct call to XGetWMNormalHints() used for computing
13200    maximum screen size; the size hints may not have been set.</li>
13201
13202    <li>begin implementation of support for wide-characters
13203    (configure option --enable-wide-chars defines OPT_WIDE_CHARS,
13204    invoke xterm with -wc option to activate this feature). This
13205    patch optionally widens internal data structures, invokes the
13206    16-bit text output rather than the 8-bit version and adds some
13207    tables.</li>
13208  </ul>
13209
13210  <h1><a name="xterm_94" id="xterm_94">Patch #94 - 1999/3/27 -
13211  XFree86 3.9Pf</a></h1>
13212
13213  <ul>
13214    <li>further fixes for terminfo: ka1, ka3, etc., differ between
13215    the default xterm-xfree86 and xterm-vt220 entries.</li>
13216
13217    <li>change default (with sunKeyboard resource false) behavior
13218    of the editing keypad "Delete" to send a 127, like xterm-r6.
13219    The VT220-style <code>&lt;ESC&gt;[3~</code> is sent when
13220    sunKeyboard is true (reported by Tomas Vanhala).</li>
13221
13222    <li>add parameters to function keys to indicate if shift,
13223    control or alt are set. The codes are based on a description of
13224    a DEC VT510 with a PC keyboard, from Jeffrey Altman
13225    &lt;jaltman@watsun.cc.columbia.edu&gt;.</li>
13226
13227    <li>add control sequence 1035, set-num-lock action and num-lock
13228    menu entry to control the use of the NumLock and Alt keys for
13229    the Sun/PC and VT220 keyboard extensions.</li>
13230
13231    <li>implement DECSET/DECRST numeric keypad (DECNKM) mode.</li>
13232
13233    <li>modify terminfo and termcap to use recommended "X Window"
13234    or "X11" names rather than "X Windows" (reported by Tomas
13235    Vanhala).</li>
13236
13237    <li>suppress translation of shifted keypad "+" when sunKeyboard
13238    is true.</li>
13239
13240    <li>workaround unexpected behavior (perhaps bug) in
13241    XmbLookupString, which returns trash in the string buffer for
13242    numlock and control-key combined with keypad-keys.</li>
13243
13244    <li>modify ScrollBarReverseVideo() to keep scrollbar border
13245    visible when reverse video is toggled.</li>
13246
13247    <li>correct missing case for parameter 17 (set highlight color)
13248    in dynamic colors control sequences.</li>
13249
13250    <li>extend dynamic colors control sequences to allow users to
13251    determine the colors and font which are currently active.</li>
13252
13253    <li>minor tweak to OSC responses, to use BEL if the application
13254    used that to end the request, rather than ST. This works better
13255    with shell scripts, which may not handle an
13256    <code>&lt;ESC&gt;backslash</code> very well.</li>
13257
13258    <li>separate menu settings for reverse video from that done
13259    under program control.</li>
13260
13261    <li>corrected ifdef's for menus, which did not allow tek4014 to
13262    be suppressed properly (reported by Clint Olsen).</li>
13263
13264    <li>changes for Linux-2.2.x with GLibc-2.1 and /dev/ptmx
13265    support (integrated patch from Pavel Roskin):
13266      <ul>
13267        <li>main.c and resize.c were using different rules to
13268        determine whether ATT should be defined (actually
13269        USE_USG_PTYS is more apt).</li>
13270
13271        <li>copy definitions from main.c to resize.c to prevent
13272        sys/stream.h and sys/ptem.h from inclusion when SYSV is not
13273        defined</li>
13274
13275        <li>define CNUL if not already defined like other
13276        variables.</li>
13277
13278        <li>/dev/tty does exist in Linux, but it doesn't mean, it
13279        should be used. Therefore EACCES is now an acceptable
13280        result.</li>
13281
13282        <li>ifdef'd several calls such as <code>ioctl (ptyfd,
13283        I_PUSH, "ptem")</code> to build on Linux (I_PUSH is not
13284        defined when sys/stropts.h is not included).</li>
13285      </ul>
13286    </li>
13287
13288    <li>initialize second "ltc" variable in main.c (reported by
13289    David Dawes).</li>
13290
13291    <li>provide definition for USE_USG_PTYS in screen.c</li>
13292
13293    <li>add resource-files to install rule in standalone
13294    Makefile.in</li>
13295
13296    <li>add sample scripts to illustrate titlebar controls,
13297    resizing and colors.</li>
13298  </ul>
13299
13300  <h1><a name="xterm_93" id="xterm_93">Patch #93 - 1999/3/14 -
13301  XFree86 3.9Pd</a></h1>
13302
13303  <p>Here are several fixes and minor enhancements. The chief ones
13304  are the fixes for NumLock mode and reverse video, since we had
13305  become used to working around the problems.</p>
13306
13307  <ul>
13308    <li>remove kfnd/kll/kslt strings from terminfo, because curses
13309    applications do not necessarily return khome/kend pairs
13310    (reported by Vikas Agnihotri).</li>
13311
13312    <li>implement NumLock resource which overrides the keyboard
13313    tables for the special case of keypad keys. This is a problem
13314    introduced in xterm by X11R6 changes, i.e., an ambiguity which
13315    in effect discarded vt100 keypad support.</li>
13316
13317    <li>modify Sun/PC keyboard mode to extend this (emulation of
13318    DEC vt100 keypad) to the remainder of the numeric keypad. Now,
13319    the default operating mode of xterm uses the keyboard tables
13320    as-is (except if the NumLock mode overrides), but provides good
13321    vt100 keypad compatibility if the Sun/PC keyboard menu item is
13322    checked.</li>
13323
13324    <li>separate command-line settings for reverse video from that
13325    done under program control. This is a problem which was
13326    introduced by X11R6. Though <em>correct</em>, most users are
13327    confused by allowing the reset command to undo the effect of
13328    the command-line <kbd>-rv</kbd> option.</li>
13329
13330    <li>add description of function keys, keypad and cursor keys to
13331    ctlseqs.ms</li>
13332
13333    <li>add terminfo entries for xterm-vt52, xterm-sun and
13334    xterm-hp</li>
13335
13336    <li>correct typo (missing case value) for DECSET 35,
13337    enable/disable shifted keypad action and a few compiler
13338    warnings (reported by Zdenek Sekera &lt;zs@sgi.com&gt;).</li>
13339
13340    <li>correct reporting of color values 8-15 in DECRQSS (reported
13341    by Vikas Agnihotri).</li>
13342
13343    <li>modify parsing of ttyModes resource to recognize "^-" as
13344    "undef" (requested by Tomas Vanhala).</li>
13345
13346    <li>integrate/extend changes to add iconify/maximize actions
13347    (from Edward S. Arthur &lt;eda@ultranet.com&gt;).</li>
13348
13349    <li>add control sequences for maximizing/restoring window, and
13350    for reporting maximum screen size.</li>
13351
13352    <li>add 'interpret' action, to support local function-key
13353    interpretation. Used properly, this makes most of the
13354    specialized actions of xterm redundant.</li>
13355
13356    <li>add control sequence private modes 1051, 1052 and 1052, for
13357    setting the Sun and HP function key modes, and for setting the
13358    Sun/PC keyboard mode.</li>
13359
13360    <li>add configure option --disable-maximize</li>
13361
13362    <li>add configure option --disable-num-lcok</li>
13363
13364    <li>extend descriptions of configure script options in
13365    INSTALL.</li>
13366  </ul>
13367
13368  <h1><a name="xterm_92" id="xterm_92">Patch #92 - 1999/2/5 -
13369  XFree86 3.9Nz</a></h1>
13370
13371  <ul>
13372    <li>increase buffer size for tgetent (i.e., termcap) to 1500.
13373    This fixes a problem where <em>screen</em> is built using
13374    ncurses or GNU termcap and <em>xterm</em> is built using the
13375    standard termcap interface. The former does not limit the
13376    termcap size, while the latter is assumed to be no longer than
13377    1023 characters. The <em>screen</em> program's termcap entry is
13378    about 1200 characters long.</li>
13379
13380    <li>change update_menu_item() to a function, to simplify
13381    debugging. This also reduces the executable by 4Kb.</li>
13382
13383    <li>add control sequences for DECSET 30, 1010, 1011 like rxvt
13384    (enable or disable some features that were only settable via
13385    resources or command line arguments).</li>
13386
13387    <li>add control sequence for DECSET 35, which enables/disables
13388    the shifted keypad functions.</li>
13389
13390    <li>add support for switching font sizes, by stepping through
13391    the font menu using shifted keypad plus and minus.</li>
13392
13393    <li>correct missing initialization of tekInhibit and tekSmall
13394    resources.</li>
13395
13396    <li>correct ifdef's in charproc.c for XtNgeometry and
13397    XtCGeometry (reported by Bram Moolenaar).</li>
13398  </ul>
13399
13400  <h1><a name="xterm_91" id="xterm_91">Patch #91 - 1999/1/21 -
13401  XFree86 3.9Nw</a></h1>
13402
13403  <ul>
13404    <li>Implement logic to translate input characters which are
13405    mapped when in vt220 National Replacement Character mode
13406    (requested by Tomas Vanhala).</li>
13407
13408    <li>Resync configure scripts with my patches to autoconf
13409    2.13</li>
13410
13411    <li>Change order of -lXmu and -lXext to accommodate cygwin32
13412    (reported by Vikas Agnihotri).</li>
13413
13414    <li>Add "-ti" option to set terminal emulation level from
13415    command line rather than via resource.</li>
13416
13417    <li>Simplify some of the preprocessor logic using #elif.</li>
13418  </ul>
13419
13420  <h1><a name="xterm_90" id="xterm_90">Patch #90 - 1998/12/13 -
13421  XFree86 3.9Nq</a></h1>
13422
13423  <p>This implements several small fixes and enhancements. The
13424  chief one implements fallback support for line drawing characters
13425  with fonts that do not include those characters. But I
13426  implemented that last.</p>
13427
13428  <ul>
13429    <li>If any of the glyphs in positions 0-31 (used by xterm to
13430    implement the VT100 alternate character set) are zero-sized
13431    (i.e., missing), xterm will reserve a normal space for the
13432    glyph when drawing. I implemented a simple stroke-drawing
13433    function to draw the line-drawing characters and a couple of
13434    the other (simpler) characters such as diamond. (This was
13435    suggested by Vikas Agnihotri).</li>
13436
13437    <li>Modify the computation of doublesize characters to work
13438    around font servers which shift the scaled characters up/down
13439    or do not give the correct width.</li>
13440
13441    <li>Add popup menu item and corresponding resource settings to
13442    disable the font-scaling logic for doublesize characters to
13443    work around (older) font servers which simply do not draw the
13444    fonts scaled to the size that they said they would. I see this
13445    problem on a SunOS system running X11R5; the X11R6 servers seem
13446    well behaved.</li>
13447
13448    <li>Implement new escape sequence, private mode 1049, which
13449    combines the switch to/from alternate screen mode with screen
13450    clearing and cursor save/restore. Unlike the existing escape
13451    sequence, this clears the alternate screen when switching to it
13452    rather than when switching to the normal screen, thus retaining
13453    the alternate screen contents for select/paste operations.
13454      <p>When I implemented the popup menu entry to toggle between
13455      the normal and alternate screens, I considered only pasting
13456      from the normal screen to the alternate; this improvement
13457      allows either direction.</p>
13458    </li>
13459
13460    <li>Changed the termcap and terminfo for xterm-xfree86 and
13461    xterm-8bit to use the new 1049 private mode.</li>
13462
13463    <li>Modify the logic which switches between normal and
13464    alternate screens so that the save/restore cursor operations
13465    apply only to the current screen. That means that applications
13466    which use the terminfo smcur/rmcur or termcap ti/te
13467    capabilities will restore the cursor to the original position
13468    on the normal screen rather than to the most recent place where
13469    a save-cursor operation was performed.
13470      <p>I note that a real VT100 terminal would not behave in this
13471      way, but it is a moot point since the VT100 does not
13472      implement alternate screen, and therefore the save/restore
13473      cursor sequence would not be used in this context. I reviewed
13474      the logic which switches between normal and alternate screens
13475      based on some recent newsgroup postings as well as a proposed
13476      patch in the Debian group which attempts to do this (the
13477      patch has a bug, however, so I did not use it).</p>
13478    </li>
13479
13480    <li>Add popup menu entry for toggling the titeInhibit
13481    resource.</li>
13482
13483    <li>Add new resource answerbackString, which overrides the
13484    default "xterm" returned by xterm when responding to an ENQ
13485    (control/E) character (request by Rajesh Vaidheeswarran
13486    &lt;rv@fore.com&gt;).</li>
13487
13488    <li>Add new resource keyboardDialect for setting the NRC
13489    display character set (request by Tomas Vanhala, who notes that
13490    I should add logic to translate the keyboard as well).</li>
13491
13492    <li>Add new command-line option and corresponding resources for
13493    making xterm generate escape sequences compatible with HP
13494    terminals. Like the existing Sun escape sequences, this is
13495    available as a popup menu item. It is enabled by the configure
13496    script with the option --enable-hp-fkeys (requested by Toni
13497    Mueller &lt;sales@oeko.net&gt;).</li>
13498
13499    <li>Add configure script option --disable-boxchars to disable
13500    the fallback support for line drawing characters.</li>
13501
13502    <li>Fix ifdef's for configure script --disable-ansi-color, and
13503    reviewed all configure options to ensure that all can be
13504    enabled/disabled appropriately.</li>
13505
13506    <li>Update config.guess and config.sub, from Lynx.</li>
13507  </ul>
13508
13509  <h1><a name="xterm_89" id="xterm_89">Patch #89 - 1998/11/20 -
13510  XFree86 3.9Nm</a></h1>
13511
13512  <p>This patch completes the implementation of double-sized
13513  character support for the VT100 emulation, and fixes a few minor
13514  bugs:</p>
13515
13516  <ul>
13517    <li>corrected the cursor position in HideCursor, which did not
13518    multiply the column by two when in doublesize mode. This bug,
13519    which did not appear in normal use, dates back to my original
13520    <a href="#xterm_44">changes</a> to partly implement
13521    double-sized characters. I noticed it when cat'ing a typescript
13522    from vttest's double-sized character test.</li>
13523
13524    <li>ensure that the current line is repainted when switching
13525    between single and double width characters.</li>
13526
13527    <li>reduce the number of bits used for double-sized character
13528    coding from 3 to 2, to make more room for soft-font codes.</li>
13529
13530    <li>copy newer ifdef's from the XFree86 3.3.3 release's main.c,
13531    which address details of glibc and powerpc.</li>
13532
13533    <li>moved definition of DECL_ERRNO in xterm.h to match XFree86
13534    3.3.3</li>
13535
13536    <li>modify <em>resize</em> to remove the ifdef on SVr4 that
13537    suppressed printing the script for $LINES and $COLUMNS.
13538    Solaris' resize utility does this; suppressing the behavior is
13539    unnecessary.</li>
13540  </ul>
13541
13542  <p>I tested the double-sized characters using vttest and the
13543  xfsft patch. These fonts worked reasonably well:</p>
13544
13545  <pre>
13546        -bitstream-courier-medium-r-normal--0-0-0-0-m-0-iso8859-1
13547        9x15
13548</pre>
13549  <p>The iso8859 font does not include box characters, of course,
13550  but looks good.</p>
13551
13552  <h1><a name="xterm_88" id="xterm_88">Patch #88 - 1998/10/31 -
13553  XFree86 3.9Nk and 3.3.2h</a></h1>
13554
13555  <p>This refines my #85 patch by checking for a case where the
13556  font server returns a bold font that does not quite correspond to
13557  the normal font. When I asked for a bold version of the 6x12
13558  font, the font server returned a near equivalent where the ascent
13559  and descent values did not match, causing xterm to leave lines
13560  across the display. This patch makes xterm reject that type of
13561  mismatch, falling back to the old font behavior.</p>
13562
13563  <h1><a name="xterm_87" id="xterm_87">Patch #87 - 1998/10/21 -
13564  XFree86 3.9Nj and 3.3.2f</a></h1>
13565
13566  <p>This corrects a problem reported by Stefan Dalibor. My table
13567  entries for the <em>printerExtent</em> and
13568  <em>printerFormFeed</em> resources used the wrong types for
13569  sizeof, causing the printer to not work properly on some
13570  platforms because the <em>printAttributes</em> resource was
13571  overwritten (e.g., Digital Unix with DEC Alpha).</p>
13572
13573  <p>I reviewed all of the resource table entries and fixed a
13574  potential problem with <em>resizeGravity</em>, which was typed as
13575  <em>int</em> rather than <em>XtGravity</em>.</p>
13576
13577  <h1><a name="xterm_86" id="xterm_86">Patch #86 - 1998/10/14 -
13578  XFree86 3.9Nj and 3.3.2e</a></h1>
13579
13580  <p>A small fix: when switching to/from the continuous mouse
13581  reporting mode, the event mask was incorrect if xterm was built
13582  under X11R5 because the original data was saved under an ifdef
13583  for active-icon.</p>
13584
13585  <h1><a name="xterm_85" id="xterm_85">Patch #85 - 1998/10/12 -
13586  XFree86 3.9Nj and 3.3.2e</a></h1>
13587
13588  <p>Some cleanup (I noticed the pixel droppings a few months ago
13589  after getting a new 17" monitor):</p>
13590
13591  <ul>
13592    <li>split-out the functions that load/reload fonts for xterm as
13593    new file fontutils.c to extend them to support automatic
13594    loading of bold font corresponding to the normal font. Adapted
13595    logic from EMU 1.3 for this purpose. This fixes most
13596    occurrences of pixel droppings from bold characters.</li>
13597
13598    <li>modified by renaming variables and adding casts to permit
13599    compile with g++.</li>
13600
13601    <li>modify headers so they can all be compiled without order
13602    dependencies, and use bracketed rather than quoting includes to
13603    allow compile from separate directory.</li>
13604
13605    <li>renamed xtermm terminfo entry to xterm-mono, to avoid
13606    conflict with Solaris entry now in ncurses.</li>
13607  </ul>
13608
13609  <h1><a name="xterm_84" id="xterm_84">Patch #84 - 1998/10/9 -
13610  XFree86 3.9Ni and 3.3.2e</a></h1>
13611
13612  <p>Several small fixes and enhancements, including a patch from
13613  Bjorn Helgaas:</p>
13614
13615  <ul>
13616    <li>correct initialization of TERMCAP environment variable,
13617    which was frequently set to garbage on non-Linux systems
13618    because "termcap" and "newtc" contained random data from the
13619    stack.</li>
13620
13621    <li>remove the LINEWRAPPED attribute from lines as they are
13622    cleared. Previously, the attribute was set but never
13623    cleared.</li>
13624
13625    <li>make word and line selections work even when lines are
13626    wrapped by xterm. Previously, selections were limited to one
13627    screen line.</li>
13628  </ul>
13629
13630  <p>as well as</p>
13631
13632  <ul>
13633    <li>modify logic for line-wrapping to reset the associated flag
13634    if the application deletes a character. This fixes a problem
13635    reported by Bjorn Helgaas where word/line selection would still
13636    wrap even after deleting characters from the first line.</li>
13637
13638    <li>add kll/kH capabilities to xterm-xfree86 entries in termcap
13639    and terminfo (request by Michael Schroeder).</li>
13640
13641    <li>shorten descriptions in termcap to make resolved entries
13642    all shorter than 1023 character limit.</li>
13643
13644    <li>use DECSTR control sequence to shorten initialization and
13645    reset strings in xterm-xfree86 termcap and terminfo.</li>
13646
13647    <li>use rmul/smul and rmir/smir in xterm-r5 terminfo to match
13648    termcap.</li>
13649
13650    <li>correct typos in initialization and reset strings in
13651    xterm-r5 termcap and terminfo.</li>
13652
13653    <li>disable special translations of key symbols (the backarrow
13654    key, the editing keypad and the keypad "+") when a modifier
13655    other than shift, control or numlock is used. This makes xterm
13656    handle the meta key as expected by people using emacs (reported
13657    by Pete Harlan &lt;harlan@pointofchoice.com&gt; in
13658    linux.debian.user newsgroup).</li>
13659  </ul>
13660
13661  <h1><a name="sync_83" id="sync_83">Resync #83 - 1998/10/7 -
13662  XFree86 3.3.2e</a></h1>
13663
13664  <p>Merge changes through patch #83 with the 3.3.2e version.</p>
13665
13666  <p>This follows a change from XFree86 CVS which adds checks for
13667  non-null return from malloc (patch by Matthieu Herrb).</p>
13668
13669  <h1><a name="xterm_83" id="xterm_83">Patch #83 - 1998/8/25 -
13670  XFree86 3.9Nb</a></h1>
13671
13672  <p>Several small fixes and enhancements:</p>
13673
13674  <ul>
13675    <li>add configure test to infer if xterm should be installed
13676    setuid based on previously installed xterm (reported by Stephen
13677    Marley and Stefan Dalibor).</li>
13678
13679    <li>implement quasi-continuous mouse reporting (integrated
13680    patch by Jason Bacon).</li>
13681
13682    <li>correct control sequences transmitted by function keys F1
13683    to F4 when sunFunctionKeys resource is true (it was still using
13684    the VT100 control sequences).</li>
13685
13686    <li>modify handling of backarrow key so that the control
13687    modifier toggles the backspace/delete interpretation set by the
13688    backarrowKey resource.</li>
13689
13690    <li>limit the row and column values used to report mouse
13691    position.</li>
13692  </ul>
13693
13694  <p>From resync with XFree86 3.9Nb:</p>
13695
13696  <ul>
13697    <li>add support for the VSTATUS control character (patch by
13698    Robert Earl &lt;rearl@teleport.com&gt;).</li>
13699  </ul>
13700
13701  <h1><a name="xterm_82" id="xterm_82">Patch #82 - 1998/7/15 -
13702  XFree86 3.9Aj</a></h1>
13703
13704  <p>Bug fix for patch #81:</p>
13705
13706  <ul>
13707    <li>remove an #undef for NBBY, which caused compile problem on
13708    FreeBSD (reported by David Dawes).</li>
13709  </ul>
13710
13711  <h1><a name="xterm_81" id="xterm_81">Patch #81 - 1998/7/14 -
13712  XFree86 3.9Aj</a></h1>
13713
13714  <p>More bug fixes:</p>
13715
13716  <ul>
13717    <li>fix conflicting ifdef's for TIOCSLTC when building with
13718    Linux on AXP aka DEC Alpha (reported by Robin Cutshaw).</li>
13719
13720    <li>correction to patch #79, move assignment for
13721    *utptr-&gt;ut_user = 0; back into non-SVR4 ifdef in main.c,
13722    since this clobbers username on Solaris 2.5.1 (analysis by Will
13723    Day &lt;willday@rom.oit.gatech.edu&gt;).</li>
13724
13725    <li>corrected khome/kend in xterm-8bit terminfo
13726    description.</li>
13727
13728    <li>improve cursor color by making it always the reverse of
13729    fg/bg unless the cursorColor resource is set, i.e., to
13730    something other than the default foreground (reported by Vikas
13731    Agnihotri and Bram Moolenaar).</li>
13732
13733    <li>minor fixes for compiler warnings, including a syntax error
13734    in the AMOEBA ifdef's.</li>
13735  </ul>
13736
13737  <p>From resync with XFree86 3.9Aj:</p>
13738
13739  <ul>
13740    <li>correction to patch #73, supply missing #else for fallback
13741    definitions of size_t, time_t (Robin Cutshaw
13742    &lt;robin@intercore.com&gt;).</li>
13743  </ul>
13744
13745  <h1><a name="xterm_80" id="xterm_80">Patch #80 - 1998/6/29 -
13746  XFree86 3.9Ai</a></h1>
13747
13748  <p>This fixes a couple of items leftover or introduced by patch
13749  79:</p>
13750
13751  <ul>
13752    <li>take out the logic that suppresses editing-keypad in vt100
13753    mode (those keys are too valuable to give up for a fine point
13754    of emulation).</li>
13755
13756    <li>corrected a couple of places in terminfo where I missed
13757    using the vt220-style editing-keypad codes for Find/Select
13758    (mapped to Home/End).</li>
13759
13760    <li>checked termcap file against terminfo, fix several places
13761    where it was inconsistent.</li>
13762  </ul>
13763
13764  <h1><a name="xterm_79" id="xterm_79">Patch #79 - 1998/6/28 -
13765  XFree86 3.9Ai</a></h1>
13766
13767  <p>This patch fixes several small bugs:</p>
13768
13769  <ul>
13770    <li>use X_EXTRA_LIBS in standalone Makefile.in (patch by Tomas
13771    Vanhala).</li>
13772
13773    <li>add new resource 'oldXtermFKeys' which provides backward
13774    compatibility for F1-F4 control sequences with TOG's
13775    xterm.</li>
13776
13777    <li>determine the server's default foreground/background Pixel
13778    values, needed if the -flipPixels X server option is used
13779    (reported by David Dawes).</li>
13780
13781    <li>correct logic for F1-F4 function keys so that they generate
13782    VT100 compatible escape sequences in VT220 mode, since that is
13783    what the numeric keypad is supposed to do (reported by Ron
13784    Johnson, Jr. &lt;ronjohn@communique.net&gt;).</li>
13785
13786    <li>modify logic for editing keypad to work more like VT220:
13787    don't pass those codes in VT100-mode unless oldXtermFKeys mode
13788    is set.</li>
13789
13790    <li>correct an interaction with the editing-keypad logic that
13791    prevented backarrow key from sending a 127 for the delete key
13792    (the 'remove' escape sequence was being sent instead).</li>
13793
13794    <li>use return-value from getuid() rather than the parameter,
13795    to work on systems which do not update the latter (patch by
13796    Kevin Buhr &lt;buhr@mozart.stat.wisc.edu&gt;)</li>
13797
13798    <li>correct scrollbar border color when toggling to/from secure
13799    keyboard mode (patch by Jeff Uphoff
13800    &lt;juphoff@tarsier.cv.nrao.edu&gt;)</li>
13801
13802    <li>modifications to terminfo file:
13803      <ul>
13804        <li>rename description to xterm-xfree86, adding an entry
13805        'xterm' which is derived from xterm-xfree86 to simplify
13806        customization.</li>
13807
13808        <li>change string for kdch1 from \177 to \E[3~, to address
13809        complaints from Debian developers. (This applies to the key
13810        labeled "Delete", and does not affect the backarrow
13811        key).</li>
13812
13813        <li>add user-strings u6, u7, u8, u9 to entries to make them
13814        work with Daniel Weaver's "tack" program.</li>
13815
13816        <li>modify xterm-24, xterm-bold, xterm-boldso entries to
13817        disentangle them from explicit dependency upon
13818        xterm-xfree86.</li>
13819
13820        <li>add generic 'xterm-color' entry.</li>
13821
13822        <li>minor corrections to xterm-xfree86, xterm-8bit,
13823        xterm-r5 and xterm-r6 entries.</li>
13824      </ul>
13825    </li>
13826  </ul>
13827
13828  <h1><a name="xterm_78" id="xterm_78">Patch #78 - 1998/6/3 -
13829  XFree86 3.9Ah and 3.3.2</a></h1>
13830
13831  <p>Again, most of the bulk of this patch is for ANSI conversion.
13832  I used the IRIX compiler's -wlint option to find the remaining
13833  functions that use K&amp;R syntax (since gcc does not do this
13834  properly). Also, I changed the logic in the print code slightly
13835  to close unwanted files before opening a pipe to the printer.
13836  This may help in some configurations where the line printer hangs
13837  until xterm closes the pipe.</p>
13838
13839  <h1><a name="xterm_77" id="xterm_77">Patch #77 - 1998/5/26 -
13840  XFree86 3.9Ah and 3.3.2</a></h1>
13841
13842  <p>Most of the bulk of this patch is to convert the extended C
13843  (K&amp;R functions with prototypes) to ANSI. I verified that on
13844  Linux by comparing object files, to ensure that I did not, for
13845  example, interchange parameters in the function declarations.</p>
13846
13847  <p>The rest of the patch fixes several minor bugs, and adds a few
13848  features:</p>
13849
13850  <ul>
13851    <li>back-out my use of ncurses "captoinfo -f" option
13852    (if/then/else/endif) formatting, since ncurses did not
13853    correctly filter embedded newlines in terminfo capability
13854    strings until _after_ ncurses 4.1, thus corrupting
13855    setf/setb/sgr strings (reported by Darren Hiebert and
13856    others).</li>
13857
13858    <li>document SGR 8, 28 (invisible/visible), add corresponding
13859    capabilities to terminfo description.
13860      <p>I would also add the 'prot protected capability, but the
13861      control sequences for that would not be recognized or
13862      properly ignored by the older xterm programs.</p>
13863    </li>
13864
13865    <li>modify ChangeGroup to not suppress a null-resource, but
13866    treat it as an empty string (recommended by Stefan
13867    Dalibor).</li>
13868
13869    <li>add printerAutoClose resource to control whether printer is
13870    closed when going offline. More than one person reports
13871    problems (on Solaris 2.6 and Digital Unix 4.0) getting the
13872    printer to proceed unless xterm exits; I think that it is a
13873    problem flushing the pipe. Closing it ought to flush it.</li>
13874
13875    <li>adapt TOG fix-3 to in HandleKeymapChange and VTInitI18N
13876    (but adapt XtStackAlloc/XtStackFree for clarity, as well as
13877    fixing memory leak).</li>
13878
13879    <li>change calls on FillCurBackground to ClearCurBackground, in
13880    effect using XClearArea rather than XFillRectangle when
13881    clearing as a side-effect of scrolling and insertion (patch by
13882    Alexander V Lukyanov)</li>
13883
13884    <li>correct some places where insert/delete did not _move_ the
13885    color attributes, using memmove (patch by Alexander V Lukyanov
13886    &lt;lav@long.yar.ru&gt;)</li>
13887
13888    <li>add ifdef's for __CYGWIN32__, for port to cygnus version
13889    B19.1 (patch by Andrew Sumner
13890    &lt;andrew_sumner@hotmail.com&gt;).</li>
13891
13892    <li>remove #define for hpux that turned on USE_SYSV_ENVVARS,
13893    since this causes some applications (such as 'less') to get
13894    incorrect $LINES and $COLUMNS values (reported by Clint
13895    Olsen).</li>
13896
13897    <li>modify behavior for HP-UX, to set the "reserved" process
13898    group controls to _POSIX_VDISABLE so the TIOCSLTC ioctl does
13899    not produce an error (patch by Ben Yoshino
13900    &lt;ben@wiliki.eng.hawaii.edu&gt;).</li>
13901
13902    <li>correct length of underlining, reducing it by one pixel to
13903    avoid leaving a dot when the application does not clear the
13904    whole screen I noticed this only recently myself (and other
13905    people as well); it depends on the font chosen. A 6x10 font
13906    shows it, but the other fonts from XTerm.ad do not. I also see
13907    a similar problem with the emulation of bold fonts. (patch by
13908    Sergei Laskavy &lt;Laskavy@cs.msu.su&gt;).</li>
13909
13910    <li>add include for Xos.h to xterm.h, to ensure proper
13911    definitions (reported by Holger Veit).</li>
13912
13913    <li>update config.guess to recognize Unixware 2.1 and 7 (patch
13914    by Mike Hopkirk &lt;hops@sco.com&gt;).</li>
13915  </ul>
13916
13917  <h1><a name="xterm_76" id="xterm_76">Patch #76 - 1998/5/8 -
13918  XFree86 3.9Ah and 3.3.2</a></h1>
13919
13920  <p>A fix for the print-window function, and some minor
13921  cleanup:</p>
13922
13923  <ul>
13924    <li>modify logic that closes pipe in the print-window function
13925    to not use pclose, which does not work on all systems, since I
13926    did not open the pipe with popen (reported by Stefan
13927    Dalibor).</li>
13928
13929    <li>correct name of $(EXTRA_LOAD_FLAGS) imake variable
13930    (reported by Stefan Dalibor).</li>
13931
13932    <li>guard logic in ChangeGroup() function against null pointer
13933    (reported by Stefan Dalibor).</li>
13934
13935    <li>ensure that menu entry for toggling sunKeyboard resource is
13936    initialized (reported by Branden Robinson
13937    &lt;branden@purdue.edu&gt;).</li>
13938
13939    <li>gcc unused-variable warnings (reported by Bernd Ernesti
13940    &lt;bernd@arresum.inka.de&gt;)</li>
13941
13942    <li>rename global variable 'buffer' to 'VTbuffer'</li>
13943  </ul>
13944
13945  <h1><a name="xterm_75" id="xterm_75">Patch #75 - 1998/5/7 -
13946  XFree86 3.9Ah and 3.3.2</a></h1>
13947
13948  <p>This incorporates fixes from several people, as well as some
13949  improvements that I made based on feedback from users:</p>
13950
13951  <ul>
13952    <li>add option to standalone configure script,
13953    "--with-own-terminfo-dir", which causes xterm to pass a
13954    predefined value of $TERMINFO to the application. Also use this
13955    value in install rule "make install-ti", for the standalone
13956    configure script. (patch &amp; feedback from Tor Lillqvist
13957    &lt;tml@hemuli.tte.vtt.fi&gt;)</li>
13958
13959    <li>change ifdef's for "hpux" to "__hpux" (patch by Tor
13960    Lillqvist). The imake configuration uses the former, but the
13961    latter is predefined by HP's compilers.</li>
13962
13963    <li>define USE_SYSV_ENVVARS for HP-UX, curses does not use
13964    $TERMCAP (patch by Tor Lillqvist).</li>
13965
13966    <li>on HP-UX, use the /dev/ptym/clone device to allocate PTY's.
13967    Works both on HP-UX 9 and 10. (patch by Tor Lillqvist).</li>
13968
13969    <li>modify configure script to obtain the $(EXTRA_LOADFLAGS)
13970    value from imake, needed for compiling under DEC OSF/1
13971    (reported by Stefan Dalibor)</li>
13972
13973    <li>modify print-window action so that the printer is closed
13974    after printing a window, unless the printer was already opened
13975    (i.e., by an application running in the window). This makes the
13976    printing complete without having to exit xterm, since not all
13977    systems treat fflush through a pipe very well (reported by
13978    Stefan Dalibor)</li>
13979
13980    <li>modify printing code so that the ^M's are not printed if
13981    the printAttribute resource is set to zero (request by Stefan
13982    Dalibor).</li>
13983
13984    <li>correct typo in xterm.man, for the default value of
13985    printAttribute (reported by Stefan Dalibor).</li>
13986
13987    <li>correct printing code so that the alternate character set
13988    is printed, like other attributes, with escape sequences.</li>
13989
13990    <li>correct termcap description, removing spurious 'm'
13991    character from the 'op' capability (reported by Greg Woods
13992    &lt;woods@weird.com&gt;).</li>
13993
13994    <li>correct trace code so that the initial timestamp is
13995    set.</li>
13996
13997    <li>correct/modify utmp data for the Linux glibc 2
13998    configuration, so that the ut_line member is set before using
13999    it to update wtmp (patch by Bill Nottingham
14000    &lt;wen1@cec.wustl.edu&gt;).</li>
14001  </ul>
14002
14003  <h1><a name="xterm_74" id="xterm_74">Patch #74 - 1998/4/27 -
14004  XFree86 3.9Ag and 3.3.2</a></h1>
14005
14006  <p>This corrects a couple of recent bugs and adds a new
14007  resource:</p>
14008
14009  <ul>
14010    <li>modify definition of TRACE_CHILD so that it does not
14011    conflict with ifdef's for USE_USG_PTYS in main.c (reported by
14012    Vikas Agnihotri &lt;VikasA@att.com&gt; and Stefan
14013    Dalibor).</li>
14014
14015    <li>correct ownership of file (actually pipe) written by the
14016    print controls. When undoing the setuid changes in patch #69, I
14017    overlooked this. Now xterm forks a process which resets setuid
14018    and routes the printer data as the real user.</li>
14019
14020    <li>add a new resource, "printAttributes", which controls
14021    whether color attributes (or any attributes) are sent to the
14022    printer.</li>
14023  </ul>
14024
14025  <h1><a name="xterm_73" id="xterm_73">Patch #73 - 1998/4/25 -
14026  XFree86 3.9Ag and 3.3.2</a></h1>
14027
14028  <p>This patch does the following:</p>
14029
14030  <ul>
14031    <li>implements a print-window facility for xterm. Though useful
14032    in itself, I added it as part of some debugging which I am
14033    doing. (Occasionally during an exposure event xterm fails to
14034    restore the proper colors for highlighted text, and printing
14035    the screen will show the internal states nicely).
14036      <p>The print facility now also displays the color
14037      information. (I will probably make this a resource).</p>
14038    </li>
14039
14040    <li>modified the xterm-16color terminfo description to use the
14041    setaf and setab strings, which is a little more efficient
14042    (requested by Stephen Marley).</li>
14043
14044    <li>reduced some clutter of the ifdef/includes (e.g., stdlib.h,
14045    unistd.h, errno) making the configure script test for these.
14046      <p>I removed the symbols Size_t and Time_t, since they no
14047      longer serve a useful purpose.</p>
14048    </li>
14049
14050    <li>added some debugging traces to show the initial screen
14051    size, and the success/failure of the ioctl calls pass handle
14052    window resizing events to the application (for Clint Olsen).
14053      <p>I also modified the trace code to produce two files since
14054      some of the information is produced by the child process. So
14055      now they are Trace-parent.out and Trace-child.out</p>
14056    </li>
14057
14058    <li>updated configure test for ANSI compiler options to handle
14059    a special case for HP-UX 10.x (reported by Clint Olsen).</li>
14060  </ul>
14061
14062  <h1><a name="xterm_72" id="xterm_72">Patch #72 - 1998/4/17 -
14063  XFree86 3.9Ag and 3.3.2</a></h1>
14064
14065  <p>This is a patch from Chris Siebenmann
14066  &lt;cks@hawkwind.utcs.toronto.edu&gt;, which I have cleaned up a
14067  little, and integrated into the configure script.</p>
14068
14069  <p>From his description:</p>
14070
14071  <blockquote>
14072    <p>This set of patches is the latest incarnation of patches
14073    originally written by Ian! D Allen, then of the University of
14074    Waterloo and now of who knows where; I have been carrying them
14075    forward from xterm to xterm ever since about X11R4. What they
14076    do is add an option so that when an iconified xterm receives
14077    output it prepends '*** ' to its icon title and (optionally)
14078    beeps the bell; deiconifying the xterm removes the '*** '. Over
14079    the years I've found this to be incredibly convenient for
14080    monitoring all sorts of low-activity things.</p>
14081  </blockquote>
14082
14083  <h1><a name="xterm_71" id="xterm_71">Patch #71 - 1998/4/12 -
14084  XFree86 3.9Ag and 3.3.2</a></h1>
14085
14086  <p>This patch is a slightly modified version of one by Richard
14087  Braakman, which prevents buffer overflow in the input-method and
14088  preedit-type parsing in xterm. I changed a couple of details to
14089  make the code more maintainable, and looked for similar things -
14090  copying into a fixed-size buffer (found none, though I did spot
14091  an unused variable).</p>
14092
14093  <h1><a name="xterm_70" id="xterm_70">Patch #70 - 1998/3/29 -
14094  XFree86 3.9Af and 3.3.2</a></h1>
14095
14096  <p>This patch corrects some minor bugs in xterm, and fills in
14097  some more details in the VT220 emulation:</p>
14098
14099  <ul>
14100    <li>modify Imakefile to use SpecialCObjectRule for menu and
14101    data modules, making xterm build properly if logging is enabled
14102    (patch by Scott Sewall &lt;scott@iprg.nokia.com&gt;).</li>
14103
14104    <li>restore "ich" capability to terminfo entries, since Michael
14105    Schroeder points out that "ich1" is the one which is the
14106    problem in Solaris vi.</li>
14107
14108    <li>correct color of cursor, which would disappear on
14109    inverse-video since the initialization did not compare the
14110    cursor color against both foreground and background (reported
14111    by Olivier Calle).</li>
14112
14113    <li>correct abbreviation-test for -version and -help options,
14114    making command-line option -vb work (reported by Stefan
14115    Dalibor).</li>
14116
14117    <li>correct a dependency between ifdef's for OPT_I18N_SUPPORT
14118    and OPT_INPUT_METHOD (reported by Stefan Dalibor).</li>
14119
14120    <li>split-out character-set translations as new module
14121    charsets.c, to implement VT220 national replacement character
14122    sets (a mode where some of the characters are displayed as
14123    specific European glyphs). This relies on xterm using an ISO
14124    8859-1 font (approach suggested by Kenneth R. Robinette
14125    &lt;zkrr01@mailbox.neosoft.com&gt;).</li>
14126
14127    <li>correct a missing increment, which made SS2 and SS3
14128    controls repeat the shifted character.</li>
14129
14130    <li>add xterm-nrc to terminfo to illustrate the VT220 national
14131    replacement character sets.</li>
14132
14133    <li>reformat terminfo using new ncurses tic option "-f", which
14134    makes if/then/else/endif expressions easier to read.</li>
14135  </ul>
14136
14137  <h1><a name="xterm_69" id="xterm_69">Patch #69 - 1998/3/16 -
14138  XFree86 3.9Ad and 3.3.2</a></h1>
14139
14140  <p>This corrects the problem in xterm with utmp, reported by
14141  Olivier Calle &lt;olivier@tc.fluke.com&gt; as well as some other
14142  people after the XFree86 3.3.2 release.</p>
14143
14144  <p>The error was introduced by my patch #53 in XFree86 3.9r
14145  (October 1997).</p>
14146
14147  <p>The correction removes the reset of setuid/setgid before the
14148  main event loop, and solves the problem which I had worked around
14149  in a different manner: for some reason, the particular waitpid()
14150  call in creat_as() hangs, does not return when the child process
14151  exits. I changed the ifdef's to force the Linux configuration to
14152  use wait() instead. This call appears to work properly on other
14153  platforms such as SunOS and Solaris.</p>
14154
14155  <p>I also added tests in the standalone configure script to check
14156  for the existence of waitpid().</p>
14157
14158  <h1><a name="xterm_68" id="xterm_68">Patch #68 - 1998/3/4 -
14159  XFree86 3.9Ad and 3.3.1z</a></h1>
14160
14161  <p>This corrects another problem with the logic for
14162  highlightColor resource. As reported by David Dawes:</p>
14163
14164  <blockquote>
14165    <p>I've just noticed a problem with with the "inverse" control
14166    sequence (ESC[7m) with the 3.3.2 xterm. What it does is sets
14167    the background black, and the text the usual foreground colour
14168    rather than simply swapping the foreground/background.</p>
14169  </blockquote>
14170
14171  <p>This appears to be because when I added logic to check that
14172  the highlightColor was distinct from foreground and background
14173  colors, I did not add a further check to see that it was not
14174  black (I would make an explicit check for the resource not being
14175  set, but see nothing definite in the headers that would let me
14176  reference an explicitly-undefined Pixel value, though there are
14177  some implications in xpm.h). But this should work.</p>
14178
14179  <h1><a name="xterm_67" id="xterm_67">Patch #67 - 1998/2/23 -
14180  XFree86 3.9Ad and 3.3.1e</a></h1>
14181
14182  <p>This patch does the following:</p>
14183
14184  <ul>
14185    <li>improve test for highlightColor so that xterm does not
14186    attempt to use that unless it is different from the foreground
14187    and background colors (reported by Stefan Dalibor
14188    &lt;Stefan.Dalibor@informatik.uni-erlangen.de&gt;.
14189      <p>I could not reproduce this until I noticed that the -rev
14190      option exposed it nicely.</p>
14191    </li>
14192
14193    <li>remove ich and ich1 from xterm and xterm-8bit terminfo
14194    descriptions. SVr4 terminfo documents that you must not combine
14195    these with smir/rmir, but ncurses allows it, opening a hole.
14196    Solaris 2.6 vi does not work properly if it is using a terminfo
14197    description when these are combined, since it was written to
14198    accommodate old terminals that required it (reported by Stephen
14199    Marley).</li>
14200
14201    <li>restore 1-pixel overlap of scrollbar border with left edge
14202    of window (reported by Jim Burmeister
14203    &lt;jimb@metrolink.com&gt;).</li>
14204
14205    <li>add a configure option, --enable-logfile-exec, which allows
14206    the user to specify a pipe for logfile. This defines
14207    ALLOWLOGFILEEXEC.</li>
14208
14209    <li>makes the ALLOWLOGFILEEXEC code compile &amp; run, if
14210    configured.</li>
14211
14212    <li>minor documentation nits.</li>
14213  </ul>
14214
14215  <h1><a name="xterm_66" id="xterm_66">Patch #66 - 1998/2/16 -
14216  XFree86 3.9Ad and 3.3.1d</a></h1>
14217
14218  <p>This fixes the problem reported with failure to build the
14219  <em>resize</em> program (BSDI, OSF/1) due to not having
14220  &lt;termcap.h&gt;, by changing the ifdef to one that would be set
14221  only if the file exists (not currently specified, except by the
14222  standalone configure script). We do not really need to include
14223  &lt;termcap.h&gt; to build, but only for a clean compile, since
14224  it may declare the tgetent() prototype. I also updated the
14225  man-page for <em>resize</em>, since I had recently noticed that
14226  it can be used to resize <em>xterm</em> using the "Sun" control
14227  sequences option.</p>
14228
14229  <h1><a name="xterm_65" id="xterm_65">Patch #65 - 1998/2/14 -
14230  XFree86 3.9Ad and 3.3.1c</a></h1>
14231
14232  <p>This is a small patch to xterm's 8-bit terminal description. I
14233  noticed while testing ncurses that I had specified the wrong
14234  (VT100-style) codes for the F1-F4. Xterm only uses VT220-style
14235  function keys in 8-bit mode.</p>
14236
14237  <h1><a name="xterm_64" id="xterm_64">Patch #64 - 1998/2/8 -
14238  XFree86 3.9Ad</a></h1>
14239
14240  <p>This fixes the following problems with xterm:</p>
14241
14242  <ul>
14243    <li>save/restore the ANSI foreground and background colors with
14244    the other visible attributes in the save-cursor and
14245    restore-cursor operations. This works around a problem with
14246    vim, which apparently assumed that switching between the normal
14247    and alternate screens resets the colors (reported by Jim Battle
14248    &lt;jb@chromatic.com&gt;).
14249      <p>It would be nice to implement save/restore cursor as a
14250      stack (and solve this type of problem completely), but that
14251      would lead to incompatibility with applications which assume
14252      they are running with a VT100 or VT220.</p>
14253    </li>
14254
14255    <li>corrects behavior of a restore-cursor operation which does
14256    not follow a save-cursor (it is supposed to set the character
14257    sets to a known initial state).</li>
14258
14259    <li>extends the sunKeyboard resource (and menu toggle) to
14260    modify the home, end and delete keys on a Sun or PC editing
14261    keypad, making them generate codes compatible with DEC VT220's
14262    Find, Select and Remove keys.</li>
14263
14264    <li>corrects a length in checking command-line options, which
14265    caused the "-help" message to not work when X was not
14266    running.</li>
14267
14268    <li>add some detail to the man-page (requested by Jason Bacon
14269    &lt;acadix@execpc.com&gt;)</li>
14270
14271    <li>modify the standalone configure script to ignore the broken
14272    nsl and socket libraries on IRIX 6.2 (the ones on 5.2 also are
14273    broken, so this change just widens the check for the system
14274    version number).</li>
14275  </ul>
14276
14277  <h1><a name="xterm_63" id="xterm_63">Patch #63 - 1998/2/5 -
14278  XFree86 3.9Ad</a></h1>
14279
14280  <p>This is another patch from Bjorn Helgaas
14281  &lt;helgaas@rsn.hp.com&gt;, which I've reviewed (and learned
14282  some). Following are his notes:</p>
14283
14284  <p>I poked around some more and finally got xterm-62 to build and
14285  run cleanly on HP-UX 10.20. Here are the patches. They look sort
14286  of ugly, so here's a little explanation:</p>
14287
14288  <ul>
14289    <li>aclocal.m4: Removed side effects from the AC_CACHE_VAL
14290    commands in CF_FUNC_TGETENT. Previously, LIBS was set inside
14291    AC_CACHE_VAL, which worked fine the first time configure was
14292    run, but failed if there were cached values.</li>
14293
14294    <li>aclocal.m4: Added temporary setting of LIBS before
14295    AC_TRY_LINK in CF_FUNC_TGETENT. Previously, the last value set
14296    by the AC_TRY_RUN loop was used, so only -lcurses was
14297    checked.</li>
14298
14299    <li>configure.in: Added temporary setting of CPPFLAGS before
14300    AC_CHECK_HEADERS for X11 files. Previously
14301    &lt;X11/DECkeysym.h&gt; and &lt;X11/Xpoll.h&gt; were found only
14302    if they were in the compiler's default include directories,
14303    even if `--x-includes=DIR' had been used or AC_PATH_XTRA had
14304    found them elsewhere.</li>
14305  </ul>
14306
14307  <p>The problem on HP-UX was that we were linking with -lcurses
14308  rather than -ltermcap due to the second bullet above, and
14309  apparently something in HP-UX curses is broken. This seems very
14310  strange, because the only thing used is tgetent, which should
14311  affect any tty/pty configuration, but I lost interest in tracking
14312  down the exact problem.</p>
14313
14314  <h1><a name="xterm_62" id="xterm_62">Patch #62 - 1998/1/23 -
14315  XFree86 3.9Ac</a></h1>
14316
14317  <p>This is a patch mostly by Bjorn Helgaas
14318  &lt;helgaas@dhc.net&gt; (I added the os2main.c change, and a
14319  little of the documentation). From Bjorn's description:</p>
14320
14321  <ul>
14322    <li>If you use the "-hc &lt;color&gt;" option or set the
14323    "highlightColor" resource, text is highlighted by changing only
14324    the background color, rather than using reverse video. I find
14325    this easier to read, especially when selecting multi-colored
14326    text, and it is similar to the way Netscape shows
14327    selections.</li>
14328
14329    <li>Most of the code changes are under "#if
14330    OPT_HIGHLIGHT_COLOR". The principal exception is in screen.c,
14331    where I added a couple calls to resetXtermGC(). This seems like
14332    it could be a bug even without the color highlighting changes
14333    (though I don't pretend to understand all the logic).</li>
14334  </ul>
14335
14336  <h1><a name="xterm_61" id="xterm_61">Patch #61 - 1998/1/17 -
14337  XFree86 3.9Ac</a></h1>
14338
14339  <p>This patch modifies the reset behavior of xterm slightly:</p>
14340
14341  <ul>
14342    <li>change the terminfo entry so that rs1 (one of the strings
14343    used by the 'reset' program) does a hard reset rather than
14344    switching character sets. This is more in accord with other
14345    terminal descriptions.</li>
14346
14347    <li>modifies the treatment of hard reset by the xterm program
14348    to reset the saved lines.</li>
14349
14350    <li>corrects hard reset by also resetting user-defined keys,
14351    i.e., DECUDK.</li>
14352  </ul>
14353
14354  <h1><a name="xterm_60" id="xterm_60">Patch #60 - 1998/1/10 -
14355  XFree86 3.9Ab</a></h1>
14356
14357  <p>This fixes some minor bugs and adds new functionality:</p>
14358
14359  <ul>
14360    <li>add support for blinking text.
14361      <ul>
14362        <li>This does not actually cause the text to flash, but
14363        text with the blink attribute can be displayed in color,
14364        using new resources colorBL and colorBLMode.</li>
14365
14366        <li>If colors are not used, the blinking text will be
14367        displayed as before (just like bold). The main purpose of
14368        this is to make applications work properly when they assume
14369        the emulator supports blinking text.</li>
14370
14371        <li>I did this by moving the per-cell LINEWRAPPED flag to a
14372        per-line flag, to make room for the new BLINK flag. There
14373        were no per-line flags, so this changes a lot of
14374        logic.</li>
14375      </ul>
14376    </li>
14377
14378    <li>corrected missing save-cursor logic in the handling of SGR
14379    1048 (the new control sequence I added in patch #54,
14380    1997/10/17). Reported by Darren Hiebert.</li>
14381
14382    <li>flush the output of the transparent printing after each
14383    line Reported by Tomas Vanhala
14384    &lt;vanhala@ling.helsinki.fi&gt;.</li>
14385
14386    <li>correct the modes that are affected by save/restore cursor
14387    by adding WRAPAROUND and PROTECTED.</li>
14388
14389    <li>corrected placement of one of the XSync calls that I added
14390    in patch #51, 1997/9/15, which had the side-effect of writing
14391    on the window border when the xterm was resizing from 132 to 80
14392    columns.</li>
14393
14394    <li>work around an incompatibility of the XKB definition used
14395    in xterm versus that symbol from IRIX 6.2's imake definitions
14396    (by adjusting the standalone configure script).</li>
14397  </ul>
14398
14399  <h1><a name="xterm_59" id="xterm_59">Patch #59 - 1998/1/5 -
14400  XFree86 3.9Ab</a></h1>
14401
14402  <p>My last patch has an off-by-one error in the comparison for
14403  argc. Douglas Kosovic &lt;douglask@dstc.edu.au&gt; showed me
14404  where (he got a core dump). Also, I think this explains Clint
14405  Olsen's problem, but the symptoms were more subtle (EINVAL for a
14406  system call if the -display option is omitted).</p>
14407
14408  <h1><a name="xterm_58" id="xterm_58">Patch #58 - 1998/1/3 -
14409  XFree86 3.9Ab</a></h1>
14410
14411  <p>This patch does the following:</p>
14412
14413  <ul>
14414    <li>implement logic to permit xterm to work with proportional
14415    fonts.
14416      <ul>
14417        <li>Thomas Wolff &lt;Thomas.Wolff@sietec.de&gt; requested
14418        this (but it isn't exactly what he's asking for - that's a
14419        more involved task).</li>
14420
14421        <li>I chose to do this by rendering the characters on a
14422        fixed pitch, because it would not be useful for existing
14423        applications to display varying numbers of characters on
14424        each line.</li>
14425
14426        <li>Except that this forces the display to be wider, it
14427        works reasonably well. A couple of special cases (reverse +
14428        colorBD, for example) do not display with proper colors,
14429        since the inter-character gaps are painted with the
14430        background.</li>
14431      </ul>
14432    </li>
14433
14434    <li>added a version number to the program (several people have
14435    requested this).</li>
14436
14437    <li>make the -version and -help options interpreted before the
14438    program attempts to open the display.</li>
14439
14440    <li>minor reorganization of the man-page (ordered the options,
14441    resources and translations alphabetically - and eliminated some
14442    duplication).</li>
14443
14444    <li>corrected a misspelled filename in Makefile.in, and added a
14445    lint rule.</li>
14446
14447    <li>updated the configure script to correct behavior when it
14448    cannot find imake, as well as to fix the IRIX+gcc build
14449    (conflict with /usr/include).</li>
14450
14451    <li>regenerated the configure script with a newer patch to
14452    autoconf that fixes a problem with environment space vs the
14453    configure --help message.</li>
14454  </ul>
14455
14456  <h1><a name="xterm_57" id="xterm_57">Patch #57 - 1997/12/26 -
14457  XFree86 3.9Aa</a></h1>
14458
14459  <p>This patch is mostly concerned with the standalone configure
14460  script; a few minor corrections are added:</p>
14461
14462  <ul>
14463    <li>add configure option --disable-tek4014, to allow xterm to
14464    be built without the tek4014 emulation.</li>
14465
14466    <li>add configure option --with-terminal-type, to allow xterm
14467    to be compiled with default $TERM value other than "xterm"
14468    (e.g., "xterm-16color") -- requested by Stephen Marley
14469    &lt;stephen@memex.com&gt;.</li>
14470
14471    <li>fix a typo in the configure --help message -- reported by
14472    Darren Hiebert &lt;darren@hmi.com&gt;.</li>
14473
14474    <li>review diffs between main.c and os2main.c, to make them
14475    more alike. (applies some minor bug-fixes to OS/2's
14476    version).</li>
14477
14478    <li>add missing quotes in memmove/bcopy configure test</li>
14479  </ul>
14480
14481  <h1><a name="xterm_56" id="xterm_56">Patch #56 - 1997/11/28 -
14482  XFree86 3.9x</a></h1>
14483
14484  <p>This patch is based on analysis by Arfst Ludwig
14485  &lt;arfst@luxor.IN-Berlin.DE&gt;, who reported:</p>
14486
14487  <blockquote>
14488    <p>Setting the following resources xterm (all current versions)
14489    receives a segmentation fault on &lt;Btn2Up&gt; after
14490    scrolling:</p>
14491
14492    <pre>
14493          *XTerm*VT100*translations:    #override \
14494              ~Shift~Ctrl&lt;Btn2Up&gt;: insert-selection(PRIMARY, CUT_BUFFER0)\n\
14495              Shift~Ctrl&lt;Btn2Up&gt;:  insert-selection(CLIPBOARD, CUT_BUFFER1)\n\
14496              ~Shift&lt;BtnUp&gt;:       select-end(PRIMARY, CUT_BUFFER0)\n\
14497              Shift&lt;BtnUp&gt;:        select-end(CLIPBOARD, CUT_BUFFER1)
14498</pre>
14499    <p>(The above resources intention is to be able to paste the
14500    latest selection even if the xterm was cleared.)</p>
14501
14502    <p>And here is how it works (and a fix!): The widget given to
14503    the action handler as first argument is not guaranteed to be a
14504    XtermWidget (it can be the ScrollbarWidget). Instead of
14505    accessing the widget's member directly XtDisplay gives the
14506    required pointer in a safe way.</p>
14507  </blockquote>
14508
14509  <p>I noticed that this was not the only instance (by reading the
14510  code, and testing with his example), and extended the solution to
14511  check the widget-class to ensure that it is indeed xterm's widget
14512  class before attempting to use it in the context of
14513  translations.</p>
14514
14515  <h1><a name="xterm_55" id="xterm_55">Patch #55 - 1997/11/25 -
14516  XFree86 3.9x</a></h1>
14517
14518  <p>This fixes the segmentation violation noted by Rogier Wolff
14519  about a month ago. He'd set xterm to 400 (rows) by 150 columns,
14520  which broke because there were limited buffers (200 rows) used
14521  for juggling data when adding or deleting lines and for switching
14522  between alternate and normal screens. I replaced this by an
14523  allocated buffer.</p>
14524
14525  <p>The bug is simple to test if you set titeInhibit false.</p>
14526
14527  <h1><a name="xterm_54" id="xterm_54">Patch #54 - 1997/10/17 -
14528  XFree86 3.9s</a></h1>
14529
14530  <p>This patch does the following:</p>
14531
14532  <ul>
14533    <li>correct a minor placement problem with the right
14534    scrollbar.</li>
14535
14536    <li>implement a new set of control sequences for switching
14537    between the normal and alternate VT100 screens. These work
14538    around the older sequences limitation that required
14539    modification of the runtime $TERMCAP to cooperate with the
14540    titeInhibit resource (that can't work with terminfo). I do this
14541    by moving all of the functionality of the rmcur terminfo
14542    capability into the control sequences.</li>
14543
14544    <li>implement the alternate-screen menu entry</li>
14545  </ul>
14546
14547  <h1><a name="xterm_53" id="xterm_53">Patch #53 - 1997/10/12 -
14548  XFree86 3.9r</a></h1>
14549
14550  <p>This patch adds a fix and implements a new feature (as well as
14551  some minor typos):</p>
14552
14553  <ul>
14554    <li>JCHANDRA@Inf.COM (JCHANDRA) noted that there was still a
14555    problem with the wait call with the logging option. It hung
14556    when the logfile was opened as a command-line option. I fixed
14557    this by moving the StartLogging() call down past the place
14558    where I'd reset the setuid mode. So the logfile is opened as
14559    the real user, without having to fork.</li>
14560
14561    <li>improve Rohleder's changes by renaming the command-line
14562    options and reducing the number of ifdef's.</li>
14563
14564    <li>implement right-scrollbars for xterm (patch by Michael
14565    Rohleder &lt;michael.rohleder@stadt-frankfurt.de&gt;).</li>
14566  </ul>
14567
14568  <h1><a name="xterm_52" id="xterm_52">Patch #52 - 1997/9/29 -
14569  XFree86 3.9q</a></h1>
14570
14571  <p>This patch addresses bugs and requests reported by</p>
14572
14573  <ul>
14574    <li>Bob Maynard &lt;rmaynard@montana.com&gt;,</li>
14575
14576    <li>Clint Olsen &lt;olsenc@ichips.intel.com&gt;,</li>
14577
14578    <li>JCHANDRA@Inf.COM (JCHANDRA),</li>
14579
14580    <li>Michael Schroeder
14581    &lt;Michael.Schroeder@informatik.uni-erlangen.de&gt;,</li>
14582
14583    <li>Pablo Ariel Kohan &lt;pablo@memco.co.il&gt;</li>
14584  </ul>
14585
14586  <p>Some of the changes are interrelated (it was an unusually busy
14587  week).</p>
14588
14589  <ul>
14590    <li>change the default resource value for colorMode to true,
14591    matching the Xterm.ad file.</li>
14592
14593    <li>correct behavior of 'ech' control, making the default and 0
14594    parameters erase one character rather than to the end of line
14595    (reported by Michael Schroeder).</li>
14596
14597    <li>add resource boldColors, command-line options +pc and -pc
14598    and configure-script option to specify behavior of xterm's
14599    mapping bold colors 0 through 7 to colors 8 through 15.
14600    (request by Pablo Ariel Kohan).</li>
14601
14602    <li>add resource colorAttrMode to specify whether colorULMode
14603    and colorBDMode can override the ANSI colors (report by Clint
14604    Olsen).</li>
14605
14606    <li>correct a conflict between colorULMode/colorBDMode versus
14607    ANSI colors, where exposure events would occasionally pick up
14608    the former (e.g., colorBD) rather than ANSI colors. Testing the
14609    colorAttrMode made this apparent, though it has been in the
14610    code since 3.2A (patch #35 in Jan 1997).</li>
14611
14612    <li>correct two problems with the optional logging support. On
14613    Linux at least, the waitpid call in creat_as hangs when the
14614    logging is toggled from the popup menu. Also, the mktemp
14615    template has the wrong number of X's (since X11R5!). Fixed the
14616    waitpid problem by exploiting the fact that the setuid behavior
14617    is reset before the popup menus are available. (reported by
14618    Jayachandran C.).</li>
14619
14620    <li>add configure script options for building with the Xaw3d
14621    and neXtaw libraries.</li>
14622
14623    <li>correct CF_IMAKE_CFLAGS standalone configure script macro,
14624    so that it will pick up $(ALLDEFINES) rather than
14625    $(STD_DEFINES). This is needed to make scrollbars work on
14626    Linux, since that uses narrow prototypes. (reported by Bob
14627    Maynard).</li>
14628
14629    <li>various minor updates to configure-script macros.</li>
14630  </ul>
14631
14632  <h1><a name="xterm_51" id="xterm_51">Patch #51 - 1997/9/15 -
14633  XFree86 3.9p</a></h1>
14634
14635  <p>Most of this patch is related to the standalone configure
14636  script, though there are fixes/enhancements as well:</p>
14637
14638  <ul>
14639    <li>add a new resource sunKeyboard, with associated
14640    command-line option and menu-toggle that allows using a normal
14641    Sun or PC keyboard to generated the complete DEC-style function
14642    keys and keypad.</li>
14643
14644    <li>correct a reversed foreground/background test in the
14645    control sequence that replies with the current SGR
14646    settings.</li>
14647
14648    <li>correct, by invoking XSync, a display problem that caused
14649    the program to not properly update newly exposed areas when a
14650    font change or 80/132 resize request was not completely
14651    accepted.</li>
14652
14653    <li>restructured autoconf macros (I made a library of all of
14654    the macros across the complicated configure scripts I'm working
14655    on).</li>
14656
14657    <li>use the autoconf config.guess and config.sub scripts to
14658    better identify the host-os.</li>
14659
14660    <li>improve the configure script that uses 'imake' as a
14661    fallback for definitions.</li>
14662
14663    <li>correct several instances of unsigned/signed mixed
14664    expressions.</li>
14665  </ul>
14666
14667  <p>I've tested the configure script on Linux, SunOS 4.1.3,
14668  Solaris 2.5.1, IRIX 5.2 and 6.2, AIX 3.2.5 and CLIX 3.1 (all but
14669  the last run properly as well).</p>
14670
14671  <h1><a name="xterm_50" id="xterm_50">Patch #50 - 1997/8/22 -
14672  XFree86 3.9m</a></h1>
14673
14674  <p>This is a collection of small fixes, and a couple of minor
14675  enhancements:</p>
14676
14677  <ul>
14678    <li>plug a security hole in the implementation of Media Copy
14679    (print) by invoking setuid just before the main loop.</li>
14680
14681    <li>add an ifdef'd include for &lt;sys/termio.h&gt; for HP-UX,
14682    which allows the program to process SIGWINCH events (this is a
14683    bug in X11R6.3)</li>
14684
14685    <li>add state-table entries for VT52 emulation to enter/exit
14686    keypad application mode.</li>
14687
14688    <li>disable the popup-menu entry for 8-bit controls when the
14689    terminal-id is less than 200 (e.g., VT52 or VT100).</li>
14690
14691    <li>ensure that the popup-menu entry for 8-bit controls is
14692    updated when the application enables/disables this mode,
14693    including the response to a full-reset.</li>
14694
14695    <li>implement VT300 DECBKM feature: set interpretation of the
14696    backarrow key to either backspace or delete. The initial
14697    setting is via resource; it can also be modified in the main
14698    popup menu.</li>
14699
14700    <li>implement VTxxx KAM (ISO AM), which allows a keyboard to be
14701    locked (i.e., the terminal discards input).</li>
14702
14703    <li>implement VTxxx SRM, which is used to control local echoing
14704    of input on the terminal.</li>
14705
14706    <li>add terminfo and termcap entries for xterm-8bit, a
14707    variation of the xterm description that uses 8-bit control
14708    characters.</li>
14709
14710    <li>add fallback definitions for Imakefile to allow it to work
14711    on some X11R5 systems that have no SpecialCObjectRule or
14712    ProgramTargetName macros.</li>
14713
14714    <li>add .c.o and .c.i rules to standalone Makefile.in</li>
14715
14716    <li>correct order of -lXmu and -lXext in standalone configure
14717    script.</li>
14718
14719    <li>add configure script options to allow selective disabling
14720    of active-icon, input-method and i18n code (mainly for users
14721    with X11R5 or an incomplete X11R6 configuration).</li>
14722
14723    <li>change menu-indices from #define's to enum values, thereby
14724    making it work better with the ifdef's for logging and
14725    active-icon (the X11R6.3 active-icon code is incorrectly
14726    ifdef'd; this corrects an error introduced by incorporating
14727    that code).</li>
14728
14729    <li>correct minor compile errors in the configuration where
14730    active-icon is not used.</li>
14731
14732    <li>add configure option to suppress echoing of long compiler
14733    commands</li>
14734
14735    <li>correct spelling of decTerminalID in configure script help
14736    message</li>
14737
14738    <li>use gcc __attribute__((unused)) to quiet warnings about
14739    unused parameters when compiling with -W (to make it simpler to
14740    find the real problems).</li>
14741  </ul>
14742
14743  <h1><a name="xterm_49" id="xterm_49">Patch #49 - 1997/8/10 -
14744  XFree86 3.9k</a></h1>
14745
14746  <p>This patch implements the VT100/VT220 Media Copy (i.e.,
14747  print-screen) control sequences.</p>
14748
14749  <h1><a name="xterm_48" id="xterm_48">Patch #48 - 1997/7/26 -
14750  XFree86 3.9j</a></h1>
14751
14752  <p>This patch does the following (all but the first affect only
14753  the standalone configure script):</p>
14754
14755  <ul>
14756    <li>minor correction to positioning of underlines for small
14757    (e.g., 5x8) font size.
14758      <p>The existing behavior allowed underlines to be drawn
14759      outside the character-cell, so they weren't cleared properly
14760      under some circumstances.</p>
14761    </li>
14762
14763    <li>adds more special-case tokens to the standalone configure
14764    script's imake-option filter (e.g., "&amp;&amp;", since a "make
14765    -n main.o" on my IRIX system uses that shell construct).</li>
14766
14767    <li>adds a '--enable-logging' option for the standalone
14768    configure script.</li>
14769
14770    <li>adds check and ifdef's for the standalone configure script
14771    to allow for building on platforms with X11R6, which lacks
14772    Xpoll.h (introduced in X11R6.1).</li>
14773  </ul>
14774
14775  <h1><a name="xterm_47" id="xterm_47">Patch #47 - 1997/7/13 -
14776  XFree86 3.9i</a></h1>
14777
14778  <p>This patch does the following</p>
14779
14780  <ul>
14781    <li>corrects an indexing error in the doublesize character
14782    logic (button.c) that caused core dump (this was reported by J.
14783    Wunsch).</li>
14784
14785    <li>corrects the logic of ShowCursor when it is painting in a
14786    doublesize cell (charproc.c).</li>
14787
14788    <li>corrects, according to vttest, the behavior when switching
14789    to doublesize characters and back again (doublechr.c).</li>
14790
14791    <li>adds cbt (back_tab) to the terminfo description (this was
14792    something that I'd overlooked as applicable to curses
14793    optimization last summer).</li>
14794
14795    <li>corrects, for the standalone xmc test, the logic for
14796    disabling xmc.</li>
14797  </ul>
14798
14799  <h1><a name="xterm_46" id="xterm_46">Patch #46 - 1997/7/4 -
14800  XFree86 3.9h</a></h1>
14801
14802  <p>This is a patch to provide test-support for some work I'm
14803  doing on ncurses. It does not modify the normal configuration of
14804  xterm; the code is compiled if the standalone configure option
14805  "--enable-xmc-glitch" is specified.</p>
14806
14807  <h1><a name="xterm_45" id="xterm_45">Patch #45 - 1997/7/2 -
14808  XFree86 3.9h</a></h1>
14809
14810  <p>This fixes the problem reported with xterm's cursor color
14811  versus the background (the second chunk in this patch) and also
14812  removes some duplicate initialization of the cursor GC's. If the
14813  cursor color at startup is the same as the background, then xterm
14814  will use the reverse GC, ignoring the setting of the colorMode
14815  resource.</p>
14816
14817  <h1><a name="xterm_44" id="xterm_44">Patch #44 - 1997/6/22 -
14818  XFree86 3.9g</a></h1>
14819
14820  <p>This implements the first part of the VT100 doublesize
14821  characters for xterm, as well as fixing a handful of bugs:</p>
14822
14823  <ul>
14824    <li>the doublesize character support uses the normal font
14825    (using scaled fonts will be another patch) with blanks to
14826    simulate doublesize characters. This patch does most of the
14827    global changes that'll be required. I've hidden most of the
14828    details in macros and ifdef's so it's easy to configure out
14829    (part of the patch is a configure option for that
14830    purpose).</li>
14831
14832    <li>corrected limits in DeleteChar() function -- it's always
14833    ignored the size of the left border and scrollbar. I noticed
14834    this when working on the doublesize characters since the glitch
14835    was doubled in size (i.e., it wrapped some garbage around the
14836    right margin).</li>
14837
14838    <li>corrected 'memmove()' logic, for standalone builds (it
14839    referenced a malloc wrapper from my development library).</li>
14840
14841    <li>add a check for HideCursor() to prevent repeated screen
14842    updates (which can cause a spurious cursor glitch to appear,
14843    e.g., during scrolling). I noticed this with the 3.2A version
14844    (but only a few weeks ago, when I started working on this
14845    patch).</li>
14846  </ul>
14847
14848  <h1><a name="xterm_43" id="xterm_43">Patch #43 - 1997/6/10 -
14849  XFree86 3.9d</a></h1>
14850
14851  <p>Here's a fix for two problems:</p>
14852
14853  <ul>
14854    <li>modify handling of tgetent results in xterm and resize
14855    programs to make them tolerant of missing termcap file, or
14856    unknown terminal name. In this scheme, an explicit "-tn" option
14857    will succeed, overriding the fallback list.</li>
14858
14859    <li>a nit in the configure script (log extra information to
14860    help diagnose which case of the test-compile of tgetent was
14861    used).</li>
14862  </ul>
14863
14864  <h1><a name="xterm_42" id="xterm_42">Patch #42 - 1997/6/8 -
14865  XFree86 3.2Xl</a></h1>
14866
14867  <p>Bram Moolenaar reported that the cursor color changed
14868  unexpectedly while scrolling. The cause was that it used the same
14869  GC's as the logic that draws the ANSI colors. The bug only
14870  appears if the cursorColor resource isn't set, and has been
14871  present since the initial implementation early last year. (The
14872  same bug also appears in rxvt ;-). Here's a fix.</p>
14873
14874  <h1><a name="xterm_41" id="xterm_41">Patch #41 - 1997/5/28 -
14875  XFree86 3.2Xl</a></h1>
14876
14877  <p>Some nits found by Darren Hiebert (missing part of
14878  install-rule, incorrect assignment for --enable-color-mode
14879  option).</p>
14880
14881  <h1><a name="xterm_40" id="xterm_40">Patch #40 - 1997/5/26 -
14882  XFree86 3.2Xl</a></h1>
14883
14884  <p>Patch for the configure script's logic for obtaining imake
14885  predefined symbols.</p>
14886
14887  <h1><a name="xterm_39" id="xterm_39">Patch #39 - 1997/5/24 -
14888  XFree86 3.2Xl</a></h1>
14889
14890  <p>This patch does the following:</p>
14891
14892  <ul>
14893    <li>integrate the 16-color change for 'xterm'</li>
14894
14895    <li>minor fixes/clarification of tgetent in terminfo vs termcap
14896    to 'resize'</li>
14897  </ul>
14898
14899  <p>(both changes also modify the configure script)</p>
14900
14901  <h1><a name="xterm_38" id="xterm_38">Patch #38 - 1997/5/22 -
14902  XFree86 3.2Xh</a></h1>
14903
14904  <p>This implements a simple configuration script with autoconf
14905  (to which I'll add more options later). It does the
14906  following:</p>
14907
14908  <ul>
14909    <li>configures xterm to build with X11R5 (at least on SunOS
14910    4.1, Solaris 2.4, possibly IRIX - sorry network was down today,
14911    but I did test an earlier version yesterday).</li>
14912
14913    <li>enables/disables the configuration ifdef's for ANSI color
14914    and VT52 emulation.</li>
14915  </ul>
14916
14917  <p>It does not make tests for the things that imake does (that's
14918  another project), instead it uses a hybrid of the autoconf tests
14919  for libraries and adds imake's compiler options (which are
14920  necessary in some cases to get main.c to compile).</p>
14921
14922  <h1><a name="xterm_37" id="xterm_37">Patch #37 - 1997/5/7 -
14923  XFree86 3.9a</a></h1>
14924
14925  <p>This corrects a minor, but annoying error in the vt220
14926  emulation: the DECUDK is only supposed to be interpreted for
14927  _shifted_ function keys.</p>
14928
14929  <h1><a name="xterm_36" id="xterm_36">Patch #36 - 1997/1/16 -
14930  XFree86 3.2r</a></h1>
14931
14932  <p>This corrects something that I overlooked in patch #27
14933  (21-aug-1996), which is that when trimming the region to be
14934  repainted for the highlightSelection resource of xterm, I still
14935  have to paint the background past the highlighted region. This
14936  only happens when I first do a selection in a window that's
14937  partly off-screen, then move the window on-screen.</p>
14938
14939  <h1><a name="xterm_35" id="xterm_35">Patch #35 - 1997/1/7 -
14940  XFree86 3.2o</a></h1>
14941
14942  <p>This patch does the following:</p>
14943
14944  <ul>
14945    <li>combines the coding for foreground and background colors
14946    into a single byte, reducing the memory required to store
14947    saved-lines in color. (I'll take back that byte in a following
14948    patch to use to ensure the character-set, so there's no
14949    long-term decrease in memory use).</li>
14950
14951    <li>modifies the PF1-PF4 coding in termcap/terminfo. Because
14952    xterm is still by default emulating vt100, the function key
14953    codes are vt100-compatible (I overlooked this in patch #31). I
14954    also reformatted the whole terminfo file into a single-column,
14955    for consistency.</li>
14956
14957    <li>adds an interim xterm-vt220 description to accommodate the
14958    old and new styles of function-keys (though probably it'd be
14959    better to drop the old-style altogether).</li>
14960  </ul>
14961
14962  <h1><a name="xterm_34" id="xterm_34">Patch #34 - 1997/1/5 -
14963  XFree86 3.2o</a></h1>
14964
14965  <p>This patch does the following:</p>
14966
14967  <ul>
14968    <li>implement DECSTR (soft terminal reset). The biggest diff is
14969    due to adding another state table (note that there's only one
14970    useful state here, but it's only 256 bytes rather than 1k as it
14971    would have been before I reduced the size of state
14972    entries).</li>
14973
14974    <li>some minor tidying up (e.g., signed/unsigned use bitcpy,
14975    MODE_DECCKM, resetColor, resetCharsets). More is done in patch
14976    #35.</li>
14977  </ul>
14978
14979  <p>I got the description of DECSTR from a vt420 user's manual.
14980  I'll do some testing with vttest to ensure that there's nothing
14981  else to do than what was documented.</p>
14982
14983  <h1><a name="xterm_33" id="xterm_33">Patch #33 - 1996/11/24 -
14984  XFree86 3.2</a></h1>
14985
14986  <p>This adds to the reset-fix by Matthieu Herrb
14987  &lt;Mathieu.Herrb@mipnet.fr&gt; a small change to make xterm able
14988  to output 8-bit characters in VT100 mode. Applications that run
14989  on real VT100's don't do that anyway, and this feature should be
14990  removed sometime after finishing off the VT220 emulation (VT220's
14991  can do 8-bit characters). That would be a good time to change the
14992  default terminal-id to 220.</p>
14993
14994  <h1><a name="xterm_32" id="xterm_32">Patch #32 - 1996/11/21 -
14995  XFree86 3.2</a></h1>
14996
14997  <p>This implements the REP (repeat) control for xterm. That isn't
14998  part of the DEC VTxxx series, but is defined in ISO 6429. (Note
14999  that the base xterm terminal description is <em>not</em> changed
15000  -- I added a variant, "xterm-rep").</p>
15001
15002  <h1><a name="xterm_31" id="xterm_31">Patch #31 - 1996/11/16 -
15003  XFree86 3.2</a></h1>
15004
15005  <p>This implements vt52 emulation in xterm (ifdef'd so it can be
15006  removed). I've been using it for testing for the past month or
15007  so.</p>
15008
15009  <h1><a name="xterm_30" id="xterm_30">Patch #30 - 1996/11/16 -
15010  XFree86 3.2</a></h1>
15011
15012  <p>From bug-report by &lt;auroux@clipper.ens.fr&gt; (Denis
15013  Auroux), missing reset to ground state. I checked through the
15014  rest of <em>that</em> table and found another, in the
15015  unimplemented MC (screen print).</p>
15016
15017  <h1><a name="xterm_29" id="xterm_29">Patch #29 - 1996/9/15 -
15018  XFree86 3.1.2Gb</a></h1>
15019
15020  <p>This patch does the following:</p>
15021
15022  <ul>
15023    <li>corrects the restoration of color for bold/underline color
15024    mode</li>
15025
15026    <li>adds a resource 'decTerminalID' to control the reporting
15027    level of xterm (e.g., VT100, VT220).</li>
15028
15029    <li>uses the new resource to implement/correct the DA1, DA2 and
15030    DECRPTUI reports.</li>
15031
15032    <li>change valid-response code in DECRQSS from 0 to 1 (the
15033    manual says 0, but the VT420 terminal I've been testing on says
15034    1).</li>
15035  </ul>
15036
15037  <p>All of these changes are based on vttest 2.6</p>
15038
15039  <p>(Most of the volume in the patch is to add 2 more state tables
15040  for parsing the 2nd/3rd device-attribute controls).</p>
15041
15042  <h1><a name="xterm_28" id="xterm_28">Patch #28 - 1996/8/31 -
15043  XFree86 3.1.2F</a></h1>
15044
15045  <p>This patch corrects the following reported by Roland Rosenfeld
15046  &lt;roland@spinnaker.rhein.de&gt;:</p>
15047
15048  <ul>
15049    <li>handle SGR 22, 24 and 25 in combination with colorUL and
15050    colorBD resources. Also noted &amp; fixed reset of colored
15051    underline/bold with SGR 0.</li>
15052
15053    <li>a typo in the termcap (missing '['), from 3.1.2Dj (my
15054    error)</li>
15055  </ul>
15056
15057  <p>Roland also complained that he couldn't use box characters
15058  with</p>
15059
15060  <pre>
15061        -adobe-courier-bold-r-normal--12-120-75-75-m-70-iso8859-1
15062</pre>
15063  <p>but that's a known xterm limitation (the box characters must
15064  be part of the font, in the first 32 locations).</p>
15065
15066  <h1><a name="xterm_27" id="xterm_27">Patch #27 - 1996/8/21 -
15067  XFree86 3.1.2Ek</a></h1>
15068
15069  <p>This patch fixes one of my long-term gripes: xterm's selection
15070  doesn't clearly show what's being selected (as per David's
15071  request, it's controlled by a resource, which defaults to the
15072  older behavior).</p>
15073
15074  <h1><a name="xterm_26" id="xterm_26">Patch #26 - 1996/8/20 -
15075  XFree86 3.1.2Ei</a></h1>
15076
15077  <p>Here's a patch to fix a problem with xterm's cut/paste and
15078  another to modify the appearance of the highlighting while
15079  selecting. (The changes are independent, so you can see if the
15080  change to screen.c is desirable).</p>
15081
15082  <h1><a name="xterm_25" id="xterm_25">Patch #25 - 1996/8/18 -
15083  XFree86 3.1.2Ei</a></h1>
15084
15085  <p>Here's a correction for two minor bugs that I picked up in
15086  testing, plus some lint (from Solaris 2.5) where NULL was used
15087  incorrectly:</p>
15088
15089  <ul>
15090    <li>make the second alternate font the same as the first
15091    (that's what vt420 and dtterm do)</li>
15092
15093    <li>corrected DECSCL report when DECSCL hasn't been set (i.e.,
15094    don't return a '60').</li>
15095  </ul>
15096
15097  <h1><a name="xterm_24" id="xterm_24">Patch #24 - 1996/8/11 -
15098  XFree86 3.1.2Ee</a></h1>
15099
15100  <p>This patch does several things. In effect, xterm can (I think)
15101  do a reasonably good job of emulating vt220 and vt320 terminals
15102  (as well as it was doing vt100, at any rate ;-).</p>
15103
15104  <p>It does NOT do:</p>
15105
15106  <ul>
15107    <li>soft fonts</li>
15108
15109    <li>rigel or sixel graphics</li>
15110  </ul>
15111
15112  <p>Anyway, I:</p>
15113
15114  <ul>
15115    <li>added ECH, CPL, CNL, SU, SD, CBT, CHT controls</li>
15116
15117    <li>added popup-menu for switching between DEC and Sun function
15118    keys. (corrected alignment err wrt logging entry at that
15119    point).</li>
15120
15121    <li>make xterm recognize both 8-bit and 7-bit controls
15122    (including popup menu for switching modes).</li>
15123
15124    <li>add user-definable function keys (aka DECUDK)</li>
15125
15126    <li>support concealed text</li>
15127
15128    <li>support protected text (both ISO compatible and DEC
15129    compatible - that's not the same thing, btw), with SPA, EPA,
15130    DECSCA, DECSED, DECSEL controls.</li>
15131
15132    <li>implement DECSCL.</li>
15133  </ul>
15134
15135  <p>I'll be continuing to test this patch for a while, but don't
15136  expect to add any new functionality (it passes all of the current
15137  tests I've built in vttest, but I need to make more tests)..</p>
15138
15139  <h1><a name="xterm_23" id="xterm_23">Patch #23 - 1996/7/31 -
15140  XFree86 3.1.2Ec</a></h1>
15141
15142  <p>This removes the blinking cursor I added last week (for
15143  performance reasons). Time-permitting, I'll revisit this after
15144  3.2 is released (there <em>will</em> be more work after XFree86
15145  3.2, I assume).</p>
15146
15147  <h1><a name="xterm_22" id="xterm_22">Patch #22 - 1996/7/26 -
15148  XFree86 3.1.2Ec</a></h1>
15149
15150  <p>I looked more closely at my "double-negative" and realized
15151  that I had been confused by the default color scheme (black on
15152  white) in combination with reverse video. However, I did see that
15153  the original_fg and original_bg data weren't really used - so I
15154  removed that logic.</p>
15155
15156  <p>Also:</p>
15157
15158  <ul>
15159    <li>during initialization, check if ANSI colors are set with
15160    non fg/bg values, disable color mode if not. This makes xterm
15161    tolerant of applications that allocate the whole color
15162    map.</li>
15163
15164    <li>implemented blinking cursor (default is <em>off</em>)</li>
15165  </ul>
15166
15167  <h1><a name="xterm_21" id="xterm_21">Patch #21 - 1996/7/24 -
15168  XFree86 3.1.2Ec</a></h1>
15169
15170  <p>This patch does the following:</p>
15171
15172  <ul>
15173    <li>fixes some minor typography in the control-sequences
15174    documentation (it didn't occur to me til I'd sent the last
15175    patch that I could use ghostview for previewing the troff
15176    output ;-)</li>
15177
15178    <li>adjusts the shell's background color in ReverseVideo so
15179    that flicker in resizing is reduced</li>
15180
15181    <li>adds an ifdef OPT_ISO_COLORS to allow configuring xterm
15182    without the ISO color support (saves a lot of memory)</li>
15183
15184    <li>used that ifdef to isolate/modify logic so that if the user
15185    doesn't have the colorMode enabled, then ISO color support is
15186    disabled (saving memory).
15187      <p>(If anyone needs numbers, I had savedLines set to 2000,
15188      and found a reduction from ~700k to ~400k of allocated
15189      memory, according to Purify).</p>
15190    </li>
15191  </ul>
15192
15193  <h1><a name="xterm_20" id="xterm_20">Patch #20 - 1996/7/24 -
15194  XFree86 3.1.2Ec</a></h1>
15195
15196  <p>This documents the changes in control sequences for window
15197  operations that I added in my previous patch. I'm testing another
15198  patch that allows the user to use less memory if colors aren't
15199  needed.</p>
15200
15201  <h1><a name="xterm_19" id="xterm_19">Patch #19 - 1996/7/21 -
15202  XFree86 3.1.2Ec</a></h1>
15203
15204  <p>This patch does the following:</p>
15205
15206  <ul>
15207    <li>fixes the core dump that I reported on IRIX 5.2 (in main.c)
15208      <p>(it's worth noting that this bug exists in X11R6.1, so I'd
15209      like to assume that someone's already submitted a fix to X
15210      Consortium...)</p>
15211    </li>
15212
15213    <li>change the interpretation of zero rows or columns in a
15214    resize-window request to use the root window's size (looking
15215    more carefully at dtterm, that seems to be what it does).</li>
15216
15217    <li>change some memmove calls to memcpy for slightly better
15218    performance. also, a couple of memset calls to bzero, since
15219    Quantify says bzero runs 20% faster, I assume because there's
15220    one less argument.</li>
15221
15222    <li>interpret character sets 1 and 2 (so that vttest gives a
15223    reasonable result) Both rxvt and dtterm do something
15224    equivalent.</li>
15225
15226    <li>fix a minor memory leak in the logic that retrieves the
15227    window or icon names (Purify found this for me while I ran
15228    vttest).</li>
15229  </ul>
15230
15231  <h1><a name="xterm_18" id="xterm_18">Patch #18 - 1996/7/18 -
15232  XFree86 3.1.2Ec</a></h1>
15233
15234  <p>This implements the following:</p>
15235
15236  <ul>
15237    <li>escape sequences that act like the CDE dtterm's window
15238    operations (though I have implemented the default width and
15239    height -- I've seen a rather buggy dtterm running that seems to
15240    treat width=0 or height=0 literally -- maybe that's a feature,
15241    not a bug?)</li>
15242
15243    <li>minor tweak to the screen-repainting when resizing (I still
15244    cannot entirely get rid of flicker).</li>
15245
15246    <li>still more fixes to terminfo &amp; termcap (I corrected my
15247    error for the hpa code and added some other stuff by comparing
15248    to ncurses' description and rxvt's).</li>
15249
15250    <li>a tweak to the changes by Michael Rohleder for the color
15251    translation</li>
15252
15253    <li>re-order attribute codes to allow later implementation of
15254    protected fields (dtterm supposedly does this; it's probably
15255    more useful than blinking or invisible text -- that uses up all
15256    of the available bits without changing the attribute scheme
15257    radically).</li>
15258  </ul>
15259
15260  <h1><a name="xterm_17" id="xterm_17">Patch #17 - 1996/7/2 -
15261  XFree86 3.1.2Eb</a></h1>
15262
15263  <p>This patch implements for xterm several minor features from
15264  ISO 6429 which are useful for terminfo applications. The HPA and
15265  VPA control sequences allow cursor movement along a row or
15266  column, cutting down a little on the characters transmitted. The
15267  other codes allow resetting specific graphic rendition attributes
15268  without modifying the other attributes. (now if someone just had
15269  time to implement blinking cursors...)</p>
15270
15271  <h1><a name="xterm_16" id="xterm_16">Patch #16 - 1996/6/25 -
15272  XFree86 3.1.2Ea</a></h1>
15273
15274  <p>Adam Tla/lka &lt;atlka@pg.gda.pl&gt; told me a couple of weeks
15275  ago that I'd missed some of the background coloring in xterm. I
15276  investigated, and found that while I'd picked up on the
15277  clear-to-bottom and clear-to-end-of-line operations, I'd
15278  overlooked the insert/delete lines. Just so I wouldn't overlook
15279  any more of these, I updated a copy of vttest to test ISO colors
15280  and bce (background color erase). This patch introduces a new
15281  function, ClearCurBackground, whose calls replace the direct
15282  XClearArea calls that I'd overlooked. (There's also a few
15283  compiler warnings fixed, etc ;-)</p>
15284
15285  <h1><a name="xterm_15" id="xterm_15">Patch #15 - 1996/5/29 -
15286  XFree86 3.1.2E</a></h1>
15287
15288  <p>This fixes the problem reported by David Dawes, by making the
15289  50msec select timeout for the Xaw3d arrow scrollbar a resource.
15290  (I made it a boolean for a variety of reasons -- to make it a
15291  number, you'd need an additional resource, to avoid breaking the
15292  logic).</p>
15293
15294  <h1><a name="xterm_14" id="xterm_14">Patch #14 - 1996/5/12 -
15295  XFree86 3.1.2Dj</a></h1>
15296
15297  <p>This patch brings the termcap and terminfo descriptions for
15298  xterm up to date. I made the following changes:</p>
15299
15300  <ul>
15301    <li>reformatted the terminfo description in a single-column
15302    (this is ok for terminfo, and will simplify future patches --
15303    can't do that for termcap, since it would impact buffer
15304    requirements on some systems).</li>
15305
15306    <li>omitted obsolete features in termcap to save a little space
15307    (bs, pt)</li>
15308
15309    <li>added color capabilities to termcap (ut, Co, NC, op, AB,
15310    AF)</li>
15311
15312    <li>corrected some capabilities (vi, ve)</li>
15313
15314    <li>added 'st' (set tab)</li>
15315
15316    <li>reduced function keys in termcap for 'xterm' to 12 because
15317    color capabilities makes that description larger than 1023
15318    characters.</li>
15319
15320    <li>created new termcap name 'xtermm' (monochrome) to match the
15321    terminfo list, and make that description have 20 function
15322    keys.</li>
15323
15324    <li>added corresponding color capabilities to terminfo (bce,
15325    colors, pairs, op, ncv, setab, setaf)</li>
15326
15327    <li>corrected corresponding capabilities in terminfo (civis,
15328    cnorm, rmcup, smcup)</li>
15329
15330    <li>added capabilities (el1, hts)</li>
15331
15332    <li>in both, corrected home/end keys to match the code
15333    correction made by Thomas Mueller in 3.1.2Bk
15334      <p>=&gt; (I'm still considering modifying the code &amp;
15335      description to match the rxvt program).</p>
15336    </li>
15337  </ul>
15338
15339  <h1><a name="xterm_13" id="xterm_13">Patch #13 - 1996/4/23 -
15340  XFree86 3.1.2Df</a></h1>
15341
15342  <p>This corrects my earlier changes for colors - the inner border
15343  of the xterm was getting painted with the wrong color, since I'd
15344  moved the call to set the background into the logic that tracks
15345  SGR information.</p>
15346
15347  <h1><a name="xterm_12" id="xterm_12">Patch #12 - 1996/3/16 -
15348  XFree86 3.1.2Dc</a></h1>
15349
15350  <p>This corrects a memory leak in xterm that happens whenever one
15351  switches fonts.</p>
15352
15353  <h1><a name="xterm_11" id="xterm_11">Patch #11 - 1996/3/5 -
15354  XFree86 3.1.2Db</a></h1>
15355
15356  <p>This patch corrects the behavior of the ANSI colors in xterm
15357  when reverse video is used, as well as some other lesser
15358  sins:</p>
15359
15360  <ul>
15361    <li>button.c
15362      <ul>
15363        <li>(compiler warnings: shadowing of 'time', redundant
15364        cast)</li>
15365      </ul>
15366    </li>
15367
15368    <li>charproc.c
15369      <ul>
15370        <li>renamed screen.colors[] array to screen.Acolors[] to
15371        more easily distinguish the non-ANSI colors from the ANSI
15372        colors.</li>
15373
15374        <li>moved logic of SGR_Save() into VTInitialize, getting
15375        rid of local private variables original_fg and
15376        original_bg.</li>
15377
15378        <li>moved some logic into getXtermForeground and
15379        getXtermBackground from SGR_Foreground, SGR_Background,
15380        etc.</li>
15381
15382        <li>corrected misleading 'row' to 'col' in case for CUF,
15383        CUB sequences.</li>
15384      </ul>
15385    </li>
15386
15387    <li>ctlseqs.ms</li>
15388
15389    <li>xterm.man
15390      <ul>
15391        <li>(correct a misconception which I'd added that the
15392        color0 through color6 resource values apply to non-ANSI
15393        colors)</li>
15394      </ul>
15395    </li>
15396
15397    <li>ptyx.h
15398      <ul>
15399        <li>added original_fg, original_bg to TScreen
15400        structure.</li>
15401      </ul>
15402    </li>
15403
15404    <li>scrollbar.c
15405      <ul>
15406        <li>(compiler warnings: redundant cast)</li>
15407      </ul>
15408    </li>
15409
15410    <li>util.c
15411      <ul>
15412        <li>new functions getXtermForeground and getXtermBackground
15413        replace the macros GET_FG and GET_BG, with the added
15414        functionality of checking for the reverse-video status of
15415        xterm.</li>
15416
15417        <li>in ReverseVideo, swap the SGR foreground and background
15418        colors also.</li>
15419      </ul>
15420    </li>
15421  </ul>
15422
15423  <h1><a name="xterm_10" id="xterm_10">Patch #10 - 1996/2/14 -
15424  XFree86 3.1.2Cd</a></h1>
15425
15426  <p>I observed an occasional glitch in the xterm's color behavior;
15427  a clear to end of line would get a color that had been used in a
15428  program that supposedly reset colors. I traced this down to the
15429  way xterm was modifying colors of GC's on the fly; it didn't
15430  restore the original color of the GC, even though it would later
15431  be used in functions (such as ClearRight) that assumed (my error)
15432  that the GC would have the current foreground or background
15433  color.</p>
15434
15435  <p>I fixed this by resetting the GC's colors with a new function
15436  'resetXtermGC()', and direct calls on
15437  SGR_Foreground/SGR_Background, as appropriate and using a new
15438  function 'updatedXtermGC()' to encapsulate the logic that
15439  modifies the GC's color. (I also removed some commented-out code
15440  that was trying to do this -- the problem was a little more
15441  obscure).</p>
15442
15443  <h1><a name="xterm_09" id="xterm_09">Patch #9 - 1996/2/10 -
15444  XFree86 3.1.2Cb</a></h1>
15445
15446  <p>This patch fixes the remaining problems that I had making
15447  xterm run with x11r5, as well as a couple of other bugs. It
15448  follows my patch from yesterday, that added ifdef's for some of
15449  the input-method resources.</p>
15450
15451  <ul>
15452    <li>corrected ifdef's that suppress the input-method code
15453    (doesn't exist in my x11r5, and xterm works adequately without
15454    it).</li>
15455
15456    <li>corrected fallback definition for 'Select()' macro (oops:
15457    I'd copied the wrong text...)</li>
15458
15459    <li>moved the declarations for the fd_set variables to
15460    data.[ch]</li>
15461
15462    <li>corrected an ifdef in resize.c (sunos 4.x doesn't have
15463    termcap.h)</li>
15464
15465    <li>corrected (in main.c) some unused/orphaned variables.</li>
15466  </ul>
15467
15468  <h1><a name="xterm_08" id="xterm_08">Patch #8 - 1996/2/9 -
15469  XFree86 3.1.2Cb</a></h1>
15470
15471  <p>This is mostly a documentation patch for xterm. It describes
15472  the color control sequences in more detail, and documents some
15473  other features of xterm that aren't described elsewhere.</p>
15474
15475  <p>I've also added a couple of ifdef's to fix (part of) the
15476  problem that I'm working on (making the program work properly on
15477  x11r5, where I'm doing memory testing -- I have a "good" version
15478  from mid-January, but my resync version doesn't work properly on
15479  x11r5). I'm not done with <em>that</em> yet.</p>
15480
15481  <h1><a name="xterm_07" id="xterm_07">Patch #7 - 1996/1/28 -
15482  XFree86 3.1.2n</a></h1>
15483
15484  <p>I did a (clean) build of 3.1.2n on Linux 1.2.13 (ELF). I've
15485  got an S3 card.</p>
15486
15487  <p>This fixes the following in the 3.1.2n xterm:</p>
15488
15489  <ul>
15490    <li>initialize cur_foreground, cur_background in charproc.c
15491    (Purify told me they weren't initialized).</li>
15492
15493    <li>add interpretation of codes 39, 49, to reset background and
15494    foreground to default value (I'm told that ISO 6429 does this;
15495    but I don't have a written reference -- yet -- can anyone help
15496    here?). Anyway, rxvt does it, and it'll solve my remaining
15497    color management problems.</li>
15498
15499    <li>shadowing of 'time' in menu.c</li>
15500
15501    <li>'Cardinal' vs 'int' in scrollbar.c</li>
15502
15503    <li>several changes to permit compile with X11R5 (the system
15504    that I've got Purify on won't be upgraded to X11R6 for a long
15505    time).</li>
15506  </ul>
15507
15508  <p>I built this version (with a minor nit that I'll patch soon)
15509  on SunOS 4.1.3 so that I can test it some more with Purify.</p>
15510
15511  <p><em>btw</em>: the changes made in Xpoll.h won't work on some
15512  older systems, because fd_set isn't a defined type (I've got one
15513  machine at least that this applies to).</p>
15514
15515  <h1><a name="xterm_06" id="xterm_06">Patch #6 - 1996/1/8</a></h1>
15516
15517  <p>This patch does all of the SGR foreground/background fixes
15518  (i.e., clearing the screen after an SGR color is set causes that
15519  color to be used in the foreground and/or background). If the
15520  FG_COLOR and/or BG_COLOR flags aren't set, then the xterm
15521  foreground and background default to the window's values. This
15522  usage is consistent with various types of hardware (especially
15523  the IBM PC), and is also used in rxvt.</p>
15524
15525  <ul>
15526    <li>charproc.c:
15527      <ul>
15528        <li>add/use new macros GET_FG, GET_BG - n/c.</li>
15529
15530        <li>add/use new functions SGR_Foreground() and
15531        SGR_Background() to set corresponding colors in GC's, and
15532        to retain sense of "original" colors.
15533          <p>=&gt; This makes redundant some of the corresponding
15534          logic in HideCursor to set the foreground and background,
15535          but I left it in since it <em>may</em> be fixing an
15536          unrelated requirement.</p>
15537        </li>
15538
15539        <li>set GC's in LoadNewFont() according to whether the SGR
15540        fg/bg colors are active.
15541          <p>=&gt; This fixes some glitches in the accompanying
15542          resize, that leaves parts of the window in the original
15543          background color.</p>
15544        </li>
15545      </ul>
15546    </li>
15547
15548    <li>screen.c:
15549      <ul>
15550        <li>modified ClearBufRows() to use the SGR fg/bg colors if
15551        they're set.</li>
15552
15553        <li>added function ScrnClearLines(), used this to replace
15554        portions of ScrnInsertLine() and ScrnDeleteLine(). The new
15555        function uses the SGR fg/bg colors if they're set.
15556          <p>=&gt; Otherwise, selection after an index or reverse
15557          index will paint the wrong colors.</p>
15558        </li>
15559
15560        <li>modified ScrnDeleteChar() and ScrnInsertChar() to use
15561        SGR fg/bg colors.</li>
15562      </ul>
15563    </li>
15564
15565    <li>util.c:
15566      <ul>
15567        <li>modified ClearRight() so that if either of the SGR
15568        fg/bg colors is set, we don't bzero the attributes and
15569        color arrays, but instead fill them with the appropriate
15570        codes.</li>
15571
15572        <li>modified ClearLeft to use SGR fg/bg colors.</li>
15573      </ul>
15574    </li>
15575  </ul>
15576
15577  <h1><a name="xterm_05" id="xterm_05">Patch #5 - 1996/1/7</a></h1>
15578
15579  <p>This patch modifies the object code, by replacing indexing
15580  expressions with temporary variables with the full indexing
15581  expression. At first glance, this seems inefficient (it did to me
15582  ;-), until remembering comments made in the compilers newsgroups
15583  that trying to "help" the compiler doesn't really work that well.
15584  A good optimizing compiler can do a better job than the
15585  programmer can. (There's a moral in the use of 'register'
15586  variables also, but I won't fix those...).</p>
15587
15588  <p>Anyway, the revised code generates a smaller object...</p>
15589
15590  <ul>
15591    <li>charproc.c:
15592      <ul>
15593        <li>recode index expressions in ShowCursor() and
15594        HideCursor() using SCRN_BUF_xxxxS macros - changes
15595        object.</li>
15596
15597        <li>replace constant '4' by MAX_PTRS - n/c.</li>
15598      </ul>
15599    </li>
15600
15601    <li>ptyx.h:
15602      <ul>
15603        <li>defined the SCRN_BUF_xxxxS macros in terms of BUF_xxxxS
15604        macros, to pick up references to ScrnBuf data directly, and
15605        added MAX_PTRS symbol to pick up those '4' constants strewn
15606        about the code - n/c.</li>
15607      </ul>
15608    </li>
15609
15610    <li>screen.c:
15611      <ul>
15612        <li>recode index expressions in ScreenWrite() using
15613        SCRN_BUF_xxxxS macros - changes object.</li>
15614
15615        <li>replace constant '4' by MAX_PTRS - n/c.</li>
15616
15617        <li>use macros BUF_CHARS, BUF_ATTRS - n/c.</li>
15618
15619        <li>cast calloc to 'Char *' to fix compiler warning on IRIX
15620        - n/c</li>
15621      </ul>
15622    </li>
15623
15624    <li>scrollbar.c:
15625      <ul>
15626        <li>replace constant '4' by MAX_PTRS - n/c.</li>
15627
15628        <li>cast calloc to 'Char *' to fix compiler warning on IRIX
15629        - n/c</li>
15630      </ul>
15631    </li>
15632  </ul>
15633
15634  <h1><a name="xterm_04" id="xterm_04">Patch #4 - 1996/1/7</a></h1>
15635
15636  <p>When setting up for this phase, I saw that you'd corrected the
15637  bug that I found in ClearLeft. I decided to make this series of
15638  patches anyway, since readability never hurt (and there's the
15639  potential for finding another bug while reviewing this set).</p>
15640
15641  <ul>
15642    <li>button.c:
15643      <ul>
15644        <li>use SCRN_BUF_xxxxS macros - n/c</li>
15645      </ul>
15646    </li>
15647
15648    <li>charproc.c:
15649      <ul>
15650        <li>use SCRN_BUF_xxxxS macros - n/c</li>
15651      </ul>
15652    </li>
15653
15654    <li>ptyx.h:
15655      <ul>
15656        <li>added four macros: SCRN_BUF_CHARS, SCRN_BUF_ATTRS,
15657        SCRN_BUF_FORES, SCRN_BUF_BACKS to represent the four arrays
15658        that are derived from screen-&gt;buf.</li>
15659      </ul>
15660    </li>
15661
15662    <li>screen.c:
15663      <ul>
15664        <li>use SCRN_BUF_xxxxS macros - n/c</li>
15665      </ul>
15666    </li>
15667
15668    <li>util.c:
15669      <ul>
15670        <li>use SCRN_BUF_xxxxS macros - n/c</li>
15671      </ul>
15672    </li>
15673  </ul>
15674
15675  <h1><a name="xterm_03" id="xterm_03">Patch #3 - 1996/1/7</a></h1>
15676
15677  <p>This is my third (and final cleanup) patch for xterm. It gets
15678  rid of the unused stuff, and converts several functions to static
15679  (thereby reducing their scope).</p>
15680
15681  <p>At this point, the only compile warnings I've got (on Linux)
15682  are those about the select arguments (int vs fd_set type), and a
15683  missing declaration for waitpid. Those both are hard to get right
15684  without autoconfigure.</p>
15685
15686  <p>The next patches will address the functional changes...</p>
15687
15688  <ul>
15689    <li>Tekproc.c:
15690      <ul>
15691        <li>changed several functions to 'static' that aren't used
15692        outside this module -- changes object</li>
15693      </ul>
15694    </li>
15695
15696    <li>charproc.c:
15697      <ul>
15698        <li>changed several functions to 'static' that aren't used
15699        outside this module -- changes object</li>
15700
15701        <li>deleted unused function unparsefputs -- changes
15702        object.</li>
15703      </ul>
15704    </li>
15705
15706    <li>main.c:
15707      <ul>
15708        <li>changed several functions to 'static' that aren't used
15709        outside this module -- changes object</li>
15710
15711        <li>ifdef'd out unused function 'consolepr()' -- changes
15712        object</li>
15713
15714        <li>removed unused variable 'dummy_tio' -- changes
15715        object</li>
15716
15717        <li>moved variable 'discipline' to quiet unused-warning --
15718        changes object</li>
15719      </ul>
15720    </li>
15721
15722    <li>main.h:
15723      <ul>
15724        <li>deleted unused definition of DEFBORDERWIDTH - n/c</li>
15725      </ul>
15726    </li>
15727
15728    <li>misc.c:
15729      <ul>
15730        <li>changed several functions to 'static' that aren't used
15731        outside this module -- changes object</li>
15732
15733        <li>provide dummy return statements for xerror and xioerror
15734        to quiet compiler warnings -- changes object</li>
15735      </ul>
15736    </li>
15737
15738    <li>ptyx.h:
15739      <ul>
15740        <li>change sbuf_address and abuf_address to 'Char *' -
15741        n/c</li>
15742      </ul>
15743    </li>
15744
15745    <li>resize.c:
15746      <ul>
15747        <li>changed several functions to 'static' that aren't used
15748        outside this module -- changes object</li>
15749      </ul>
15750    </li>
15751
15752    <li>screen.c:
15753      <ul>
15754        <li>remove unnecessary 'Char **' casts - n/c</li>
15755      </ul>
15756    </li>
15757
15758    <li>util.c:
15759      <ul>
15760        <li>changed several functions to 'static' that aren't used
15761        outside this module -- changes object</li>
15762      </ul>
15763    </li>
15764  </ul>
15765
15766  <h1><a name="xterm_02" id="xterm_02">Patch #2 - 1996/1/7</a></h1>
15767
15768  <p>This is my second patch to xterm. It corrects most of the gcc
15769  warnings (except for some that are due to X header files ;-). I
15770  compared objects to keep track of the changes that don't affect
15771  the object code (n/c) versus those that do.</p>
15772
15773  <p>At this point, I'm compiling (fairly) clean with gcc
15774  options</p>
15775
15776  <pre>
15777        -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wnested-externs
15778</pre>
15779  <p>(I also compiled with -Wshadow, but while that found some
15780  things that I wanted to find, there's far too many warnings from
15781  the X headers to be usable in this context).</p>
15782
15783  <p>The changes:</p>
15784
15785  <ul>
15786    <li>Tekproc.c:
15787      <ul>
15788        <li>parenthesized expression to avoid gcc warning --
15789        n/c.</li>
15790
15791        <li>corrected nested-extern declaration for Bool
15792        waiting_for_initial_map; ourTopLevelShellArgs, and
15793        number_ourTopLevelShellArgs - n/c</li>
15794      </ul>
15795    </li>
15796
15797    <li>charproc.c:
15798      <ul>
15799        <li>corrected potentially-unintialized variables 'scstype',
15800        'xim', and 'input_style' -- changes object.</li>
15801
15802        <li>adjusted logic of VTparse so that gcc won't warn about
15803        setjmp clobbering parsestate -- changes object.</li>
15804
15805        <li>corrected initialization of 'scstype', which could have
15806        been clobbered by setjmp/longjmp - changes object.</li>
15807
15808        <li>corrected nested-extern declaration of 'term',
15809        'ProgramName' - n/c</li>
15810      </ul>
15811    </li>
15812
15813    <li>cursor.c:
15814      <ul>
15815        <li>corrected nested-extern declaration of 'term' --
15816        n/c</li>
15817
15818        <li>renamed 'term' parameters to avoid gcc -Wshadow warning
15819        - n/c</li>
15820      </ul>
15821    </li>
15822
15823    <li>input.c:
15824      <ul>
15825        <li>change interface of StringInput to assume size_t (i.e.,
15826        unsigned) nbytes -- changes object.</li>
15827
15828        <li>change interface of funcvalue, and sunfuncvalue to use
15829        'KeySym' type instead of 'int' - changes object.</li>
15830      </ul>
15831    </li>
15832
15833    <li>main.c:
15834      <ul>
15835        <li>moved definitions of SIGNAL_T, SIGNAL_RETURN to proto.h
15836        - n/c</li>
15837
15838        <li>corrected missing params of 'do_hangup()' -- changes
15839        object (note: the missing params were not used).</li>
15840
15841        <li>corrected missing param of 'Error()' -- changes
15842        object</li>
15843
15844        <li>corrected nested-extern 'environ' - n/c</li>
15845
15846        <li>adjusted assignments to 'tty_got_hung' and 'no_dev_tty'
15847        so that gcc can see they won't be clobbered by the longjmp
15848        - changes object.</li>
15849
15850        <li>use Size_t type - n/c.</li>
15851      </ul>
15852    </li>
15853
15854    <li>menu.c:
15855      <ul>
15856        <li>removed redundant prototype for 'do_hangup()' --
15857        n/c.</li>
15858
15859        <li>renamed 'time' parameters to avoid gcc -Wshadow warning
15860        - n/c</li>
15861      </ul>
15862    </li>
15863
15864    <li>menu.h:
15865      <ul>
15866        <li>renamed 'time' parameters to avoid gcc -Wshadow warning
15867        - n/c</li>
15868      </ul>
15869    </li>
15870
15871    <li>misc.c:
15872      <ul>
15873        <li>corrected definition of 'HandleFocusChange()' --
15874        changes object</li>
15875
15876        <li>cast parameters in call to 'TekExpose()' -- n/c</li>
15877
15878        <li>corrected nested-extern declarations of 'term',
15879        'toplevel', ProgramName, and 'environ' -- n/c.</li>
15880
15881        <li>use Size_t type - n/c.</li>
15882      </ul>
15883    </li>
15884
15885    <li>proto.h:
15886      <ul>
15887        <li>moved definition of SIGNAL_T (and SIGNAL_RETURN) here
15888        from main.c, resize.c to allow use of this symbol in
15889        prototypes (mostly in xterm.h).</li>
15890
15891        <li>added definition 'Size_t' to use as corrected type for
15892        strncpy, malloc sizes - n/c.</li>
15893      </ul>
15894    </li>
15895
15896    <li>resize.c:
15897      <ul>
15898        <li>moved SIGNAL_T definition to proto.h -- n/c.</li>
15899
15900        <li>use Size_t type - n/c.</li>
15901      </ul>
15902    </li>
15903
15904    <li>screen.c:
15905      <ul>
15906        <li>use Size_t type - n/c.</li>
15907      </ul>
15908    </li>
15909
15910    <li>tabs.c:
15911      <ul>
15912        <li>corrected nested-extern declaration of 'term' --
15913        n/c</li>
15914      </ul>
15915    </li>
15916
15917    <li>util.c:
15918      <ul>
15919        <li>corrected/supplied parameters to 'TekExpose()' --
15920        changes object (note: 'TekExpose()' doesn't use its
15921        parameters).</li>
15922
15923        <li>corrected nested-extern declaration of
15924        'waiting_for_initial_map' -- n/c.</li>
15925
15926        <li>renamed 'term' parameters to avoid gcc -Wshadow warning
15927        - n/c</li>
15928      </ul>
15929    </li>
15930
15931    <li>xterm.h:
15932      <ul>
15933        <li>prototype 'do_hangup()', 'HandleFocusChange()',
15934        'TekExpose()', 'Error()', 'Exit()' - forces changes in
15935        various places.</li>
15936
15937        <li>adjusted prototypes that pass 'Boolean' arguments to
15938        use 'int' (this is the "correct" ANSI approach to extended
15939        compiles; it's worth mentioning that gcc doesn't meet the
15940        ANSI spec here). I used gcc -Wconversion to find these, but
15941        there's a lot of unrelated warnings that are due to setting
15942        NARROWPROTO in the config - n/c.</li>
15943
15944        <li>renamed 'term' parameters to avoid gcc -Wshadow warning
15945        - n/c</li>
15946      </ul>
15947    </li>
15948  </ul>
15949
15950  <h1><a name="xterm_01" id="xterm_01">Patch #1 - 1996/1/6</a></h1>
15951
15952  <p>This is my first cleanup patch for xterm. It addresses all of
15953  the gcc warnings for -Wall, -Wmissing-prototypes and
15954  -Wstrict-prototypes that I can change without modifying the
15955  object code. (I'm compiling this with gcc 2.7.0 for an aout
15956  target, which makes it simple to compare objects. When I do
15957  ELF-only, I've got a tool that compares that sort of thing as
15958  well).</p>
15959
15960  <p>Briefly, this patch adds (and uses) two header files in the
15961  xterm directory:</p>
15962
15963  <pre>
15964        proto.h
15965        xterm.h
15966</pre>
15967  <p>I expect this to be the biggest patch by far. However (barring
15968  a misplaced prototype), it shouldn't break anything, since the
15969  intent of the patch is to provide missing declarations.</p>
15970</body>
15971</html>
15972