xterm.log.html revision 0bd37d32
1<!--
2 *****************************************************************************
3 * this file is part of xterm                                                *
4 *                                                                           *
5 * Copyright 1997-2012,2013 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.1351 2013/05/28 00:01:55 tom Exp $
34  -->
35<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
36
37<html>
38<head>
39  <meta name="generator" content=
40  "HTML Tidy for Linux (vers 25 March 2009), see www.w3.org">
41
42  <title>XTERM - Change Log</title>
43  <link rev="MADE" href="mailto:dickey@invisible-island.net">
44  <meta http-equiv="Content-Type" content=
45  "text/html; charset=us-ascii">
46  <link rel="SHORTCUT ICON" href="/img/icons/xterm.ico" type=
47  "image/x-icon">
48</head>
49
50<body>
51  <hr>
52
53  <p>Copyright &copy; 1997-2012,2013 by <a href=
54  "mailto:dickey@invisible-island.net">Thomas E. Dickey</a></p>
55  <hr>
56
57  <h1>Contents</h1>
58
59  <p><a href=
60  "http://invisible-island.net/xterm/xterm.log.html">Here</a> is
61  the latest version of this file.</p>
62
63  <p>It began as a list of the changes that I made for xterm, using
64  the notes that I added when submitting a patch. You should note
65  that other changes were made as well, by other people, to fix
66  bugs and correct ifdef's for portability. Until mid-2006, most of
67  these were summarized in the XFree86 <a href=
68  "http://cvsweb.xfree86.org/cvsweb/xc/programs/Xserver/hw/xfree86/CHANGELOG">
69  CHANGELOG</a>).</p>
70
71  <ul>
72    <li><a href="#xterm_293">Patch #293 - 2013/05/27</a></li>
73
74    <li><a href="#xterm_292">Patch #292 - 2013/04/25</a></li>
75
76    <li><a href="#xterm_291">Patch #291 - 2013/02/26</a></li>
77
78    <li><a href="#xterm_290">Patch #290 - 2013/02/12</a></li>
79
80    <li><a href="#xterm_289">Patch #289 - 2013/02/08</a></li>
81
82    <li><a href="#xterm_288">Patch #288 - 2013/01/09</a></li>
83
84    <li><a href="#xterm_287">Patch #287 - 2012/11/25</a></li>
85
86    <li><a href="#xterm_286">Patch #286 - 2012/10/29</a></li>
87
88    <li><a href="#xterm_285">Patch #285 - 2012/10/23</a></li>
89
90    <li><a href="#xterm_284">Patch #284 - 2012/10/14</a></li>
91
92    <li><a href="#xterm_283">Patch #283 - 2012/10/09</a></li>
93
94    <li><a href="#xterm_282">Patch #282 - 2012/09/28</a></li>
95
96    <li><a href="#xterm_281">Patch #281 - 2012/06/26</a></li>
97
98    <li><a href="#xterm_280">Patch #280 - 2012/06/24</a></li>
99
100    <li><a href="#xterm_279">Patch #279 - 2012/05/10</a></li>
101
102    <li><a href="#xterm_278">Patch #278 - 2012/01/18</a></li>
103
104    <li><a href="#xterm_277">Patch #277 - 2012/01/07</a></li>
105
106    <li><a href="#xterm_276">Patch #276 - 2011/10/10</a></li>
107
108    <li><a href="#xterm_275">Patch #275 - 2011/09/11</a></li>
109
110    <li><a href="#xterm_274">Patch #274 - 2011/09/05</a></li>
111
112    <li><a href="#xterm_273">Patch #273 - 2011/08/25</a></li>
113
114    <li><a href="#xterm_272">Patch #272 - 2011/08/24</a></li>
115
116    <li><a href="#xterm_271">Patch #271 - 2011/07/14</a></li>
117
118    <li><a href="#xterm_270">Patch #270 - 2011/04/26</a></li>
119
120    <li><a href="#xterm_269">Patch #269 - 2011/02/19</a></li>
121
122    <li><a href="#xterm_268">Patch #268 - 2011/02/10</a></li>
123
124    <li><a href="#xterm_267">Patch #267 - 2010/11/20</a></li>
125
126    <li><a href="#xterm_266">Patch #266 - 2010/10/24</a></li>
127
128    <li><a href="#xterm_265">Patch #265 - 2010/10/22</a></li>
129
130    <li><a href="#xterm_264">Patch #264 - 2010/10/14</a></li>
131
132    <li><a href="#xterm_263">Patch #263 - 2010/10/13</a></li>
133
134    <li><a href="#xterm_262">Patch #262 - 2010/8/30</a></li>
135
136    <li><a href="#xterm_261">Patch #261 - 2010/6/28</a></li>
137
138    <li><a href="#xterm_260">Patch #260 - 2010/6/20</a></li>
139
140    <li><a href="#xterm_259">Patch #259 - 2010/6/5</a></li>
141
142    <li><a href="#xterm_258">Patch #258 - 2010/5/1</a></li>
143
144    <li><a href="#xterm_257">Patch #257 - 2010/4/22</a></li>
145
146    <li><a href="#xterm_256">Patch #256 - 2010/3/6</a></li>
147
148    <li><a href="#xterm_255">Patch #255 - 2010/1/21</a></li>
149
150    <li><a href="#xterm_254">Patch #254 - 2010/1/6</a></li>
151
152    <li><a href="#xterm_253">Patch #253 - 2009/12/10</a></li>
153
154    <li><a href="#xterm_252">Patch #252 - 2009/12/7</a></li>
155
156    <li><a href="#xterm_251">Patch #251 - 2009/11/11</a></li>
157
158    <li><a href="#xterm_250">Patch #250 - 2009/10/13</a></li>
159
160    <li><a href="#xterm_249">Patch #249 - 2009/10/1</a></li>
161
162    <li><a href="#xterm_248">Patch #248 - 2009/9/11</a></li>
163
164    <li><a href="#xterm_247">Patch #247 - 2009/8/30</a></li>
165
166    <li><a href="#xterm_246">Patch #246 - 2009/8/16</a></li>
167
168    <li><a href="#xterm_245">Patch #245 - 2009/8/12</a></li>
169
170    <li><a href="#xterm_244">Patch #244 - 2009/8/9</a></li>
171
172    <li><a href="#xterm_243">Patch #243 - 2009/3/28</a></li>
173
174    <li><a href="#xterm_242">Patch #242 - 2009/2/15</a></li>
175
176    <li><a href="#xterm_241">Patch #241 - 2009/1/26</a></li>
177
178    <li><a href="#xterm_240">Patch #240 - 2009/1/25</a></li>
179
180    <li><a href="#xterm_239">Patch #239 - 2009/1/8</a></li>
181
182    <li><a href="#xterm_238">Patch #238 - 2008/12/30</a></li>
183
184    <li><a href="#xterm_237">Patch #237 - 2008/09/14</a></li>
185
186    <li><a href="#xterm_236">Patch #236 - 2008/07/27</a></li>
187
188    <li><a href="#xterm_235">Patch #235 - 2008/04/20</a></li>
189
190    <li><a href="#xterm_234">Patch #234 - 2008/03/02</a></li>
191
192    <li><a href="#xterm_233">Patch #233 - 2008/02/24</a></li>
193
194    <li><a href="#xterm_232">Patch #232 - 2008/01/30</a></li>
195
196    <li><a href="#xterm_231">Patch #231 - 2008/01/05</a></li>
197
198    <li><a href="#xterm_230">Patch #230 - 2007/12/31</a></li>
199
200    <li><a href="#xterm_229">Patch #229 - 2007/8/12</a></li>
201
202    <li><a href="#xterm_228">Patch #228 - 2007/7/22</a></li>
203
204    <li><a href="#xterm_227">Patch #227 - 2007/6/27</a></li>
205
206    <li><a href="#xterm_226">Patch #226 - 2007/6/17</a></li>
207
208    <li><a href="#xterm_225">Patch #225 - 2007/3/24</a></li>
209
210    <li><a href="#xterm_224">Patch #224 - 2007/2/11</a></li>
211
212    <li><a href="#xterm_223">Patch #223 - 2006/11/30</a></li>
213
214    <li><a href="#xterm_222">Patch #222 - 2006/10/17</a></li>
215
216    <li><a href="#xterm_221">Patch #221 - 2006/10/1</a></li>
217
218    <li><a href="#xterm_220">Patch #220 - 2006/9/10</a></li>
219
220    <li><a href="#xterm_219">Patch #219 - 2006/9/4</a></li>
221
222    <li><a href="#xterm_218">Patch #218 - 2006/8/27</a></li>
223
224    <li><a href="#xterm_217">Patch #217 - 2006/8/20</a></li>
225
226    <li><a href="#xterm_216">Patch #216 - 2006/8/3</a></li>
227
228    <li><a href="#xterm_215">Patch #215 - 2006/6/19 - XFree86
229    4.6.99.2</a></li>
230
231    <li><a href="#xterm_214">Patch #214 - 2006/6/18 - XFree86
232    4.6.99.2</a></li>
233
234    <li><a href="#xterm_213">Patch #213 - 2006/4/30 - XFree86
235    4.5.99.905</a></li>
236
237    <li><a href="#xterm_212">Patch #212 - 2006/4/9 - XFree86
238    4.5.99.904</a></li>
239
240    <li><a href="#xterm_211">Patch #211 - 2006/3/19 - XFree86
241    4.5.99.902</a></li>
242
243    <li><a href="#xterm_210">Patch #210 - 2006/3/12 - XFree86
244    4.5.99.902</a></li>
245
246    <li><a href="#xterm_209">Patch #209 - 2006/2/12 - XFree86
247    4.5.99.22</a></li>
248
249    <li><a href="#xterm_208">Patch #208 - 2006/1/3 - XFree86
250    4.5.99.19</a></li>
251
252    <li><a href="#xterm_207">Patch #207 - 2005/11/13 - XFree86
253    4.5.99.16</a></li>
254
255    <li><a href="#xterm_206">Patch #206 - 2005/11/3 - XFree86
256    4.5.99.15</a></li>
257
258    <li><a href="#xterm_205">Patch #205 - 2005/9/18 - XFree86
259    4.5.99.12</a></li>
260
261    <li><a href="#xterm_204">Patch #204 - 2005/8/4 - XFree86
262    4.5.99.9</a></li>
263
264    <li><a href="#xterm_203">Patch #203 - 2005/7/6 - XFree86
265    4.5.99.7</a></li>
266
267    <li><a href="#xterm_202">Patch #202 - 2005/5/2 - XFree86
268    4.5.99.3</a></li>
269
270    <li><a href="#xterm_201">Patch #201 - 2005/4/21 - XFree86
271    4.5.99.2</a></li>
272
273    <li><a href="#xterm_200">Patch #200 - 2005/2/6 - XFree86
274    4.4.99.23</a></li>
275
276    <li><a href="#xterm_199">Patch #199 - 2005/1/17 - XFree86
277    4.4.99.22</a></li>
278
279    <li><a href="#xterm_198">Patch #198 - 2005/1/13 - XFree86
280    4.4.99.21</a></li>
281
282    <li><a href="#xterm_197">Patch #197 - 2004/11/30 - XFree86
283    4.4.99.19</a></li>
284
285    <li><a href="#xterm_196">Patch #196 - 2004/8/15 - XFree86
286    4.4.99.12</a></li>
287
288    <li><a href="#xterm_195">Patch #195 - 2004/8/8 - XFree86
289    4.4.99.11</a></li>
290
291    <li><a href="#xterm_194">Patch #194 - 2004/7/27 - XFree86
292    4.4.99.11</a></li>
293
294    <li><a href="#xterm_193">Patch #193 - 2004/7/19 - XFree86
295    4.4.99.10</a></li>
296
297    <li><a href="#xterm_192">Patch #192 - 2004/7/12 - XFree86
298    4.4.99.9</a></li>
299
300    <li><a href="#xterm_191">Patch #191 - 2004/6/6 - XFree86
301    4.4.99.7</a></li>
302
303    <li><a href="#xterm_190">Patch #190 - 2004/5/25 - XFree86
304    4.4.99.6</a></li>
305
306    <li><a href="#xterm_189">Patch #189 - 2004/5/16 - XFree86
307    4.4.99.6</a></li>
308
309    <li><a href="#xterm_188">Patch #188 - 2004/5/12 - XFree86
310    4.4.99.6</a></li>
311
312    <li><a href="#xterm_187">Patch #187 - 2004/4/27 - XFree86
313    4.4.99.4</a></li>
314
315    <li><a href="#xterm_186">Patch #186 - 2004/4/18 - XFree86
316    4.4.99.4</a></li>
317
318    <li><a href="#xterm_185">Patch #185 - 2004/3/3 - XFree86
319    4.4</a></li>
320
321    <li><a href="#xterm_184">Patch #184 - 2003/12/31 - XFree86
322    4.3.99.903</a></li>
323
324    <li><a href="#xterm_183">Patch #183 - 2003/12/26 - XFree86
325    4.3.99.903</a></li>
326
327    <li><a href="#xterm_182">Patch #182 - 2003/12/2 - XFree86
328    4.3.99.901</a></li>
329
330    <li><a href="#xterm_181">Patch #181 - 2003/10/26 - XFree86
331    4.3.99.15</a></li>
332
333    <li><a href="#xterm_180">Patch #180 - 2003/10/12 - XFree86
334    4.3.99.15</a></li>
335
336    <li><a href="#xterm_179">Patch #179 - 2003/5/21 - XFree86
337    4.3.99.5</a></li>
338
339    <li><a href="#xterm_178">Patch #178 - 2003/5/18 - XFree86
340    4.3.99.5</a></li>
341
342    <li><a href="#xterm_177">Patch #177 - 2003/3/23 - XFree86
343    4.3.0</a></li>
344
345    <li><a href="#xterm_176">Patch #176 - 2003/3/22 - XFree86
346    4.3.0</a></li>
347
348    <li><a href="#xterm_175">Patch #175 - 2003/3/9 - XFree86
349    4.3.0</a></li>
350
351    <li><a href="#xterm_174">Patch #174 - 2003/2/25 - XFree86
352    4.2.99.903</a></li>
353
354    <li><a href="#xterm_173">Patch #173 - 2003/2/6 - XFree86
355    4.2.99.902</a></li>
356
357    <li><a href="#xterm_172">Patch #172 - 2002/12/27 - XFree86
358    4.2.99.3</a></li>
359
360    <li><a href="#xterm_171">Patch #171 - 2002/12/12 - XFree86
361    4.2.99.3</a></li>
362
363    <li><a href="#xterm_170">Patch #170 - 2002/10/13 - XFree86
364    4.2.1</a></li>
365
366    <li><a href="#xterm_169">Patch #169 - 2002/10/5 - XFree86
367    4.2.1</a></li>
368
369    <li><a href="#xterm_168">Patch #168 - 2002/9/29 - XFree86
370    4.2.1</a></li>
371
372    <li><a href="#xterm_167">Patch #167 - 2002/8/24 - XFree86
373    4.2.0</a></li>
374
375    <li><a href="#xterm_166">Patch #166 - 2002/3/25 - XFree86
376    4.2.0</a></li>
377
378    <li><a href="#xterm_165">Patch #165 - 2002/1/5 - XFree86
379    4.1.0</a></li>
380
381    <li><a href="#xterm_164">Patch #164 - 2001/11/13 - XFree86
382    4.1.0</a></li>
383
384    <li><a href="#xterm_163">Patch #163 - 2001/11/04 - XFree86
385    4.1.0</a></li>
386
387    <li><a href="#xterm_162">Patch #162 - 2001/10/23 - XFree86
388    4.1.0</a></li>
389
390    <li><a href="#xterm_161">Patch #161 - 2001/10/10 - XFree86
391    4.1.0</a></li>
392
393    <li><a href="#xterm_160">Patch #160 - 2001/10/7 - XFree86
394    4.1.0</a></li>
395
396    <li><a href="#xterm_159">Patch #159 - 2001/9/19 - XFree86
397    4.1.0</a></li>
398
399    <li><a href="#xterm_158">Patch #158 - 2001/9/8 - XFree86
400    4.1.0</a></li>
401
402    <li><a href="#xterm_157">Patch #157 - 2001/6/18 - XFree86
403    4.1.0</a></li>
404
405    <li><a href="#xterm_156">Patch #156 - 2001/4/28 - XFree86
406    4.0.3</a></li>
407
408    <li><a href="#xterm_155">Patch #155 - 2001/4/20 - XFree86
409    4.0.3</a></li>
410
411    <li><a href="#xterm_154">Patch #154 - 2001/4/11 - XFree86
412    4.0.3</a></li>
413
414    <li><a href="#xterm_153">Patch #153 - 2001/3/29 - XFree86
415    4.0.3</a></li>
416
417    <li><a href="#xterm_152">Patch #152 - 2001/3/13 - XFree86
418    4.0.2</a></li>
419
420    <li><a href="#xterm_151">Patch #151 - 2001/3/10 - XFree86
421    4.0.2</a></li>
422
423    <li><a href="#xterm_150">Patch #150 - 2000/12/29 - XFree86
424    4.0.2</a></li>
425
426    <li><a href="#xterm_149">Patch #149 - 2000/12/6 - XFree86
427    4.0.1h</a></li>
428
429    <li><a href="#xterm_148">Patch #148 - 2000/10/31 - XFree86
430    4.0.1d</a></li>
431
432    <li><a href="#xterm_147">Patch #147 - 2000/10/26 - XFree86
433    4.0.1c</a></li>
434
435    <li><a href="#xterm_146">Patch #146 - 2000/9/12 - XFree86
436    4.0.1c</a></li>
437
438    <li><a href="#xterm_145">Patch #145 - 2000/9/11 - XFree86
439    4.0.1c</a></li>
440
441    <li><a href="#xterm_144">Patch #144 - 2000/8/23 - XFree86
442    4.0.1b</a></li>
443
444    <li><a href="#xterm_143">Patch #143 - 2000/8/19 - XFree86
445    4.0.1b</a></li>
446
447    <li><a href="#xterm_142">Patch #142 - 2000/8/18 - XFree86
448    4.0.1b</a></li>
449
450    <li><a href="#xterm_141">Patch #141 - 2000/8/14 - XFree86
451    4.0.1b</a></li>
452
453    <li><a href="#xterm_140">Patch #140 - 2000/7/23 - XFree86
454    4.0.1</a></li>
455
456    <li><a href="#xterm_139">Patch #139 - 2000/6/17 - XFree86
457    4.0d</a></li>
458
459    <li><a href="#xterm_138">Patch #138 - 2000/6/15 - XFree86
460    4.0c</a></li>
461
462    <li><a href="#xterm_137">Patch #137 - 2000/6/10 - XFree86
463    4.0b</a></li>
464
465    <li><a href="#xterm_136">Patch #136 - 2000/6/3 - XFree86
466    4.0b</a></li>
467
468    <li><a href="#xterm_135">Patch #135 - 2000/5/29 - XFree86
469    4.0b</a></li>
470
471    <li><a href="#xterm_134">Patch #134 - 2000/5/28 - XFree86
472    4.0b</a></li>
473
474    <li><a href="#xterm_133">Patch #133 - 2000/5/2 - XFree86
475    4.0a</a></li>
476
477    <li><a href="#xterm_132">Patch #132 - 2000/4/11 - XFree86
478    4.0a</a></li>
479
480    <li><a href="#xterm_131">Patch #131 - 2000/3/3 - XFree86
481    3.9.18b</a></li>
482
483    <li><a href="#xterm_130">Patch #130 - 2000/3/1 - XFree86
484    3.9.18a</a></li>
485
486    <li><a href="#xterm_129">Patch #129 - 2000/2/26 - XFree86
487    3.9.18a</a></li>
488
489    <li><a href="#xterm_128">Patch #128 - 2000/2/17 - XFree86
490    3.9.18</a></li>
491
492    <li><a href="#xterm_127">Patch #127 - 2000/2/12 - XFree86
493    3.9.17e</a></li>
494
495    <li><a href="#xterm_126">Patch #126 - 2000/2/8 - XFree86
496    3.9.17c</a></li>
497
498    <li><a href="#xterm_125">Patch #125 - 2000/1/31 - XFree86
499    3.9.17c</a></li>
500
501    <li><a href="#xterm_124">Patch #124 - 2000/1/27 - XFree86
502    3.9.17b</a></li>
503
504    <li><a href="#xterm_123">Patch #123 - 2000/1/22 - XFree86
505    3.9.17a</a></li>
506
507    <li><a href="#xterm_122">Patch #122 - 1999/12/28 - XFree86
508    3.9.16f</a></li>
509
510    <li><a href="#xterm_121">Patch #121 - 1999/11/14 - XFree86
511    3.9.16c</a></li>
512
513    <li><a href="#xterm_120">Patch #120 - 1999/10/28 - XFree86
514    3.9.16c</a></li>
515
516    <li><a href="#xterm_119">Patch #119 - 1999/10/16 - XFree86
517    3.9.16c</a></li>
518
519    <li><a href="#xterm_118">Patch #118 - 1999/10/5 - XFree86
520    3.9.16b</a></li>
521
522    <li><a href="#xterm_117">Patch #117 - 1999/9/29 - XFree86
523    3.9.16b</a></li>
524
525    <li><a href="#xterm_116">Patch #116 - 1999/9/25 - XFree86
526    3.9.16a</a></li>
527
528    <li><a href="#xterm_115">Patch #115 - 1999/9/18 - XFree86
529    3.9.16a</a></li>
530
531    <li><a href="#xterm_114">Patch #114 - 1999/9/15 - XFree86
532    3.9.16</a></li>
533
534    <li><a href="#xterm_113">Patch #113 - 1999/8/15 - XFree86
535    3.9.15b</a></li>
536
537    <li><a href="#xterm_112">Patch #112 - 1999/7/17 - XFree86
538    3.9Pw</a></li>
539
540    <li><a href="#xterm_111">Patch #111 - 1999/7/10 - XFree86
541    3.9Pw</a></li>
542
543    <li><a href="#xterm_110">Patch #110 - 1999/6/29 - XFree86
544    3.9Pu</a></li>
545
546    <li><a href="#xterm_109">Patch #109 - 1999/6/23 - XFree86
547    3.9Pt</a></li>
548
549    <li><a href="#xterm_108">Patch #108 - 1999/6/19 - XFree86
550    3.9Ps</a></li>
551
552    <li><a href="#xterm_107">Patch #107 - 1999/6/12 - XFree86
553    3.9Pq</a></li>
554
555    <li><a href="#xterm_106">Patch #106 - 1999/6/9 - XFree86
556    3.9Pq</a></li>
557
558    <li><a href="#xterm_105">Patch #105 - 1999/6/5 - XFree86
559    3.9Pp</a></li>
560
561    <li><a href="#xterm_104">Patch #104 - 1999/5/30 - XFree86
562    3.9Pn</a></li>
563
564    <li><a href="#xterm_103">Patch #103 - 1999/5/14 - XFree86
565    3.9Pm</a></li>
566
567    <li><a href="#xterm_102">Patch #102 - 1999/5/12 - XFree86
568    3.9Pm</a></li>
569
570    <li><a href="#xterm_101">Patch #101 - 1999/5/10 - XFree86
571    3.9Pm</a></li>
572
573    <li><a href="#xterm_100">Patch #100 - 1999/5/3 - XFree86
574    3.9Pl</a></li>
575
576    <li><a href="#xterm_99">Patch #99 - 1999/5/2 - XFree86
577    3.9Pk</a></li>
578
579    <li><a href="#xterm_98">Patch #98 - 1999/4/26 - XFree86
580    3.9Pk</a></li>
581
582    <li><a href="#xterm_97">Patch #97 - 1999/4/25 - XFree86
583    3.9Pk</a></li>
584
585    <li><a href="#xterm_96">Patch #96 - 1999/4/19 - XFree86
586    3.9Pj</a></li>
587
588    <li><a href="#xterm_95">Patch #95 - 1999/4/5 - XFree86
589    3.9Ph</a></li>
590
591    <li><a href="#xterm_94">Patch #94 - 1999/3/27 - XFree86
592    3.9Pf</a></li>
593
594    <li><a href="#xterm_93">Patch #93 - 1999/3/14 - XFree86
595    3.9Pd</a></li>
596
597    <li><a href="#xterm_92">Patch #92 - 1999/2/5 - XFree86
598    3.9Nz</a></li>
599
600    <li><a href="#xterm_91">Patch #91 - 1999/1/21 - XFree86
601    3.9Nw</a></li>
602
603    <li><a href="#xterm_90">Patch #90 - 1998/12/13 - XFree86
604    3.9Nq</a></li>
605
606    <li><a href="#xterm_89">Patch #89 - 1998/11/20 - XFree86
607    3.9Nm</a></li>
608
609    <li><a href="#xterm_88">Patch #88 - 1998/10/31 - XFree86 3.9Nk
610    and 3.3.2h</a></li>
611
612    <li><a href="#xterm_87">Patch #87 - 1998/10/21 - XFree86 3.9Nj
613    and 3.3.2f</a></li>
614
615    <li><a href="#xterm_86">Patch #86 - 1998/10/14 - XFree86 3.9Nj
616    and 3.3.2e</a></li>
617
618    <li><a href="#xterm_85">Patch #85 - 1998/10/12 - XFree86 3.9Nj
619    and 3.3.2e</a></li>
620
621    <li><a href="#xterm_84">Patch #84 - 1998/10/9 - XFree86 3.9Ni
622    and 3.3.2e</a></li>
623
624    <li><a href="#sync_83">Resync #83 - 1998/10/7 - XFree86
625    3.3.2e</a></li>
626
627    <li><a href="#xterm_83">Patch #83 - 1998/8/25 - XFree86
628    3.9Nb</a></li>
629
630    <li><a href="#xterm_82">Patch #82 - 1998/7/15 - XFree86
631    3.9Aj</a></li>
632
633    <li><a href="#xterm_81">Patch #81 - 1998/7/14 - XFree86
634    3.9Aj</a></li>
635
636    <li><a href="#xterm_80">Patch #80 - 1998/6/29 - XFree86
637    3.9Ai</a></li>
638
639    <li><a href="#xterm_79">Patch #79 - 1998/6/28 - XFree86
640    3.9Ai</a></li>
641
642    <li><a href="#xterm_78">Patch #78 - 1998/6/3 - XFree86 3.9Ah
643    and 3.3.2</a></li>
644
645    <li><a href="#xterm_77">Patch #77 - 1998/5/26 - XFree86 3.9Ah
646    and 3.3.2</a></li>
647
648    <li><a href="#xterm_76">Patch #76 - 1998/5/8 - XFree86 3.9Ah
649    and 3.3.2</a></li>
650
651    <li><a href="#xterm_75">Patch #75 - 1998/5/7 - XFree86 3.9Ah
652    and 3.3.2</a></li>
653
654    <li><a href="#xterm_74">Patch #74 - 1998/4/27 - XFree86 3.9Ag
655    and 3.3.2</a></li>
656
657    <li><a href="#xterm_73">Patch #73 - 1998/4/25 - XFree86 3.9Ag
658    and 3.3.2</a></li>
659
660    <li><a href="#xterm_72">Patch #72 - 1998/4/17 - XFree86 3.9Ag
661    and 3.3.2</a></li>
662
663    <li><a href="#xterm_71">Patch #71 - 1998/4/12 - XFree86 3.9Ag
664    and 3.3.2</a></li>
665
666    <li><a href="#xterm_70">Patch #70 - 1998/3/29 - XFree86 3.9Af
667    and 3.3.2</a></li>
668
669    <li><a href="#xterm_69">Patch #69 - 1998/3/16 - XFree86 3.9Ad
670    and 3.3.2</a></li>
671
672    <li><a href="#xterm_68">Patch #68 - 1998/3/4 - XFree86 3.9Ad
673    and 3.3.1z</a></li>
674
675    <li><a href="#xterm_67">Patch #67 - 1998/2/23 - XFree86 3.9Ad
676    and 3.3.1e</a></li>
677
678    <li><a href="#xterm_66">Patch #66 - 1998/2/16 - XFree86 3.9Ad
679    and 3.3.1d</a></li>
680
681    <li><a href="#xterm_65">Patch #65 - 1998/2/14 - XFree86 3.9Ad
682    and 3.3.1c</a></li>
683
684    <li><a href="#xterm_64">Patch #64 - 1998/2/8 - XFree86
685    3.9Ad</a></li>
686
687    <li><a href="#xterm_63">Patch #63 - 1998/2/5 - XFree86
688    3.9Ad</a></li>
689
690    <li><a href="#xterm_62">Patch #62 - 1998/1/23 - XFree86
691    3.9Ac</a></li>
692
693    <li><a href="#xterm_61">Patch #61 - 1998/1/17 - XFree86
694    3.9Ac</a></li>
695
696    <li><a href="#xterm_60">Patch #60 - 1998/1/10 - XFree86
697    3.9Ab</a></li>
698
699    <li><a href="#xterm_59">Patch #59 - 1998/1/5 - XFree86
700    3.9Ab</a></li>
701
702    <li><a href="#xterm_58">Patch #58 - 1998/1/3 - XFree86
703    3.9Ab</a></li>
704
705    <li><a href="#xterm_57">Patch #57 - 1997/12/26 - XFree86
706    3.9Aa</a></li>
707
708    <li><a href="#xterm_56">Patch #56 - 1997/11/28 - XFree86
709    3.9x</a></li>
710
711    <li><a href="#xterm_55">Patch #55 - 1997/11/25 - XFree86
712    3.9x</a></li>
713
714    <li><a href="#xterm_54">Patch #54 - 1997/10/17 - XFree86
715    3.9s</a></li>
716
717    <li><a href="#xterm_53">Patch #53 - 1997/10/12 - XFree86
718    3.9r</a></li>
719
720    <li><a href="#xterm_52">Patch #52 - 1997/9/29 - XFree86
721    3.9q</a></li>
722
723    <li><a href="#xterm_51">Patch #51 - 1997/9/15 - XFree86
724    3.9p</a></li>
725
726    <li><a href="#xterm_50">Patch #50 - 1997/8/22 - XFree86
727    3.9m</a></li>
728
729    <li><a href="#xterm_49">Patch #49 - 1997/8/10 - XFree86
730    3.9k</a></li>
731
732    <li><a href="#xterm_48">Patch #48 - 1997/7/26 - XFree86
733    3.9j</a></li>
734
735    <li><a href="#xterm_47">Patch #47 - 1997/7/13 - XFree86
736    3.9i</a></li>
737
738    <li><a href="#xterm_46">Patch #46 - 1997/7/4 - XFree86
739    3.9h</a></li>
740
741    <li><a href="#xterm_45">Patch #45 - 1997/7/2 - XFree86
742    3.9h</a></li>
743
744    <li><a href="#xterm_44">Patch #44 - 1997/6/22 - XFree86
745    3.9g</a></li>
746
747    <li><a href="#xterm_43">Patch #43 - 1997/6/10 - XFree86
748    3.9d</a></li>
749
750    <li><a href="#xterm_42">Patch #42 - 1997/6/8 - XFree86
751    3.2Xl</a></li>
752
753    <li><a href="#xterm_41">Patch #41 - 1997/5/28 - XFree86
754    3.2Xl</a></li>
755
756    <li><a href="#xterm_40">Patch #40 - 1997/5/26 - XFree86
757    3.2Xl</a></li>
758
759    <li><a href="#xterm_39">Patch #39 - 1997/5/24 - XFree86
760    3.2Xl</a></li>
761
762    <li><a href="#xterm_38">Patch #38 - 1997/5/22 - XFree86
763    3.2Xh</a></li>
764
765    <li><a href="#xterm_37">Patch #37 - 1997/5/7 - XFree86
766    3.9a</a></li>
767
768    <li><a href="#xterm_36">Patch #36 - 1997/1/16 - XFree86
769    3.2r</a></li>
770
771    <li><a href="#xterm_35">Patch #35 - 1997/1/7 - XFree86
772    3.2o</a></li>
773
774    <li><a href="#xterm_34">Patch #34 - 1997/1/5 - XFree86
775    3.2o</a></li>
776
777    <li><a href="#xterm_33">Patch #33 - 1996/11/24 - XFree86
778    3.2</a></li>
779
780    <li><a href="#xterm_32">Patch #32 - 1996/11/21 - XFree86
781    3.2</a></li>
782
783    <li><a href="#xterm_31">Patch #31 - 1996/11/16 - XFree86
784    3.2</a></li>
785
786    <li><a href="#xterm_30">Patch #30 - 1996/11/16 - XFree86
787    3.2</a></li>
788
789    <li><a href="#xterm_29">Patch #29 - 1996/9/15 - XFree86
790    3.1.2Gb</a></li>
791
792    <li><a href="#xterm_28">Patch #28 - 1996/8/31 - XFree86
793    3.1.2F</a></li>
794
795    <li><a href="#xterm_27">Patch #27 - 1996/8/21 - XFree86
796    3.1.2Ek</a></li>
797
798    <li><a href="#xterm_26">Patch #26 - 1996/8/20 - XFree86
799    3.1.2Ei</a></li>
800
801    <li><a href="#xterm_25">Patch #25 - 1996/8/18 - XFree86
802    3.1.2Ei</a></li>
803
804    <li><a href="#xterm_24">Patch #24 - 1996/8/11 - XFree86
805    3.1.2Ee</a></li>
806
807    <li><a href="#xterm_23">Patch #23 - 1996/7/31 - XFree86
808    3.1.2Ec</a></li>
809
810    <li><a href="#xterm_22">Patch #22 - 1996/7/26 - XFree86
811    3.1.2Ec</a></li>
812
813    <li><a href="#xterm_21">Patch #21 - 1996/7/24 - XFree86
814    3.1.2Ec</a></li>
815
816    <li><a href="#xterm_20">Patch #20 - 1996/7/24 - XFree86
817    3.1.2Ec</a></li>
818
819    <li><a href="#xterm_19">Patch #19 - 1996/7/21 - XFree86
820    3.1.2Ec</a></li>
821
822    <li><a href="#xterm_18">Patch #18 - 1996/7/18 - XFree86
823    3.1.2Ec</a></li>
824
825    <li><a href="#xterm_17">Patch #17 - 1996/7/2 - XFree86
826    3.1.2Eb</a></li>
827
828    <li><a href="#xterm_16">Patch #16 - 1996/6/25 - XFree86
829    3.1.2Ea</a></li>
830
831    <li><a href="#xterm_15">Patch #15 - 1996/5/29 - XFree86
832    3.1.2E</a></li>
833
834    <li><a href="#xterm_14">Patch #14 - 1996/5/12 - XFree86
835    3.1.2Dj</a></li>
836
837    <li><a href="#xterm_13">Patch #13 - 1996/4/23 - XFree86
838    3.1.2Df</a></li>
839
840    <li><a href="#xterm_12">Patch #12 - 1996/3/16 - XFree86
841    3.1.2Dc</a></li>
842
843    <li><a href="#xterm_11">Patch #11 - 1996/3/5 - XFree86
844    3.1.2Db</a></li>
845
846    <li><a href="#xterm_10">Patch #10 - 1996/2/14 - XFree86
847    3.1.2Cd</a></li>
848
849    <li><a href="#xterm_09">Patch #9 - 1996/2/10 - XFree86
850    3.1.2Cb</a></li>
851
852    <li><a href="#xterm_08">Patch #8 - 1996/2/9 - XFree86
853    3.1.2Cb</a></li>
854
855    <li><a href="#xterm_07">Patch #7 - 1996/1/28 - XFree86
856    3.1.2n</a></li>
857
858    <li><a href="#xterm_06">Patch #6 - 1996/1/8</a></li>
859
860    <li><a href="#xterm_05">Patch #5 - 1996/1/7</a></li>
861
862    <li><a href="#xterm_04">Patch #4 - 1996/1/7</a></li>
863
864    <li><a href="#xterm_03">Patch #3 - 1996/1/7</a></li>
865
866    <li><a href="#xterm_02">Patch #2 - 1996/1/7</a></li>
867
868    <li><a href="#xterm_01">Patch #1 - 1996/1/6</a></li>
869  </ul>
870
871  <h1><a name="xterm_293" id="xterm_293">Patch #293 -
872  2013/05/27</a></h1>
873
874  <ul>
875    <li>modify sample xterm.spec to use newer icon</li>
876
877    <li>add configure option <code>--with-icon-symlink</code> to
878    work around systems which map icon requests for to a single
879    "xterm" icon, but neglect to install the icon needed for window
880    decorations (report by H Merijn Brand).</li>
881
882    <li>improve parameterizing of sample xterm.spec</li>
883
884    <li>amend fix for printer from <a href="#xterm_280">patch
885    #280</a>, removing a reset of the signal handler for
886    <code>SIGCHLD</code> (report by Joe Julian).</li>
887
888    <li>set environment variable <code>XTERM_FILTER</code> if a
889    locale-filter is used.</li>
890
891    <li>enable <code>DEBUG</code> logic when
892    <code>--enable-trace</code> configure option is given.</li>
893
894    <li>improve description of <code>initialFont</code>,
895    <code>set-vt-font</code> and <code>set-tex-text</code> in
896    manpage (Debian #707899).</li>
897
898    <li>fix regression from <a href="#xterm_292">patch #292</a>;
899    selecting a word that ended at the right margin without
900    wrapping would not select the last cell (report by Christian
901    Weisgerber).</li>
902  </ul>
903
904  <h1><a name="xterm_292" id="xterm_292">Patch #292 -
905  2013/04/25</a></h1>
906
907  <ul>
908    <li>add limit-check when double-click selects a word; if the
909    saved-lines were scrolled back and the word selected wrapped at
910    the screen's lower right corner, an assertion was triggered
911    (patch by Taketo Kabe).</li>
912
913    <li>correct limit-check in <code>unsaveEditBufLines</code>,
914    fixing a case where enlarging the terminal size could show a
915    blank line where there actually is available text (patch by
916    Bertram Felgenhauer).</li>
917
918    <li>add <code>PasteControls</code> feature to
919    <code>allowWindowOps</code> which by default disallows pasting
920    control characters other than formatting such as carriage
921    return (discussion with Hayaki Saito).</li>
922
923    <li>fix typo in ctlseqs.ms for DECRQM response (patch by
924    Emanuele Giaquinta).</li>
925
926    <li>update default shown in configure <code>--help</code>
927    message for <code>--with-terminal-id</code> option (patch by
928    Andres Perera).</li>
929
930    <li>rename script/preprocessor variables used for substituting
931    the <code>backarrowKey</code> default value for consistency
932    (patch by Andres Perera).</li>
933
934    <li>set umask to 077 before creating debugging-trace
935    files.</li>
936
937    <li>add configure option <code>--disable-openpty</code> to
938    control whether openpty() may be used in preference to
939    posix_openpt().</li>
940
941    <li>improve workaround from <a href="#xterm_279">patch #279</a>
942    for BSD systems which do not complete initialization until both
943    sides of the pseudoterminal are opened, by preferring openpty()
944    function over posix_openpt() when available (report by
945    Christian Weisgerber).</li>
946  </ul>
947
948  <h1><a name="xterm_291" id="xterm_291">Patch #291 -
949  2013/02/26</a></h1>
950
951  <ul>
952    <li>add validity check for xterm widget parameter to
953    <code>AlternateScroll</code> function, needed to handle wheel
954    mouse events in the scrollbar area since <a href=
955    "#xterm_282">patch #282</a> changes which introduced
956    <code>alternateScroll</code> feature (Redhat #874327).</li>
957  </ul>
958
959  <h1><a name="xterm_290" id="xterm_290">Patch #290 -
960  2013/02/12</a></h1>
961
962  <ul>
963    <li>revert of <a href="#xterm_282">patch #282</a> change was
964    incomplete (report by Jim Reisert).</li>
965
966    <li>fix typo in manpage (report by Vincent Lefevre).</li>
967  </ul>
968
969  <h1><a name="xterm_289" id="xterm_289">Patch #289 -
970  2013/02/08</a></h1>
971
972  <ul>
973    <li>revert the <a href="#xterm_282">patch #282</a> change which
974    restored "lost" text after shrinking/growing the screen size.
975    If the screen was updated between the two resizing operations,
976    unexpected text might be shown at the end (report/testcase by
977    Joe Peterson).</li>
978
979    <li>reverse the arrow-keys sent for
980    <code>alternateScroll</code> to match the usage in browsers
981    (suggested by Dieter Roelants).</li>
982
983    <li>modify mouse reports to consistently indicate motion events
984    whether or not a button is pressed. Old behavior (since
985    <a href="#xterm_127">patch #127</a> modified encoding for wheel
986    mouse) showed only that the button was released if no button
987    had been pressed (report by Andy Koppe).</li>
988
989    <li>correct and improve behavior for SGR 1006 mouse protocol on
990    button release in any-event mode. Initial implementation in
991    <a href="#xterm_277">patch #277</a> left internal state showing
992    the last button pressed when reporting motion events. It now
993    keeps track of all buttons which have been pressed and
994    released, showing the lowest remaining button by number in the
995    response (reports by Hayaki Saito, Andy Koppe).</li>
996
997    <li>fix inconsistency between <code>TermColors</code> and
998    <code>OscTextColors</code> enums which interchanged values for
999    tektronix cursor color and highlight foreground in control
1000    sequences in <a href="#xterm_225">patch #225</a> (report/patch
1001    by Peder Stray).</li>
1002
1003    <li>fix inconsistent use of noreturn-attribute in
1004    <code>Exit</code> function which interfered with analysis by
1005    clang.</li>
1006
1007    <li>remove incorrect <code>free</code> used in computation of
1008    <code>XTERM_SHELL</code> variable, from Coverity fixes in
1009    <a href="#xterm_288">patch #288</a> (FreeBSD #175782).</li>
1010
1011    <li>add <code>--with-valgrind</code> option to configure script
1012    for consistency with my other programs.</li>
1013
1014    <li>update table of ambiguous width characters in wcwidth.c
1015    based on Unicode 6.2.0</li>
1016
1017    <li>update table of combining characters in wcwidth.c based on
1018    Unicode 6.2.0</li>
1019
1020    <li>update precompose.c based on Unicode 6.2.0</li>
1021  </ul>
1022
1023  <h1><a name="xterm_288" id="xterm_288">Patch #288 -
1024  2013/01/09</a></h1>
1025
1026  <ul>
1027    <li>fix a special case in <code>ShowCursor</code> where the
1028    foreground and background colors of the current position are
1029    the same. In that case, choose the further of the window's
1030    foreground and background colors for the cursor color.</li>
1031
1032    <li>modify <code>alternateScroll</code> feature added in
1033    <a href="#xterm_282">patch #282</a> to use either
1034    <code>CSI</code> or <code>SS3</code> according to the cursor
1035    keys application mode setting, to simplify using it in vi, etc.
1036    (suggested by Dietar Roelants).</li>
1037
1038    <li>revise manpage for <code>resize</code> to clarify the
1039    changes which <code>resize</code> may make to the terminal
1040    settings as well as to the terminal itself.</li>
1041
1042    <li>remove code such as <code>struct ttysize</code>, used for
1043    SunOS 3 and 4.</li>
1044
1045    <li>modify configure script and makefile to check for
1046    <code>groff</code> and suppress groff-specific rules if groff
1047    is not found.</li>
1048
1049    <li>modify ctlseqs.ms and makefile to work around bugs in
1050    <code>grohtml</code> which cause ".png" files to be truncated
1051    when producing html documentation.</li>
1052
1053    <li>modify suffix rules for "make docs" to make the names of
1054    the generated ".png" files predictable, helping to work around
1055    longstanding problems with this feature of groff&mdash;none of
1056    its releases work for <em>all</em> of xterm's tables..</li>
1057
1058    <li>correct typo in ctlseqs.ms for DECIC and DECDC; the
1059    character preceding the final "<code>~</code>" is an ASCII
1060    single-quote "<code>'</code>" rather than a space (report by
1061    Paul LeoNerd Evans).</li>
1062
1063    <li>update CF_GCC_VERSION macro, handling both Debian and
1064    Darwin.</li>
1065
1066    <li>improve configure script checks for the
1067    <code>--with-desktop-category</code> option. After <a href=
1068    "#xterm_280">patch #280</a> changes, if no value was given for
1069    this option, and no existing desktop files found for
1070    comparison, the incorrect "auto" value was passed into the
1071    generated desktop file (report by Julien Cristau).</li>
1072
1073    <li>modify sample build-scripts to disable check for
1074    <code>imake</code> due to code-rot in Xorg.</li>
1075
1076    <li>add <code>-v</code> command-line option to
1077    <code>resize</code>, reporting the same version string as
1078    <code>xterm</code> and the two shell-wrappers.</li>
1079
1080    <li>make name-transformation apply to other occurrences of
1081    <code>resize</code>, other manpages.</li>
1082
1083    <li>special-case the name-transformation in xterm's manpage in
1084    the NAME section so that the result works with
1085    <code>makewhatis</code> (report by Julien Cristau).</li>
1086
1087    <li>modify install-rules for manpages to put each program's
1088    respective transformed name into the header rather than
1089    xterm's.</li>
1090
1091    <li>remove deprecated files: proto.h, os2main.c</li>
1092
1093    <li>minor fixes based on Coverity scan, including:
1094
1095      <ul>
1096        <li>correct caching of Atom value for the font menu's
1097        "Selection" entry.</li>
1098
1099        <li>ensure that utmp/utmpx calls do not depend upon
1100        trailing nulls in the <code>ut_id</code> and
1101        <code>ut_line</code> values.</li>
1102      </ul>
1103    </li>
1104  </ul>
1105
1106  <h1><a name="xterm_287" id="xterm_287">Patch #287 -
1107  2012/11/25</a></h1>
1108
1109  <ul>
1110    <li>fix a case where in_put() loop could continue when it has
1111    found an X event rather than the pty, causing the pty-read to
1112    be delayed (patch by Balazs Kezes).</li>
1113
1114    <li>add option to <code>pointerMode</code> resource and
1115    corresponding control sequences to allow text-cursor to remain
1116    hidden if the pointer leaves/enters the window via accelerator
1117    keys. Ordinary motion within the window restores the pointer
1118    (prompted by patch by Balazs Kezes).</li>
1119
1120    <li>remove special case of modifiers for the
1121    <code>Mode_switch</code> and <code>XK_ISO_Level3_Shift</code>
1122    from <a href="#xterm_223">patch #223</a>. Verified that the
1123    conflict which this was intended to resolve does not happen for
1124    normal compose- or modeswitch-handling (prompted by patch by
1125    Balazs Kezes, Debian #638694).</li>
1126
1127    <li>modify the handling of focus-change events to ignore those
1128    whose detail is <code>NotifyPointer</code>, since those are
1129    sent in addition to focus-change events directed to the old/new
1130    windows having focus (prompted by patch by Balazs Kezes to
1131    prevent the urgency-hint from being reset in this
1132    scenario).</li>
1133
1134    <li>modify description of <code>iconName</code> in manpage to
1135    make it clearer that this resource does not specify the
1136    filename of an icon (discussion with Ian Collier).</li>
1137
1138    <li>modify <code>iconHint</code> resource to allow suppressing
1139    the built-in icon by setting this to "none" (discussion with
1140    Ian Collier).</li>
1141
1142    <li>make <code>-iconic</code> option work with the toolbar
1143    configuration.</li>
1144
1145    <li>correct initialization of window manager hints used to set
1146    the icon-pixmap. That detail from <a href="#xterm_282">patch
1147    #282</a> overwrote state used to control the
1148    <code>-iconic</code> command-line option (report by Ian
1149    Collier).</li>
1150
1151    <li>fix paste64 feature for the case where the selection comes
1152    from the current terminal. The selection callback can happen
1153    after the reply is partly built, making it necessary to flush
1154    the reply-buffer to keep things in the proper order (report by
1155    Ailin Nemui).</li>
1156
1157    <li>reject command-line options which are longer than the
1158    options in xterm's table, to avoid mismatches (Redhat
1159    #875305).</li>
1160
1161    <li>correct attribution for <a href="#xterm_282">patch #282</a>
1162    changes.</li>
1163  </ul>
1164
1165  <h1><a name="xterm_286" id="xterm_286">Patch #286 -
1166  2012/10/29</a></h1>
1167
1168  <ul>
1169    <li>fix <code>minstall.in</code> to work with "make docs" rule,
1170    so that patch number appears in the corresponding generated
1171    documentation.</li>
1172
1173    <li>modify <code>minstall.in</code> to keep the name shown in
1174    the heading consistent with any renaming, e.g., for
1175    test-builds.</li>
1176
1177    <li>check for misconfigured <code>printerCommand</code>
1178    resource on the first use, warn and disable it if it does not
1179    specify an executable command (Debian #691642).</li>
1180
1181    <li>improve check for window-manager name needed to establish
1182    usable default for activeIcon resource. This works around a
1183    scenario where <code>gdm</code> does incomplete cleanup,
1184    leaving window properties that refer to windows which no longer
1185    exist (Redhat #869959).</li>
1186  </ul>
1187
1188  <h1><a name="xterm_285" id="xterm_285">Patch #285 -
1189  2012/10/23</a></h1>
1190
1191  <ul>
1192    <li>add/adapt FreeBSD ports files for test-building.</li>
1193
1194    <li>modify <code>minstall.sh</code> to use the patch-number and
1195    date in the manpage footer.</li>
1196
1197    <li>add check for failure to allocate the fg/bg colors at
1198    startup, e.g., misconfiguration. Work around by setting both to
1199    the default colors (suggested by Scott Bertilson).</li>
1200
1201    <li>amend change for <a href="#xterm_280">patch #280</a> which
1202    added <code>modifyKeyboard</code>, to make
1203    <code>modifyOtherKeys</code> work (report by Ailin Nemui).</li>
1204
1205    <li>add <code>query-colors.pl</code> example for
1206    OSC&nbsp;4.</li>
1207
1208    <li>correct mis-applied fix for minstall.sh (report by Miroslav
1209    Lichvar).</li>
1210  </ul>
1211
1212  <h1><a name="xterm_284" id="xterm_284">Patch #284 -
1213  2012/10/14</a></h1>
1214
1215  <ul>
1216    <li>amend configurability changes for icons from <a href=
1217    "#xterm_283">patch #283</a>, moving the new functionality to
1218    the <code>iconHint</code> resource to avoid conflict with
1219    existing uses of the <code>iconName</code> resource in the
1220    <code>Shell</code> widget (report by Emanuel Haupt).</li>
1221
1222    <li>fix documentation errata (reports by Miroslav Lichvar):
1223
1224      <ul>
1225        <li>correct manpage default for <code>allowTcapOps</code>
1226        (see <a href="#xterm_243">patch #243</a></li>
1227
1228        <li>modify documentation for configure
1229        <code>--enable-backarrow-key</code> to match the script
1230        (see <a href="#xterm_280">patch #280</a>).</li>
1231
1232        <li>fix typo in <code>minstall.sh</code> in <a href=
1233        "#xterm_283">patch #283</a>, which made the leading-cap
1234        "Xterm" become "xterm" (patch by Miroslav).</li>
1235      </ul>
1236    </li>
1237
1238    <li>fix two typos in configure.in from <a href=
1239    "#xterm_283">patch #283</a> changes; one broke the
1240    <code>--regex</code> configure option (report by H Merijn
1241    Brand).</li>
1242  </ul>
1243
1244  <h1><a name="xterm_283" id="xterm_283">Patch #283 -
1245  2012/10/09</a></h1>
1246
1247  <ul>
1248    <li>modify makefile and script to generate appropriate renaming
1249    s/xterm/xterm-dev/ for test-package's manpage.</li>
1250
1251    <li>improve makefile rules for installing/uninstalling pixmap
1252    files, to include the newer mini- and filled- variants.</li>
1253
1254    <li>clarify change in manpage regarding <a href=
1255    "#xterm_282">patch #282</a> change to always set a
1256    window-decoration icon, even if <code>iconName</code> is not
1257    set.</li>
1258
1259    <li>add a fourth flavor of window-decoration icons,
1260    "filled-xterm" for a monochrome xterm with filled
1261    interior.</li>
1262
1263    <li>use shape-mask to improve contrast of the window-decoration
1264    icons.</li>
1265
1266    <li>minor changes to icon colors to improve contrast on
1267    bright-mud backgrounds.</li>
1268
1269    <li>drop configure checks for memmove versus bcopy, and
1270    strerror function; all currently tested platforms support
1271    these.</li>
1272
1273    <li>cleanup configure macros, as done in byacc 20121003.</li>
1274
1275    <li>improve configurability of the built-in icon selectable via
1276    the <code>iconName</code> resource.</li>
1277
1278    <li>update config.guess, config.sub</li>
1279  </ul>
1280
1281  <h1><a name="xterm_282" id="xterm_282">Patch #282 -
1282  2012/09/28</a></h1>
1283
1284  <ul>
1285    <li>improve configure check for
1286    <code>XkbKeycodeToKeysym</code>, fixing a regression on some
1287    older systems in the <a href="#xterm_280">patch #280</a>
1288    changes.</li>
1289
1290    <li>add clarification in manpage for
1291    <code>alwaysBoldMode</code> and <code>veryBoldColors</code>
1292    resources (prompted by Derek Martin question about using the
1293    former with TrueType fonts).</li>
1294
1295    <li>add <code>alternateScroll</code> resource and corresponding
1296    control sequences which modify the <code>scroll-forw</code> and
1297    <code>scroll-back</code> actions: when the alternate screen is
1298    displayed, wheel mouse up/down will send cursor keys (Debian
1299    #683942).</li>
1300
1301    <li>improve rendering for the case when a Unicode character is
1302    absent in the bold font but present in the normal font by
1303    temporarily falling back to the normal font (Debian #359006,
1304    Debian #408666).</li>
1305
1306    <li>provide configure option
1307    <code>--enable-double-buffer</code> and ifdef's to allow
1308    comparisons with/without double-buffering. The default uses
1309    normal buffering.</li>
1310
1311    <li>add feature to optionally scroll current page before
1312    clearing, controlled by resource setting
1313    <code>cdXtraScroll</code> (prompted by patch by Balazs
1314    Kezes):</li>
1315
1316    <li>integrated patches from Arch Linux forum posting (patches
1317    by Balazs Kezes):
1318
1319      <ul>
1320        <li>modify reallocation limit of line-data when resizing
1321        screen so that "lost" text will be restored if the screen
1322        is first shrunk and then grown.</li>
1323
1324        <li>modify output to use double-buffering to reduce
1325        flicker.</li>
1326      </ul>
1327    </li>
1328
1329    <li>modify <code>scroll-lock</code> action to handle
1330    on/off/toggle keywords like other actions. Previously the
1331    optional parameter was interpreted as an integer.</li>
1332
1333    <li>extend <code>DECSCUSR</code> to provide a way to set the
1334    cursor to a vertical bar (patch by Paul Bolle).</li>
1335
1336    <li>add <code>-8</code>, <code>-c</code>, <code>-d</code> and
1337    <code>-u</code> options to <code>88colors2.pl</code> and
1338    <code>256colors2.pl</code> scripts. No current terminal
1339    emulator recognizes C1 controls while handling UTF-8
1340    encoding&mdash;see notes in <a href="#xterm_119">patch #119</a>
1341    and <a href="#xterm_109">patch #109</a> regarding
1342    <code>utf8controls</code>&mdash;but the <code>-u</code> and
1343    <code>-8</code> options are useful for demonstrating this
1344    point.</li>
1345
1346    <li>improve speed when changing color palettes using OSC
1347    controls by deferring repaint while followup controls might be
1348    additional color palette changes.</li>
1349
1350    <li>modify <code>SGR&nbsp;38</code> and
1351    <code>SGR&nbsp;48</code> to accept RGB index, matching the
1352    closest entry in xterm's palette.</li>
1353
1354    <li>extend <code>SGR&nbsp;38</code> and
1355    <code>SGR&nbsp;48</code> to accept colon as parameter separator
1356    (request by Paul LeoNerd Evans).</li>
1357
1358    <li>modify <code>fullscreen</code> action to allow it to toggle
1359    the full-screen mode rather than only set or unset it (prompted
1360    by Eeri Kask's suggestion to support
1361    <code>_NET_WM_TOGGLE</code>). This implementation does not yet
1362    use <code>_NET_WM_TOGGLE</code>.</li>
1363
1364    <li>add support for <code>_NET_WM_STATE_MAXIMIZED_VERT</code>
1365    and <code>_NET_WM_STATE_MAXIMIZED_HORZ</code> EWMH properties
1366    (suggested by Eeri Kask).</li>
1367
1368    <li>make fullscreen mode work with the tek4014 window. This
1369    change makes only the currently active window to be changed to
1370    fullscreen rather than changing both windows.</li>
1371
1372    <li>modify <code>TekClear</code> function to discard pending
1373    output before clearing the tek4014 display (patch by Kevin
1374    Ryde).</li>
1375
1376    <li>fix <code>deleteIsDEL</code> feature, broken in <a href=
1377    "#xterm_280">patch #280</a> changes (report by Mike Thornburg,
1378    forwarded by Jeremy Huddleston).</li>
1379
1380    <li>fix a special case of wrapping double-width characters
1381    (report/test-case by Ken Winstein).</li>
1382
1383    <li>add <code>E3</code> extended capability to
1384    <code>xterm-basic</code> to match ncurses <a href=
1385    "http://invisible-island.net/ncurses/NEWS.html#t20120728">20120728</a>
1386    patch.</li>
1387
1388    <li>fix incorrect transformation of row-parameter for
1389    <code>ClearCurBackground</code> in <a href="#xterm_279">patch
1390    #279</a> which caused incorrect painting in some scrolling
1391    scenarios (report by Chuck Silvers).</li>
1392
1393    <li>fix typo in manpage description of <code>+maximized</code>
1394    option (Paul Maier).</li>
1395
1396    <li>change default for configure option
1397    <code>--with-xpm</code>, turning it on unless requested
1398    otherwise.</li>
1399
1400    <li>add configure option <code>--with-icon-name</code> which
1401    can be used to override the default icon used in
1402    icon-themes.</li>
1403
1404    <li>extend <code>activeIcon</code> resource to provide
1405    <code>default</code> value which tells xterm to determine the
1406    window manager's name and automatically enable the feature for
1407    fvwm and window maker. The explicit true/false values can be
1408    used to override this behavior.</li>
1409
1410    <li>add "mini" xterm icon, which scales better than the
1411    standard xterm icon, e.g., for the gnome/kde "panel"
1412    feature.</li>
1413
1414    <li>extend <code>iconName</code> resource to search for icon
1415    named according to resource value and use that if found. If not
1416    found, use compiled-in pixmap. Both set the WM_ICON_NAME
1417    property which is used by various window managers, usually for
1418    window decoration.</li>
1419
1420    <li>updated autoconf patch, adding support for --datarootdir,
1421    which changes the default location of manpages.</li>
1422
1423    <li>further improved autoconf macros for configuring icons,
1424    from vile 9.8h</li>
1425  </ul>
1426
1427  <h1><a name="xterm_281" id="xterm_281">Patch #281 -
1428  2012/06/26</a></h1>
1429
1430  <ul>
1431    <li>remove "$(srcdir)/" from install-icon rule to fix builds
1432    when --srcdir configuration option is used.</li>
1433
1434    <li>fix for configure script's search for icon file when it is
1435    not found in the current directory, e.g., when building out of
1436    tree (patch by Thierry Reding).</li>
1437
1438    <li>undo the XK_Home / XK_End change from <a href=
1439    "#xterm_280">patch #280</a> which broke the non-VT220 keyboard
1440    for those keys (report by H Merijn Brand).</li>
1441  </ul>
1442
1443  <h1><a name="xterm_280" id="xterm_280">Patch #280 -
1444  2012/06/24</a></h1>
1445
1446  <ul>
1447    <li>add configure check to work around warning from
1448    desktop-file-install for "Encoding", noting that it emits
1449    deprecation warnings without providing its version
1450    information.</li>
1451
1452    <li>add configure option <code>--with-icon-theme</code> to tell
1453    xterm whether to install into an icon theme, defaulting to
1454    "hicolor" (Redhat #755206, Redhat #799614 and Redhat
1455    #804279).</li>
1456
1457    <li>change <code>--with-icondir</code> to look for "icons"
1458    directory rather than "pixmaps" by default. Add new option
1459    <code>--with-pixmapdir</code> to allow these two uses to be
1460    installed concurrently.</li>
1461
1462    <li>modify configure options <code>--with-app-defaults</code>
1463    and <code>--with-icondir</code> to accept "auto" as value to
1464    look for existing directory from well-known locations.</li>
1465
1466    <li>add missing codes for secondary DA response which tell the
1467    type of terminal as in the primary DA response.</li>
1468
1469    <li>update primary DA response for VT420 to include user
1470    windows and horizontal scrolling.</li>
1471
1472    <li>add <code>modifyKeyboard</code> resource to support
1473    keypad-modifier changes per request by Thomas Wolff.</li>
1474
1475    <li>add XK_Home / XK_End to editing-keypad checks</li>
1476
1477    <li>add back-tab key <code>kB</code> to termcap entries to
1478    match the terminfo.</li>
1479
1480    <li>update terminfo to match corresponding entries in ncurses,
1481    e.g., add <code>XT</code> and adjust <code>sgr</code> string
1482    for xterm-bold entry.</li>
1483
1484    <li>add configure options to predefine the most commonly
1485    customized resources for terminal-settings, use those to
1486    substitute into the manpage the corresponding compiled-in
1487    values: <code>altSendsEscape</code>, <code>backarrowKey</code>,
1488    <code>backarrowKeyIsErase</code>, <code>deleteIsDEL</code>,
1489    <code>metaSendsEscape</code> (Redhat #819588).</li>
1490
1491    <li>change default emulation level to VT420 (discussion with
1492    Ailin Nemui).</li>
1493
1494    <li>improve logic for DECSCL; <a href="#xterm_279">patch
1495    279</a> partly enforced limitation of this to higher-level
1496    emulations. This patch finishes that change.</li>
1497
1498    <li>improve check for base of combining characters, preventing
1499    combination when cursor movement has intervened. Mosh's webpage
1500    gives two different examples of this, with other causes
1501    ascribed to the behavior.</li>
1502
1503    <li>modify IL/DL to set cursor to first column on row for
1504    better VT102/VT220 compatibility (prompted by code review of
1505    mosh).</li>
1506
1507    <li>separate state-table entries for DECSC/DECRC from the
1508    ANSI.SYS save/restore cursor, since the latter conflicts with
1509    DECSLRM when DECLRMM is enabled since <a href=
1510    "#xterm_279">patch #279</a> (report/analysis by Ailin
1511    Nemui).</li>
1512
1513    <li>fixes to avoid using <code>SIGCHLD</code> handler of main
1514    program in printer's subprocess (report by Joe Julian).</li>
1515
1516    <li>correct restore-parameter for mouse-modes from <a href=
1517    "#xterm_279">patch #279</a> changes.</li>
1518
1519    <li>add null-pointer checks to input-method caching added in
1520    <a href="#xterm_277">patch #277</a> to fix a problem in the
1521    exposure code, when deselecting a window (report by Kriston
1522    Rehberg).</li>
1523
1524    <li>unset <code>DESKTOP_STARTUP_ID</code> environment variable
1525    to lessen confusion on the part of GTK applications which use
1526    the variable without checking it (report by John Little).</li>
1527  </ul>
1528
1529  <h1><a name="xterm_279" id="xterm_279">Patch #279 -
1530  2012/05/10</a></h1>
1531
1532  <ul>
1533    <li>fill in missing cases in the save/restore modes feature
1534    (report by Thomas Wolff).</li>
1535
1536    <li>add check to ensure that combining characters are
1537    precomposed in the order given (report/analysis by Andries E
1538    Brouwer).</li>
1539
1540    <li>improve workability check for posix_openpt(), to take into
1541    account BSD systems which do not complete initialization until
1542    both sides of the pseudoterminal are opened (report by
1543    Christian Weisgerber).</li>
1544
1545    <li>amend fix for Debian #650291 in <a href="#xterm_277">patch
1546    #277</a> changes to account for different data returned by
1547    vnc4server (Debian #670638).</li>
1548
1549    <li>add check in DECCRA operation to make copies of blinking
1550    text also blink by updating a line-level flag.</li>
1551
1552    <li>modify rectangle operations to work with DECOM.</li>
1553
1554    <li>modify DECSERA to use the current protected state rather
1555    than preserving it.</li>
1556
1557    <li>add <code>precompose</code> resource to allow storing
1558    character data in Normalized Form D as described in <a href=
1559    "http://unicode.org/reports/tr15/">http://unicode.org/reports/tr15/</a>
1560    (report/discussion with Andries E Brouwer).</li>
1561
1562    <li>modify CBT, other ISO-6429 controls which are used by VT520
1563    to work with DECOM.</li>
1564
1565    <li>add HPR and VPR controls, ISO 6429 cursor movement used in
1566    VT520.</li>
1567
1568    <li>remove "linux" restriction for IUTF8 ifdef in main.c
1569    (prompted by Matthew Dempsky posting on
1570    mailing.openbsd.tech).</li>
1571
1572    <li>implement the remaining VT420-level device status
1573    reports.</li>
1574
1575    <li>change DECXCPR to return page 1, rather than 0.</li>
1576
1577    <li>improve VT-level checks on reporting functions, such as
1578    DECXCPR.</li>
1579
1580    <li>change limit on <code>decTerminalID</code> to 525.</li>
1581
1582    <li>fixes to improve vttest vt52 screen when running as a
1583    VT420:
1584
1585      <ul>
1586        <li>add checks for some VT2xx and up controls for
1587        consistency: DECSCL, S1C8T, S1C7T.</li>
1588
1589        <li>modify DECRQSS return for DECSCL to only return that
1590        when running as VT2xx and up.</li>
1591
1592        <li>when exiting from VT52-mode, resume in VT100 level
1593        rather than the level before starting VT52-mode.</li>
1594      </ul>
1595    </li>
1596
1597    <li>implement DECLRMM, DECSLRMM and DECNCSM (prompted by
1598    discussions with Ailin Nemui and Paul LeoNerd Evans). This
1599    modifies several controls to obey top/bottom and left/right
1600    margins.</li>
1601
1602    <li>correct macro definition used for testing modes used in
1603    ANSI/DEC request-mode controls introduced in <a href=
1604    "#xterm_262">patch #262</a>.</li>
1605
1606    <li>modify <code>x_getlogin</code> to check $LOGNAME and $USER
1607    before fallback to <code>getlogin</code>, so that user's choice
1608    for these variables can be carried forward to the xterm process
1609    (Debian #611487).</li>
1610
1611    <li>document DECSCUSR response for DECRQSS in ctlseqs.ms</li>
1612
1613    <li>add <code>zIconTitleFormat</code> resource to allow
1614    customizing the "***&nbsp;" prefixed to the icon title when the
1615    <code>zIconBeep</code> feature is activated (request by Thomas
1616    Adam).</li>
1617
1618    <li>modify DECSCUSR to update the same internal variable as
1619    RM/SM 12, and document in manpage the two variables used for
1620    controlling blinking cursor (report by Paul LeoNerd
1621    Evans).</li>
1622
1623    <li>correct response data for DECSCUSR in reply for DECRQSS
1624    response, which had inverted the blink-value (reports by Ailin
1625    Nemui, Paul LeoNerd Evans).</li>
1626
1627    <li>add a null-pointer check in <code>OkPasswd</code> macro to
1628    fix a problem in <code>resize</code> with Fedora 17 and a
1629    serial console (report/patch by Daniel Drake).</li>
1630
1631    <li>add workaround for Mac OS X, which loses the window size of
1632    a pseudo-terminal when the tty device is opened
1633    (report/analysis by Egmont Koblinger).</li>
1634
1635    <li>updated configure check for workable
1636    <code>posix_openpt</code> versus <code>grantpt</code>, from
1637    <code>luit</code> fixes.</li>
1638
1639    <li>modify DECIC/DECDC/DECBI/DECFI implemented in <a href=
1640    "#xterm_277">patch #277</a> to enable them only in VT4xx mode
1641    and up (report by Ailin Nemui).</li>
1642
1643    <li>update config.guess, config.sub</li>
1644  </ul>
1645
1646  <h1><a name="xterm_278" id="xterm_278">Patch #278 -
1647  2012/01/18</a></h1>
1648
1649  <ul>
1650    <li>correct initialization for <code>eightBitMeta</code>
1651    resource (FreeBSD #164101).</li>
1652
1653    <li>make special check for Darwin 9 (and lower) to <em>not</em>
1654    use <code>posix_openpt</code> (report by Christian Ebert).</li>
1655
1656    <li>minor fixes (adding ".ne" directives) to reduce the cases
1657    where groff's utility for generating images for tables dumps
1658    core. Most versions of groff (I've found 1.19.2 to be the most
1659    stable) dump core when attempting to report that there are too
1660    few lines on a page for a table to be shown.</li>
1661  </ul>
1662
1663  <h1><a name="xterm_277" id="xterm_277">Patch #277 -
1664  2012/01/07</a></h1>
1665
1666  <ul>
1667    <li>remove special case for ISC pseudo-terminals which attempts
1668    to open the pty in two different ways.</li>
1669
1670    <li>move call to <code>grantpt</code> before asking utempter to
1671    add a record, to work with kFreeBSD which does not update the
1672    terminal's ownership until this point (Debian #652907).</li>
1673
1674    <li>document limitation of XIM interface in manpage (Debian
1675    #230787).</li>
1676
1677    <li>cleanup error reporting with new xtermWarning
1678    function.</li>
1679
1680    <li>add configure option <code>--disable-selection-ops</code>
1681    to make the new actions optional.</li>
1682
1683    <li>add four new actions for making the selection or data
1684    directly copied from the screen (prompted by discussion in
1685    Debian #637001, as well as report by Arjen van Tol):
1686
1687      <ul>
1688        <li>exec-formatted</li>
1689
1690        <li>exec-selectable</li>
1691
1692        <li>insert-formatted</li>
1693
1694        <li>insert-selectable</li>
1695      </ul>
1696    </li>
1697
1698    <li>add <code>visualBellLine</code> resource to allow
1699    <code>visualBell</code> to flash only the current line
1700    (prompted by patch by Gertjan Halkes).</li>
1701
1702    <li>add <code>eightBitMeta</code> resource to control the
1703    features which modify or interpret the eighth bit of a key when
1704    the meta modifier key is pressed (prompted by Debian
1705    #326200).</li>
1706
1707    <li>improve discussion of <code>eightBitInput</code> in the
1708    manpage (prompted by Debian #326200).</li>
1709
1710    <li>correct logic for <code>alt-sends-escape</code> action,
1711    overlooked when implementing <code>altSendsEscape</code>
1712    resource, which still used <code>eightBitInput</code> resource
1713    value.</li>
1714
1715    <li>add a workaround for <code>XAllocColor()</code>, which does
1716    not actually allocate "a read-only colormap entry corresponding
1717    to the closest RGB value supported by the hardware", but rather
1718    a rough approximation (Debian #650291).</li>
1719
1720    <li>undo parameter checks for <code>RequestResize()</code>
1721    added in <a href="#xterm_251">patch #251</a> and amended in
1722    <a href="#xterm_270">patch #270</a>, because zeros also are
1723    special cases (report by John S Urban).</li>
1724
1725    <li>modify some test-scripts to use <code>/bin/echo</code>
1726    rather than the shell's possibly-builtin <code>echo</code>, to
1727    work around broken configuration on Mac OS X, i.e., neither
1728    honoring the option nor flagging an error.</li>
1729
1730    <li>add SGR 1006, as a better technical solution than SGR 1015:
1731
1732      <ul>
1733        <li>the responses will not be confused with line-deletion
1734        and scrolling controls.</li>
1735
1736        <li>the button encoding is a little simpler, since it does
1737        not add an unnecessary 32 because the integer parameter
1738        does not have to be represented as a printable
1739        character.</li>
1740
1741        <li>the control responses for pressing and releasing a
1742        mouse button differ, allowing an application to tell which
1743        button was released.</li>
1744      </ul>
1745
1746      <p>Besides these improvements, in discussion, it was noted
1747      that urxvt's implementation of 1005 is incorrect, relying
1748      upon a locale that provides UTF-8 encoding. In contrast,
1749      vttest demonstrates a correct decoding, independent of
1750      locale.</p>
1751    </li>
1752
1753    <li>add support for urxvt SGR 1015 to address shortcoming of
1754    SGR 1005 with luit (patch by Egmont Koblinger).</li>
1755
1756    <li>add ISO and DEC controls useful for left/right
1757    scrolling.</li>
1758
1759    <li>add some changes for OpenBSD and MirBSD (adapted from patch
1760    by Thorsten Glaser):
1761
1762      <ul>
1763        <li>disable search for non-Unix96 ptys.</li>
1764
1765        <li>fix a gcc warning in
1766        <code>timestamp_filename</code></li>
1767
1768        <li>modify <code>Imakefile</code> to install xterm setgid
1769        to utmp.</li>
1770      </ul>
1771    </li>
1772
1773    <li>add/use/prefer <code>posix_openpt()</code> for opening
1774    pseudo-terminal.</li>
1775
1776    <li>modify special errno handling case in ptydata.c from
1777    <a href="#xterm_158">patch #158</a> to allow for the
1778    possibility that any platform may have special cases where
1779    "/dev/tty" is absent. For example, this can happen in a FreeBSD
1780    jail (patch by David Wolfskill).</li>
1781
1782    <li>add keyboard logic to map shift-tab into XK_ISO_Left_Tab,
1783    which is usually, not always, done by the X keyboard
1784    configuration.</li>
1785
1786    <li>portability fixes for some configure macros:
1787    <code>CF_XOPEN_SOURCE</code></li>
1788  </ul>
1789
1790  <h1><a name="xterm_276" id="xterm_276">Patch #276 -
1791  2011/10/10</a></h1>
1792
1793  <ul>
1794    <li>modify clipping limits for TrueType fonts to account for
1795    the <code>scaleHeight</code> resource setting, to work around
1796    another problem due to recent FreeType changes. In this case,
1797    the <code>DejaVu Sans Mono</code> set to pixelsize=13.5 is
1798    truncated because the font descent is reduced by FreeType to
1799    match an incorrect height metric (report by Adam Lee).</li>
1800
1801    <li>improve recovery when bitmap fonts are not installed, e.g.,
1802    so that switching font-sizes works for TrueType fonts.</li>
1803
1804    <li>modify lookup for <code>XTERM_SHELL</code> feature to allow
1805    relative pathnames.</li>
1806
1807    <li>modify abbreviation disambiguation check for command-line
1808    parameters to account for <code>-geometry</code>, whose
1809    parameter may begin with "+" or "-" (report by Scott
1810    Bertilson).</li>
1811  </ul>
1812
1813  <h1><a name="xterm_275" id="xterm_275">Patch #275 -
1814  2011/09/11</a></h1>
1815
1816  <ul>
1817    <li>add <code>ash</code>, <code>zsh</code> to known shells for
1818    <code>resize</code>.</li>
1819
1820    <li>modify <code>resize</code> to reuse the logic from
1821    <code>xterm</code> which determines the actual logon-user's
1822    shell if <code>$SHELL</code> is not set.</li>
1823
1824    <li>revert the <code>unsetenv("SHELL")</code> added in <a href=
1825    "#xterm_272">patch #272</a>.</li>
1826
1827    <li>an <code>unsetenv("SHELL")</code> added in <a href=
1828    "#xterm_272">patch #272</a> to help ensure that
1829    <code>luit</code> would get the user's shell consistently did
1830    not work as expected for cases where multiple names are in the
1831    password-file for a given uid. That was because changes in
1832    <a href="#xterm_157">patch #157</a> to handle this situation
1833    did not take into account that repeated calls to
1834    <code>getpwnam</code> and <code>getpwuid</code> return a
1835    pointer to the same static buffer. Fixed the older logic to
1836    work as intended, by ensuring that the passwd-data from each
1837    call is stored separately (report by Paul Keusemann).</li>
1838
1839    <li>adjust ifdef's for <code>putenv</code> and
1840    <code>unsetenv</code> in case only one of those is provided on
1841    a given platform.</li>
1842
1843    <li>correct comparison used in <code>ExposeContains</code>
1844    macro from <a href="#xterm_274">patch #274</a> changes, to
1845    handle window-dragging (patch by Todd Eigenschink).</li>
1846  </ul>
1847
1848  <h1><a name="xterm_274" id="xterm_274">Patch #274 -
1849  2011/09/05</a></h1>
1850
1851  <ul>
1852    <li>portability fixes for cygwin: do not define
1853    <code>SVR4</code>, and work around nonstandard header
1854    location.</li>
1855
1856    <li>ifdef'd use of <code>unsetenv</code> from <a href=
1857    "#xterm_273">patch #273</a> changes to work with Solaris 9
1858    (report by Waldemar Rachwal).</li>
1859
1860    <li>modify logic for <code>XtAppPending</code> to merge
1861    adjacent <code>Expose</code> and <code>ConfigureNotify</code>
1862    events which are redundant (report by Edward McGuire).</li>
1863
1864    <li>fix an unneeded warning message when <code>-r</code> option
1865    is given.</li>
1866
1867    <li>remove a few redundant entries from table used for helping
1868    abbreviation-checking of command-line options, makes
1869    <code>-geom</code> work again after <a href="#xterm_272">patch
1870    #272</a> changes as an abbreviation of
1871    <code>-geometry</code>.</li>
1872
1873    <li>add <code>scaleHeight</code> resource and command-line
1874    option <code>-sh</code> as workaround for some
1875    font-configurations broken by changes in FreeType 2.4.6 (report
1876    by Miroslav Hodak).</li>
1877
1878    <li>portability fixes for some configure macros:
1879    <code>CF_FUNC_TGETENT</code>, <code>CF_XOPEN_SOURCE</code>,
1880    <code>CF_X_ATHENA_LIBS</code>.</li>
1881
1882    <li>add configure option <code>--with-freetype-config</code> to
1883    improve selection over the plethora of configuration options
1884    which freetype has so far provided.</li>
1885
1886    <li>build-fix for configure <code>--enable-load-vt-fonts</code>
1887    when <code>--enable-widec</code> is not specified.</li>
1888
1889    <li>build-fixes for suppressing various features, needed after
1890    changes in patches 270, 271 and 272 (report by Brian
1891    Lindholm)</li>
1892  </ul>
1893
1894  <h1><a name="xterm_273" id="xterm_273">Patch #273 -
1895  2011/08/25</a></h1>
1896
1897  <ul>
1898    <li>build-fix for out-of-tree "make docs" rule.</li>
1899
1900    <li>correct a typo in <code>x_strdup</code>, from <a href=
1901    "#xterm_198">patch #198</a> changes.</li>
1902
1903    <li>correct initialization for <code>-e</code> option, broken
1904    in <a href="#xterm_272">patch #272</a> changes (report by
1905    Gabriele Balducci).</li>
1906
1907    <li>build-fix for out-of-tree builds to address
1908    <code>minstall</code> script changes in <a href=
1909    "#xterm_272">patch #272</a> (patch by Thierry Reding).</li>
1910  </ul>
1911
1912  <h1><a name="xterm_272" id="xterm_272">Patch #272 -
1913  2011/08/24</a></h1>
1914
1915  <ul>
1916    <li>document limitation of <code>Gtk</code> in connection with
1917    xterm's <code>-into</code> option, in the manpage (Ubuntu
1918    #806969).</li>
1919
1920    <li>improve <code>-into</code> by checking for and using the
1921    size of the window within which xterm is embedded, overriding
1922    other clues.</li>
1923
1924    <li>modify logic for <code>localeFilter</code> resource to
1925    allow that to include command-line options of luit.</li>
1926
1927    <li>improve <code>-into</code> by checking for invalid
1928    window-id, and allowing hexadecimal/decimal/octal values.</li>
1929
1930    <li>improve <code>keepSelection</code>, adding the case where
1931    the highlighting is cleared, overlooked in <a href=
1932    "#xterm_230">patch #230</a> (patch by Marco Peereboom).</li>
1933
1934    <li>improve command-line parsing to make abbreviate options
1935    work consistently across xterm-specific versus standard X
1936    toolkit options, and report cases where an abbreviated option
1937    happens to be ambiguous. In particular, <code>-d</code> now
1938    works as an abbreviation for <code>-display</code>.</li>
1939
1940    <li>fix regression in command-line parsing introduced in
1941    <a href="#xterm_271">patch #271</a> changes for Debian #629358,
1942    (Debian #637910).</li>
1943
1944    <li>split-out new termcap/terminfo building block
1945    <code>xterm+kbs</code> for configurability.</li>
1946
1947    <li>modify <code>terminfo</code> file to reflect changes in
1948    ncurses for <code>xterm-16color</code> and
1949    <code>xterm-256color</code>.</li>
1950
1951    <li>modify <code>minstall.sh</code>, etc., to reflect the
1952    default default class, <code>$TERM</code> and
1953    <code>decTerminalID</code> values.</li>
1954
1955    <li>reword <code>resize</code> manpage to reflect the fact that
1956    <code>$TERMCAP</code> is not set on all systems (patch by Alan
1957    Coopersmith).</li>
1958
1959    <li>work around combined Xaw6/Xaw7 package in DragonFlyBSD
1960    which omits the usual symbolic link to the preferred library
1961    name.</li>
1962
1963    <li>further improve build-fix for termcap systems by checking
1964    for some which are only partial implementations, e.g., termcap
1965    2.08 in CentOS 5.2</li>
1966  </ul>
1967
1968  <h1><a name="xterm_271" id="xterm_271">Patch #271 -
1969  2011/07/14</a></h1>
1970
1971  <ul>
1972    <li>omit permissions adjustments to pty on exit except for
1973    pre-Unix98 ptys, since modern implementations handle this
1974    (report by Sean C Farley).</li>
1975
1976    <li>modify logic for switching fonts between UTF-8 and
1977    non-UTF-8 encoding to not merge the derivable bold-, wide- and
1978    widebold values from the VT100 fonts. Also suppress warning
1979    when not using UTF-8 fonts if wide- and widebold-fonts cannot
1980    be derived or otherwise loaded (report by Werner
1981    Scheinast).</li>
1982
1983    <li>modify menu-creation to suppress entries which will never
1984    be used in the current configuration, rather than simply
1985    disabling them.</li>
1986
1987    <li>add resource <code>printModeImmediate</code> and menu item
1988    to allow print of screen plus saved lines to a file.</li>
1989
1990    <li>add menu item to allow runtime enable/disable of the
1991    <code>printFileOnXError</code> feature.</li>
1992
1993    <li>append a timestamp to filename used in
1994    <code>printFileOnXError</code> feature, and restrict its
1995    permissions (request by Vincent Lefevre).</li>
1996
1997    <li>add a check when cancelling cursor-blinking, in case the
1998    cursor is blinked off. Fix so that the cursor is repainted
1999    without waiting for other events, e.g., keypress (report by
2000    Ailin Nemui).</li>
2001
2002    <li>add configure <code>--with-app-class</code> option, to
2003    simplify building "xterm-dev" packages with filenames that do
2004    not conflict with conventional "xterm" packages.</li>
2005
2006    <li>corrected logic flow for DECSCL, which prevented the
2007    updated operating level from being reported via DECRQSS (report
2008    by Ailin Nemui).</li>
2009
2010    <li>corrected default for <code>brokenStringTerm</code>
2011    resource to match manpage.</li>
2012
2013    <li>add vttests/dynamic.pl</li>
2014
2015    <li>add runtime check for locale not supported by X libraries,
2016    and fallback to XA_STRING in this case (request by Bryan
2017    Henderson).</li>
2018
2019    <li>fix a special case in configure script after no FreeType
2020    libraries are found. The script was proceeding to check for a
2021    usable configuration.</li>
2022
2023    <li>add <code>xterm+tmux</code> building block to terminfo
2024    (adapted from changes proposed by Ailin Nemui and Nicholas
2025    Marriott).</li>
2026
2027    <li>improve discussion of <code>faceName</code> resource in
2028    manpage (adapted from suggestions by Jens Schweikhardt).</li>
2029
2030    <li>correct mapping of shifted up/down cursor-keys in termcap
2031    function-keys mode, i.e., resource
2032    <code>tcapFunctionKeys</code> (patch by Gertjan Halkes).</li>
2033
2034    <li>update AIX case in <code>CF_XOPEN_SOURCE</code> configure
2035    macro to add release 7.x.</li>
2036
2037    <li>modify ifdef's in <code>xterm_io.h</code> for
2038    <code>__hpux</code> to force that to use the hacked SYSV
2039    support in that file. This fixes a problem with a non-blocking
2040    socket call (patch by Paul Lampert).</li>
2041
2042    <li>improve filtering of desktop category scanning, to exclude
2043    XFCE.</li>
2044
2045    <li>modify configure script to work with systems that have both
2046    ncurses (or other terminfo) as well as a real termcap library,
2047    e.g., Slackware (report by Andrew Watts).</li>
2048
2049    <li>modify configure script to work around special case where
2050    user's environment adds compiler flags to the <code>CC</code>
2051    variable (prompted by report by Paul Lampert).</li>
2052
2053    <li>amend change for Debian #110226 so that "-h" or "-v"
2054    options cause an exit, rather than simply printing to stdout
2055    while the window is displayed (Debian #629358).</li>
2056
2057    <li>add response for <code>DECRQSS</code> which gives the
2058    setting for <code>DECSCUSR</code>.</li>
2059
2060    <li>modify AllocateTermColor() to handle
2061    <code>XtDefaultForeground</code> and
2062    <code>XtDefaultBackground</code>, which are not recognized by
2063    <code>XParseColor</code>. For example, this fixes the use of
2064    OSC&nbsp;112 when no explicit cursor color was set (report by
2065    Ailin Nemui).</li>
2066
2067    <li>handle special-case of <code>KeyPress</code> translated to
2068    <code>popup-menu</code> action (Ubuntu #756273).</li>
2069  </ul>
2070
2071  <h1><a name="xterm_270" id="xterm_270">Patch #270 -
2072  2011/04/26</a></h1>
2073
2074  <ul>
2075    <li>build-fix, e.g., for using <code>imake</code> on platforms
2076    which use the termcap library.</li>
2077
2078    <li>modify <code>utf8</code> resource to accept a name.</li>
2079
2080    <li>mention default for <code>fontWarnings</code> in manpage
2081    (report by Werner Scheinast).</li>
2082
2083    <li>split "UTF-8" menu entry into "UTF-8 Encoding" and "UTF-8
2084    Fonts" (prompted by discussion with Werner Scheinast).</li>
2085
2086    <li>gray-out font-menu entries when a font fails to load, e.g.,
2087    a bitmap font is not installed.</li>
2088
2089    <li>improve behavior when there is no app-defaults file:
2090
2091      <ul>
2092        <li>set the <code>toolBar</code> resource to false</li>
2093
2094        <li>gray-out the font menu entries where no resource is
2095        found.</li>
2096      </ul>
2097    </li>
2098
2099    <li>add configure option <code>--with-desktop-category</code>
2100    to allow customization of the ".desktop" files.</li>
2101
2102    <li>build-fix for the <code>install-desktop</code>
2103    makefile-rule, when the source/build directories differ (patch
2104    by Lo&iuml;c Minier).</li>
2105
2106    <li>add menu entry and corresponding resource which can be used
2107    to suppress all bold-fonts (discussion with Jan
2108    Engelhardt).</li>
2109
2110    <li>make internal line-size value consistent with allocated
2111    sizes of character and related arrays to ensure that bulk
2112    copying of line data, e.g., in scrolling, accounts for the
2113    padding used for pointer alignment (adapted from patch by
2114    Rajesh Mandalemula, also reported by Ali Bahar).</li>
2115
2116    <li>widen ifdef for screen-resizing logic from <a href=
2117    "#xterm_176">patch #176</a> changes to send
2118    <code>SIGWINCH</code> to process group to include any system
2119    supporting <code>ioctl(*,TIOCGPGRP,*)</code> (prompted by
2120    linux-specific patch in OpenSUSE rpm package).</li>
2121
2122    <li>add <code>printModeOnXError</code> and
2123    <code>printFileOnXError</code> resources, which allow the user
2124    to specify that xterm will write the contents of its screen to
2125    a file if it is exiting due to an X error (Debian
2126    #280457).</li>
2127
2128    <li>restore logic that made reverse-video apply to the
2129    scrollbar's foreground/background, broken in <a href=
2130    "#xterm_158">patch #158</a> (report by Bryan Ischo).</li>
2131
2132    <li>amend some of the window operations parameter-checks added
2133    in <a href="#xterm_251">patch #251</a> for the push/pop title
2134    feature, to allow the parameters used for window resizing to be
2135    -1's, which makes the corresponding values ignored rather than
2136    using the window's maximum width/height (report by Noah
2137    Friedman).</li>
2138
2139    <li>correct order of initialization for
2140    <code>translations</code> vs <code>fullscreen</code> resources
2141    to enable a special case which omits the Alt-Enter translation
2142    when <code>fullscreen</code> is disabled (Debian #612978).</li>
2143
2144    <li>update config.guess, config.sub</li>
2145  </ul>
2146
2147  <h1><a name="xterm_269" id="xterm_269">Patch #269 -
2148  2011/02/19</a></h1>
2149
2150  <ul>
2151    <li>build-fixes for <code>imake</code> (report by Heiko
2152    Berges).</li>
2153
2154    <li>modify autoconf macro CF_PKG_CONFIG to work with
2155    cross-compile environments (patch by Thierry Reding).</li>
2156
2157    <li>modify <code>MapToColorMode()</code> to favor bold over
2158    underline, matching the precedence used before <a href=
2159    "#xterm_252">patch #252</a> (report/analysis by Nicolas
2160    George).</li>
2161
2162    <li>add <code>omitTranslation</code> resource, which can be
2163    used to suppress the default translations for these features:
2164
2165      <ul>
2166        <li>fullscreen</li>
2167
2168        <li>scroll-lock</li>
2169
2170        <li>shift-fonts</li>
2171
2172        <li>wheel-mouse</li>
2173      </ul>
2174    </li>
2175
2176    <li>make the fullscreen feature configurable (Debian #612978)
2177
2178      <ul>
2179        <li>add it to the configurable list
2180        <code>disallowedWindowOps</code>.</li>
2181
2182        <li>add command-line option <code>-fullscreen</code> to
2183        allow the feature to be enabled at startup.</li>
2184
2185        <li>add resource <code>fullscreen</code> to control whether
2186        the feature is active or may be enabled.</li>
2187      </ul>
2188    </li>
2189
2190    <li>modify <code>probe_netwm_fullscreen_capability</code> for
2191    64-bit machines. Contrary to <code>XGetWindowProperty</code>
2192    manpage, that function returns 32-bit data packed as
2193    <code>long</code>'s.</li>
2194
2195    <li>eliminate copy of <code>name</code> resource, which was
2196    otherwise used only to give the terminal-description name for
2197    the tcap-query feature. Use the actual <code>$TERM</code> value
2198    instead, as derived from <code>termName</code> resource,
2199    etc.</li>
2200
2201    <li>eliminate an old inconsistency with error messages, some
2202    used the <code>-name</code> option, while others used
2203    <code>argv[0]</code>. The latter is now used consistently.</li>
2204
2205    <li>improve configure check for rpath-hack, to improve builds
2206    on systems where gcc will not search /usr/local/lib, etc.</li>
2207
2208    <li>build-fix for Xaw3d configuration (report by H Merijn
2209    Brand).</li>
2210
2211    <li>update config.guess, config.sub</li>
2212  </ul>
2213
2214  <h1><a name="xterm_268" id="xterm_268">Patch #268 -
2215  2011/02/10</a></h1>
2216
2217  <ul>
2218    <li>fix an inconsistency of the "Enable Reverse Video" checkbox
2219    in the VT Options menu. This also removes a special case added
2220    in <a href="#xterm_217">patch #217</a> which limited the effect
2221    of the <code>reverseVideo</code> resource (Debian
2222    #603808).</li>
2223
2224    <li>amend decoding of misformed UTF-8 sequences to avoid
2225    absorbing valid characters as documented in Unicode 6.0 section
2226    3.9 (report by Keith Winstein).</li>
2227
2228    <li>do not set urgency hint when window already has focus
2229    (patch by Dimitrios Christidis).</li>
2230
2231    <li>amend extended mouse-coordinate mode from <a href=
2232    "#xterm_262">patch #262</a> changes to include the <em>Cb</em>
2233    button-code, which also may be greater than 127 (report by
2234    Ailin Nemui).</li>
2235
2236    <li>ensure that underline-cursor is visible when an application
2237    happens to set the background color (report by Christian
2238    Weisgerber).</li>
2239
2240    <li>add feature for <a href=
2241    "http://www.davidsimmons.com/soft/xtermhacks/xterm-fullscreen.patch">
2242    full-screen toggling</a> using either Alt-Enter or a menu
2243    selection (integrated patch by Dave Simmons).</li>
2244
2245    <li>add missing logic to handle reallocation of FIFO index for
2246    the "UTF-8" menu entry (report by David Holland, NetBSD
2247    #44344).</li>
2248
2249    <li>add makefile rules <code>docs-ctlseqs</code>,
2250    <code>docs-xterm</code>, etc.</li>
2251
2252    <li>correct typo in description of DECRPM in control sequences
2253    document (report by Ailin Nemui).</li>
2254  </ul>
2255
2256  <h1><a name="xterm_267" id="xterm_267">Patch #267 -
2257  2010/11/20</a></h1>
2258
2259  <ul>
2260    <li>minor formatting changes to ctlseqs.ms to simplify a script
2261    which extracts the feature information. See the results in
2262    <a href=
2263    "http://invisible-island.net/xterm/xterm.faq.html#compare_versions">
2264    Comparing versions, by counting controls</a> in the xterm
2265    FAQ.</li>
2266
2267    <li>add <code>docs-clean</code> makefile rule.</li>
2268
2269    <li>add <code>copy-selection</code> action (request by Timo
2270    Juhani Lindfors, Debian #588785).</li>
2271
2272    <li>trim leading/trailing blanks from string used for
2273    "Selection" font-menu data.</li>
2274
2275    <li>trim leading/trailing blanks from color resource
2276    values.</li>
2277
2278    <li>configure script improvements:
2279
2280      <ul>
2281        <li>add workaround for removal of X11 dependency from Xt's
2282        package file (report by Robert Hooker).</li>
2283
2284        <li>add workaround for removal of fontconfig dependency
2285        from Xft's package file (report by Jeremy Huddleston).</li>
2286
2287        <li>add workaround for removal of Xmu dependency from Xaw's
2288        package file (report by Jeremy Huddleston).</li>
2289
2290        <li>improve workaround in <code>CF_X_TOOLKIT</code> macro,
2291        checking for other possible packages where Xt's
2292        dependencies may be given.</li>
2293
2294        <li>prefer <code>${name:=value}</code> to
2295        <code>${name-value}</code>, since recent bash changes break
2296        legacy support for that feature.</li>
2297      </ul>
2298    </li>
2299  </ul>
2300
2301  <h1><a name="xterm_266" id="xterm_266">Patch #266 -
2302  2010/10/24</a></h1>
2303
2304  <ul>
2305    <li>add rpm and dpkg scripts, for testing.</li>
2306
2307    <li>more fixes for Debian #600707 (report by Cyril
2308    Brulebois).</li>
2309  </ul>
2310
2311  <h1><a name="xterm_265" id="xterm_265">Patch #265 -
2312  2010/10/22</a></h1>
2313
2314  <ul>
2315    <li>fix a regression in fontname logic from <a href=
2316    "#xterm_263">patch #263</a> changes (Debian #600707, reported
2317    by Vincent Lefevre).</li>
2318
2319    <li>revert modification of any-event/any-button protocol from
2320    <a href="#xterm_263">patch #263</a> changes. It interferes with
2321    selection using a shifted mouse button (reports by Neil Bird,
2322    Bram Moolenaar).</li>
2323  </ul>
2324
2325  <h1><a name="xterm_264" id="xterm_264">Patch #264 -
2326  2010/10/14</a></h1>
2327
2328  <ul>
2329    <li>replace a null-pointer check with check for empty string in
2330    <code>xtermOpenFont</code>, to eliminate a warning message from
2331    <a href="#xterm_263">patch #263</a> changes.</li>
2332
2333    <li>build-fix for <a href="#xterm_263">patch #263</a> when
2334    toolbar is not configured (patch by Chris Clayton) (reports by
2335    Robby Workman, David Wood).</li>
2336  </ul>
2337
2338  <h1><a name="xterm_263" id="xterm_263">Patch #263 -
2339  2010/10/13</a></h1>
2340
2341  <ul>
2342    <li>corrected initialization of "misc" resource values, to
2343    ensure that xterm has allocated a copy of strings which may not
2344    have been malloc'd by the X library (Debian #600129).</li>
2345
2346    <li>modify handling of any-event/any-button mouse protocol; it
2347    now is active with any combination of key-modifiers.</li>
2348
2349    <li>add debugging feature <code>showWrapMarks</code>, which
2350    marks lines which xterm knows are wrapped, showing where a
2351    double-click will select past the end of a line.</li>
2352
2353    <li>build-fix to address change in include-guards for
2354    <code>Xlib.h</code> in ongoing Xorg edits (patch by Jeremy
2355    Huddleston).</li>
2356
2357    <li>improve <code>pointerMode</code> by continuing to watch for
2358    motion events after mouse tracking is disabled if the pointer
2359    is hidden (Debian #594856).</li>
2360
2361    <li>further extend initialization for active-icon font to check
2362    if the font was not loaded succesfully, to retry with
2363    <code>font1</code>, or as even (if TrueType fonts are used) to
2364    use a TrueType font. The retries are to help with cases as in
2365    <a href="#xterm_241">patch #241</a> where the bitmap fonts are
2366    not available.</li>
2367
2368    <li>fix special case of active-icon used when TrueType font is
2369    specified for the xterm window, from <a href="#xterm_261">patch
2370    #261</a> change. In that case, the default font's size was used
2371    for layout of the active icon's window (Debian #591265).</li>
2372  </ul>
2373
2374  <h1><a name="xterm_262" id="xterm_262">Patch #262 -
2375  2010/8/30</a></h1>
2376
2377  <ul>
2378    <li>fix a case where changing the cursor color via escape
2379    sequences did not immediately update the screen (report by
2380    Andreas Wagner).</li>
2381
2382    <li>implement ANSI and DEC request-mode control sequences. The
2383    latter includes the xterm-specific private modes such as the
2384    mouse mode. The feature is ifdef'd with the rectangle
2385    operations since its decoding overlaps that feature.</li>
2386
2387    <li>correct typo in ctlseqs.ms for response of OSC 21 (patch by
2388    Kevin Schoedel).</li>
2389
2390    <li>improve discussion of mouse tracking in ctlseqs.ms</li>
2391
2392    <li>increase an array limit used in reporting mouse events
2393    (report by Ryan Johnson).</li>
2394
2395    <li>add extended mouse-coordinates mode, allowing up to
2396    2015x2015 windows, using UTF-8 encoding (patch by Ryan
2397    Johnson).</li>
2398
2399    <li>modify manpage hyphens to conform with <a href=
2400    "http://lintian.debian.org/tags/hyphen-used-as-minus-sign.html">
2401    Debian</a>.</li>
2402  </ul>
2403
2404  <h1><a name="xterm_261" id="xterm_261">Patch #261 -
2405  2010/6/28</a></h1>
2406
2407  <ul>
2408    <li>fix regression in <code>renderFont</code> logic, from
2409    <a href="#xterm_260">patch #260</a> changes (report by Joseph
2410    Quinsey).</li>
2411  </ul>
2412
2413  <h1><a name="xterm_260" id="xterm_260">Patch #260 -
2414  2010/6/20</a></h1>
2415
2416  <ul>
2417    <li>modify <code>plink.sh</code> to work around problem linking
2418    to recent PCRE libraries.</li>
2419
2420    <li>extend <code>renderFont</code> resource to allow deferred
2421    switch to TrueType fonts without affecting existing resource
2422    settings (Debian #585620).</li>
2423
2424    <li>modify configure macro CF_X_TOOLKIT to work around omission
2425    of ICE library from ".pc" file (report by Miroslav
2426    Lichvar).</li>
2427
2428    <li>change configure script default for
2429    <code>--enable-broken-st</code> i.e., the
2430    <code>brokenStringTerm</code> feature) to normally enable it.
2431    If the corresponding resource is enabled, this feature
2432    eliminates an apparent freeze of xterm when sending mis-encoded
2433    data to the screen (Debian #584801).</li>
2434
2435    <li>document in manpage some actions which were overlooked:
2436
2437      <ul>
2438        <li>readline-button</li>
2439
2440        <li>scroll-lock</li>
2441
2442        <li>set-8-bit-control</li>
2443      </ul>
2444    </li>
2445
2446    <li>undo a change to limit-check in <code>ScrnRefresh</code> in
2447    <a href="#xterm_257">patch #257</a>, which broke
2448    <code>fastScroll</code> feature (Debian #584841).</li>
2449
2450    <li>modify handling of <code>brokenLinuxOSC</code> and
2451    <code>brokenStringTerm</code> to also sound the bell.</li>
2452
2453    <li>add control/D and control/Q to controls which will cause
2454    early exit from control string per
2455    <code>brokenStringTerm</code> resource.</li>
2456
2457    <li>improve documentation of <code>brokenStringTerm</code>
2458    resource in manpage.</li>
2459  </ul>
2460
2461  <h1><a name="xterm_259" id="xterm_259">Patch #259 -
2462  2010/6/5</a></h1>
2463
2464  <ul>
2465    <li>modify configure check for <a href=
2466    "http://invisible-island.net/luit/">luit</a> to include new
2467    aliases for the program (<code>xterm-filter</code> and
2468    <code>bluit</code>).</li>
2469
2470    <li>add workaround in <code>xtermClearLEDs()</code> to account
2471    for Xkb's override, making vttest's LED demo reset the scroll
2472    lock.</li>
2473
2474    <li>filter out client-message events when deciding whether to
2475    hide cursor, e.g., when using SCIM (patch/report by anonymous
2476    user).</li>
2477
2478    <li>improve description of <code>-bd</code> option in manpage
2479    (report by Guy Daniel Clotilde).</li>
2480
2481    <li>modify configure checks for PCRE and other libraries to use
2482    <code>pkg-config</code>, if available.</li>
2483
2484    <li>amend change from <a href="#xterm_252">patch #252</a>, to
2485    take <code>veryColorColors</code> resource into account when
2486    checking <code>colorBDMode</code> resource for TrueType fonts
2487    (report by anonymous user).</li>
2488
2489    <li>add <code>vttests/query-fonts.pl</code> script for
2490    demonstrating the <code>OSC&nbsp;50</code> font query.</li>
2491
2492    <li>improve manpage discussion of Scroll Lock feature.</li>
2493
2494    <li>improve configure macros CF_GCC_VERSION and
2495    CF_GCC_WARNINGS.</li>
2496
2497    <li>fix warnings for "clang --analyze".</li>
2498
2499    <li>change default for <code>allowScrollLock</code> resource to
2500    <code>false</code>, noting that the supposedly unused key has
2501    been useful for various rebindings (Debian #580946).</li>
2502  </ul>
2503
2504  <h1><a name="xterm_258" id="xterm_258">Patch #258 -
2505  2010/5/1</a></h1>
2506
2507  <ul>
2508    <li>add pointer-checks in <code>ScrnRefresh</code> to fix a
2509    case in rapid scrolling where an empty record is fetched from
2510    the scrollback FIFO.</li>
2511  </ul>
2512
2513  <h1><a name="xterm_257" id="xterm_257">Patch #257 -
2514  2010/4/22</a></h1>
2515
2516  <ul>
2517    <li>correct ctlseqs.ms description of OSC 17 and OSC 19 (patch
2518    by Emanuele Giaquinta).</li>
2519
2520    <li>corrected logic for <code>menuLocale</code> resource; the
2521    <code>setlocale</code> function returns the original locale
2522    only when querying.</li>
2523
2524    <li>improve filtering of translations resource, narrowing the
2525    scope of the <code>alwaysUseMods</code> to address only the
2526    translations that would cause a key to be sent to the host
2527    (report by Andrew Gaylard).</li>
2528
2529    <li>change default value of <code>menuLocale</code> resource to
2530    "C", to work around longstanding <a href=
2531    "http://invisible-island.net/xterm/xterm.faq.html#slow_menus">Xorg
2532    bug</a>.</li>
2533
2534    <li>modify handling of <code>scrollKey</code> feature to ignore
2535    XON/XOFF keys.</li>
2536
2537    <li>implement scroll-lock feature.</li>
2538
2539    <li>revise memory allocation in UTF8toLatin1() to fix an
2540    out-of-bounds index (Mandriva #54531).</li>
2541
2542    <li>compute value for first wide-character rather than assuming
2543    it is 256, fixes problem with <code>-cjk_width</code>
2544    introduced in patches <a href="#xterm_242">242</a> and <a href=
2545    "#xterm_249">249</a> (report by Thomas Wolff).</li>
2546
2547    <li>improve configure script:
2548
2549      <ul>
2550        <li>corrected check for <code>_XOPEN_SOURCE</code> for
2551        OpenSolaris.</li>
2552
2553        <li>when possible, add rpath option for libraries in
2554        unusual places</li>
2555
2556        <li>add configure option <code>--disable-rpath-hack</code>
2557        to control whether the rpath option can be added.</li>
2558      </ul>
2559    </li>
2560
2561    <li>modify <code>AllocateTermColor()</code> to separate
2562    initialization from control sequences, fixing problem from
2563    <a href="#xterm_254">patch #254</a> changes where enabling
2564    <code>allowSendEvents</code> resource prevents setting cursor
2565    color on command-line (Debian #572928).</li>
2566
2567    <li>amend logic from <a href="#xterm_185">patch #185</a> to not
2568    reallocate cell-array if processing
2569    <code>ESC&nbsp;%&nbsp;G</code> to switch from UTF-8 if already
2570    in ISO-8859-1 character set (report by Michael Koehne).</li>
2571
2572    <li>fix to avoid calling <code>XmuInternStrings()</code> with
2573    zero count (report by Johan Bockg&aring;rd).</li>
2574
2575    <li>fix build when --disable-ansi-color configure option is
2576    used.</li>
2577
2578    <li>fix build when neither OPT_TCAP_QUERY or OPT_TCAP_FKEYS is
2579    defined (patch by Matthieu Herrb)</li>
2580  </ul>
2581
2582  <h1><a name="xterm_256" id="xterm_256">Patch #256 -
2583  2010/3/6</a></h1>
2584
2585  <ul>
2586    <li>add TerminalEmulator to desktop category files.</li>
2587
2588    <li>modify <code>sinstall.sh</code> to ignore the "." appended
2589    to permissions by selinux.</li>
2590
2591    <li>change app-defaults organization, installing UXTerm-color
2592    and KOI8XTerm-color for consistent behavior regarding
2593    <code>customization:&nbsp;color</code> (prompted by discussion
2594    in Ubuntu #421261).</li>
2595
2596    <li>fix typo in <code>minstall.sh</code> from <a href=
2597    "#xterm_255">patch #255</a> changes, and add case for
2598    <code>/var/run</code> needed for full path of utmp (report by
2599    Julien Cristau).</li>
2600
2601    <li>minor fix to xterm manpage, remove a comment stating that
2602    margin bell can be changed via the VT Options menu. That was
2603    replaced in <a href="#xterm_225">patch #225</a></li>
2604
2605    <li>add a "docs" rule to makefile.</li>
2606
2607    <li>fix initialization of Atom used for <code>XkbBell</code>
2608    feature from <a href="#xterm_243">patch 243</a> changes. Unlike
2609    the other calls to <code>XInternAtom()</code>, in this case the
2610    flag telling X to create the Atom was unset (patch by Chris
2611    Adams).</li>
2612  </ul>
2613
2614  <h1><a name="xterm_255" id="xterm_255">Patch #255 -
2615  2010/1/21</a></h1>
2616
2617  <ul>
2618    <li>rename <code>install.sh</code> to <code>install-sh</code>
2619    in case suffix-rules might interfere.</li>
2620
2621    <li>extend range for <code>convertToUTF8</code> function to
2622    full 31-bits, to use with printing, etc.</li>
2623
2624    <li>improve manpage by checking for actual locations of
2625    utmp/wtmp files (Debian #562640).</li>
2626
2627    <li>modify configure macro CF_XOPEN_SOURCE to remove -D's
2628    before adding the same name rather than relying on -U's, to
2629    reduce redefinition warnings for some platforms that have
2630    conflicting definitions in headers.</li>
2631
2632    <li>correct logic used to switch to alternate screen using
2633    FIFO-lines configuration (Debian #565772).</li>
2634
2635    <li>update config.guess, config.sub</li>
2636  </ul>
2637
2638  <h1><a name="xterm_254" id="xterm_254">Patch #254 -
2639  2010/1/6</a></h1>
2640
2641  <ul>
2642    <li>add a configure-check to eliminate <code>install-ti</code>
2643    rule from Makefile when the system has no tic (terminfo
2644    compiler) program. This lets one use the
2645    <code>install-full</code> rule more consistently.</li>
2646
2647    <li>amend change to WriteText() function in <a href=
2648    "#xterm_252">patch #252</a> to take into account the
2649    <code>colorAttrMode</code> resource (report by Krzysztof
2650    Kotlenga).</li>
2651
2652    <li>document <code>titleModes</code> resource in manpage, added
2653    in <a href="#xterm_252">patch #252</a>.</li>
2654
2655    <li>modify tcap-query table entries for shifted up/down cursor
2656    keys to match ncurses convention.</li>
2657
2658    <li>improve lookup of termcap-query data, allowing for
2659    duplicate keycodes versus missing entries.</li>
2660
2661    <li>add control sequence which can be used to modify the
2662    terminal data used for the termcap-keyboard.</li>
2663
2664    <li>improve portability of tcap-query feature, using terminfo
2665    functions in preference to termcap on systems having
2666    terminfo.</li>
2667
2668    <li>improve font-setting/querying control
2669    (<code>OSC&nbsp;50</code>):
2670
2671      <ul>
2672        <li>when TrueType font is selected, the TrueType
2673        <code>faceName</code> will be set, rather than the bitmap
2674        font.</li>
2675
2676        <li>when TrueType font is selected, querying returns the
2677        name of the TrueType font.</li>
2678
2679        <li>querying a font recognizes the relative-font convention
2680        that setting a font could use.</li>
2681      </ul>
2682    </li>
2683
2684    <li>add menu-entry for allowColorOps.</li>
2685
2686    <li>add new resources for fine-tuning menu entries:
2687    <code>allowColorOps</code>, <code>disallowedColorOps</code>,
2688    <code>disallowedFontOps</code> and
2689    <code>disallowedTcapOps</code>.</li>
2690
2691    <li>correct logic for disabling the "TrueType Fonts" menu item;
2692    it was not ensuring that the <code>faceName</code> resource
2693    value was non-empty.</li>
2694
2695    <li>implement VT520-style controls <code>DECSMBV</code> and
2696    <code>DECSWBV</code> for setting the margin- and warning-bell
2697    volume.</li>
2698
2699    <li>fix a minor error from <a href="#xterm_243">patch #243</a>
2700    which made the zIconBeep feature use a minor-error tone rather
2701    than an informational tone.</li>
2702
2703    <li>add a null-pointer check for the case where
2704    <code>renderFont</code> resource is true, but
2705    <code>faceName</code> resource is unset, used in logic to strip
2706    "xft:" prefix from <a href="#xterm_251">patch #251</a> changes
2707    (patch by Michael Riepe).</li>
2708
2709    <li>add special case to configure CF_XOPEN_SOURCE macro to use
2710    extensions on Darwin (patch by Dennis Preiser).</li>
2711
2712    <li>improve configure checks for regular expressions header and
2713    library</li>
2714
2715    <li>update config.guess, config.sub</li>
2716  </ul>
2717
2718  <h1><a name="xterm_253" id="xterm_253">Patch #253 -
2719  2009/12/10</a></h1>
2720
2721  <ul>
2722    <li>add a null-pointer check in <code>getPrinterFlags()</code>
2723    per changes in <a href="#xterm_252">patch #252</a>.</li>
2724
2725    <li>add a null-pointer check, needed in UTF-8 mode for Xft
2726    fonts after changes in <a href="#xterm_252">patch #252</a>
2727    (patch by Alan Coopersmith).</li>
2728
2729    <li>correct size when clearing struct for tek4014 (patch by
2730    Jochen Voss).</li>
2731
2732    <li>parenthesize expression in <code>MoreRows</code> macro,
2733    fixing a limit check added in <a href="#xterm_251">patch
2734    #251</a> (Debian #560039).</li>
2735  </ul>
2736
2737  <h1><a name="xterm_252" id="xterm_252">Patch #252 -
2738  2009/12/7</a></h1>
2739
2740  <ul>
2741    <li>modify title-querying logic to support retrieval of titles
2742    encoded using UTF-8.</li>
2743
2744    <li>add new "title-modes" control sequence for controlling
2745    whether window/icon titles can be set or queried using UTF-8,
2746    optionally encoded in a hexadecimal string.</li>
2747
2748    <li>use <code>mkdir&nbsp;-p</code> rather than
2749    <code>mkdirs.sh</code> (prompted by discussion of mawk by
2750    Aleksey Cheusov).</li>
2751
2752    <li>add appropriate copyright/license notices to the bulk of
2753    files lacking same, and modify to use identical terms in others
2754    which used different wording. The main exceptions are the files
2755    contributed by Markus Kuhn, who appears to prefer public domain
2756    distribution, noting that I have modified/improved several of
2757    these without changing the terms of distribution (request by
2758    Jari Aalto).</li>
2759
2760    <li>add control sequences for resetting the "dynamic" colors to
2761    their default values.</li>
2762
2763    <li>add control sequences for resetting the "special" colors to
2764    their default values.</li>
2765
2766    <li>add control sequences for setting the "special" colors such
2767    as <code>colorBD</code> (bold).</li>
2768
2769    <li>add overlooked case for setting highlight foreground color
2770    with the dynamic-colors control.</li>
2771
2772    <li>add <code>OSC 104</code>, for resetting ANSI/16/88/256
2773    colors to default.</li>
2774
2775    <li>reset ANSI/16/88/256 colors to default in soft/hard reset
2776    functions.</li>
2777
2778    <li>strip "xft:" prefix from <code>faceName</code> and
2779    <code>faceNameDoublesize</code> resource values,</li>
2780
2781    <li>add <code>DECSCUSR</code> (discussion with Andy
2782    Koppe).</li>
2783
2784    <li>add check/warning on failure to load font, to see if the
2785    name looks like an Xft pattern rather than XLFD. This can
2786    happen if someone happens to modify their X resource settings
2787    for programs that read data from xterm's namespace.</li>
2788
2789    <li>modify handling of <code>print</code> and
2790    <code>print-everything</code> actions to allow the various
2791    printer flags to be overridden by supplying parameters.</li>
2792
2793    <li>add resource <code>printerNewLine</code> (request by Ovidiu
2794    Gheorghioiu).</li>
2795
2796    <li>minor cleanup, finish using <code>TScreenOf()</code> and
2797    <code>TekScreenOf()</code> macros introduced in <a href=
2798    "#xterm_224">patch #224</a>.</li>
2799
2800    <li>improve checks in ShowCursor/HideCursor to get the
2801    background color, particularly when
2802    <code>highlightReverse</code> resource is used (reports by Jan
2803    Engelhardt, Christian Weisgerber).</li>
2804
2805    <li>correct <code>checkVeryBoldAttr</code> to omit comparison
2806    of foreground color to special color values used for
2807    <code>color&lt;XX&gt;</code> resources (report by Jan
2808    Engelhardt).</li>
2809
2810    <li>make <code>colorBDMode</code> and <code>colorULMode</code>
2811    resources work with TrueType configuration (report by Jan
2812    Engelhardt).</li>
2813  </ul>
2814
2815  <h1><a name="xterm_251" id="xterm_251">Patch #251 -
2816  2009/11/11</a></h1>
2817
2818  <ul>
2819    <li>add window-ops controls to push/pop icon and/or window
2820    labels on a stack.</li>
2821
2822    <li>minor fixes to align termcap file with terminfo.</li>
2823
2824    <li>add resource <code>disallowedWindowOps</code>, to allow
2825    fine-tuning of features to suppress with the
2826    <code>allowWindowOps</code> resource (prompted by discussion
2827    with Bram Moolenaar).</li>
2828
2829    <li>add makefile rules for resize-manpage to pdf, etc.</li>
2830
2831    <li>further improve limit-checks in select/paste (Mandriva
2832    #54531).</li>
2833  </ul>
2834
2835  <h1><a name="xterm_250" id="xterm_250">Patch #250 -
2836  2009/10/13</a></h1>
2837
2838  <ul>
2839    <li>add check and error-message for fonts that have no
2840    printable values in the ISO-8859-1 range (Debian #542434).</li>
2841
2842    <li>some compiler-warning cleanup, in particular workaround for
2843    defective implementation of gcc's attribute warn_unused_result
2844    (report by Bram Moolenaar).</li>
2845
2846    <li>improve estimate of single-column width for packed TrueType
2847    fonts by ignoring extents for codes 127 and 159.</li>
2848
2849    <li>improve line-drawing for TrueType fonts which happen to
2850    have defined glyphs which are <em>not</em> line-drawing in
2851    0..31 by assuming they're not, and just checking the existence
2852    of the Unicode codepoints. This makes it more likely that the
2853    user can override a misconfigured font using the "Line-Drawing
2854    Characters" menu entry.</li>
2855
2856    <li>limit minimum cell-width for packed font to maximum-advance
2857    reported by Xft. Some fonts are wider than that, even in the
2858    Latin-1 range (Debian #550497).</li>
2859
2860    <li>add list of direct-contributors in "THANKS" file.</li>
2861
2862    <li>stylistic changes to this file to help scripted extraction
2863    of list of contributors.</li>
2864
2865    <li>correct off-by-one in <code>okPosition</code> fix from
2866    <a href="#xterm_249">patch #249</a> limit-checks which
2867    prevented double-click selection on the bottom line of the
2868    screen (reports by Rajeev V. Pillai, Debian #550368).</li>
2869
2870    <li>add <code>-q</code> option to
2871    <code>vttest/256colors2.pl</code> and
2872    <code>vttest/88colors2.pl</code> to demonstrate bulk
2873    initialization of color palette.</li>
2874
2875    <li>improve the workaround from patch #188 by enabling
2876    resources for the 88-color model.</li>
2877
2878    <li>document in xterm manpage the limited availability of
2879    resources <code>color16</code> to <code>color255</code> as
2880    noted in <a href="#xterm_188">patch #188</a> (Ubuntu
2881    #438850).</li>
2882  </ul>
2883
2884  <h1><a name="xterm_249" id="xterm_249">Patch #249 -
2885  2009/10/1</a></h1>
2886
2887  <ul>
2888    <li>change default for <code>allowWindowOps</code> resource to
2889    false. 
2890    <!-- on the other hand, gnome-terminal, pterm and rxvt-unicode
2891                leave most of the related functionality enabled ;-) --></li>
2892
2893    <li>add limit-checks for result of visual_width() function,
2894    needed from <a href="#xterm_242">patch #242</a> and exposed by
2895    #244 changes (Debian #548321).</li>
2896
2897    <li>improve limit-checks in select/paste.</li>
2898
2899    <li>fix a remaining bug from <a href="#xterm_230">patch
2900    #230</a> changes for displaying multi-column characters in a
2901    proportional font (report by Chris Jones).</li>
2902
2903    <li>add new resource forcePackedFont and menu entry "Packed
2904    Font" to control whether to use the font's minimum (default) or
2905    maximum width when those differ. The workaround which xterm
2906    uses to accommodate proportional fonts is not necessary with
2907    certain fonts such as unifont which happen to store a mixture
2908    of multicolumn glyphs (report by Chris Jones).</li>
2909
2910    <li>fix an (old) bug which did not restart the timer for
2911    blinking text if the only blinking text was temporarily
2912    scrolled out of view, e.g., using the scrollbar.</li>
2913
2914    <li>fix an (old) flaw in the delete-line operation where the
2915    text which is scrolled into view while the display is scrolled
2916    up was not repainted.</li>
2917
2918    <li>improve delete-line and insert-line operations, retaining
2919    selection when the selection does not intersect the
2920    deleted/inserted lines.</li>
2921
2922    <li>fix an (old) off-by-one error when an application cleared
2923    above the cursor position while the display was scrolled up,
2924    that would leave an extra line of text uncleared.</li>
2925
2926    <li>fix a similar problem where the double-size attribute would
2927    not be reset when clearing the screen while the display was
2928    scrolled up.</li>
2929
2930    <li>fix an indexing error which would occur if an application
2931    cleared a line while the display was scrolled up and was also
2932    in UTF-8 mode (Redhat #524503). The error was from <a href=
2933    "#xterm_228">patch #228</a> but more visible after changes from
2934    <a href="#xterm_244">patch #244</a>.</li>
2935  </ul>
2936
2937  <h1><a name="xterm_248" id="xterm_248">Patch #248 -
2938  2009/9/11</a></h1>
2939
2940  <ul>
2941    <li>fix an overlooked adjustment for selecting double-width
2942    characters in the narrow-character configuration.</li>
2943
2944    <li>eliminate uses of <code>XTERM_CELL</code> and
2945    <code>XTERM_CELLC</code> where an appropriate
2946    <code>LineData</code> pointer is available.</li>
2947
2948    <li>correct expression in <code>okScrnRow</code> macro, making
2949    selections give the length of lines below the visible screen
2950    (report by Stuart Henderson).</li>
2951
2952    <li>correct logic used to improve performance of missing-glyph
2953    check, which did not handle line-drawing characters (Debian
2954    #545220).</li>
2955  </ul>
2956
2957  <h1><a name="xterm_247" id="xterm_247">Patch #247 -
2958  2009/8/30</a></h1>
2959
2960  <ul>
2961    <li>add ifdef's and check for openpty() on DragonFly (patch by
2962    Alex Hornung).</li>
2963
2964    <li>correct calculation for size of line's data block, which
2965    was sometimes off-by-one when configured using
2966    <code>--enable-16bit-chars</code> (report by H Merijn
2967    Brand).</li>
2968
2969    <li>fix indexing error in print-everything feature from
2970    <a href="#xterm_246">patch #246</a> (patch by Ovidiu
2971    Gheorghioiu).</li>
2972  </ul>
2973
2974  <h1><a name="xterm_246" id="xterm_246">Patch #246 -
2975  2009/8/16</a></h1>
2976
2977  <ul>
2978    <li>remove obsolete logic for saving/restoring wrapping flags,
2979    which did not work on 64-bit platform. Wrapping flags (stored
2980    in the line-index) are now copied with line-data (Debian
2981    #541160).</li>
2982
2983    <li>modify comments in app-defaults files to avoid problem with
2984    C preprocessor used by <code>xrdb</code> (Debian #541603).</li>
2985
2986    <li>restore special case in <code>makeColorPair</code>, needed
2987    for <code>colorBDMode</code> resource (Debian #541089).</li>
2988
2989    <li>correct <code>SetLineFlags()</code> macro, broken in
2990    <a href="#xterm_244">patch #244</a> when recoding to avoid
2991    gcc-specific bitfields (Debian #541236).</li>
2992
2993    <li>modify initialization of screen buffers to ensure that
2994    pointers align to int-boundaries. This fixes a problem
2995    introduced in <a href="#xterm_244">patch #244</a> where the
2996    color- and character-arrays (stored after the video-attributes
2997    in each row) might be misaligned (report by Rajeev V
2998    Pillai).</li>
2999
3000    <li>add limit-check in <code>ScrnRefresh</code> for handling
3001    saved-lines from the circular buffer which are repainted on a
3002    screen whose width has increased. To improve performance,
3003    circular buffer entries are not resized (report by Rajeev V
3004    Pillai).</li>
3005
3006    <li>correct type for <code>CellColor</code> (a late change in
3007    <a href="#xterm_244">patch #244</a> to avoid gcc-specifc enums
3008    made that unsigned rather than unsigned short, for the
3009    256-color option).</li>
3010
3011    <li>fix typo in configure option --enable-16bit-chars (report
3012    by Rajeev V. Pillai).</li>
3013  </ul>
3014
3015  <h1><a name="xterm_245" id="xterm_245">Patch #245 -
3016  2009/8/12</a></h1>
3017
3018  <ul>
3019    <li>correct a special case in saving FIFO-lines from <a href=
3020    "#xterm_244">patch #244</a>. If the screen was shrunk, xterm
3021    used the wrong amount for copying to FIFO-lines, and then used
3022    this amount to adjust the current row on the screen. That was
3023    both a visible defect (Debian #541109) as well as a potential
3024    addressing error (Debian #541132, Debian #541160, and Debian
3025    #541236).</li>
3026
3027    <li>add clarification in xterm manual about the various
3028    <code>allow<em>XXX</em>Ops</code> resources, which are disabled
3029    when the <code>allowSendEvents</code> resource is active (patch
3030    by Julien Cristau, Debian #531597).</li>
3031  </ul>
3032
3033  <h1><a name="xterm_244" id="xterm_244">Patch #244 -
3034  2009/8/9</a></h1>
3035
3036  <ul>
3037    <li>refactored storage of saved-lines, providing a configure
3038    option to manage them as a FIFO (actually a circular buffer),
3039    improving performance. Added configure option
3040    <code>--enable-fifo-lines</code> to enable/disable the new
3041    feature (it is enabled by default).</li>
3042
3043    <li>added <code>fastScroll</code> resource, to amuse people who
3044    measure terminal emulator performance by <code>cat</code>'ing
3045    large files to the screen.</li>
3046
3047    <li>modify check in <code>readPtyData</code> from return values
3048    to provide exit on zero-bytes read from pty for FreeBSD, or
3049    eliminate high-CPU in "xterm-hold" processing (discussion with
3050    Ulrich Spoerlein, FreeBSD ports/136686). The check was
3051    originally modified to combine negative/zero values in
3052    XFree86-3.1.2E, 1996/05/06.</li>
3053
3054    <li>add configure option <code>--enable-16bit-chars</code> to
3055    provide wide-characters with 16-bits (rather than the default
3056    32-bits).</li>
3057
3058    <li>add <code>retryInputMethod</code> resource to allow
3059    configuring out the retries xterm uses to connect to
3060    non-responsive XIM server, to work around defective X
3061    configurations as noted in <a href=
3062    "http://mail-index.netbsd.org/tech-x11/2009/06/07/msg000511.html">
3063    NetBSD mailing list</a>.</li>
3064
3065    <li>make regular-expression selection work for VT100
3066    double-sized characters.</li>
3067
3068    <li>improve layout when drawing missing characters in a
3069    proportional font, e.g., as boxes, to take into account whether
3070    they are double-width (report by Guilbert Stabilo on
3071    comp.unix.shell).</li>
3072
3073    <li>add capability for keypad-center (kb2/KA2) to termcap entry
3074    for xterm-new, as well as xterm-8bit, xterm-sun and xterm-vt220
3075    (FreeBSD conf/136336).</li>
3076
3077    <li>change default for <code>keepSelection</code> resource to
3078    true (prompted by discussion with David Muir Sharnoff).</li>
3079
3080    <li>remove a limit-check in ptydata.c, allowing Unicode values
3081    past 64k to be displayed using TrueType fonts (Debian
3082    #458432).</li>
3083
3084    <li>remove a vt52-specific ifdef to allow mapping F1-F4 to
3085    PF1-PF4 when vt52 support is not compiled (report by Olaf
3086    'Rhialto' Seibert).</li>
3087
3088    <li>save/restore line-wrapping flags when converting from
3089    ISO-8859-1 encoding to UTF-8 encoding, as well as when resizing
3090    screen.</li>
3091
3092    <li>remove extra adjustment of position in fix for Debian
3093    #418324.</li>
3094
3095    <li>modify default check for <code>mkWidth</code> resource to
3096    check for line-drawing characters, which are categorized as
3097    double-width in Solaris 10 (report by Sebastian Kayser).</li>
3098
3099    <li>add "print-everything" action (patch by Ovidiu
3100    Gheorghioiu).</li>
3101
3102    <li>start refactoring scrollback data using new getLineData()
3103    function.</li>
3104
3105    <li>demote recent change to Debian #252873 fix to experimental,
3106    ifdef'd out as <code>EXP_BOGUS_FG</code> (Debian #522141).</li>
3107
3108    <li>work around groff mapping of ASCII quotes using macros
3109    (requested by Reuben Thomas based on Colin Watson advice, fixes
3110    Debian #378700).</li>
3111
3112    <li>correct symbol used for default of
3113    <code>allowWindowOps</code> which was
3114    <code>DEF_ALLOW_FONT</code> rather than
3115    <code>DEF_ALLOW_WINDOW</code> (report by Matthieu Herrb).</li>
3116
3117    <li>amend fix for tek4014 from <a href="#xterm_243">patch
3118    #243</a> to make it only apply to the Tek Options menu.</li>
3119  </ul>
3120
3121  <h1><a name="xterm_243" id="xterm_243">Patch #243 -
3122  2009/3/28</a></h1>
3123
3124  <ul>
3125    <li>revert change to default for <code>allowTcapOps</code>
3126    (request by Bram Moolenaar).</li>
3127
3128    <li>reallocate result returned by <code>xtermEnvLocale()</code>
3129    to avoid reference to freed memory after handling
3130    <code>menuLocale</code> resource.</li>
3131
3132    <li>fix an old (X11R5) bug in tek4014 for switching
3133    fontsizes.</li>
3134
3135    <li>add resource <code>defaultString</code> to make
3136    configurable the use of "#" when pastes of UTF-8 text fail due
3137    to limitations in the current locale settings.</li>
3138
3139    <li>make the set of selection target Atom's configurable by two
3140    new resources <code>eightBitSelectTypes</code> and
3141    <code>utf8SelectTypes</code>, e.g., to use the
3142    <code>TEXT</code> Atom in preference to
3143    <code>UTF8_STRING</code> (discussion with Stanislav Sedov
3144    regarding koi8rxterm and the FreeBSD port).</li>
3145
3146    <li>modify handling of <code>TARGETS</code> Atom by making it
3147    return exactly the set of targets as those which xterm is
3148    currently providing.</li>
3149
3150    <li>set <code>MANPAGER</code> and <code>PAGER</code> explicitly
3151    to /bin/cat in <code>minstall.sh</code> to work around
3152    /etc/man.conf's with those variables already set (report by
3153    &#1052;&#1072;&#1088;&#1100;&#1103;&#1089;&#1080;&#1085;
3154    &#1057;&#1077;&#1084;&#1105;&#1085;).</li>
3155
3156    <li>improve error-checking of tcap-query parser.</li>
3157
3158    <li>add check for keyboard <code>tcap</code>), which ensures
3159    that terminal descriptions containing the same string for
3160    shifted/unshifted keys will be seen by tcap-query as only the
3161    unshifted key. (This would only happen with an incorrect
3162    terminal description).</li>
3163
3164    <li>fix conversion for input event-state to modifier-parameter
3165    which made tcap-query feature not work with
3166    <code>tcapFunctionKeys</code> (keyboard type
3167    <code>tcap</code>).</li>
3168
3169    <li>add "DEF_ALLOW_<em>XXX</em>" definitions to main.h to allow
3170    overriding the default compiled-in values for
3171    "allow<em>xxx</em>" resources.</li>
3172
3173    <li>remove check on bell-percentage added in <a href=
3174    "#xterm_242">patch #242</a>, which disallowed zero/negative
3175    values (Redhat Bugzilla #487829).</li>
3176  </ul>
3177
3178  <h1><a name="xterm_242" id="xterm_242">Patch #242 -
3179  2009/2/15</a></h1>
3180
3181  <ul>
3182    <li>fix configure check for <code>XkbBell</code> and provide
3183    appropriate parameter for it.</li>
3184
3185    <li>fix a caching problem with double-size fonts versus reverse
3186    video that could cause core dump.</li>
3187
3188    <li>repair double-size fonts from workaround used in <a href=
3189    "#xterm_240">patch #240</a>.</li>
3190
3191    <li>add new section to the VT Fonts menu which allows enabling
3192    or disabling the font, termcap (tcap-query), title and window
3193    operations.</li>
3194
3195    <li>add <code>fontWarnings</code> resource, to control whether
3196    to show warnings on failure to load a font.</li>
3197
3198    <li>improve warnings for unloadable fonts introduced in
3199    <a href="#xterm_240">patch #240</a> by limiting those to the
3200    cases where a font would be specified directly by a resource
3201    setting rather than a derived fontname.</li>
3202
3203    <li>further amend fix for Debian #252873 from <a href=
3204    "#xterm_197">patch #197</a> to treat a blank cell which does
3205    not have both foreground and background colored as a
3206    non-colored cell. This improves a special case where the cursor
3207    is on a blank cell which had foreground color scrolled in
3208    (report by Miroslav Lichvar).
3209
3210      <p>Also add the same logic when hiding cursor, so the outline
3211      matches the in-focus cursor.</p>
3212    </li>
3213
3214    <li>modify internals to reduce places PAIRED_CHARS() is used,
3215    making WriteText() and ScrnWriteText() accept IChar array, as
3216    well as providing a wrapper for drawXtermText().</li>
3217
3218    <li>change default XIM font from "*" to "fixed" to improve
3219    startup time in zh_CN.UTF-8 locale (Mike Fabian, SuSE Bugzilla
3220    #464930).</li>
3221
3222    <li>typo in #240 log (Slava Semushin)</li>
3223  </ul>
3224
3225  <h1><a name="xterm_241" id="xterm_241">Patch #241 -
3226  2009/1/26</a></h1>
3227
3228  <ul>
3229    <li>improve checks for missing bitmap fonts, fallback to
3230    "fixed" as needed to work around broken font-packages (report
3231    by Jacek Luczak).</li>
3232
3233    <li>fix breakage from <a href="#xterm_240">patch #240</a>
3234    changes for <code>xtermAddInput()</code> (patches by Jeff Chua,
3235    Julien Cristau).</li>
3236  </ul>
3237
3238  <h1><a name="xterm_240" id="xterm_240">Patch #240 -
3239  2009/1/25</a></h1>
3240
3241  <ul>
3242    <li>use <code>plink.sh</code> for linking xterm (suggested by
3243    Larry Doolittle).</li>
3244
3245    <li>add resource descriptions for input method to xterm
3246    manpage.</li>
3247
3248    <li>update configure script; consistently append to $CFLAGS
3249    rather than prepend.</li>
3250
3251    <li>add <code>install-scripts</code> rule to makefile, to allow
3252    koi8rxterm and uxterm scripts to be altered independently of
3253    <code>install-bin</code></li>
3254
3255    <li>add <code>-maximized</code> command-line option and
3256    corresponding resource (prompted by alt.os.linux newsgroup
3257    comment).</li>
3258
3259    <li>modify translations of scrollbar widget using
3260    <code>xtermAddInput()</code> (see <a href="#xterm_181">patch
3261    #181</a>) to accept the actions that the vt100 widget accepts,
3262    such as shift-insert to perform a paste operation (request by
3263    Martin Zwickel).</li>
3264
3265    <li>change default for <code>allowTcapsOps</code> resource to
3266    false, since it causes unexpected behavior for vim users with
3267    <code>AltGr</code>.</li>
3268
3269    <li>update config.guess, config.sub</li>
3270  </ul>
3271
3272  <h1><a name="xterm_239" id="xterm_239">Patch #239 -
3273  2009/1/8</a></h1>
3274
3275  <ul>
3276    <li>correct a cast in input.c, which broke translation of
3277    numeric keypad codes to pageup, pagedown, etc., on 64-bit
3278    platform (Debian #511138, report by Larry Doolittle).</li>
3279  </ul>
3280
3281  <h1><a name="xterm_238" id="xterm_238">Patch #238 -
3282  2008/12/30</a></h1>
3283
3284  <ul>
3285    <li>update configure macro CF_XOPEN_SOURCE for AIX 6.x and Mint
3286    platforms.</li>
3287
3288    <li>reset the screen wrapping-flag at the end of
3289    <code>ClearRight</code> to fix an occasional case where the
3290    last character of a scrolled and wrapped line would be cleared
3291    (patch by Joe Peterson).</li>
3292
3293    <li>modify to use POSIX coding for comparing resource settings
3294    such as <code>locale</code>, to work with locales such as
3295    Turkish (report by M Vefa Bicakci).</li>
3296
3297    <li>turn on configure <code>paste64</code> feature by default
3298    (request by Jean-Philippe Bernardy). It is runtime
3299    enabled/disabled with <code>allowWindowOps</code>.</li>
3300
3301    <li>turn on configure <code>tcap-query</code> feature by
3302    default, add resource <code>allowTcapOps</code> to make this
3303    runtime enabled/disabled.</li>
3304
3305    <li>make <code>OSC 3</code> (change X property, from <a href=
3306    "#xterm_110">patch #110</a>) subject to
3307    <code>allowWindowOps</code> resource.</li>
3308
3309    <li>make VT220 <code>DSR</code> responses inactive in
3310    VT100-mode.</li>
3311
3312    <li>make <code>DECUDK</code> feature inactive in
3313    VT100-mode.</li>
3314
3315    <li>respond to incorrectly formatted <code>DECRQSS</code> with
3316    a cancel.</li>
3317
3318    <li>add <code>allowFontOps</code> resource to allow the
3319    fontsize-switching and font query/set control sequences to be
3320    enabled/disabled (prompted by Debian #510030).</li>
3321
3322    <li>some code cleanup based on gcc 4.x
3323    <code>-Wconversion</code> warnings in button.c and
3324    charproc.c</li>
3325
3326    <li>modify <code>tcap-query</code> feature to not return data
3327    for shifted cursor-keys when the keyboard type is set to vt220,
3328    since returning the same string for shifted/unshifted keys may
3329    confuse some applications (GenToo #212546).</li>
3330  </ul>
3331
3332  <h1><a name="xterm_237" id="xterm_237">Patch #237 -
3333  2008/09/14</a></h1>
3334
3335  <ul>
3336    <li>improve usability of TrueType fonts by making the font-size
3337    switching for shifted keypad plus/minus use the
3338    <code>faceSize</code> resources to determine the order of fonts
3339    (when TrueType fonts are used) rather than the bitmap fonts,
3340    since their sizes may not be in the same order (report by H
3341    Merijn Brand)</li>
3342
3343    <li>remove an optimization of <code>ConfigureNotify</code>
3344    events from <a href="#xterm_236">patch #236</a> which seems to
3345    interfere with passing <code>SIGWINCH</code> to applications
3346    (GenToo #233836).</li>
3347
3348    <li>modify handling of <code>altSendsEscape</code> to reset the
3349    <code>eightBitInput</code> mode, like
3350    <code>metaSendsEscape</code> (patch by Ted Phelps).</li>
3351
3352    <li>add feature to show the text-cursor as an underline rather
3353    than a box, plus command-line options <code>-uc</code> and
3354    <code>+uc</code> and resource <code>cursorUnderLine</code> to
3355    control the feature (patch by Paul Lampert).</li>
3356
3357    <li>update config.guess, config.sub</li>
3358  </ul>
3359
3360  <h1><a name="xterm_236" id="xterm_236">Patch #236 -
3361  2008/07/27</a></h1>
3362
3363  <ul>
3364    <li>correct memory reallocation when handling a paste of UTF-8
3365    text from <a href="#xterm_225">patch #225</a> changes
3366    (report/patch by Max Mikhanosha).</li>
3367
3368    <li>correct allocation of temporary buffer in
3369    <code>xtermFindShell</code> in case the user's
3370    <code>$PATH</code> contains no ":" (report/analysis by Victor
3371    Stinner, Freedesktop.Org Bugzilla #16790).</li>
3372
3373    <li>modify CF_XOPEN_SOURCE to add case for DragonFly BSD, to
3374    fix new compile problem exposed by fix for fd_mask (patch by
3375    Hasso Tepper).</li>
3376
3377    <li>add configure-check for ncurses
3378    <code>use_extended_names</code>, (report by Martin
3379    Mokrejs).</li>
3380
3381    <li>correct computation for toolbar height; layout manager
3382    already takes into account <code>borderWidth</code>
3383    resource.</li>
3384
3385    <li>implement VT320-style SCS (select character set) for ISO
3386    Latin-1 supplemental.</li>
3387
3388    <li>fixes for vt100-style character sets in UTF-8 mode (Ubuntu
3389    #230919).</li>
3390
3391    <li>fix to make <code>luit</code> work with xterm's
3392    <code>-ls</code> option (report/patch by Marius Tolzmann).</li>
3393
3394    <li>update config.guess, config.sub</li>
3395  </ul>
3396
3397  <h1><a name="xterm_235" id="xterm_235">Patch #235 -
3398  2008/04/20</a></h1>
3399
3400  <ul>
3401    <li>add control sequences for some of the recent resource/menu
3402    settings:
3403
3404      <ul>
3405        <li><code>altSendsEscape</code> (private mode 1039)</li>
3406
3407        <li><code>keepSelection</code> (private mode 1040)</li>
3408
3409        <li><code>selectToClipboard</code> (private mode 1041)</li>
3410
3411        <li><code>bellIsUrgent</code> (private mode 1042)</li>
3412
3413        <li><code>popOnBell</code> (private mode 1043)</li>
3414      </ul>
3415    </li>
3416
3417    <li>add resource <code>formatOtherKeys</code> to provide an
3418    alternate escape sequence format for the
3419    <code>modifyOtherKeys</code> resource (request by Paul LeoNerd
3420    Evans).</li>
3421
3422    <li>adjust saved-cursor position if the window is resized while
3423    displaying the alternate screen (Novell #196880, Debian
3424    #383384).</li>
3425
3426    <li>improve pointer-checks to fix a bug exposed by resizing
3427    during initialization under StumpWM window manager (Fedora
3428    Bugzilla #437928).</li>
3429
3430    <li>modify <code>unselectwindow()</code> to ensure that the
3431    mouse pointer is not hidden after xterm loses focus (report by
3432    Jeremy Huddleston).</li>
3433
3434    <li>add special check for fd_mask on Mac OS X (report by Jeremy
3435    Huddleston).</li>
3436
3437    <li>add <code>dylib</code> to autoconf's suffix list used for
3438    checking the result from <code>xmkmf</code>, to work with Mac
3439    OS X (report by Jeremy Huddleston).</li>
3440
3441    <li>correct initialization of bold- and wide-, wide-bold fonts
3442    which may be set via the <code>utf8Fonts</code> subresource
3443    (Debian #347790).</li>
3444  </ul>
3445
3446  <h1><a name="xterm_234" id="xterm_234">Patch #234 -
3447  2008/03/02</a></h1>
3448
3449  <ul>
3450    <li>modify <code>sinstall.sh</code> to use POSIX locale to
3451    bypass GNU ls changes to date-format.</li>
3452
3453    <li>improved/refined changes for closing bitmap font (patch by
3454    Andrea Odetti).</li>
3455
3456    <li>improve resize computation for situations where the
3457    negotiation fails, by invoking the xterm widget's core-class
3458    resize method (Debian #365602, patch by Jim Paris).</li>
3459
3460    <li>restore initialization of terminal's <code>VMIN</code> and
3461    <code>VTIME</code> settings, from <a href="#xterm_232">patch
3462    #232</a> changes (patch by Matthieu Herrb).</li>
3463  </ul>
3464
3465  <h1><a name="xterm_233" id="xterm_233">Patch #233 -
3466  2008/02/24</a></h1>
3467
3468  <ul>
3469    <li>add configure check for <code>ttydefaults.h</code>, include
3470    if needed, e.g., for systems where defining
3471    <code>_POSIX_C_SOURCE</code>, etc., prevents it from being
3472    included via <code>termios.h</code> (prompted by comments by
3473    Robert Delius Royar and Jeremy Huddleston).</li>
3474
3475    <li>bug-fixes for bugs.opensolaris.org (patches from Alan
3476    Coopersmith)
3477
3478      <dl>
3479        <dt>4029911</dt>
3480
3481        <dd>fix a typo in manpage</dd>
3482
3483        <dt>4045962</dt>
3484
3485        <dd>xterm doesn't properly set ut_syslen</dd>
3486
3487        <dt>4192572</dt>
3488
3489        <dd>left-left-right misinterpreted as triple click</dd>
3490      </dl>
3491    </li>
3492
3493    <li>minor optimization to tab-initialization (patch by
3494    N&eacute;meth M&aacute;rton).</li>
3495
3496    <li>fix a case where an incorrect font was freed during
3497    initialization from <a href="#xterm_232">patch #232</a> changes
3498    (patch by Andrea Odetti).</li>
3499
3500    <li>improve comparison used in <code>SameFont</code> function
3501    for GC-caching (Julien Cristau).</li>
3502
3503    <li>correct macro name used for default <code>CKILL</code>
3504    definition to work with Mac OS X (report by Jeremy
3505    Huddleston).</li>
3506  </ul>
3507
3508  <h1><a name="xterm_232" id="xterm_232">Patch #232 -
3509  2008/01/30</a></h1>
3510
3511  <ul>
3512    <li>corrected logic in a font-cache used for reverse-video
3513    (Debian #404079).</li>
3514
3515    <li>add control sequence to alter <code>pointerMode</code> at
3516    runtime.</li>
3517
3518    <li>add limit-checks for rectangle operation parameters (report
3519    by Martin Pirker).</li>
3520
3521    <li>modify <code>minstall.sh</code> to suppress
3522    <code>$MANPAGER</code> and <code>$PAGER</code> environment
3523    variables, which may interfere with redirecting output of
3524    <code>man</code> to a shell variable (report/patch by Zdenek
3525    Sekera).</li>
3526
3527    <li>do not try to hide mouse pointer in the tek4014 window,
3528    fixes broken "-t" option at startup from <a href=
3529    "#xterm_230">patch #230</a> changes (report by Robert K.
3530    Nelson).</li>
3531
3532    <li>correct datatype used when drawing tek4014 data using xterm
3533    compiled for wide-characters, on big-endian machines (reports
3534    by Jeremy Huddleston, Harald Hanche-Olsen, Martin Costabel,
3535    Merle Reinhart).</li>
3536
3537    <li>modify to cache the font-names along with the bitmap font
3538    data, to improve comparison of fonts.</li>
3539
3540    <li>modify to allow building with configure options
3541    <code>--disable-ansi-color</code> and
3542    <code>--disable-leaks</code> (Debian #459817, report/patch by
3543    N&eacute;meth M&aacute;rton).</li>
3544
3545    <li>modify to allow building with configure options
3546    <code>--enable-wide-chars</code> and
3547    <code>--disable-c1-print</code> (Debian #459816, report/patch
3548    by N&eacute;meth M&aacute;rton).</li>
3549
3550    <li>add <code>pointerMode</code> resource to control whether
3551    and when the pointer cursor is hidden as the user types.</li>
3552
3553    <li>simplify initialization of ttyMode- and related characters
3554    using a table.</li>
3555
3556    <li>modify initialization-logic for stty values that correspond
3557    to ltchars structure and the BSD TIOCSLTC ioctl (susp, dsusp,
3558    rprnt flush, werase, lnext). These were reset to constants for
3559    both termios and legacy interfaces immediately after asking the
3560    system for the existing values since X11R6.1, rather than using
3561    them to provide inherited values. While the legacy interface
3562    has some constraints, e.g., on HPUX, the POSIX or termios
3563    interface should not. Your shell may reset these anyway
3564    (prompted by patch by Ed Schouten).</li>
3565
3566    <li>improve logic for hiding/displaying pointer-cursor (report
3567    by Mark Brukhartz).</li>
3568
3569    <li>add limit-checks to tabs.c, increase maximum column for
3570    setting tab-stops from 320 to 1024 (report by N&eacute;meth
3571    M&aacute;rton).</li>
3572
3573    <li>correct length, i.e., number of types of selection targets,
3574    computed by <code>ConvertSelection()</code> when not handling
3575    wide characters for the <code>XA_TARGETS()</code> case. This
3576    leaves an extra Atom on the end of the list which is not
3577    handled by <a href=
3578    "http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6322854">Java
3579    applications</a>. The problem was introduced in <a href=
3580    "#xterm_151">patch #151</a> (report by David Wood).</li>
3581  </ul>
3582
3583  <h1><a name="xterm_231" id="xterm_231">Patch #231 -
3584  2008/01/05</a></h1>
3585
3586  <ul>
3587    <li>undo change to <code>getXtermCell()</code> from patch #230
3588    using <code>PACK_PAIR</code> macro (Debian #459014, analysis by
3589    Caetano Jimenez Carezzato).</li>
3590
3591    <li>minor documentation fixes (patch by Slava Semushin)</li>
3592
3593    <li>add makefile actions to install KOI8RXTerm app-defaults
3594    file (patch by Julien Cristau).</li>
3595  </ul>
3596
3597  <h1><a name="xterm_230" id="xterm_230">Patch #230 -
3598  2007/12/31</a></h1>
3599
3600  <ul>
3601    <li>add <code>quietGrab</code> resource, which when true,
3602    suppresses cursor repainting when <code>NotifyGrab</code> and
3603    <code>NotifyUngrab</code> event types are received during
3604    change of focus (request by Nicolas George).</li>
3605
3606    <li>do not treat Unicode BIDI control characters as combining
3607    characters (Debian #457634).</li>
3608
3609    <li>add <code>koi8rxterm</code>, from Debian.</li>
3610
3611    <li>add manpage for <code>uxterm</code>, from Debian (Ubuntu
3612    #128136, Debian #438645)</li>
3613
3614    <li>remove ".xpm" suffixes from Icon filenames in desktop files
3615    since it confuses some lookups following the <a href=
3616    "http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html">
3617    Icon Theme Specification</a> (report by Slava Semushin)</li>
3618
3619    <li>correct width-calculation used for adjusting proportional
3620    fonts, to work with wide-characters (Debian #441354).</li>
3621
3622    <li>fixes/improvements for double-size characters:
3623
3624      <ul>
3625        <li>correct old clipping calculation which used total
3626        height of glyphs where ascent was needed.</li>
3627
3628        <li>if bold font is unavailable, fall back to normal
3629        font</li>
3630
3631        <li>adjust to "work" with Xft (which does not support
3632        double-width single-height characters).</li>
3633
3634        <li>restore reset of doublesize for a line when it is
3635        cleared, broken in <a href="#xterm_228">patch
3636        #228</a>.</li>
3637      </ul>
3638    </li>
3639
3640    <li>modify logic for <code>forceBoxChars</code> resource when
3641    using TrueType fonts to be consistent with bitmap fonts</li>
3642
3643    <li>modify logic for <code>forceBoxChars</code> resource to
3644    make the "Line-Drawing Characters" menu entry use xterm's
3645    line-drawing characters even asked to draw wide line-drawing
3646    characters which are available in the font.</li>
3647
3648    <li>modify rectangle-support functions to preserve colors when
3649    filling/erasing to match WRQ Reflection behavior (request by
3650    Enzo Toscano).</li>
3651
3652    <li>add getopt-parsing to tcapquery.pl, including feature to
3653    test the extended cursor/editing keys.</li>
3654
3655    <li>make missing double-width glyphs display as double-width
3656    (Debian #456236).</li>
3657
3658    <li>change <code>tcap-fkeys</code> and <code>rectangles</code>
3659    configure options to enable them by default.</li>
3660
3661    <li>hide the mouse pointer while user is typing (request by
3662    Rodolfo Borges).</li>
3663
3664    <li>extend configure options <code>--enable-tcap-query</code>
3665    and <code>--enable-tcap-fkeys</code> to send cursor- and
3666    editing-keypad keys modified according to the keyboard (or
3667    termcap) selection for shift, alt, control, meta.</li>
3668
3669    <li>modify <code>kdch1</code> in termcap, e.g.,
3670    <code>xterm-r6</code> to match the terminfo file.</li>
3671
3672    <li>add <code>-hm</code> option to turn
3673    <code>highlightColorMode</code> on or off.</li>
3674
3675    <li>add <code>highlightColorMode</code> resource to separate
3676    the new (since <a href="#xterm_225">patch #225</a>)
3677    highlighting with both text- and background-colors (prompted by
3678    report/example by Thomas Wolff).</li>
3679
3680    <li>add <em>Keep Selection</em> menu entry to turn the
3681    <code>keepSelection</code> resource on/off at runtime.</li>
3682
3683    <li>add <code>keepSelection</code> resource, which when
3684    enabled, tells xterm to retain the X selection even after it
3685    stops highlighting it (patch by Sergey Vlasov).</li>
3686
3687    <li>extend the <code>CSI&nbsp;&gt;&nbsp;n</code> sequence to
3688    allow disabling all types of modified-keys that the
3689    <code>CSI&nbsp;&gt;&nbsp;m</code> sequence affects.</li>
3690
3691    <li>move include for <code>&lt;xtermcap.h&gt;</code> in
3692    <code>resize.c</code> to avoid redefinition of
3693    <code>termios</code> structure on OpenSolaris (report by Rahul
3694    Gopinathan Nair).</li>
3695
3696    <li>extend terminfo building blocks for modified editing keys
3697    to include all six keys.</li>
3698
3699    <li>synchronize terminfo with ncurses (report by Stephane
3700    Chazelas)
3701
3702      <ul>
3703        <li>equate <code>xterm-xfree86</code> and
3704        <code>xterm-xf86-v44</code>.</li>
3705
3706        <li>add ncurses extensions OTbs, AX, for termcap
3707        conversions.</li>
3708
3709        <li>make old/legacy entries such as <code>xterm-24</code>,
3710        <code>xterm-65</code> and aliases <code>xterms</code>,
3711        <code>vs100</code> inherit from
3712        <code>xterm-old</code>.</li>
3713
3714        <li>make <code>xterm-r5</code> and <code>xterm-r6</code>
3715        the same, ignoring historical errors in X Consortium's
3716        version.</li>
3717      </ul>
3718    </li>
3719
3720    <li>fix an ifdef in logic for selecting regular expressions
3721    while in a narrow-character locale (Debian #449227).</li>
3722  </ul>
3723
3724  <h1><a name="xterm_229" id="xterm_229">Patch #229 -
3725  2007/8/12</a></h1>
3726
3727  <ul>
3728    <li>override locale in minstall.sh; change in <a href=
3729    "#xterm_226">patch #226</a> does not work in UTF-8 locale
3730    (report by Zdenek Sekera).</li>
3731
3732    <li>undo an incorrect fix for a memory leak in <a href=
3733    "#xterm_209">patch #209</a> (Debian #435858).</li>
3734  </ul>
3735
3736  <h1><a name="xterm_228" id="xterm_228">Patch #228 -
3737  2007/7/22</a></h1>
3738
3739  <ul>
3740    <li>modify configure script to permit combining
3741    <code>--with-utempter</code> and <code>--enable-setuid</code>,
3742    e.g., for using xterm with the utempter library on FreeBSD
3743    (report by Andriy Gapon).</li>
3744
3745    <li>modify "Quit" menu entry to override the <code>-hold</code>
3746    command-line option.</li>
3747
3748    <li>add a check in the startup error-reporting to avoid writing
3749    to pipe when it has not been opened. In that case, report
3750    errors directly to the standard error.</li>
3751
3752    <li>add OPT_READLINE definition to xtermcfg.hin, overlooked in
3753    <a href="#xterm_205">patch #205</a> (report by Kalle Olavi
3754    Niemitalo).</li>
3755
3756    <li>modify <code>88colors2.pl</code> and
3757    <code>256colors2.pl</code>, adding <code>-r</code> option to
3758    reverse the palettes for the extended colors.</li>
3759
3760    <li>check for partial overwrite or deletion of multi-column
3761    characters in several cases, e.g., insert-character,
3762    delete-character, etc., and fill the remainder of the cells
3763    used by the multi-column characters affected with blanks.</li>
3764
3765    <li>correct character-class codes in wide-character mode for
3766    characters 215, 247 (see also <a href="#xterm_165">patch
3767    #165</a>).</li>
3768
3769    <li>fix missing assignment for UTF-8 parsing in widget
3770    initialization (Debian #403360).</li>
3771
3772    <li>correct index expression used to set line-wrapping flag,
3773    making selection from scrollback work consistently (Debian
3774    #430121, report by Vincent Lefevre).</li>
3775
3776    <li>amend changes to handshake in <a href="#xterm_226">patch
3777    #226</a> to accommodate Solaris, which relies on the extra
3778    setting of the terminal size after I/O initialization. Do this
3779    by adding new resource <code>ptySttySize</code>, which is false
3780    for Linux and MacOS X, i.e., true for for Solaris and other
3781    SVR4 platforms, as well as FreeBSD (reports by David Wood,
3782    Renato Botelho).</li>
3783
3784    <li>check for X events after cursor-left, and carriage return,
3785    consistent with indexing operations (comments by Vegard Nossum
3786    and Ingo Molnar on a mailing-list).</li>
3787
3788    <li>initialize the <code>.keyboard</code> structure, needed for
3789    some platforms (such as Solaris) after <a href=
3790    "#xterm_227">patch #227</a> fixes for keysyms (patch by David
3791    Wood).</li>
3792
3793    <li>update config.guess, config.sub</li>
3794  </ul>
3795
3796  <h1><a name="xterm_227" id="xterm_227">Patch #227 -
3797  2007/6/27</a></h1>
3798
3799  <ul>
3800    <li>exclude the Intel compiler from the extra gcc warning
3801    options added in <a href="#xterm_226">patch #226</a>.</li>
3802
3803    <li>modify change for Debian #422521 from <a href=
3804    "#xterm_226">patch #226</a> to work with configurations where
3805    the X server does not recognize the <code>XF86Paste</code> or
3806    <code>SunPaste</code> keysyms (report by Paolo Pumilia).</li>
3807
3808    <li>fix incorrect free in fix for "Selection" menu entry in
3809    <a href="#xterm_226">patch #226</a>.</li>
3810  </ul>
3811
3812  <h1><a name="xterm_226" id="xterm_226">Patch #226 -
3813  2007/6/17</a></h1>
3814
3815  <ul>
3816    <li>add configure check to use
3817    <code>-Wno-unknown-pragmas</code> for Solaris, and a few other
3818    new gcc warning options to address regressions in its warning
3819    options.</li>
3820
3821    <li>add sample desktop and icon files, along with configure
3822    options for manipulating them.</li>
3823
3824    <li>fix an infinite loop when showing a 2-column character in a
3825    1-column screen (Debian #426863).</li>
3826
3827    <li>add <code>XF86Paste</code> and <code>SunPaste</code> to the
3828    default translations (Debian #422521, patch by Bernhard R
3829    Link).</li>
3830
3831    <li>update wcwidth.c (partly based on/prompted by mailing list
3832    comment).</li>
3833
3834    <li>update/improve keysym2ucs.c based on Unicode 5.0.1d3 and
3835    Xorg 7.1 keysymdef.h file.</li>
3836
3837    <li>improve <code>gen-pc-fkeys.pl</code>, making it show all of
3838    the building-block terminfo entries used by xterm.</li>
3839
3840    <li>correct strings used for modifiers applied to F1-F4 in
3841    xterm+pcf1 terminfo entry.</li>
3842
3843    <li>improve session management by adding the ICE connection
3844    number to the <code>select</code> call rather than waking up
3845    once per second (patch by Miroslav Lichvar).</li>
3846
3847    <li>add environment variable <code>$XTERM_LOCALE</code> to help
3848    with shell initialization, e.g., to set a specific locale for
3849    xterm on systems where a global locale is set in the shell
3850    startup scripts.</li>
3851
3852    <li>add resource settings <code>mkSampleSize</code> and
3853    <code>mkSamplePass</code> to modify the <code>mkWidth</code>
3854    added in <a href="#xterm_201">patch #201</a>. In <a href=
3855    "#xterm_202">patch #202</a>, xterm would also check if the
3856    system's <code>wcwidth</code> matched its built-in tables "well
3857    enough" to be used when <code>mkWidth</code> was false, and if
3858    not would use the built-in tables anyway. These resources allow
3859    the user to customize the decision (prompted by comments by
3860    Emanuele Giaquinta)</li>
3861
3862    <li>modify logic which resets/updates the screensize on the
3863    child process side of the pseudo-terminal to do this only if a
3864    successful handshake was received, e.g., as determined by the
3865    <code>waitForMap</code> resource (prompted by reports by
3866    Emanuele Giaquinta and Bernhard R Link, but see also <a href=
3867    "#xterm_177">patch #177</a> and <a href="#xterm_159">patch
3868    #159</a>.</li>
3869
3870    <li>improve permissions logic when closing pseudo-terminal
3871    (Debian #12261, patch by Nathanael Nerode, analysis by Richard
3872    Braakman).</li>
3873
3874    <li>add resource <code>highlightReverse</code> which controls
3875    whether xterm will allow selection highlighting to hide
3876    reverse-video or use the older behavior which inverts the
3877    foreground and background colors when selected text with
3878    reverse-video attribute (report by Adam M Costello, comments by
3879    Victor Vaile).</li>
3880
3881    <li>restore a special case for cursor-color in
3882    <code>ReverseVideo()</code> lost in rewrite for <a href=
3883    "#xterm_224">patch #224</a> (report by Adam Sulmicki).</li>
3884
3885    <li>correct initialization for menu entry for
3886    <code>bellIsUrgent</code> (patch by Emanuele Giaquinta).</li>
3887
3888    <li>correct length of underlining for double-width Xft fonts
3889    (report by Shidai Liu "Leo").</li>
3890
3891    <li>correct clipping for double-width Xft fonts (report by
3892    Shidai Liu "Leo").</li>
3893
3894    <li>modify initialization for <code>italicULMode</code> to
3895    avoid <code>XftPatternBuild</code> reusing bold attributes
3896    (report by Shidai Liu "Leo").</li>
3897
3898    <li>add a check in case someone tries to call the
3899    <code>popup-menu()</code> action on a menu which is not
3900    initialized (Debian #426364).</li>
3901
3902    <li>improve CF_IMAKE_CFLAGS to work with Solaris sed (report by
3903    Peter Bray).</li>
3904
3905    <li>improve guess for X's manpage section in
3906    <code>minstall.sh</code>, (prompted by comment by Miroslav
3907    Lichvar).</li>
3908
3909    <li>modify <code>minstall.sh</code> to handle manpage patch
3910    with more than one dot (patch by Miroslav Lichvar).</li>
3911
3912    <li>fix configure message for --disable-setgid option (patch by
3913    Miroslav Lichvar).</li>
3914
3915    <li>add <code>allowTitleOps</code> resource to allow users to
3916    prevent the title- and icon-names from changing (request by
3917    John Bashinski).</li>
3918
3919    <li>fix "spawn-new-terminal" action, for the case where no
3920    parameter is passed to the action (patch by Daniel
3921    Colascione).</li>
3922
3923    <li>fix error-checking on internal font switching for
3924    "Selection" menu entry (Debian #421523).</li>
3925
3926    <li>amend select/paste change from <a href="#xterm_225">patch
3927    #225</a> by limiting it to non-UTF-8/non-KOI8-R encoding
3928    (Debian #420974).</li>
3929
3930    <li>add workaround for groff ".URL" codes which are not present
3931    in some commonly-used bitmap fonts (Debian #418324).</li>
3932  </ul>
3933
3934  <h1><a name="xterm_225" id="xterm_225">Patch #225 -
3935  2007/3/24</a></h1>
3936
3937  <ul>
3938    <li>add <code>useClipping</code> resource to allow clipping to
3939    be disabled.</li>
3940
3941    <li>use <code>XftDrawSetClipRectangles</code> to work around
3942    Xft pixel-trash (report by Reuben Thomas).</li>
3943
3944    <li>add configure option <code>--enable-tcap-fkeys</code>, and
3945    resource <code>tcapFunctionKeys</code>, which can be used to
3946    tell xterm to use function-key definitions from the termcap (or
3947    terminfo) which it uses to set $TERM on startup.</li>
3948
3949    <li>add resources <code>altIsNotMeta</code> and
3950    <code>altSendsEscape</code> to allow one to use Alt-keys like
3951    the meta-key even if they are bound to different keycodes
3952    (prompted by discussion with Daniel Jacobowitz).</li>
3953
3954    <li>revert a change from <a href="#xterm_216">patch #216</a>
3955    that unnecessarily made the meta modifier override the
3956    <code>eightBitInput</code> resource if the alt- and
3957    meta-modifiers happened to overlap (report/patch by Daniel
3958    Jacobowitz).</li>
3959
3960    <li>correct associated font for active icon for colored text
3961    (broken in <a href="#xterm_224">patch #224</a>).</li>
3962
3963    <li>correct ifdef's for Darwin (patch by Emanuele
3964    Giaquinta).</li>
3965
3966    <li>add <code>highlightTextColor</code> resource, and options
3967    <code>-selfg</code>, <code>-selbg</code> like <code>xwsh</code>
3968    (adapted from patch by Victor Vaile).</li>
3969
3970    <li>revise <code>find_closest_color()</code> function to
3971    address concern about borrowing from <code>Tcl/Tk</code>
3972    (request by Dan McNichol).</li>
3973
3974    <li>add "spawn-new-terminal" action, which can be assigned to
3975    key translation, allowing one to spawn a new copy of xterm
3976    using the current process' working directory (adapted from
3977    patch by Daniel Colascione).</li>
3978
3979    <li>improve select/paste between UTF-8 and Latin1 xterms by
3980    adapting the translations from <a href="#xterm_185">patch
3981    #185</a>. Extend that to include Unicode fullwidth forms
3982    FF00-FF5E. Also modify select/paste of DEC line-drawing
3983    characters in Latin1 mode to use ASCII characters.</li>
3984
3985    <li>add "Enable Bell Urgency" to VT Options menu, removed
3986    "Enable Margin Bell".</li>
3987
3988    <li>add <code>bellIsUrgent</code> resource to control whether
3989    the Urgency hint is set/reset.</li>
3990
3991    <li>modify to set Urgency window manager hint on bell, reset it
3992    on Focus-In event (patch by Emanuele Giaquinta).</li>
3993
3994    <li>add <code>--disable-setgid</code> configure option (request
3995    by Miroslav Lichvar).</li>
3996
3997    <li>fix a possible infinite loop in last change to
3998    <code>dabbrev-expand()</code> (patch by Emanuele
3999    Giaquinta).</li>
4000
4001    <li>modify initialization to set the pty erase value if the
4002    <code>erase</code> is set in the <code>ttyModes</code>
4003    resource. This overrides the <code>ptyInitialErase</code>
4004    setting (request by Llu&iacute;s Batlle i Rossell).</li>
4005
4006    <li>add <code>initialFont</code> resource to xterm widget, like
4007    tek-widget (Debian #299669).</li>
4008
4009    <li>amend change to <code>boldMode</code> from <a href=
4010    "#xterm_223">patch #223</a> for Debian #347790. As noted in
4011    Debian #412599, that made xterm no longer match the documented
4012    behavior. Add new resource <code>alwaysBoldMode</code> to allow
4013    overriding the comparison between normal/bold fonts when
4014    deciding whether to use overstriking to simulate bold
4015    fonts.</li>
4016
4017    <li>restore background color in ClearCurBackground(), omitted
4018    in changes for <a href="#xterm_223">patch #223</a> (report by
4019    Miroslav Lichvar).</li>
4020
4021    <li>correct logic for repainting double-width TrueType
4022    characters (prompted by test-case for Novell #246573).</li>
4023
4024    <li>add a check to avoid trying to repeat a multibyte character
4025    (report by Sami Farin).</li>
4026
4027    <li>modify parameter to <code>XftNameParse()</code> to select
4028    wide face-name as needed, to make <code>-fd</code> option work
4029    (patch by Mike Fabian, Novell #246573).</li>
4030
4031    <li>correct logic for mouse highlight tracking's abort
4032    sequence, broken in a restructuring modification from <a href=
4033    "#xterm_224">patch #224</a> (report by Thomas Wolff).</li>
4034
4035    <li>revert the simplification of blinking cursor, since that
4036    broke the xor'ing introduced in <a href="#xterm_193">patch
4037    #193</a> (report by Thomas Wolff).</li>
4038  </ul>
4039
4040  <h1><a name="xterm_224" id="xterm_224">Patch #224 -
4041  2007/2/11</a></h1>
4042
4043  <ul>
4044    <li>simplify code for set/reset mode for blinking cursor (patch
4045    by Emanuele Giaquinta).</li>
4046
4047    <li>modify <code>dabbrev-expand()</code> to restart after the
4048    last match (patch by Emanuele Giaquinta).</li>
4049
4050    <li>add control sequences for enabling/disabling focus in/out
4051    event reporting (request by Bram Moolenaar).</li>
4052
4053    <li>improve startup performance of menus by adding resource
4054    setting <code>menuLocale</code> which can be set to override
4055    X's lengthy initialization of fontsets - which are seldom used
4056    for the <code>Xaw</code> popup menus (adapted from patch by
4057    Dave Coffin).</li>
4058
4059    <li>modify do_precomposition() function and make-compose.sh to
4060    handle 21-bit codes vs the 16-bit codes those were written for,
4061    and fix a few mis-sorted codes (patch by Thomas Wolff).</li>
4062
4063    <li>handle special case in <code>-cjk_width</code> which
4064    unexpectedly caused a character's width to change when a
4065    combining character (patch by Thomas Wolff)</li>
4066
4067    <li>fix build for GNU/KFreeBSD (Debian #40111).</li>
4068
4069    <li>consolidate GC creation/updating into a single module to
4070    reduce GC manipulation (prompted by Debian #389476, though a
4071    complete fix would involve optimizing the scrolling
4072    behavior).</li>
4073
4074    <li>fix ifdef of xtermCellWidth(), which broke for a case
4075    without TrueType and without wide-character support (report by
4076    Martin Pirker).</li>
4077
4078    <li>undo a comparison in
4079    <code>handle_translated_exposure</code> which did not work due
4080    to X server optimization. That caused the inner border to be
4081    repainted with unexpected colors when handling a repaint, e.g.,
4082    after switching to/from another workspace (Debian #401726,
4083    Redhat Bugzilla #223027).</li>
4084
4085    <li>allow <code>-cr</code> option to override cursor color when
4086    <code>-ah</code> option is used (Debian #406502).</li>
4087
4088    <li>add a note in xterm's manpage explaining that the
4089    <code>-bw</code> (or <code>-w</code>) option is only used by
4090    the window manager, if at all (Debian #405043).</li>
4091
4092    <li>make <code>Selection</code> of <code>VT&nbsp;Fonts</code>
4093    work with <code>selectToClipboard</code> resource.</li>
4094
4095    <li>correct length calculation for <code>Selection</code> entry
4096    of <code>VT&nbsp;Fonts</code> menu, broken since it ignored the
4097    actual selection length since X11R4.</li>
4098
4099    <li>fixes for fontsize changes with <code>-fa</code> option
4100    (Redhat Bugzilla #222340).</li>
4101  </ul>
4102
4103  <h1><a name="xterm_223" id="xterm_223">Patch #223 -
4104  2006/11/30</a></h1>
4105
4106  <ul>
4107    <li>add <code>--enable-rectangles</code> configure option
4108    (request by Martin Pirker).</li>
4109
4110    <li>correct default value for <code>--with-symlink</code>
4111    configure option.</li>
4112
4113    <li>fixes configure script macros that use
4114    <code>$X_EXTRA_LIBS</code>.</li>
4115
4116    <li>modify configure script to provide support for pre-package
4117    config versions of Xft aka "FreeType".</li>
4118
4119    <li>add the Xaw scrollbar translations resource to the xterm
4120    manpage, add an example showing how to change the mouse button
4121    assignments (Debian #382225).</li>
4122
4123    <li>amend a change from <a href="#xterm_216">patch #216</a>,
4124    which omitted modifiers for control, meta, etc., if they were
4125    mixed with any other modifiers. The intent of the change was to
4126    avoid confusion with <code>XK_Mode_switch</code> and
4127    <code>XK_ISO_Level3_Shift</code>; the check is now done
4128    explicitly (report by Daniel Jacobowitz).</li>
4129
4130    <li>interpret a negative value for
4131    <code>modifyCursorKeys</code> or
4132    <code>modifyFunctionKeys</code> resources to disable the
4133    respective features (prompted by Novell #220728).</li>
4134
4135    <li>amend cell-width computation for FreeType from <a href=
4136    "#xterm_217">patch #217</a>, which did not work for VT100
4137    line-drawing characters (Debian #399638, GenToo #147111).</li>
4138
4139    <li>amend a change from <a href="#xterm_216">patch #216</a>,
4140    which made alt-modifier on a cursor-key send a modifier
4141    parameter (Novell #220728).</li>
4142
4143    <li>correct an off-by-one that made DECCRA not work
4144    (report/patch by Martin Pirker).</li>
4145
4146    <li>revert an optimization in SGR_Foreground() and
4147    SGR_Background from <a href="#xterm_209">patch #209</a> (Debian
4148    #347722, analysis by Pierre Lombard).</li>
4149
4150    <li>fix for <code>boldMode</code> (Debian #347790, patch by Tim
4151    Pope).</li>
4152
4153    <li>amend fix for <code>-iconic</code> in <a href=
4154    "#xterm_208">patch #208</a>, which broke the positioning part
4155    of <code>-geom</code> with toolbar configuration.</li>
4156
4157    <li>fix to prevent indexing error in regular expressions (patch
4158    by Dennis Schneider).</li>
4159
4160    <li>fixes to make the internalBorder area not change color due
4161    to reverseVideo and/or related exposure events. The latter was
4162    a very old bug exposed in <a href="#xterm_196">patch #196</a>
4163    (report by Neil Hoggarth, also Debian #397624).</li>
4164  </ul>
4165
4166  <h1><a name="xterm_222" id="xterm_222">Patch #222 -
4167  2006/10/17</a></h1>
4168
4169  <ul>
4170    <li>minor optimization for recoloring cursor via dynamic
4171    colors.</li>
4172
4173    <li>fix a bug caused by restructuring of tek4014 widget (report
4174    by Paul Schenkeveld)</li>
4175  </ul>
4176
4177  <h1><a name="xterm_221" id="xterm_221">Patch #221 -
4178  2006/10/1</a></h1>
4179
4180  <ul>
4181    <li>fix for regular expressions: the code which converted the
4182    column offset within a line did not check properly for the end
4183    of a line, and if allowed to match the whole line, would select
4184    the beginning of the following line. If the following line were
4185    empty, in turn it would select from the next, etc. (report by
4186    Sean Reifschneider).</li>
4187
4188    <li>minor optimization of color allocation to avoid repainting
4189    the screen if the corresponding color had not been
4190    allocated.</li>
4191
4192    <li>fixes for vttests/256colors.pl (report by Egmont
4193    Koblinger).</li>
4194
4195    <li>add terminfo building block entries for modifiers of the
4196    6-key editing keypad.</li>
4197
4198    <li>fix for initialization of tek4014 which broke on QNX
4199    6.1</li>
4200  </ul>
4201
4202  <h1><a name="xterm_220" id="xterm_220">Patch #220 -
4203  2006/9/10</a></h1>
4204
4205  <ul>
4206    <li>make "xterm -t -iconic" work as expected, i.e., start in
4207    tek4014 mode, but iconified.</li>
4208  </ul>
4209
4210  <h1><a name="xterm_219" id="xterm_219">Patch #219 -
4211  2006/9/4</a></h1>
4212
4213  <ul>
4214    <li>some internal restructuring to separate data for vt100 and
4215    tek4014 widgets.</li>
4216
4217    <li>fix a few cases where form-events would be seen by the
4218    vt100 widget when built with the toolbar configuration.</li>
4219  </ul>
4220
4221  <h1><a name="xterm_218" id="xterm_218">Patch #218 -
4222  2006/8/27</a></h1>
4223
4224  <ul>
4225    <li>change behavior when encountering an illegal character in a
4226    title string. Rather than reject the string, translate illegal
4227    characters into "?" and use the string (requested by Thomas
4228    Wolff).</li>
4229
4230    <li>improve checks for nonprinting characters in title strings
4231    (report by Samuel Thibault).</li>
4232
4233    <li>correct typo in menu labels, changing
4234    <code>print-redirect</code> to <code>print-redir</code>, making
4235    it follow the manpage and match the usage for the actions table
4236    (report by Samuel Thibault).</li>
4237
4238    <li>correct a typo that prevents building with some older
4239    systems such as Solaris 2.6 (report by Julian Bridle).</li>
4240  </ul>
4241
4242  <h1><a name="xterm_217" id="xterm_217">Patch #217 -
4243  2006/8/20</a></h1>
4244
4245  <ul>
4246    <li>minor improvements to FreeType font layout and
4247    drawing.</li>
4248
4249    <li>add a check in the ptyInitialErase logic to ensure that the
4250    termcap was read (Redhat Bugzilla #201246).</li>
4251
4252    <li>limit changes for reverse-video from <a href=
4253    "#xterm_216">patch #216</a> to cases where the reverse-video
4254    command-line option is used (report by Zdenek Sekera).</li>
4255
4256    <li>correct bitmap-derived pointsizes for TrueType fonts; they
4257    should be proportional to the square root of the area of the
4258    bitmap fonts.</li>
4259
4260    <li>add resources to specify pointsize of TrueType fonts
4261    (request by Reuben Thomas).</li>
4262
4263    <li>improve install of terminfo by filtering out harmless
4264    messages related to extended capabilities. At the same time,
4265    use ncurses tic to compile the extended capabilities if
4266    possible (report by Zdenek Sekera).</li>
4267
4268    <li>update "xterm+pcfkeys" terminfo entry to correspond to
4269    <a href="#xterm_216">patch #216</a>.</li>
4270  </ul>
4271
4272  <h1><a name="xterm_216" id="xterm_216">Patch #216 -
4273  2006/8/3</a></h1>
4274
4275  <ul>
4276    <li>improve handling of <code>ConfigureNotify</code> events by
4277    checking if there are further events in the queue which
4278    obsolete the current one (adapted from rxvt 2.7.5). Only the
4279    normal normal (non-toolbar) configuration is addressed in this
4280    patch.</li>
4281
4282    <li>several changes to terminfo:
4283
4284      <ul>
4285        <li>incorporate some minor changes from ncurses to help
4286        keep these synchronized:
4287
4288          <dl>
4289            <dt>2005-02-26</dt>
4290
4291            <dd>modify sgr/sgr0 in xterm-new to improve tgetent's
4292            derived "me".</dd>
4293
4294            <dt>2006-02-18</dt>
4295
4296            <dd>remove ncv flag from xterm-16color</dd>
4297
4298            <dt>2006-06-24</dt>
4299
4300            <dd>improve xterm-256color by combining the 16-color
4301            setaf/setab strings with SGR 48, and cancelling the
4302            setf/setb strings.</dd>
4303          </dl>
4304        </li>
4305
4306        <li>use extended function-key definitions for xterm-sun,
4307        xterm-sco entries.</li>
4308
4309        <li>add terminfo building-blocks corresponding to the
4310        <code>modifyFunctionKeys</code> and
4311        <code>modifyCursorKeys</code> resources.</li>
4312      </ul>
4313    </li>
4314
4315    <li>ifdef'd Sun function-key feature to make it optional, like
4316    HP and SCO.</li>
4317
4318    <li>extend table for termcap-query feature through F63, and
4319    updated tcapquery.pl to match.</li>
4320
4321    <li>modify logic for function-key input processing to allow
4322    function key numbers which are constructed by control- and
4323    shift-modifiers to extend beyond X's hardcoded limit of
4324    35.</li>
4325
4326    <li>add control sequence to set or reset the
4327    <code>eightBitInput</code> resource.</li>
4328
4329    <li>change default resource <code>modifyFunctionKeys</code> to
4330    2 to avoid sending SS3 with parameters (report by Kalle Olavi
4331    Niemitalo).</li>
4332
4333    <li>add control sequences for setting and resetting the values
4334    of the <code>modifyCursorKeys</code>,
4335    <code>modifyFunctionKeys</code> and
4336    <code>modifyOtherKeys</code> resources.</li>
4337
4338    <li>add <code>modifyFunctionKeys</code> resource like
4339    <code>modifyCursorKeys</code>. Setting this to zero allows one
4340    to use the control- and shift-modifiers to construct function
4341    key strings, for terminals using many function keys, e.g., for
4342    <code>xterm-sun</code> or <code>xterm-sco</code>.</li>
4343
4344    <li>modify screen responses and function-key logic to reduce
4345    the number of writes made, to make it less likely that an
4346    application would read only part of a function-key in a read
4347    operation (suggested by John E Urbanczyk).</li>
4348
4349    <li>add <code>combiningChars</code> resource, which allows the
4350    user to specify the maximum number of combining characters that
4351    xterm will store for each cell in wide-character mode (prompted
4352    by request by Markus Kuhn to increase the limit from 2).</li>
4353
4354    <li>improve logic in <code>metaSendsEscape</code> in case the
4355    Alt- and Meta-keys are mapped to different modifiers. That
4356    allows one to use the Alt-key for shifting in the
4357    <code>eightBitInput</code> and use a Meta-key modifier to
4358    prefix the result with an <code>&lt;ESC&gt;</code>.</li>
4359
4360    <li>improve <code>modifyCursorKeys</code> logic to prevent it
4361    from modifying codes where <code>eightBitInput</code> or
4362    <code>metaSendsEscape</code> are set (request by Dan
4363    Nicolaescu).</li>
4364
4365    <li>improve <code>modifyCursorKeys</code> logic to prevent it
4366    from changing the user input when other modifiers such as AltGr
4367    are used (report by Thomas Wolff).</li>
4368
4369    <li>extend <code>modifyCursorKeys</code> to include the numeric
4370    keypad when in application mode.</li>
4371
4372    <li>improve <code>-reverse</code> (<code>-rv</code>) option
4373    (patch by Jason Vas Dias, Redhat #189161).</li>
4374
4375    <li>workaround for color resources on Fedora-5 which made the
4376    toolbar colors inconsistent.</li>
4377
4378    <li>corrected calls used for <code>--disable-setuid</code>
4379    option, add debugging traces to help diagnose this area.</li>
4380
4381    <li>modify configure script to ensure that
4382    <code>USE_UTMP_SETGID</code> is defined only if the check for
4383    POSIX saved-ids succeeds, or corresponds to one of the BSD
4384    systems known to have a workable <code>setegid</code>
4385    function.</li>
4386
4387    <li>extend configure check for POSIX saved-ids to include BSD
4388    systems</li>
4389
4390    <li>modify CF_SYSV configure macro to work with gcc on HPUX
4391    10.20, whose broken <code>&lt;term.h&gt;</code> relies on
4392    including <code>&lt;termios.h&gt;</code>.</li>
4393
4394    <li>change order of setuid/setgid ifdef checks in Imakefile to
4395    make it simpler to produce a setgid install, allowing the
4396    latter to override the former (prompted by an XFree86
4397    commit).</li>
4398
4399    <li>adapt a fix for setgid support from subsequent XFree86
4400    changes (patch by Emanuele Giaquinta).</li>
4401
4402    <li>further improve setgid support (patches by Emanuele
4403    Giaquinta).</li>
4404  </ul>
4405
4406  <h1><a name="xterm_215" id="xterm_215">Patch #215 - 2006/6/19 -
4407  XFree86 4.6.99.2</a></h1>
4408
4409  <ul>
4410    <li>improve setgid support by exploiting the saved-ids feature
4411    on which it relies (patch by Emanuele Giaquinta).</li>
4412
4413    <li>make the <code>modifyOtherKeys</code> resource disabled by
4414    default since the intermediate setting altered some common
4415    bindings (report by Emanuele Giaquinta).</li>
4416  </ul>
4417
4418  <h1><a name="xterm_214" id="xterm_214">Patch #214 - 2006/6/18 -
4419  XFree86 4.6.99.2</a></h1>
4420
4421  <ul>
4422    <li>modify makefile rule for ctlseqs.txt to strip
4423    backspace/overstrikes, and add a copy of ctlseqs.txt to the
4424    source tarballs (requests by Bram Moolenaar, Emanuele
4425    Giaquinta).</li>
4426
4427    <li>add <code>modifyOtherKeys</code> resource, analogous to the
4428    <code>modifyCursorKeys</code> resource. This applies to keys
4429    that normally would transmit nothing when a given modifier is
4430    applied (request by Dan Nicolaescu).</li>
4431
4432    <li>add <code>default</code> to the acceptable values for the
4433    <code>keyboardType</code> resource, allowing the
4434    <code>-kt</code> command-line option to override app-defaults
4435    resource settings of <code>sunKeyboard</code>, etc.</li>
4436
4437    <li>correct ifdef's for <code>XkbBell()</code> which used the
4438    header file but not the corresponding function in <a href=
4439    "#xterm_175">patch #175</a> (report by Zach Beane).</li>
4440
4441    <li>add xterm manpage to the <code>--with-symlink</code>
4442    logic.</li>
4443
4444    <li>regenerated configure script to omit some debugging
4445    artifacts of the SIGWINCH test.</li>
4446
4447    <li>fix <code>install-man</code> rule in
4448    <code>Makefile.in</code> to avoid including the
4449    <code>$(DESTDIR)</code> value in substitutions made on the
4450    manpages (patch by Emanuele Giaquinta).</li>
4451
4452    <li>improved fix for cursor deallocation (Redhat #186935, patch
4453    by Jason Vas Dias).</li>
4454
4455    <li>improve checks for setuid/setgid operation to accommodate
4456    limited resource management in some kernels (GenToo
4457    #193238).</li>
4458
4459    <li>update config.guess, config.sub</li>
4460  </ul>
4461
4462  <h1><a name="xterm_213" id="xterm_213">Patch #213 - 2006/4/30 -
4463  XFree86 4.5.99.905</a></h1>
4464
4465  <ul>
4466    <li>minor optimization to cell layout; will use that to
4467    simplify some logic and allow for more than two combining
4468    characters in another patch.</li>
4469
4470    <li>add <code>utf8Latin1</code> resource to make optional the
4471    feature from <a href="#xterm_209">patch #209</a> which allowed
4472    ISO-8859-1 fonts to be used in cases where a wide font was
4473    given. This would only work for the special case where the user
4474    normally used Latin-1 and wanted some wide characters (report
4475    by Rostislav Krasny).</li>
4476
4477    <li>add <code>utf8Title</code> resource to manpage (Novell
4478    #52655).</li>
4479
4480    <li>fix typo in table entry for <code>utf8Title</code> resource
4481    which made it treated as an integer rather than boolean (patch
4482    by Mike Fabian, Novell #52655).</li>
4483  </ul>
4484
4485  <h1><a name="xterm_212" id="xterm_212">Patch #212 - 2006/4/9 -
4486  XFree86 4.5.99.904</a></h1>
4487
4488  <ul>
4489    <li>improve description of <code>forceBoxChars</code> in
4490    manpage (discussion with Joe Wells).</li>
4491
4492    <li>set checkmark for "Select To Clipboard" menu entry on
4493    startup, from resource setting.</li>
4494
4495    <li>update manpage to note that
4496    <code>*customization:color</code> is not needed, though it is
4497    useful (Redhat #188034).</li>
4498
4499    <li>add underscore to sample pattern for URL in
4500    <code>XTerm.ad</code> (Redhat #188037).</li>
4501
4502    <li>modify install rule for manpage to use the configured
4503    app-defaults directory (Redhat #188031).</li>
4504
4505    <li>add checks in <code>releaseCursorGCs()</code> to ensure
4506    GC's are distinct, needed since memory leak changes for
4507    <a href="#xterm_208">patch #208</a> (Redhat #186935, patch by
4508    Jason Vas Dias).</li>
4509
4510    <li>modify <code>Imakefile</code> definitions to allow
4511    <code>imake</code> to set <code>InstallXtermSetGID</code>. Add
4512    symbol <code>InstGidFlags</code>.</li>
4513
4514    <li>add configure script check to ensure that SIGWINCH if
4515    defined even when headers undefine this as a side-effect of
4516    <code>_POSIX_C_SOURCE</code>, etc.</li>
4517
4518    <li>resync with XFree86 CVS
4519
4520      <ul>
4521        <li>ifdef-out chmod of terminal device for OS/2 (XFree86
4522        #1663, Frank Giessler).</li>
4523
4524        <li>move new <code>Imakefile</code> chunk which defines
4525        <code>$(CSGIDFLAGS)</code> before DEFINES, e.g., for IRIX64
4526        (Marc La France).</li>
4527      </ul>
4528    </li>
4529  </ul>
4530
4531  <h1><a name="xterm_211" id="xterm_211">Patch #211 - 2006/3/19 -
4532  XFree86 4.5.99.902</a></h1>
4533
4534  <ul>
4535    <li>modify prefix/suffix transformation in makefile to make
4536    <code>uxterm</code> install properly on Cygwin.</li>
4537
4538    <li>restore the sizeof-comparison for <code>struct
4539    lastlog</code> added in <a href="#xterm_208">patch #208</a>,
4540    rendered (mostly) obsolete in <a href="#xterm_210">patch
4541    #210</a>, since an imake configuration can still turn that code
4542    on (prompted by comment by David Dawes).</li>
4543
4544    <li>remove feature for <code>FreeBSDArchitecture</code> from
4545    <code>Imakefile</code> which would install xterm using the
4546    <code>utmp</code> group since a standard FreeBSD system has no
4547    such group, though it would support this configuration. FreeBSD
4548    packager uses the <code>configure</code> script, which can make
4549    the appropriate check (prompted by comment by David
4550    Dawes).</li>
4551
4552    <li>fixes for gcc redefinition warnings when built using imake
4553    (reports by David Dawes, Marc La France).</li>
4554  </ul>
4555
4556  <h1><a name="xterm_210" id="xterm_210">Patch #210 - 2006/3/12 -
4557  XFree86 4.5.99.902</a></h1>
4558
4559  <ul>
4560    <li>add configure check for workaround in <a href=
4561    "#xterm_208">patch #208</a> for Solaris' inconsistent support
4562    for struct lastlog to quiet compiler warnings (prompted by
4563    David Dawes commit message for XFree86).</li>
4564
4565    <li>fixes for BASE64 selection manipulation, e.g., ensure that
4566    the string terminator is written after cut-buffer data (report
4567    by Joe Allen).</li>
4568
4569    <li>add vttests/paste64.pl script to test experimental option
4570    for setting/getting selection data.</li>
4571
4572    <li>add some error-checking in fontutils.c (prompted by David
4573    Dawes commit message for XFree86).</li>
4574
4575    <li>change xterm manpage to show the actual color resource
4576    names <code>XtDefaultForeground</code> and
4577    <code>XtDefaultBackground</code> rather than black and white
4578    (prompted by discussion with Emanuele Giaquinta).</li>
4579
4580    <li>add <code>utf8Title</code> resource and menu entry,
4581    allowing the user to control whether title strings are
4582    interpreted as ISO-8859-1 or UTF-8 encoding (Novell #52655,
4583    Novell #113206).</li>
4584
4585    <li>change order of ifdef's for utempter versus platforms in
4586    <code>Imakefile</code> to ensure a proper value for
4587    <code>InstallXtermSetGID</code> (prompted by Marc La France
4588    commit message for XFree86).</li>
4589
4590    <li>update the cursor GCs when menu entry for reverse video is
4591    toggled. (Redhat #183993).</li>
4592
4593    <li>a memory-leak fix for <code>set_cursor_gcs()</code> in
4594    <a href="#xterm_208">patch #208</a> broke the <code>-cm</code>
4595    option (Redhat #182382).</li>
4596  </ul>
4597
4598  <h1><a name="xterm_209" id="xterm_209">Patch #209 - 2006/2/12 -
4599  XFree86 4.5.99.22</a></h1>
4600
4601  <ul>
4602    <li>remove <code>setf</code> and <code>setb</code> from
4603    <code>xterm-256color</code> terminfo entry to avoid issues with
4604    applications that ignore the ANSI strings (report by Emanuele
4605    Giaquinta).</li>
4606
4607    <li>remove obsolete references to "Xorg" to avoid confusion
4608    with "X.org" (prompted by David Dawes commit message for
4609    XFree86).</li>
4610
4611    <li>improve initial layout performance for the toolbar
4612    configuration by precalculating the height of the toolbar.</li>
4613
4614    <li>remove menu entry for "Enable Curses Emulation" (to make
4615    room for "Select To Clipboard").</li>
4616
4617    <li>add resource <code>selectToClipboard</code>, action
4618    <code>set-select</code> and a menu entry to allow users to
4619    switch between PRIMARY and CLIPBOARD for select/paste.</li>
4620
4621    <li>allow cursor to have the same color as foreground (text),
4622    since it is rendered as reverse (Debian #350664).</li>
4623
4624    <li>amend change for loading <code>utf8Fonts</code> resource
4625    from <a href="#xterm_204">patch #204</a> to allow an ISO-8859-1
4626    "normal" font to be combined with an ISO-10646 font if the
4627    latter is given via the <code>-fw</code> option or its
4628    corresponding resource value (prompted by comment in Novell
4629    #49305).</li>
4630
4631    <li>add <code>TIOCSCTTY</code> <code>ioctl()</code> ifdef'd for
4632    <code>__GNU__</code> to set the controlling terminal (Debian
4633    #348457).</li>
4634
4635    <li>add configure option <code>--disable-leaks</code>.</li>
4636
4637    <li>add a check in <code>Bell</code> to ensure that the VT100
4638    widget is realized, since it may be called by
4639    <code>xtermLoadFont</code> given an incorrect font resource
4640    (Redhat #180450).</li>
4641
4642    <li>improve initialization of wide-bold font by not using the
4643    derived value when it happens to have few glyphs (report by
4644    Mboso Sampson).</li>
4645
4646    <li>improve dynamic colors by not repainting the screen if only
4647    the cursor color changes (request by Bram Moolenaar).</li>
4648
4649    <li>fix menu initialization for tek4014 window broken in
4650    <a href="#xterm_206">patch #206</a>.</li>
4651
4652    <li>typo in manpage (Debian #351425).</li>
4653
4654    <li>correct loop logic in <code>dotext</code> to prevent an
4655    infinite loop if a wide character was just at the right margin
4656    when wrapping was disabled (report by Serge van den Boom).</li>
4657
4658    <li>initialize the saved-cursor data so a restore-cursor
4659    operation without a preceding save-cursor operation will not
4660    modify the foreground color.</li>
4661
4662    <li>add a new selection feature: regular expressions, and new
4663    resources which specify what happens on multiple mouse clicks:
4664    <code>on2Clicks</code>, <code>on3Clicks</code>,
4665    <code>on4Clicks</code> and <code>on5Clicks</code>.</li>
4666
4667    <li>revert the <code>XTerm.ad</code> change from <a href=
4668    "#xterm_208">patch #208</a> (Debian #348384).</li>
4669
4670    <li>fixes for the print-window to make it handle combining
4671    characters in UTF-8 mode.</li>
4672
4673    <li>add check to ensure that double-clicking to extend
4674    selection will not extend it into the scrollback area. This
4675    still allows users to scroll back and select text (Debian
4676    #347415).</li>
4677
4678    <li>add configure option <code>--with-tty-group</code> to help
4679    work around deficiencies in packager's build environment
4680    (Debian #349142).</li>
4681
4682    <li>fix typo in configure script option
4683    <code>--disable-narrowproto</code> (report by David
4684    Mart&iacute;nez Moreno).</li>
4685
4686    <li>amend CF_X_FREETYPE changes for <code>pkg-config</code>
4687    check to ensure that <code>Xft</code> is known to that tool
4688    (report and patch by Emanuele Giaquinta).</li>
4689
4690    <li>add an ifdef to allow <code>./configure
4691    --disable-active-icon</code> to work, broken by new code for
4692    testing memory leaks in <a href="#xterm_208">patch #208</a>
4693    (report by Brian Lindholm).</li>
4694  </ul>
4695
4696  <h1><a name="xterm_208" id="xterm_208">Patch #208 - 2006/1/3 -
4697  XFree86 4.5.99.19</a></h1>
4698
4699  <ul>
4700    <li>add <code>charClass</code> resource to
4701    <code>XTerm.ad</code> and <code>UXTerm.ad</code> which
4702    simplifies selecting URLs (prompted by Kirill Ponomarew).</li>
4703
4704    <li>modify install rule for <code>uxterm</code> to account for
4705    the <code>--program-prefix</code>, etc., options by invoking
4706    the transformed name of xterm rather than simply "xterm".</li>
4707
4708    <li>modify configure <code>--with-app-defaults</code> option to
4709    allow <code>--without-app-defaults</code>.</li>
4710
4711    <li>add configure <code>--with-symlink</code> option to make it
4712    simpler to install successive versions of <code>xterm</code>
4713    renamed using the <code>--program-prefix</code>, etc., options
4714    with a symbolic link pointing to the most recent.</li>
4715
4716    <li>make <code>-iconic</code> option work with toolbar
4717    configuration (GenToo #113604).</li>
4718
4719    <li>suppress <code>lastlog</code> feature for 64-bit Solaris
4720    configuration since that platform provides only a 32-bit
4721    interface (report by Peter Bray).</li>
4722
4723    <li>fix memory reallocation for the "UTF-8" menu entry when
4724    xterm is started using the <code>+u8</code> option (reported by
4725    Jan Willem Stumpel).</li>
4726
4727    <li>add a configure check for the actual path of
4728    <code>luit</code>, to work around broken <code>imake</code>
4729    configurations.</li>
4730
4731    <li>add a configure check for <code>pkg-config</code> (Redhat
4732    Bugzilla #173541).</li>
4733
4734    <li>modify install-rule for <code>uxterm</code> to omit
4735    executable suffix, e.g., for Cygwin.</li>
4736
4737    <li>modify <code>sinstall.sh</code> to work around quirks in
4738    Cygwin configuration.</li>
4739  </ul>
4740
4741  <h1><a name="xterm_207" id="xterm_207">Patch #207 - 2005/11/13 -
4742  XFree86 4.5.99.16</a></h1>
4743
4744  <ul>
4745    <li>enable <code>lastlogx</code> support for NetBSD (was added,
4746    but not enabled in <a href="#xterm_186">patch #186</a>).</li>
4747
4748    <li>work around broken <code>lastlog.h</code> in glibc 2.3.5,
4749    which includes <code>utmp.h</code>.</li>
4750
4751    <li>revert part of recent XFree86 Imakefile change, restoring
4752    the <code>-I.</code> needed for <code>xmkmf</code> builds of
4753    xterm (XFree86 Bugzilla #1633, reports by Alexander Pohoyda,
4754    Matthieu Herrb).</li>
4755
4756    <li>change compiled-in default for <code>printerCommand</code>
4757    resource to an empty string. People who want to use the printer
4758    should be able to read the manual (Debian #311490).</li>
4759
4760    <li>modify <code>Imakefile</code> to work around old problems
4761    in <code>imake</code> configuration to allow test-builds using
4762    <code>xmkmf</code> on Linux. (This was not noticed since
4763    several releases had broken definitions relating to Xft which
4764    were harder to work around).</li>
4765
4766    <li>link <code>resize</code> for SCO platforms (Kean
4767    Johnston).</li>
4768  </ul>
4769
4770  <h1><a name="xterm_206" id="xterm_206">Patch #206 - 2005/11/3 -
4771  XFree86 4.5.99.15</a></h1>
4772
4773  <ul>
4774    <li>add configure <code>--with-app-defaults</code> option to
4775    allow app-defaults directory for install-rules to be
4776    customized.</li>
4777
4778    <li>remove default translations for
4779    <code>dabbrev-expand()</code> due to conflicts with existing
4780    keyboard arrangements.</li>
4781
4782    <li>remove redundant check for <code>_NET_WM_PID</code> (report
4783    by Emanuele Giaquinta).</li>
4784
4785    <li>set icon border width explicitly to work around fvwm
4786    problem with active icon resizing (report by Steve Morris,
4787    analysis by Dominik Vogt).</li>
4788
4789    <li>modify resource files to make the font-resources a little
4790    more specific, e.g., changing "*VT100*" to "*VT100.", to make
4791    the distinction between VT100.font and VT100.utf8Fonts.font
4792    sharper, in case a packager modifies one of those.</li>
4793
4794    <li>expanded comments in <code>UXTerm.ad</code> regarding the
4795    font resources (Debian #319179).</li>
4796
4797    <li>add <code>--enable-narrowproto</code> configure option to
4798    accommodate X.org "modular" build (report by Stephan Hermann,
4799    GenToo #17220).</li>
4800
4801    <li>fix typo in xterm.man description of <code>+wf</code>
4802    (patch by Tobias Stoeckmann).</li>
4803
4804    <li>add <code>scrollBarBorder</code> resource (request by Floyd
4805    L Davidson).</li>
4806
4807    <li>modify <code>xterm-new</code> terminfo entry to use
4808    capabilities for shifted scroll forward/reverse as shifted
4809    cursor up/down.</li>
4810
4811    <li>correct updating of checkmark for toolbar entry in popup
4812    menu (report by Emanuele Giaquinta).</li>
4813
4814    <li>fix ifdef's to allow compiling with toolbar and without
4815    tek4014 (patch by Emanuele Giaquinta).</li>
4816
4817    <li>use <code>openpty()</code> for Darwin port (patch by
4818    Emanuele Giaquinta).</li>
4819
4820    <li>fix GenToo #90697 a different way, postponing the logic in
4821    <code>SetupToolbar</code> until the toolbar is actually needed,
4822    i.e., the <code>+tb</code> option is handled as expected.</li>
4823
4824    <li>revert fix made in <a href="#xterm_203">patch #203</a> for
4825    GenToo #90697. That introduced a problem with the control mouse
4826    click-popups, while most of the performance problems can be
4827    resolved by restricting the menu fonts (report by Emanuele
4828    Giaquinta).</li>
4829
4830    <li>fix a file-descriptor leak when calling
4831    <code>openpty()</code> (OpenBSD system/4561).</li>
4832
4833    <li>make a special case of resizing work like vt100: a hard
4834    reset also resets the 132/80 mode. The code to support this was
4835    present since X11R5, but not used because the corresponding
4836    initial state of the <code>-132</code> option was not
4837    saved.</li>
4838
4839    <li>restore window manager hints after
4840    <code>XtMakeResizeRequest()</code> calls. One instance from
4841    <a href="#xterm_205">patch #205</a> resulted in the window
4842    manager displaying pixels rather than than characters after
4843    selecting a different font size (FreeBSD ports/87424).</li>
4844
4845    <li>remove special case for Darwin in CF_XOPEN_SOURCE (Emanuele
4846    Giaquinta).</li>
4847
4848    <li>modify parsing of control sequence <code>CSI&nbsp;T</code>
4849    to allow scroll-down to be sent while mouse tracking is enabled
4850    (request by D Hugh Redelmeier).</li>
4851
4852    <li>correct termcap "me" (mode-end) string so it does not
4853    modify the alternate character set (report by Andrey
4854    Chernov).</li>
4855
4856    <li>correct size-comparison in HandleInterpret() broken in
4857    changes from <a href="#xterm_201">patch #201</a> to allocate
4858    input buffer (Debian #334317).</li>
4859
4860    <li>amend adjustments for scrollbar layout from <a href=
4861    "#xterm_204">patch #204</a> to make this apply only to the
4862    toolbar configuration. In the non-toolbar configuration, the
4863    resulting scrollbar was shifted by its borderwidth (report by
4864    Matthieu Herrb).</li>
4865
4866    <li>add select-cursor-extend() action.</li>
4867
4868    <li>fix some broken href's in xterm.log.html, and typo in the
4869    INSTALL file (report/patch by David Mart&iacute;nez
4870    Moreno).</li>
4871
4872    <li>modify <code>Imakefile</code> to use setgid mode for
4873    installing with Linux, OpenBSD and FreeBSD.</li>
4874
4875    <li>add configure --with-setuid and --with-reference options to
4876    allow packagers more flexibility in customizing install
4877    permissions.</li>
4878
4879    <li>generalize and make optional (configure --with-utmp-setgid)
4880    the change made for XFree86 Bugzilla #878 in <a href=
4881    "#xterm_205">patch #205</a> (FreeBSD bug report
4882    #ports/86663).</li>
4883  </ul>
4884
4885  <h1><a name="xterm_205" id="xterm_205">Patch #205 - 2005/9/18 -
4886  XFree86 4.5.99.12</a></h1>
4887
4888  <ul>
4889    <li>correct a typo in CF_FUNC_TGETENT introduced in <a href=
4890    "#xterm_198">patch #198</a> fix for Gentoo #69926.</li>
4891
4892    <li>implement logic in termcap query to process multiple
4893    parameters as documented in ctlseqs.ms</li>
4894
4895    <li>fix buffer size used for termcap query, which was not long
4896    enough for the terminfo "colors" name (patch by Bradd W.
4897    Szonye).</li>
4898
4899    <li>add configure option --enable-readline-mouse, which turns
4900    on the experimental OPT_READLINE code (patch by Ilya
4901    Zakharevich).</li>
4902
4903    <li>for FreeBSD, drop setuid privileges after startup (XFree86
4904    Bugzilla #878, report/patch by Alexander Pohoyda)</li>
4905
4906    <li>add menu entry (alt-esc) and corresponding action
4907    (alt-sends-esc) to toggle the <code>eightBitInput</code>
4908    resource setting.</li>
4909
4910    <li>generate configure script with autoconf 2.52 (patched) to
4911    use the feature therein which forces the script's locale to
4912    POSIX (Gentoo Bugzilla #105369).</li>
4913
4914    <li>modify computation of rows/columns on resize to avoid
4915    extending beyond the given limits, e.g., if resizing in
4916    response to a "maximize" in Gnome or KDE which do not use the
4917    window manager hints for this case (Debian #289123, Novell
4918    #61153).</li>
4919
4920    <li>modifications to work with z/OS 1.4 (Paul Giordano).</li>
4921
4922    <li>improve error-reporting when chown/chmod of the
4923    pseudo-terminal fails, e.g., if a copy of xterm which was
4924    designed to work with old-style pseudo-terminals is not
4925    installed setuid or setgid (report by Jeremy C. Reed).</li>
4926
4927    <li>patches from Emanuele Giaquinta:
4928
4929      <ul>
4930        <li>ctlseqs.ms says that primary and secondary DA accept a
4931        nonzero parameter, which is incorrect. Also modify code to
4932        agree with this.</li>
4933
4934        <li>correct a comment in 88colres.pl</li>
4935
4936        <li>ctlseqs.ms says that the DEC Set/Reset control
4937        sequences for the backarrow key make it send DEL/BS,
4938        respectively, while it's the opposite.</li>
4939
4940        <li>update the menu entries for the metaSendsEscape,
4941        deleteIsDEL and numLock resources when changing them with
4942        the corresponding DEC Set/Reset control sequences.</li>
4943      </ul>
4944    </li>
4945
4946    <li>fixes for configure script:
4947
4948      <ul>
4949        <li>add special case for QNX, defining _QNX_SOURCE.</li>
4950
4951        <li>check for preprocessors which do not perform -U and -D
4952        options in the given order.</li>
4953
4954        <li>improve macro to determine gcc version</li>
4955
4956        <li>improve check for Intel compiler and related warning
4957        options</li>
4958      </ul>
4959    </li>
4960
4961    <li>update config.guess, config.sub</li>
4962
4963    <li>improve fix from <a href="#xterm_198">patch #198</a> for
4964    <code>Cleanup()</code> by ensuring it is not called from the
4965    SIGCHLD handler (patch by Todd Miller (OpenBSD CVS)).</li>
4966
4967    <li>eliminate a retry for a better-matching bold font, to work
4968    around recent font server changes.</li>
4969
4970    <li>fixes for Novell #113277:
4971
4972      <ul>
4973        <li>specify weight for wide font which may be derived from
4974        normal fontname.</li>
4975
4976        <li>cache the derived wide- and widebolt-fontnames.</li>
4977      </ul>
4978    </li>
4979
4980    <li>workaround for GenToo Bugzilla #100728.</li>
4981
4982    <li>add menubar's border width to layout computation. Normally
4983    this is zero, but patterns such as
4984    <code>XTerm*borderWidth:1</code> would give poor layout for the
4985    toolbar configuration.</li>
4986  </ul>
4987
4988  <h1><a name="xterm_204" id="xterm_204">Patch #204 - 2005/8/4 -
4989  XFree86 4.5.99.9</a></h1>
4990
4991  <ul>
4992    <li>work around quirk in shell which allowed user to "run"
4993    uxterm script when there was no UTF-8 locale installed by
4994    entering "sh -x uxterm". Also popup an xmessage to show the
4995    problem for users who run this via a GUI (Debian #318513).</li>
4996
4997    <li>disallow changes to fonts, toolbar and scrollbar when the
4998    vt100 window is iconified, to simplify management of the active
4999    icon.</li>
5000
5001    <li>fixes to make <code>-geom</code> option work properly with
5002    the toolbar configuration (Gentoo #90717, Gentoo #91967).</li>
5003
5004    <li>minor improvements to scrollbar layout: ensure that the
5005    scrollbar border is zero if the vt100 border is zero.</li>
5006
5007    <li>improve initialization due to <code>utf8</code> resource by
5008    loading the <code>utf8Fonts</code> resource in the case where
5009    <code>locale</code> resource is false. Also in this case, do
5010    not disable switching UTF-8 mode on/off.</li>
5011
5012    <li>minor optimization of TrueType font-loading, loads italic
5013    font only when needed.</li>
5014
5015    <li>correct variable used to store temporary result from lookup
5016    of bold font, when initializing the wide-bold-font data and no
5017    immediate match is found by asking for a bold variant of the
5018    wide-font. The result was to use overstriking rather than the
5019    actual bold font (Debian #318162, patch by Eugene Konev).</li>
5020
5021    <li>add checks to ensure vt100 widget is realized when it might
5022    be updated via actions handled from a tek4014-only
5023    configuration.</li>
5024  </ul>
5025
5026  <h1><a name="xterm_203" id="xterm_203">Patch #203 - 2005/7/6 -
5027  XFree86 4.5.99.7</a></h1>
5028
5029  <ul>
5030    <li>modify initialization of <code>allowSendEvents</code> and
5031    <code>allowWindowOps</code> to prevent modification with the
5032    editres protocol.</li>
5033
5034    <li>fix compiler warning for NetBSD by including util.h in
5035    main.c (XFree86 Bugzilla #1596).</li>
5036
5037    <li>fix to build on Darwin 8.x, which no longer provides
5038    <code>setpgrp()</code> (patch by Min Sik Kim).</li>
5039
5040    <li>adapted fixes for Legend (SCO) from diffs attached to
5041    Freedesktop.Org Bugzilla #3180.</li>
5042
5043    <li>fix typo in xterm manpage description of <code>-ls</code>
5044    option (Freedesktop.Org Bugzilla #3543).</li>
5045
5046    <li>add support for interpreting the underline attribute as an
5047    italic font in Xft mode (patch by Chuck Blake).</li>
5048
5049    <li>improve initialization of toolbar so that individual
5050    pulldown menus are initialized on demand, as they are in the
5051    scenario where they are invoked as popup menus (GenToo Bugzilla
5052    #90697).</li>
5053
5054    <li>fix logic in <code>find_utmp</code>, which did not reset
5055    result in <code>getutid()</code>, causing an infinite loop in
5056    some conditions (report by Emil Mikulic).</li>
5057
5058    <li>set the <code>_NET_WM_PID</code> property (GenToo Bugzilla
5059    #91008).</li>
5060
5061    <li>modify ifdef's in ptyx.h and xterm_io.h to build with
5062    DragonFly (patch by Jeroen Ruigrok).</li>
5063
5064    <li>change default values for <code>minBufSize</code> and
5065    <code>maxBufSize</code> to 4096 and 32768 respectively so that
5066    the initial read request will match the value from before
5067    changes to use <code>sched_yield()</code>.</li>
5068
5069    <li>make paste of UTF-8 faster for Western character sets by
5070    checking range of incoming data (patch by Joe Allen).</li>
5071
5072    <li>add experimental option to allow applications to get or set
5073    the selection data as a BASE64 string (adapted from patch by
5074    Joe Allen).</li>
5075
5076    <li>fix an off-by-one error parsing <code>-S/nn</code> option
5077    (Debian #311438, report/fix by Peter Chubb).</li>
5078
5079    <li>fix an initialization bug from <a href="#xterm_201">patch
5080    #201</a> that broke logging (report by Rodney Thayer).</li>
5081
5082    <li>amend change to command-line processing in <a href=
5083    "#xterm_201">patch #201</a> to avoid conflict with
5084    <code>-e</code> option (report by Servatius Brandt).</li>
5085
5086    <li>suppress configure check for <code>_XOPEN_SOURCE</code> on
5087    darwin.</li>
5088
5089    <li>update config.guess, config.sub</li>
5090  </ul>
5091
5092  <h1><a name="xterm_202" id="xterm_202">Patch #202 - 2005/5/2 -
5093  XFree86 4.5.99.3</a></h1>
5094
5095  <ul>
5096    <li>add extended shift- and control-modifier cursor keys to
5097    "xterm+pcfkeys" terminfo entry to correspond to ncurses
5098    20050430 patch.</li>
5099
5100    <li>fix a rare case where text would be written with the wrong
5101    colors because output of scrolled text would reset the colors
5102    and the new text would be written with the same colors
5103    (report/testcase by Thomas Glanzmann).</li>
5104
5105    <li>rename <code>$CMD</code> variable in <code>plink.sh</code>
5106    because it is a reserved symbol in bash 3.00.16 (report by Ted
5107    Taylor).</li>
5108
5109    <li>add environment variables <code>$XTERM_SHELL</code> and
5110    <code>$XTERM_VERSION</code> (request by Zdenek Sekera).</li>
5111
5112    <li>corrected workaround for background color of menubar, which
5113    gave a too-broad expression, coloring the background of the
5114    VT100 widget unless overridden by another resource
5115    setting.</li>
5116
5117    <li>correct an error in the logic which decides when
5118    <code>sched_yield()</code> is run; it would occasionally hang
5119    when contending with other pseudo-terminal applications such as
5120    screen (report by Kirill Ponomarew).</li>
5121
5122    <li>modify initialization to decide whether to default to
5123    built-in <code>wcwidth()</code> versus system's version based
5124    on the starting locale and whether the system's version is poor
5125    quality (suggested by Bram Moolenaar).</li>
5126
5127    <li>update table for <code>mk_width()</code> from UnicodeData
5128    4.1.0 using Markus Kuhn's <code>uniset</code> script.</li>
5129  </ul>
5130
5131  <h1><a name="xterm_201" id="xterm_201">Patch #201 - 2005/4/21 -
5132  XFree86 4.5.99.2</a></h1>
5133
5134  <ul>
5135    <li>improve resource files to show how the menubar and popup
5136    menus can be colored (prompted by report by Joe Wells).</li>
5137
5138    <li>modify parsing of OSC (and SOS, etc), strings so their
5139    contents are not interpreted as UTF-8. This allows non-ASCII
5140    title strings to be set, provided that the window manager
5141    complies (report by Thomas Wolff).</li>
5142
5143    <li>improved some of the built-in line-drawing glyphs.</li>
5144
5145    <li>correct color of "box" character drawn for line-drawing
5146    glyph 1 (report by Nicolas George).</li>
5147
5148    <li>improve behavior when switching to UTF-8 mode after startup
5149    so xterm will check if the current fonts are already wide
5150    (ISO10646-1). If they are not, xterm will use the
5151    <code>utf8Fonts</code> subresource to load appropriate fonts
5152    (request by Bram Moolenaar).</li>
5153
5154    <li>modify logic for setting title-string so it applies to the
5155    current widget rather than the vt100 widget.</li>
5156
5157    <li>modify initialization for wide-bold fontname, to search for
5158    one if none is given (report by Michael Schroeder).</li>
5159
5160    <li>add resource <code>mkWidth</code> and command-line option
5161    <code>-mk_width</code> to control whether xterm uses the
5162    built-in version of wcwidth().</li>
5163
5164    <li>add resource settings for minimum/maximum input buffer
5165    size, and call to <code>sched_yield</code> to improve
5166    performance with newer Linux kernels (adapted from patch by
5167    Nicolas George).</li>
5168
5169    <li>correct computation of width for wide characters with the
5170    invisible attribute (report by Thomas Wolff).</li>
5171
5172    <li>modify interaction between <code>+u8</code> and
5173    <code>locale</code> resource to allow the command-line option
5174    to override the resource (requested by Thomas Wolff).</li>
5175
5176    <li>add a limit check for scrolling margins in a one-line
5177    screen, overlooked in fixes for <a href="#xterm_198">patch
5178    #198</a> (Debian #297430).</li>
5179
5180    <li>correct treatment of <code>iconBorderWidth</code> for
5181    resizing an active-icon, and its description in manpage (Debian
5182    #296592).</li>
5183
5184    <li>modify configure script <code>--disable-imake</code> to use
5185    the script's definitions anyway if it cannot detect imake
5186    (prompted by FreeBSD bug 77408).</li>
5187
5188    <li>ignore error in the I/O initialization that tries to set
5189    the tty to 7-bit input for the case where
5190    <code>eightBitInput</code> resource is false (Debian
5191    #298551).</li>
5192
5193    <li>modify command-processing to accept an optional parameter
5194    that tells xterm which shell program to use (request by Zdenek
5195    Sekera).</li>
5196
5197    <li>add simpler resource <code>keyboardType</code> which, when
5198    set, overrides the individual keyboard-type resources and
5199    eliminates the possibility of conflict between them.</li>
5200
5201    <li>add initialization for <code>scoFunctionKeys</code>
5202    resource (report by Rick K).</li>
5203
5204    <li>correct logic of <code>ReallocateBufOffsets()</code> which
5205    did not copy the content of the old screen buffer to the proper
5206    location, making a repaint clear after switching to
5207    wide-character mode (report by Bram Moolenaar):</li>
5208
5209    <li>implement the remaining pieces to make xterm allocate cells
5210    for wide-characters when the "UTF-8" menu entry is selected.
5211    Also, load the UTF-8 font when that menu entry is selected, or
5212    the escape sequence for UTF-8 mode is received (report by Bram
5213    Moolenaar):</li>
5214
5215    <li>add command-line options (<code>-tb</code>,
5216    <code>+tb</code>) and resource <code>toolBar</code> to allow
5217    menu/toolbar to disabled or enabled at startup (prompted by
5218    reports by Joe Wells).</li>
5219
5220    <li>correct typo in configure script's --enable-dec-locator
5221    option (report by Bram Moolenaar).</li>
5222  </ul>
5223
5224  <h1><a name="xterm_200" id="xterm_200">Patch #200 - 2005/2/6 -
5225  XFree86 4.4.99.23</a></h1>
5226
5227  <ul>
5228    <li>increase color pairs value for xterm-256color and
5229    xterm-88color to match ncurses, which has an experimental
5230    option to support this.</li>
5231
5232    <li>modify ifdef's to make AIX use termios rather than termio;
5233    the struct sizes for the two were not the same.</li>
5234
5235    <li>improve CF_WITH_IMAKE_CFLAGS configure macro script for
5236    OSMAJORVERSION and OSMINORVERSION values, e.g., for Tru64 and
5237    AIX.</li>
5238
5239    <li>modify ifdef to define USE_POSIX_TERMIOS for Darwin (patch
5240    by Min Sik Kim).</li>
5241
5242    <li>modify find_utmp() to initialize the whole utmpx struct
5243    (except ut_id), since that is needed for OSF1 4.0D to prevent
5244    an infinite loop on exit.</li>
5245
5246    <li>add configure check before adding -D_POSIX_SOURCE since
5247    some platforms predefine it, e.g., cygwin.</li>
5248
5249    <li>add simplified sed expressions in CF_IMAKE_CFLAGS configure
5250    script macro to ensure value for PROJECTROOT is quoted on
5251    Solaris, i.e., when nested <code>\(</code> and <code>\)</code>
5252    are not interpreted correctly.</li>
5253
5254    <li>correct DEC rectangle operations to reset state after
5255    completing the operations.</li>
5256
5257    <li>modify CASE_ST handling in charproc.c to ensure that the
5258    parse state is reset even if xterm is not currently processing
5259    an OSC or other string (patch by Johnny Billquist forwarded by
5260    Matthias Scheler, NetBSD xsrc/29003).</li>
5261
5262    <li>fix OS/2 build for innotek_libc (patch by David Yeo).</li>
5263
5264    <li>fix a regression from <a href="#xterm_197">patch #197</a>
5265    fix for Debian #277832 which disowned the selection if it was
5266    scrolled, e.g., by the user pressing return at the bottom of
5267    the screen (Debian #291787).</li>
5268
5269    <li>move the warning/exit for missing $DISPLAY into the error
5270    handler in case <code>-display</code> is given, and the connect
5271    fails for some other reason.</li>
5272  </ul>
5273
5274  <h1><a name="xterm_199" id="xterm_199">Patch #199 - 2005/1/17 -
5275  XFree86 4.4.99.22</a></h1>
5276
5277  <ul>
5278    <li>instead of setting <code>$DISPLAY</code>, check for the
5279    unset variable and warn/exit on this condition (comments by H
5280    Merijn Brand and Bernhard R Link).</li>
5281
5282    <li>fix a typo in Imakefile from <a href="#xterm_198">patch
5283    #198</a> (reports/patches by Stefan Dirsch, Mike Castle).</li>
5284  </ul>
5285
5286  <h1><a name="xterm_198" id="xterm_198">Patch #198 - 2005/1/13 -
5287  XFree86 4.4.99.21</a></h1>
5288
5289  <ul>
5290    <li>set <code>$DISPLAY</code> to ":0" if it is not set.</li>
5291
5292    <li>add <code>utmpDisplayId</code> resource to allow users to
5293    control whether the display identifier (display number and
5294    screen number) are retained in the connection information
5295    recorded in utmp (discussion with Edoardo Tirtarahardja).</li>
5296
5297    <li>add <code>bellOnReset</code> resource to allow users to
5298    disable bell which sounds on hard reset since <a href=
5299    "#xterm_183">patch #183</a> changes to DECSCL (discussion with
5300    Danek Duvall).</li>
5301
5302    <li>improve <code>$WINDOWID</code> for configuration with
5303    toolbar by making it refer to the top-level shell rather than
5304    the parent of the current window. For that case, the parent is
5305    a form widget, which does not have a name, which made the
5306    <code>$WINDOWID</code> not very useful as a parameter for
5307    <code>xwininfo</code> (suggested by Dave Bodenstab).</li>
5308
5309    <li>fix a typo in WhichVFont() macro from <a href=
5310    "#xterm_197">patch #197</a> changes which broke the
5311    --disable-active-icon configuration (report by Ralf S.
5312    Engelschall).</li>
5313
5314    <li>improve some limit checks (Gentoo Bugzilla #75604).</li>
5315
5316    <li>add --disable-setuid option to configure script (Gentoo
5317    Bugzilla #76543).</li>
5318
5319    <li>add --disable-full-tgetent option to configure script,
5320    allowing one to ignore a termcap library in favor of
5321    ncurses/curses (Gentoo Bugzilla #69926).</li>
5322
5323    <li>modify configure script to choose useful warning options
5324    for Intel version 8.0 compiler.</li>
5325
5326    <li>update config.guess, config.sub</li>
5327
5328    <li>make active-icon work properly when TrueType fonts are used
5329    (Debian #286068).</li>
5330
5331    <li>correct change from <a href="#xterm_157">patch #157</a>
5332    which uses getlogin() to check for an alias; the storage used
5333    for the related getpwuid() call was overwritten by the data
5334    used for comparison (patch by Per Hedeland).</li>
5335
5336    <li>correct case of SCS for character set 0 (line-drawing) to
5337    allow it to be selected into GR.</li>
5338
5339    <li>fix a file-descriptor leak (Redhat Bugzilla #139597).</li>
5340
5341    <li>modify <code>creat_as()</code> to only fork if xterm is
5342    actually running as setuid and/or setgid. This works around a
5343    Cygwin bug which hangs when logging is enabled and makes xterm
5344    a little faster for systems using interfaces such as utempter
5345    (report by Al Goodman).</li>
5346
5347    <li>modify <code>Cleanup()</code> to avoid operations such as X
5348    calls that might use unsafe functions when it is called by a
5349    signal handler (report by Michiel Boland).</li>
5350
5351    <li>fix bugs in <a href="#xterm_191">patch #191</a> and in SRM
5352    changes from <a href="#xterm_197">patch #197</a> that broke
5353    DECSET 38: switch to Tek4014 emulation (report by Dave
5354    Bodenstab).</li>
5355
5356    <li>fix for manpage escapes (Marc La France).</li>
5357
5358    <li>improve on IRIX-specific change for Imakefile in XFree86
5359    CVS versus resize linking against termcap library to reflect
5360    definitions for USE_TERMCAP in resize.c</li>
5361  </ul>
5362
5363  <h1><a name="xterm_197" id="xterm_197">Patch #197 - 2004/11/30 -
5364  XFree86 4.4.99.19</a></h1>
5365
5366  <ul>
5367    <li>modify configure script to remove empty "-DPROJECTROOT="
5368    definition which resulted unusable values for luit's default
5369    path.</li>
5370
5371    <li>update precompose.c based on Unicode 4.0.1</li>
5372
5373    <li>several minor fixes based on Intel compiler warnings.</li>
5374
5375    <li>change default translations so a <code>BtnDown</code> which
5376    is not recognized is simply ignored rather than emitting a
5377    bell. That makes it less obtrusive when the user tries to use a
5378    mouse which provides more capabilities than the X mouse driver
5379    supports, e.g., one with a horizontal scroll wheel (Debian
5380    #265133).</li>
5381
5382    <li>note in xterm's manpage that <code>translations</code> is
5383    not specific to xterm (Debian #278897).</li>
5384
5385    <li>modify uxterm script to use locale program to verify if the
5386    derived locale is installed (Debian #246398).</li>
5387
5388    <li>correct font handling for active icon when in UTF-8 mode
5389    (report by Paolo Liberatore).</li>
5390
5391    <li>make active-icon and toolbar configurations work
5392    together.</li>
5393
5394    <li>modify the criteria for disowning primary selection.
5395    Previously, this happened anytime the cursor was moved before
5396    the end of the selection. That would ensure that any
5397    insert/delete of char or line, as well as scrolling, would
5398    disown the selection. The new criteria change this to checking
5399    if the operations would modify the data which is highlighted
5400    (Debian #277832).</li>
5401
5402    <li>reimplement <code>DECALN</code> with functions for vt420
5403    rectangles, fixes selection for this case.</li>
5404
5405    <li>implement vt420 rectangle operations.</li>
5406
5407    <li>add parsing, for debug/test of vt220 soft-fonts.</li>
5408
5409    <li>add menu entry, actions and escape sequence to allow
5410    enabling/disabling toolbars at runtime.</li>
5411
5412    <li>improve rendering for Xft, allow it to draw non-linedrawing
5413    characters such as "pi", which were drawn from internal tables
5414    with <a href="#xterm_180">patch #180</a> (Freedesktop.org
5415    Bugzilla #1260).</li>
5416
5417    <li>add configure option <code>--enable-mini-luit</code>,
5418    ifdef'd the mini-luit feature with
5419    <code>OPT_MINI_LUIT</code>.</li>
5420
5421    <li>add mini-luit feature, which supports Latin9 directly
5422    rather than via luit, provided that Unicode fonts are used
5423    (Freedesktop.org Bugzilla #1571, request by Stefan Dirsch,
5424    patch by Michael Schroeder).</li>
5425
5426    <li>for Linux, if IUTF8 is defined, e.g., on recent 2.6.x
5427    kernels, set the corresponding flag for the slave pty, to
5428    enable UTF-8 interpretation of backspace in cooked mode
5429    (Freedesktop.org Bugzilla #1578, request by Stefan
5430    Dirsch).</li>
5431
5432    <li>modify <code>faceSize</code> resource to use a
5433    floating-point internal value (adapted from patch by Sam
5434    Stephenson).</li>
5435
5436    <li>correct handling selection of tabs over cleared space in
5437    UTF-8 mode. In this special case, xterm represents the
5438    whitespace with a null rather than a space character (Debian
5439    #276447).</li>
5440
5441    <li>amend fix for infinite loop from <a href="#xterm_192">patch
5442    #192</a> to check if there is wrapped text to output in a
5443    following iteration (Debian #273202).</li>
5444
5445    <li>fixes ifdef'd with <code>__INTERIX</code> to allow building
5446    with Interix (Windows Services for UNIX) 3.5 using the xlibs
5447    libraries from freedesktop.org (patch by Min Sik Kim).</li>
5448
5449    <li>amend solution for Debian #252873, Debian #260471 from
5450    <a href="#xterm_194">patch #194</a> by making the cursor not
5451    explicitly colored if only the foreground color is set, and the
5452    cursor is on a blank space (Debian #275473).</li>
5453
5454    <li>correct logic for send/receive mode (SRM) with regard to
5455    control characters.</li>
5456
5457    <li>fix masking of invisible text in wide-character mode, which
5458    did not work for line-drawing characters.</li>
5459
5460    <li>incorporate CF_XOPEN_SOURCE into configure script,
5461    replacing CF_GNU_SOURCE.</li>
5462  </ul>
5463
5464  <h1><a name="xterm_196" id="xterm_196">Patch #196 - 2004/8/15 -
5465  XFree86 4.4.99.12</a></h1>
5466
5467  <ul>
5468    <li>add a special case to configure script to ignore NetBSD's
5469    <code>grantpt()</code> which was recently added (but not part
5470    of a release), until someone is able to ensure that xterm can
5471    use it (report by Min Sik Kim).</li>
5472
5473    <li>clear the buffer returned by getutid(). This fixes an
5474    infinite loop on some platforms introduced in <a href=
5475    "#xterm_193">patch #193</a> by Debian #256468 fix (report by
5476    David Ellement).</li>
5477  </ul>
5478
5479  <h1><a name="xterm_195" id="xterm_195">Patch #195 - 2004/8/8 -
5480  XFree86 4.4.99.11</a></h1>
5481
5482  <ul>
5483    <li>correct length used for blinking text, make the last column
5484    blink (patch by Alexander V Lukyanov).</li>
5485
5486    <li>start changes to make doublesize characters work with
5487    TrueType fonts (see <a href="#xterm_44">patch #44</a>).</li>
5488
5489    <li>trim leading/trailing blanks from color resources as done
5490    for other strings in <a href="#xterm_167">patch #167</a>.</li>
5491
5492    <li>fixes for <code>showBlinkAsBold</code> resource (report by
5493    Christoph Berg).</li>
5494  </ul>
5495
5496  <h1><a name="xterm_194" id="xterm_194">Patch #194 - 2004/7/27 -
5497  XFree86 4.4.99.11</a></h1>
5498
5499  <ul>
5500    <li>change clearing operations so foreground color attribute is
5501    not set. Usually this is benign, but in some cases when the
5502    cursor color is not set explicitly, the cursor would show this
5503    color (Debian #252873, Debian #260471).</li>
5504
5505    <li>add extra state (cursor-moved) to guard against deciding
5506    that the cursor did not require repainting after an indexing
5507    operation that leaves the cursor in the same location on the
5508    screen.</li>
5509
5510    <li>fix a case where a full-screen indexing operation would not
5511    restore the cursor-busy state.</li>
5512
5513    <li>fix a repainting bug introduced in <a href=
5514    "#xterm_180">patch #180</a>: when using a font lacking
5515    line-drawing characters, a repaint of the screen could skip
5516    horizontally an extra amount after filling in the missing
5517    character (reports by Nicolas George, Hans de Goede, Redhat
5518    Bugzilla #128341).</li>
5519
5520    <li>rename terminfo fragment "xterm-pc-fkeys" to
5521    "xterm+pcfkeys" for consistency with ncurses.</li>
5522  </ul>
5523
5524  <h1><a name="xterm_193" id="xterm_193">Patch #193 - 2004/7/19 -
5525  XFree86 4.4.99.10</a></h1>
5526
5527  <ul>
5528    <li>fix for wide-character selection from OpenBSD CVS
5529    (report/patch by Matthieu Herrb).</li>
5530
5531    <li>modify initialization and cleanup of utmp data to also
5532    compare the <code>ut_line</code> member (Debian #256468).</li>
5533
5534    <li>modify check on focus-change to ignore
5535    <code>FocusOut</code> events generated by
5536    <code>XGrabKeyboard</code>. This fixes a case where the text
5537    cursor would act as if focus were lost when selecting the
5538    "Secure Keyboard" menu option.</li>
5539
5540    <li>add <code>gen-pc-fkeys.pl</code> script, use that to
5541    generate terminfo fragment corresponding to the pc-style
5542    function keys.</li>
5543
5544    <li>fix a case where the checkmark by the "VT220 Keyboard" menu
5545    entry was not set on startup.</li>
5546
5547    <li>separated two methods for making the cursor blink (menu and
5548    escape sequence) by using the menu as the primary method and
5549    XOR'ing the state of the escape sequence against that.</li>
5550
5551    <li>modify logic for enabling blinking cursor via escape
5552    sequence as well as the related save/restore operations so this
5553    is only available if the <code>cursorBlink</code> resource was
5554    set on startup.</li>
5555  </ul>
5556
5557  <h1><a name="xterm_192" id="xterm_192">Patch #192 - 2004/7/12 -
5558  XFree86 4.4.99.9</a></h1>
5559
5560  <ul>
5561    <li>change resource settings for color4 and color12, add some
5562    discussion in <code>XTerm-col.ad</code> (Debian #241717).</li>
5563
5564    <li>add a note in xterm manpage discussing the difference
5565    between alt- and meta-keys, and the way the latter is used in
5566    the <code>eightBitInput</code> resource.</li>
5567
5568    <li>add a note in xterm manpage regarding possible conflict
5569    between resource settings for <code>xterm.vt100.font</code> and
5570    <code>xterm.vt100.utf8Fonts.font</code> (Debian #254650).</li>
5571
5572    <li>add compile-time customization of
5573    <code>backarrowKeyIsErase</code> and
5574    <code>ptyInitialErase</code> default resource values (adapted
5575    from OpenBSD CVS).</li>
5576
5577    <li>change parameter of <code>FIONREAD</code>
5578    <code>ioctl()</code> call from long to int (discussion on
5579    tech-x11@netbsd.org regarding LP64 by John Heasley and Matthias
5580    Scheler).</li>
5581
5582    <li>modify configure script options for Athena widgets to work
5583    as expected for "--without-Xaw3d", etc., (GenToo Bugzilla
5584    #53455).</li>
5585
5586    <li>add case to uxterm to accommodate locales ending with
5587    "@euro", e.g., fr_FR.UTF-8@euro (Debian #255197,
5588    report/analysis by Matthieu Lagouge).</li>
5589
5590    <li>add special case for VT100 graphic's "box" character
5591    (discussion with Ben Armstrong).</li>
5592
5593    <li>add missing initialization for bitmap-font sizes needed to
5594    make fonts menu work with TrueType fonts (report by Ben
5595    Armstrong).</li>
5596
5597    <li>save the fontnames for bold fonts that are derived from
5598    normal fonts, or from the <code>boldFont</code> resource, so
5599    the same value is restored when switching with the VT Fonts
5600    menu (Debian #256086).</li>
5601
5602    <li>fix manpage preprocessing (Marc La France).</li>
5603
5604    <li>fix typo in manpage's description of character classes
5605    (Debian #257073).</li>
5606
5607    <li>modify terminfo to accommodate luit, which relies on G1
5608    being used via an ISO-2022 escape sequence (Debian #254316,
5609    analysis by Juliusz Chroboczek).</li>
5610
5611    <li>modify Makefile.in rule for ctlseqs.txt to work around
5612    groff SGR misfeature.</li>
5613
5614    <li>modify <code>XTerm.ad</code> to set <code>saveLines</code>
5615    default to 1024 (Redhat Bugzilla #127132).</li>
5616
5617    <li>add a limit-check in <code>dotext()</code> to prevent
5618    infinite loop in a corner case of UTF-8 configuration.</li>
5619
5620    <li>update config.guess, config.sub</li>
5621  </ul>
5622
5623  <h1><a name="xterm_191" id="xterm_191">Patch #191 - 2004/6/6 -
5624  XFree86 4.4.99.7</a></h1>
5625
5626  <ul>
5627    <li>correct options parsing for <code>-into</code> option so it
5628    can be combined with <code>-e</code> (Redhat Bugzilla #124518,
5629    report/patch by James Armstrong).</li>
5630
5631    <li>fix ifdef's for <code>OPT_COLOR_RES2</code> so that the
5632    fake resource table introduced in <a href="#xterm_188">patch
5633    #188</a> is not compiled if it is empty. This happened to work
5634    with gcc (report by Joel Konkle-Parker).</li>
5635
5636    <li>reorganize ptydata.c to use one input buffer shared between
5637    the VTxxx and tek4014 emulators. In the new scheme, UTF-8
5638    decoding is performed on characters as they are needed by the
5639    state machine rather than on buffers as they are read.</li>
5640
5641    <li>work around change in quoting of PROJECTROOT symbol when
5642    using configure script, from changes made in <a href=
5643    "#xterm_187">patch #187</a> for CF_IMAKE_CFLAGS (GenToo
5644    Bugzilla #50982).</li>
5645  </ul>
5646
5647  <h1><a name="xterm_190" id="xterm_190">Patch #190 - 2004/5/25 -
5648  XFree86 4.4.99.6</a></h1>
5649
5650  <ul>
5651    <li>correct state for values in the range 128-159 after
5652    translating from UTF-8: this should be ignored unless the user
5653    overrides it with the <code>allowC1Printable</code> resource
5654    (reported by Simon Strandgaard).</li>
5655
5656    <li>add configure-script check for nl_langinfo(CODESET), use
5657    this to replace check of environment variables for UTF-8.</li>
5658
5659    <li>change Makefile.in rules for 256colres.h and 88colres.h so
5660    they are only made if they do not exist. The maintainer-clean
5661    rule will remove these files; they require perl to be
5662    made.</li>
5663
5664    <li>remove check in configure script --enable-toolbar that
5665    suppressed this option when building with Xaw7.</li>
5666
5667    <li>apply fixes to Tektronix widget used for VT100 widget to
5668    make toolbar work with Xaw7 (XFree86 4.x).</li>
5669  </ul>
5670
5671  <h1><a name="xterm_189" id="xterm_189">Patch #189 - 2004/5/16 -
5672  XFree86 4.4.99.6</a></h1>
5673
5674  <ul>
5675    <li>do not call xim_real_init() if <code>openIm</code> resource
5676    is false (Debian #249025).</li>
5677
5678    <li>minor improvements to built-in line-drawing.</li>
5679
5680    <li>fix a few portability issues with dynamic abbreviation
5681    support, i.e., did not compile on Tru64.</li>
5682
5683    <li>modify constraints in form used to layout toolbar, to work
5684    with newer Xaw in XFree86 4.x.</li>
5685  </ul>
5686
5687  <h1><a name="xterm_188" id="xterm_188">Patch #188 - 2004/5/12 -
5688  XFree86 4.4.99.6</a></h1>
5689
5690  <ul>
5691    <li>correct table entry for DEL in the ground state, which
5692    marked it as a printable character from <a href=
5693    "#xterm_171">patch #171</a> (report by D Hugh Redelmeier).</li>
5694
5695    <li>improve fix in <a href="#xterm_186">patch #186</a> for
5696    failure in xim_real_init() by adding a sleep.</li>
5697
5698    <li>fix a typo in os2main.c (XFree86 Bugzilla #1358,
5699    report/patch by Frank Giessler).</li>
5700
5701    <li>make escape sequence reporting dynamic colors consistent
5702    with the logic that sets it; choosing the opposite color when
5703    reverse video is set (XFree86 Bugzilla #1361, reported by Bradd
5704    W Szonye).</li>
5705
5706    <li>modify initialization of 256- and 88-colors so that colors
5707    beyond 16 are normally not X resources. This works around a
5708    hard-coded limit in Xt which breaks xterm when 256-colors and
5709    luit are both configured (report by Noah Friedman).</li>
5710
5711    <li>remove <code>ncv</code> from <code>xterm-256color</code>
5712    terminfo entry since it is no longer needed (report by Eli
5713    Zaretskii).</li>
5714
5715    <li>add "erase2" and "eol2" keywords to <code>ttyModes</code>
5716    resource, for recent/current FreeBSD.</li>
5717
5718    <li>improve ifdef's for utempter library to omit direct calls
5719    to <code>setutent()</code> or <code>getutent()</code> (adapted
5720    from patch by Christian Biere).</li>
5721
5722    <li>add dynamic abbreviation support like Emacs (patch by
5723    Tomasz Cholewo). This is ifdef'd with <code>OPT_DABBREV</code>,
5724    and enabled via the configure script
5725    <code>--enable-dabbrev</code> option.</li>
5726
5727    <li>fix problem responding to session management events, e.g.,
5728    which would make logging out very slow (patch by Eddy De Greef,
5729    Debian #233883).</li>
5730
5731    <li>work around a newer bug in toolbar with XFree86 by forcing
5732    menus to be fully initialized at startup. In older versions of
5733    XFree86 and X11R6, it was possible to delay initialization of
5734    the menu contents until it was popped up. (The longstanding bug
5735    with XFree86 4.x layout for toolbar still exists, though).</li>
5736
5737    <li>modify <code>xtermAddInput</code> to work around core dump
5738    on IRIX64 when initializing scrollbar translations if toolbar
5739    is compiled-in.</li>
5740
5741    <li>fix some minor conflicts in the 2-character entry names in
5742    the termcap file.</li>
5743  </ul>
5744
5745  <h1><a name="xterm_187" id="xterm_187">Patch #187 - 2004/4/27 -
5746  XFree86 4.4.99.4</a></h1>
5747
5748  <ul>
5749    <li>change xterm version string to use
5750    <code>__vendorversion__</code> where that is available, and
5751    "XTerm" otherwise.</li>
5752
5753    <li>improve description of <code>utf8</code> resource in
5754    manpage (Debian #179407).</li>
5755
5756    <li>modify configure macros CF_IMAKE_CFLAGS and CF_ADD_CFLAGS
5757    to handle <code>-D</code> options that define string values,
5758    e.g., for <code>XVENDORNAME</code>.</li>
5759
5760    <li>modify configure macro CF_IMAKE_CFLAGS to allow (if
5761    <code>$PATH</code> is set accordingly) to use the
5762    <code>xmkmf</code> script within an X build tree.</li>
5763
5764    <li>add missing <code>#undef OPT_SESSION_MGT</code> to
5765    xtermcfg.hin to make the configure script's
5766    --disable-session-mgt option work.</li>
5767
5768    <li>update config.guess, config.sub</li>
5769  </ul>
5770
5771  <h1><a name="xterm_186" id="xterm_186">Patch #186 - 2004/4/18 -
5772  XFree86 4.4.99.4</a></h1>
5773
5774  <ul>
5775    <li>change reset on <code>DECSCL</code> to a soft-reset
5776    (appears some DEC manuals have errors).</li>
5777
5778    <li>add a section to ctlseqs.ms elaborating on normal/alternate
5779    screens.</li>
5780
5781    <li>modify initialization of Acolors[] so that any
5782    XtDefaultForeground or XtDefaultBackground values are
5783    translated as in the Tcolors[], to use the window's
5784    foreground/background colors. This affects the
5785    <code>colorBD</code> and similar resources which normally have
5786    no explicit color assigned.</li>
5787
5788    <li>modify initialization of Tektronix window so that control
5789    sequences setting its color before the window is popped up will
5790    apply to its initial colors.</li>
5791
5792    <li>add control sequence to set Tektronix window's
5793    text-cursor.</li>
5794
5795    <li>modify initialization of terminal colors, e.g., mouse
5796    pointer and text cursor, to treat
5797    <code>XtDefaultForeground</code> and
5798    <code>XtDefaultBackground</code> values as the actual
5799    foreground and background colors of the terminal rather than
5800    white and black (Debian #241717).</li>
5801
5802    <li>remove an incorrect comparison against
5803    <code>PTYCHARLEN</code> in parsing the <code>-S</code> option
5804    (report by Michael B Taylor).</li>
5805
5806    <li>minor restructuring of terminfo/termcap files, having noted
5807    some packager's customizations which caused the structure to be
5808    confused.</li>
5809
5810    <li>eliminate an isolated use of MIN/MAX in charproc.c</li>
5811
5812    <li>replace <code>XtExtdefaultfont</code> and
5813    <code>XtExtdefaultbackground</code> by their more familiar
5814    equivalents <code>XtDefaultFont</code> and
5815    <code>XtDefaultBackground</code>.</li>
5816
5817    <li>replace ifdef's using <code>SCO</code>, <code>sco</code>
5818    and <code>SCO325</code> with <code>__SCO__</code> (XFree86
5819    Bugzilla #1301, Kean Johnston). But ensure that it still builds
5820    on platforms where this symbol is not defined.</li>
5821
5822    <li>add <code>scoFunctionKeys</code> resource, to match
5823    manpage.</li>
5824
5825    <li>update manpage discussion of menus and related
5826    resources.</li>
5827
5828    <li>enable utmpx support for NetBSD 1.6C and newer (patch by
5829    Matthias Scheler).</li>
5830
5831    <li>add a note in the manpage discussing xterm's treatment of
5832    open file-descriptors (request by Dan Shearer).</li>
5833
5834    <li>modify <code>Help()</code> to make "xterm -h" write to
5835    standard output rather than standard error (patch by Bram
5836    Moolenaar).</li>
5837
5838    <li>check for type of failure in xim_real_init() to avoid
5839    looping when the problem is an unsupported input method rather
5840    than a failure to connect to the XIM server. Problem was
5841    introduced in <a href="#xterm_175">patch #175</a> (XFree86
5842    Bugzilla #1306).</li>
5843
5844    <li>modify <code>Imakefile</code> to remove dependency of
5845    "install" target on the <code>xterm</code> executable to make
5846    installs from tree without attempting to rebuild anything
5847    (commit by David Dawes, report/patch from Lee Olsen).</li>
5848
5849    <li>remove call to <code>ShowCursor</code> from
5850    <code>SetCursorBlink()</code> since that is redundant, and can
5851    cause display glitches if the cursor is already blinking
5852    (XFree86 Bugzilla #1158, patch/report by Andreas Schwab).</li>
5853  </ul>
5854
5855  <h1><a name="xterm_185" id="xterm_185">Patch #185 - 2004/3/3 -
5856  XFree86 4.4</a></h1>
5857
5858  <ul>
5859    <li>fix tcap-query logic for the backspace key (XFree86
5860    Bugzilla #1233, report/patch by Anton Kovalenko).</li>
5861
5862    <li>add test-scripts resize.pl and tcapquery.pl</li>
5863
5864    <li>add translation to ASCII of commonly-used characters that
5865    groff translates to Unicode, when the font in use does not
5866    provide the corresponding glyphs (Debian #219551).</li>
5867
5868    <li>modify RequestMaximize(), which performs maximize/restore
5869    via control sequences, to account for window-frame (patch by
5870    Jess Thrysoee).</li>
5871
5872    <li>improve pattern used in <code>uxterm</code> to check for
5873    UTF-8 locale, e.g., for HPUX (patch by H Merijn Brand).</li>
5874
5875    <li>add <code>-fd</code> option and resource
5876    <code>faceNameDoublesize</code> to specify double-wide fonts
5877    with Xft (adapted from patch by Zarick Lau).</li>
5878
5879    <li>change a couple of resource classes from "Boolean" to
5880    specific values: <code>freeBoldBox</code>,
5881    <code>forceBoxChars</code>.</li>
5882
5883    <li>add resource <code>showMissingGlyphs</code> to outline
5884    places on the screen where a font lacks the corresponding
5885    glyph.</li>
5886
5887    <li>add resource <code>showBlinkAsBold</code> to control
5888    whether blinking text should be shown as bold or actual
5889    blinking text.</li>
5890
5891    <li>improve logic in ShowCursor() to avoid repainting the
5892    cursor when it is already visible, e.g., in response to the
5893    DECTCEM escape sequence. This also addresses XFree86 Bugzilla
5894    #1158.</li>
5895
5896    <li>implement blinking text, using the timer for blinking
5897    cursor.</li>
5898
5899    <li>modify FreeType support to allow resizing the font, in the
5900    same ways the window can be resized if fixed fonts are used.
5901    The relative font sizes are derived from the fixed font
5902    sizes.</li>
5903
5904    <li>add menu items and corresponding actions for switching
5905    on/off the UTF-8 mode and Xft (TrueType) support.</li>
5906
5907    <li>add logic to handle switching UTF-8 mode on/off. It worked
5908    if the escape sequences were flushed, but if data was mixed in
5909    with the same write, some were not handled properly (report by
5910    Nicolas George).</li>
5911
5912    <li>modify to allow turning UTF-8 mode on/off via escape
5913    sequence even if <code>-wc</code> option was not given at
5914    startup (patch by Peter Berg Larsen).</li>
5915
5916    <li>amend fix for XFree86 Bugzilla #981, adjusting for
5917    savedlines value (report by Tim Adye).</li>
5918
5919    <li>fix a typo in computing relative font size (Jess
5920    Thrysoee).</li>
5921  </ul>
5922
5923  <h1><a name="xterm_184" id="xterm_184">Patch #184 - 2003/12/31 -
5924  XFree86 4.3.99.903</a></h1>
5925
5926  <ul>
5927    <li>improve configure-script checks for FreeType and related
5928    libraries, using <code>xft-config</code> or
5929    <code>freetype-config</code> scripts when available.</li>
5930
5931    <li>fix configure-script check for <code>SYSV</code> definition
5932    by ensuring whether <code>sys_errlist[]</code> is declared, and
5933    by modifying the test program to include
5934    <code>X11/Intrinsic.h</code> to check that <code>wchar_t</code>
5935    is declared consistently (report by H Merijn Brand).</li>
5936  </ul>
5937
5938  <h1><a name="xterm_183" id="xterm_183">Patch #183 - 2003/12/26 -
5939  XFree86 4.3.99.903</a></h1>
5940
5941  <ul>
5942    <li>correct logic for configurations that may attempt to open
5943    both old/new-style pseudoterminals. In this case, the old-style
5944    are preferred. Logic was broken in <a href="#xterm_145">patch
5945    #145</a> (XFree86 Bugzilla #997, report/patch by Kean
5946    Johnston).</li>
5947
5948    <li>modify handling of <code>eightBitInput</code> resource in
5949    UTF-8 mode to translate the value into UTF-8. Otherwise an
5950    illegal UTF-8 code is sent to the application (report by Bram
5951    Moolenaar).</li>
5952
5953    <li>modify <code>uxterm</code> script to interpret help and
5954    version options so xterm does not always create a window when
5955    the user requests this information (Debian #223926).</li>
5956
5957    <li>add a limit check to ScrnTstWrapped() (XFree86 Bugzilla
5958    #981).</li>
5959
5960    <li>modify DECSCL to perform a hard reset (RIS) as per DEC
5961    manuals. Extended DECSCL to accept parameters for vt4XX and
5962    vt5xx terminals.</li>
5963
5964    <li>correct logic for ANSI conformance level escape sequences,
5965    which were confused with DEC conformance level escape
5966    sequences.</li>
5967
5968    <li>correct state for vt52 shift-in/shift-out, which was not
5969    reset properly after <a href="#xterm_171">patch #171</a>.</li>
5970
5971    <li>correct handling of graphics characters for vt52 mode,
5972    which did not display line-drawing characters after G1 fix from
5973    <a href="#xterm_182">patch #182</a>.</li>
5974
5975    <li>fixes for configure script to work with current Cygwin
5976    headers and libraries.</li>
5977
5978    <li>modify <code>Imakefile</code> to put the current directory
5979    at the beginning of the include searchpath (patch by David
5980    Dawes).</li>
5981  </ul>
5982
5983  <h1><a name="xterm_182" id="xterm_182">Patch #182 - 2003/12/2 -
5984  XFree86 4.3.99.901</a></h1>
5985
5986  <ul>
5987    <li>correct logic for <code>metaSendsEscape</code> resource to
5988    allow for the meta-right key to be tested. Improve check for
5989    meta/alt modifiers by dropping the assumption that a keysym is
5990    associated with only one modifier, and by ignoring NoSymbol
5991    entries in the xmodmap data (XFree86 Bugzilla #924, patch by
5992    David Dawes).</li>
5993
5994    <li>correct wrapping logic for line-drawing characters written
5995    in non-UTF-8 mode of xterm build for wide-characters (XFree86
5996    Bugzilla #918, report/patch by J&uuml;rgen Keil).</li>
5997
5998    <li>improve manpage description of resources, in particular the
5999    <code>utf8Fonts</code> class (XFree86 Bugzilla #905).</li>
6000
6001    <li>add definitions to compile with glibc-based GNU/Hurd,
6002    GNU/KFreeBSD and GNU/KNetBSD (XFree86 Bugzilla #893).</li>
6003
6004    <li>compiler-warning fixes (patch by Christian Biere).</li>
6005
6006    <li>add README.i18n (Tomohiro Kubota).</li>
6007
6008    <li>correct initialization of G1 character set mapping, which
6009    used line-drawing set as a result of confusion between "DEC
6010    Supplemental Graphic" and "DEC Special Graphic" character sets
6011    (see <a href="#xterm_34">patch #34</a> regarding DECSTR).</li>
6012
6013    <li>correct ifdef in main.c for variable utret (patch by
6014    Bernhard Rosenkraenzer).</li>
6015
6016    <li>document in xterm's manpage how to use XFree86 ":unscaled"
6017    keyword to suppress scaling of bold fonts.</li>
6018
6019    <li>when deriving bold fontname from normal fontname, use the
6020    normal font's average width to avoid for example selecting
6021    7x13bold from an 8x13 normal font (Debian #107769).</li>
6022  </ul>
6023
6024  <h1><a name="xterm_181" id="xterm_181">Patch #181 - 2003/10/26 -
6025  XFree86 4.3.99.15</a></h1>
6026
6027  <ul>
6028    <li>implement <code>boldMode</code> for wide-character logic in
6029    <code>drawXtermText()</code> (report by Michael
6030    Schroeder).</li>
6031
6032    <li>modify <code>UXTerm.ad</code> resource file to include
6033    "XTerm-color" rather than "XTerm", in case the latter file
6034    contains no color resource definitions, e.g., after <a href=
6035    "#xterm_180">patch #180</a>.</li>
6036
6037    <li>add action <code>load-vt-fonts()</code> and configure
6038    option <code>--enable-load-vt-fonts</code> which allows users
6039    to define additional sets of VT-fonts which can be loaded at
6040    runtime.</li>
6041
6042    <li>add logic to wide-character support which attempts to load
6043    fonts specified by <code>utf8Fonts</code> subresources at
6044    startup. The subresources have the same names as the fonts
6045    which they replace, e.g., <code>font</code>,
6046    <code>font1</code>, etc., so that the ISO-10646-1 fonts can be
6047    specified in the <code>XTerm</code> app-defaults file (adapted
6048    from patch by Tomohiro Kubota).</li>
6049
6050    <li>improve Set Font escape string handling by making the
6051    relative settings apply to the size of the font, as in shift
6052    keypad plus/minus rather than the menu index.</li>
6053
6054    <li>simplify parameter passing for the <code>set-vt-font</code>
6055    action and related code.</li>
6056
6057    <li>cleanup some include-ordering, moving some recently-added
6058    hardcoded stuff into xterm.h where it will not interfere with
6059    the configure script.</li>
6060
6061    <li>modify <code>xtermAddInput()</code> (see note on
6062    augmentation in <a href="#xterm_158">patch #158</a>) to use the
6063    complete set of default keyboard translations so that one can
6064    use shifted pageup, wheel mouse, etc., while the mouse pointer
6065    is over the scrollbar. (Debian #178812).</li>
6066
6067    <li>make save/restore mode controls apply to show/blink cursor
6068    states.</li>
6069
6070    <li>add escape sequence to start/stop blinking cursor, which
6071    allows implementing <code>cvvis</code> terminfo capability
6072    (request by Nate Bargmann).</li>
6073
6074    <li>add <code>indp</code> and <code>rin</code> to terminfo
6075    entry.</li>
6076
6077    <li>fix an out-of-bounds array reference in ScrnRefresh() for
6078    wide characters (report by Dan Harnett, patch by Todd Miller).
6079    This bug dates from <a href="#xterm_141">patch #141</a>.</li>
6080  </ul>
6081
6082  <h1><a name="xterm_180" id="xterm_180">Patch #180 - 2003/10/12 -
6083  XFree86 4.3.99.15</a></h1>
6084
6085  <ul>
6086    <li>several fixes for rendering using Xft via option
6087    <code>-fa</code>:
6088
6089      <ul>
6090        <li>translate Unicode values, i.e,. from UTF-8 output to
6091        xterm, for line-drawing to xterm's internal code, etc.,
6092        since TrueType fonts generally do not have either set of
6093        line-drawing glyphs. xterm can draw these directly (report
6094        by Abigail Brady).</li>
6095
6096        <li>pass 16-bit values rather than 8-bit values to
6097        xtermXftDrawString() to allow for wide-characters.</li>
6098
6099        <li>remove spurious check for <code>colorBDMode</code>
6100        resource in logic that does bold fonts.</li>
6101
6102        <li>implement underlining.</li>
6103      </ul>
6104    </li>
6105
6106    <li>patches by Ilya Zakharevich:
6107
6108      <ul>
6109        <li>improve drawXtermText() by making the recursive calls
6110        communicate through arguments, and not through
6111        saving/restoring global variables.</li>
6112
6113        <li>make double-width characters work with <code>-u8</code>
6114        option.</li>
6115
6116        <li>modify lookup of double-sized fonts by checking for a
6117        match ignoring x/y resolution if the first check
6118        fails.</li>
6119      </ul>
6120    </li>
6121
6122    <li>make height of TrueType fonts match ascent+descent (patch
6123    by Keith Packard).</li>
6124
6125    <li>correct configure-script check for imake $CFLAGS, which did
6126    not check properly if imake was not available.</li>
6127
6128    <li>correct install rule in Makefile.in for
6129    <code>uxterm</code>, which was attempting to strip the script
6130    (newsgroup posting by Fernan Aguero).</li>
6131
6132    <li>correct AF/AB strings in termcap for xterm-256color and
6133    xterm-88color entries (report by Josh Howard).</li>
6134
6135    <li>update wcwidth.c to incorporate changes from Markus Kuhn's
6136    2003-05-20 (Unicode 4.0) version of that file.</li>
6137
6138    <li>modify <code>scroll-back</code> and
6139    <code>scroll-forw</code> actions to accept an adjustment value,
6140    e.g.,
6141      <pre>
6142              <code>scroll-back(1, page-2)</code>
6143</pre>to scroll back by 2 lines less than a page (patch by Greg
6144Klanderman).
6145    </li>
6146
6147    <li>use color resource setting from Debian package for xterm
6148    VT100 widget, since the choice of blues provides better
6149    contrast.</li>
6150
6151    <li>remove color resources from <code>XTerm.ad</code>, leaving
6152    them only in <code>XTerm-col.ad</code> (prompted by Debian
6153    package for xterm).</li>
6154
6155    <li>correct configure script option --enable-pty-handshake
6156    (report by Paul Gilmartin).</li>
6157
6158    <li>add <code>visualBellDelay</code> resource to modify the
6159    length of time used for visual bell, for very slow displays or
6160    very fast computers (reports by Ingo van Lil and Doug
6161    Toppin).</li>
6162
6163    <li>correct logic for initializing dynamic highlight color
6164    (patch by Jess Thrysoee).</li>
6165
6166    <li>add a check for non-zero size in call to
6167    <code>XCopyArea()</code> to accommodate a Solaris bug.</li>
6168
6169    <li>correct typo in example for character classes in xterm
6170    manpage (Debian #198910).</li>
6171
6172    <li>link xterm with bind_on_load option on Darwin to work
6173    around a deadlock in the dynamic loader when a signal is
6174    received while the dynamic loader is looking up symbols
6175    (patches by Rob Braun, Torrey Lyons).</li>
6176
6177    <li>modify configure script to avoid using "head -1".</li>
6178
6179    <li>update config.guess, config.sub</li>
6180
6181    <li>modify ifdef's to work around inclusion of types FcChar32
6182    and XftCharSpec with FreeType 2.0 (see <a href=
6183    "#xterm_175">patch #175</a>).</li>
6184
6185    <li>modify the predictable version of the generated logfile
6186    name (see <a href="#xterm_171">patch #171</a>) to append the
6187    process-id rather than a random value.</li>
6188
6189    <li>resync with XFree86 CVS
6190
6191      <ul>
6192        <li>Enable SCO function keys in xterm</li>
6193
6194        <li>Make Delete key send DEL by default on SCO in
6195        xterm</li>
6196      </ul>
6197    </li>
6198  </ul>
6199
6200  <h1><a name="xterm_179" id="xterm_179">Patch #179 - 2003/5/21 -
6201  XFree86 4.3.99.5</a></h1>
6202
6203  <ul>
6204    <li>modify ifdef's for WTMPX_FILE to allow building on cygwin
6205    again.</li>
6206
6207    <li>change the default of pty-handshaking configure option (and
6208    related default for imake) to assume this feature is
6209    needed.</li>
6210
6211    <li>add ifdef's so configure option for XawPlus library works
6212    (patch by Pavel Roskin).</li>
6213
6214    <li>add <code>$(MAIN_DEFINES)</code> to the variables checked
6215    by the configure script that may contain information set by
6216    imake. This allows xterm to build/run properly using the
6217    configure script on IRIX64.</li>
6218
6219    <li>add configure check for ".exe" suffix on cygwin.</li>
6220  </ul>
6221
6222  <h1><a name="xterm_178" id="xterm_178">Patch #178 - 2003/5/18 -
6223  XFree86 4.3.99.5</a></h1>
6224
6225  <ul>
6226    <li>modify default for configure
6227    <code>--enable-pty-handshake</code> option to enable it for
6228    Solaris (report by Nelson Beebe).</li>
6229
6230    <li>modify <code>in_put()</code> function to call
6231    <code>PreeditPosition()</code> only when the cursor's position
6232    has changed. This addresses report by Stefan Baums of high CPU
6233    usage while xterm with chinput are running in the background
6234    (patch by Yong Li).</li>
6235
6236    <li>improved explanation of <code>-ls</code> conflict with
6237    <code>-e</code> option in xterm manpage (adapted from comments
6238    by Henning Makholm).</li>
6239
6240    <li>correct comment in terminfo file regarding modifier used
6241    for <code>kDC</code> (Debian #189764, report by Henning
6242    Makholm).</li>
6243
6244    <li>correct/extend some of the keypad description in ctlseqs.ms
6245    (report by Henning Makholm).</li>
6246
6247    <li>correct keypad-mapping table in input.c so
6248    <code>XK_KP_Equal</code> works (report by Henning
6249    Makholm).</li>
6250
6251    <li>modified to work with CJK double-width (bi-width/monospace)
6252    fonts. They're similar to Roman Czbora and David Starner's
6253    gnuunifonts in that Latin letters and numbers have all the same
6254    width which is exactly the half of the width of East Asian
6255    characters. (patch by Jungshik Shin
6256    &lt;jshin@mailaps.org&gt;).</li>
6257
6258    <li>add configure option <code>--enable-broken-osc</code> and
6259    resource <code>brokenLinuxOSC</code> to accommodate scripts
6260    which do not distinguish between running in the Linux console
6261    and running in X. Linux console recognizes malformed control
6262    strings which start with an <code>OSC</code>, but are
6263    fixed-length, with no terminator.</li>
6264
6265    <li>add configure option <code>--enable-broken-st</code> and
6266    resource <code>brokenStringTerm</code> to allow user to revert
6267    one part of the parsing table corrections from <a href=
6268    "#xterm_171">patch #171</a>. (reports by Matthias Scheler and
6269    Kirill Ponomarew indicate that someone's network firmware sends
6270    an <code>&lt;escape&gt;X</code>).</li>
6271
6272    <li>modify configure <code>--disable-imake</code> to provide
6273    values for <code>OSMAJORVERSION</code>,
6274    <code>OSMINORVERSION</code>, <code>FUNCPROTO</code> and
6275    <code>NARROWPROTO</code> (report by Heiko Schlichting).</li>
6276
6277    <li>correct <code>vttests/16colors.sh</code>, which omitted the
6278    <code>$SUF</code> variable in output strings (patch by Paul
6279    Gilmartin).</li>
6280
6281    <li>modify shell scripts in <code>vttests</code> directory to
6282    attempt to use named signals in the <code>trap</code>
6283    statement, making this portable to OS/390 (report by Paul
6284    Gilmartin). Tested on SunOS 4.1.4, which implements only
6285    numbers.</li>
6286  </ul>
6287
6288  <h1><a name="xterm_177" id="xterm_177">Patch #177 - 2003/3/23 -
6289  XFree86 4.3.0</a></h1>
6290
6291  <ul>
6292    <li>fix definition of <code>USE_HANDSHAKE</code>, must be
6293    numeric (reported by Jens Schleusener).</li>
6294  </ul>
6295
6296  <h1><a name="xterm_176" id="xterm_176">Patch #176 - 2003/3/22 -
6297  XFree86 4.3.0</a></h1>
6298
6299  <ul>
6300    <li>add configure option <code>--enable-pty-handshake</code> to
6301    allow one to compile-in support for the pty handshaking logic,
6302    and resource <code>ptyHandshake</code> to enable or disable it
6303    (suggested by Ian Collier).</li>
6304
6305    <li>restore <code>USE_HANDSHAKE</code> ifdef removed in
6306    <a href="#xterm_159">patch #159</a> to address Debian
6307    #39964.</li>
6308
6309    <li>move ifdef's for ttysize/winsize into xterm_io.h</li>
6310
6311    <li>simplify loop on <code>tgetent</code>, check if the
6312    successive entries in the lookup table are the same. That makes
6313    xterm do one less lookup if there is no "xterm" entry in the
6314    termcap file (report by Derek Martin).</li>
6315
6316    <li>correct manpage discussion of <code>$TERM</code> and
6317    <code>$TERMCAP</code> variables, which omitted the Tektronix
6318    emulation and a note of the final "dumb" fallback.</li>
6319
6320    <li>broaden ifdef for
6321    <code>XRegisterIMInstantiateCallback()</code> from <a href=
6322    "#xterm_175">patch #175</a> (XIM fix) to exclude non-XFree86
6323    (report by Nelson Beebe indicates this breaks for Solaris, IRIX
6324    and OSF/1).</li>
6325
6326    <li>correct resource-size for <code>iconFont</code> (this was
6327    added by X11R6.3).</li>
6328
6329    <li>improve configure check for XKB bell extension, to work
6330    around inconsistent implementation of this feature (reports by
6331    Nelson Beebe, Kriston Rehberg and David Ellement).</li>
6332
6333    <li>modify configure-check for <code>tty</code> group to be
6334    less strict in batch mode (report by Nelson Beebe).</li>
6335
6336    <li>modify to allow building with g++, to use its compiler
6337    warnings (suggested by Nelson Beebe).</li>
6338
6339    <li>modify <code>dec2ucs[]</code> table to reflect newer codes
6340    available for scanlines 1, 3, 7, 9 (report by Michael
6341    Schroeder).</li>
6342
6343    <li>add configure option for XawPlus library.</li>
6344  </ul>
6345
6346  <h1><a name="xterm_175" id="xterm_175">Patch #175 - 2003/3/9 -
6347  XFree86 4.3.0</a></h1>
6348
6349  <ul>
6350    <li>fix a SIGSEGV which could occur if xterm is connecting to
6351    XIM server, and the XIM server is destroyed (patch by Nam
6352    SungHyun).</li>
6353
6354    <li>modify to use built-in line-drawing characters for Xft
6355    fonts (patch by Andrew Tipton).</li>
6356
6357    <li>make menu reflect the state of the <code>tekInhibit</code>
6358    resource.</li>
6359
6360    <li>make <code>signalInhibit</code> resource work, i.e.,
6361    disable the menu entries that would send signals to, or exit
6362    xterm. This was probably broken in X11R5 when logging was
6363    disabled (report by Sven Mascheck).</li>
6364
6365    <li>changed classes of <code>colorBDMode</code> and similar
6366    resources that override colors when a video attribute is set to
6367    <code>ColorAttrMode</code>, to make them distinct from
6368    <code>ColorMode</code>. This avoids an unexpected rendering of
6369    reverse video, for example (report by Paul Fox).</li>
6370
6371    <li>changed class of <code>veryBoldColors</code> to
6372    <code>VeryBoldColors</code>, since <code>ColorMode</code> is
6373    associated with boolean resources.</li>
6374
6375    <li>add option <code>-k8</code> and resource
6376    <code>allowC1Printable</code> to allow users of non-VTxxx
6377    character sets such as KOI-8 to treat the C1 control area
6378    (character codes 128-159) as printable rather than control
6379    characters.</li>
6380
6381    <li>add a null-pointer check for return-value of
6382    <code>ptsname()</code> in HPUX-specific code (report by David
6383    Ellement).</li>
6384
6385    <li>revise the ifdef's used for <code>XKB</code> bell support.
6386    The code was using a nonstandard call
6387    <code>XkbStdBell()</code>. Changed to use
6388    <code>XkbBell()</code> (based on patch by
6389    &lt;derek@signalmarketing.com&gt;).</li>
6390
6391    <li>add a null-pointer check in <code>xtermLoadFont()</code> in
6392    case there is no wide-bold font (Nam SungHyun).</li>
6393
6394    <li>change <code>Makefile.in</code> to use autoconf's
6395    <code>bindir</code>, <code>libdir</code> and
6396    <code>mandir</code> variables (report by Nam SungHyun).</li>
6397
6398    <li>add <code>le</code> to termcap <code>xterm-basic</code>
6399    entry. Though missing from older termcaps for xterm, some
6400    applications check for it (report by Matthias Buelow).</li>
6401
6402    <li>modify <code>uxterm</code> script to strip modifiers such
6403    as "@euro" from the locale setting before adding ".UTF-8"
6404    (Debian #179929).</li>
6405
6406    <li>modify the remaining places where tek4014 emulation uses
6407    <code>XDefineCursor()</code>, to make it work as originally
6408    implemented, e.g., when switching back to alpha mode. Added
6409    test-screen in vttest to test this feature properly.</li>
6410  </ul>
6411
6412  <h1><a name="xterm_174" id="xterm_174">Patch #174 - 2003/2/25 -
6413  XFree86 4.2.99.903</a></h1>
6414
6415  <ul>
6416    <li>work-around for XFree86 bug which made
6417    <code>XDefineCursor()</code> on a shell-window no longer work.
6418    The tek4014 emulation used this. Use the next lower window
6419    (report by Karl Rudolf Bauchspiess).</li>
6420
6421    <li>add a resource setting <code>allowWindowOps</code> to
6422    control whether the extended window operations should be
6423    allowed, e.g., resize, iconify, report window attributes. This
6424    is to accommodate people who are not capable of using a pager
6425    to view log-files.</li>
6426  </ul>
6427
6428  <h1><a name="xterm_173" id="xterm_173">Patch #173 - 2003/2/6 -
6429  XFree86 4.2.99.902</a></h1>
6430
6431  <ul>
6432    <li>reset mouse mode to normal on a full reset. This does not
6433    apply to mouse hilite tracking mode, of course (see
6434    ctlseqs.ms).</li>
6435
6436    <li>add a time-delay at the point where mouse hilite tracking
6437    mode choses to not handle X events, to avoid runaway CPU usage
6438    (report by D Hugh Redelmeier).</li>
6439
6440    <li>check for illegal character in DECUDK string, quit if
6441    detected.</li>
6442  </ul>
6443
6444  <h1><a name="xterm_172" id="xterm_172">Patch #172 - 2002/12/27 -
6445  XFree86 4.2.99.3</a></h1>
6446
6447  <ul>
6448    <li>fixes to make repainting of 256-color example work properly
6449    (reports by Abigail Brady and Scott A Crosby).
6450
6451      <ul>
6452        <li>set flag in <code>AllocateAnsiColor()</code> to ensure
6453        the color is allocated once only.</li>
6454
6455        <li>fix check in <code>ScrnRefresh</code>, which was
6456        comparing background colors only if the ANSI foreground
6457        colors also were set.</li>
6458      </ul>
6459    </li>
6460
6461    <li>merge <code>Error()</code> calls and some
6462    <code>exit()</code> calls into <code>SysError()</code>, and
6463    change that to add the brief explanation for each error code
6464    which is provided in the manpage. Change a few
6465    <code>SysError()</code>, calls to avoid using code 1, to avoid
6466    confusion with exit status from places that do not use
6467    <code>SysError()</code>.</li>
6468
6469    <li>simplify logic used to open a debug logfile as the standard
6470    error.</li>
6471
6472    <li>modify the <code>-e</code> option so that if it fails,
6473    xterm will check if only one argument follows, e.g., it was
6474    quoted, and then retry using <code>sh&nbsp;-c</code>.</li>
6475
6476    <li>modify parsing of DECUDK string parameter to allow a comma
6477    between pairs of hexadecimal digits (Ray Neuman
6478    &lt;raymond@one.com.au&gt; reports that "real" terminals accept
6479    this; perhaps they simply ignore unexpected characters).</li>
6480
6481    <li>fix a few problems with the <code>$TERMCAP</code> string
6482    generated by <code>resize</code>:
6483
6484      <ul>
6485        <li>for Bourne shell, add an <code>export</code> command.
6486        This was missing as far back as X11R5.</li>
6487
6488        <li>escape exclamation marks, used in xterm's reset
6489        string.</li>
6490
6491        <li>translate literal <code>\177\</code> to "^?".</li>
6492      </ul>
6493    </li>
6494
6495    <li>improve configure check for <code>tgetent()</code> to work
6496    when <code>$TERMCAP</code> has been set to a specific
6497    entry.</li>
6498
6499    <li>modify <code>minstall.sh</code> to use "%" rather than "@",
6500    to avoid problems with AFS (report by Zdenek Sekera).</li>
6501
6502    <li>list fatal error codes from <code>error.h</code> in the
6503    manpage, remove unused codes in <code>error.h</code>.</li>
6504
6505    <li>use more explicit wording for manpage list of color
6506    resources, since at least one user confused the generic names
6507    such as "black" with the names in rgb.txt (the latter are now
6508    used).</li>
6509
6510    <li>minor fix to description of 1003 mouse mode in ctlseqs.ms
6511    (Larry Riedel).</li>
6512  </ul>
6513
6514  <h1><a name="xterm_171" id="xterm_171">Patch #171 - 2002/12/12 -
6515  XFree86 4.2.99.3</a></h1>
6516
6517  <ul>
6518    <li>modify parser tables to improve detection of malformed
6519    control sequences, making xterm behave more like a real DEC
6520    terminal (patch by Paul Williams).</li>
6521
6522    <li>update comment in <code>input.c</code> to document
6523    <code>Meta</code> as a modifier for escape sequences (patch by
6524    D Roland Walker).</li>
6525
6526    <li>add ifdef'd code for logging option which adds the hostname
6527    and a timestamp to the generated logfile name. The ifdef's are
6528    setup with the configure script (patch by Nelson Beebe).</li>
6529
6530    <li>remove <code>xevents()</code> call from the end of
6531    <code>BlinkCursor()</code>, to fix an occasional problem which
6532    caused xterm to pause until a key was pressed. The reason for
6533    this was that there was no check to ensure that there really
6534    were events for <code>xevents()</code> to process. (patch by
6535    Semen A Ustimenko &lt;semenu@FreeBSD.org&gt;).</li>
6536
6537    <li>remove unused mode-params from <code>open()</code> calls
6538    that do not create a file.</li>
6539
6540    <li>modify configure script to put new items first on
6541    <code>$CPPFLAGS</code> and <code>$CFLAGS</code> to avoid
6542    conflict with environment's <em>-I</em> and <em>-D</em>
6543    options.</li>
6544
6545    <li>update config.guess, config.sub</li>
6546
6547    <li>resync with XFree86 CVS
6548
6549      <ul>
6550        <li>fix va_args glitches for xterm/libfontconfig: 0 ==
6551        (void*)0 isn't true for all platforms (Egbert Eich).</li>
6552
6553        <li>initialise ProgramName in xterm's main before
6554        referencing it (XFree86 #5473, Peter Valchev).</li>
6555
6556        <li>some cleanup of Imakefile ifdef's (Marc La
6557        France).</li>
6558      </ul>
6559    </li>
6560  </ul>
6561
6562  <h1><a name="xterm_170" id="xterm_170">Patch #170 - 2002/10/13 -
6563  XFree86 4.2.1</a></h1>
6564
6565  <ul>
6566    <li>correct an off-by-one allocating data for sorted help
6567    message.</li>
6568
6569    <li>modify configure script to check for Xpm library, on which
6570    XFree86 Xaw library depends.</li>
6571
6572    <li>update config.guess, config.sub</li>
6573  </ul>
6574
6575  <h1><a name="xterm_169" id="xterm_169">Patch #169 - 2002/10/5 -
6576  XFree86 4.2.1</a></h1>
6577
6578  <ul>
6579    <li>modify wording of some options in help message to make them
6580    use <code>-/+</code> consistently with respect to "on/off" or
6581    "off/on".</li>
6582
6583    <li>sort options list which is displayed in help- and
6584    syntax-messages at runtime to simplify maintenance.</li>
6585
6586    <li>remove support for Amoeba and Minix (Juliusz Chroboczek
6587    noted it was removed from XFree86 server; there have been no
6588    users since 1996).</li>
6589
6590    <li>add configure script option
6591    <code>--disable-session-mgt</code> to control whether the
6592    session management code should be compiled-in (request by H
6593    Merijn Brand).</li>
6594
6595    <li>ifdef'd the session-management changes with
6596    <code>OPT_SESSION_MGT</code>, to accommodate X11R5 which
6597    predates the related definitions.</li>
6598
6599    <li>fix <code>decode_keyvalue()</code>, which did not properly
6600    parse multiple settings as needed for the <code>ttyModes</code>
6601    resource, since it did not skip over the parsed data.</li>
6602
6603    <li>fix an option-parsing conflict between <code>-class</code>
6604    and <code>-cjk_width</code> (Nam SungHyun)</li>
6605
6606    <li>add a missing null in <code>XtVaSetValues()</code> call
6607    used in <code>Cleanup()</code> (Nam SungHyun)</li>
6608  </ul>
6609
6610  <h1><a name="xterm_168" id="xterm_168">Patch #168 - 2002/9/29 -
6611  XFree86 4.2.1</a></h1>
6612
6613  <ul>
6614    <li>improve data reported for control sequence that requests
6615    window position by taking into account the window decorations,
6616    e.g., border and title (patch by Jess Thrysoee
6617    &lt;jess@thrysoee.dk&gt;).</li>
6618
6619    <li>add <code>-cjk_width</code> and corresponding resource
6620    <code>cjkWidth</code> (patch by Jungshik Shin
6621    &lt;jshin@mailaps.org&gt;).</li>
6622
6623    <li>add <code>-into</code> option, for embedding xterm in a
6624    Tcl/Tk application (patch by George Peter Staplin
6625    &lt;georgeps@xmission.com&gt;).</li>
6626
6627    <li>add simple session management (XSM) client capabilities to
6628    xterm. So a session manager such as, e.g., xsm, should be able
6629    to respawn or kill xterms without the help of an SM proxy (like
6630    smproxy), which is a hack and almost always buggy (patch by
6631    David Madore).</li>
6632
6633    <li>fix conflict between ifdef's for
6634    <code>OPT_DEC_LOCATOR</code> and <code>OPT_READLINE</code> in
6635    button.c (reported by Ilya Zakharevich).</li>
6636
6637    <li>fix for inconsistent use of <code>struct utmp</code> versus
6638    <code>struct utmpx</code> introduced in <a href=
6639    "#xterm_167">patch #167</a> (patches by Paul Gilmartin, Marc La
6640    France).</li>
6641
6642    <li>modify logic for <code>metaSendsEscape</code> to allow it
6643    to work in a setup where the Meta-key is not recognized as a
6644    modifier by the key-translations logic (discussion of
6645    eightBitInput with H.J.Lu). Note however that Vincent Lefevre
6646    reported this in January).</li>
6647
6648    <li>use null pointer values consistently, rather than literal
6649    "0", for ending variable-length argument lists, e.g., for
6650    <code>execlp()</code> (based on patch by Matthieu Herrb).</li>
6651
6652    <li>correct logic of <code>ChangeAnsiColorRequest()</code>,
6653    which would do a screen repaint after replying to a request for
6654    information.</li>
6655
6656    <li>improve scripts in vttests to work with systems whose
6657    shells support <code>echo -n</code> and have, as does Debian,
6658    an unrelated <code>print</code> utility.</li>
6659
6660    <li>add vttests/acolors.sh to demonstrate OSC 4, which queries
6661    or sets ANSI colors.</li>
6662
6663    <li>fixes for ctlseqs.ms (Pavel Roskin, Ilya Zakharevich).</li>
6664
6665    <li>typos in xterm manpage (Jens Schweikhardt)</li>
6666
6667    <li>remove a redundant GCC_UNUSED from InitPopup() (Nam
6668    SungHyun)</li>
6669  </ul>
6670
6671  <h1><a name="xterm_167" id="xterm_167">Patch #167 - 2002/8/24 -
6672  XFree86 4.2.0</a></h1>
6673
6674  <ul>
6675    <li>correct ifdef's for <code>USE_TERMCAP</code> to match
6676    cygwin configuration.</li>
6677
6678    <li>fix several places in ctlseqs.ms which had no boxes around
6679    the literal text (report by Ilya Zakharevich).</li>
6680
6681    <li>extend mouse support for readline, ifdef'd with
6682    OPT_READLINE (integrated patch from Ilya Zakharevich).</li>
6683
6684    <li>modify terminfo description to match default for
6685    <code>modifyCursorKeys</code> resource.</li>
6686
6687    <li>add <code>modifyCursorKeys</code> resource to control how
6688    the shift- and similar modifiers are used to make a cursor
6689    escape sequence. The default makes a modified escape sequence
6690    always start with CSI and puts the modifier as the second
6691    parameter, to avoid confusing applications that would interpret
6692    the first parameter as a repeat count. The original behavior
6693    can be obtained by setting the resource to 0 (newsgroup
6694    discussion with Stephen J Turnbull, Jeffrey Altman).</li>
6695
6696    <li>correct missing initializations for
6697    <code>appdefaultCursor</code> and <code>appdefaultKeypad</code>
6698    resources.</li>
6699
6700    <li>add configure option <code>--enable-luit</code> and ifdef'd
6701    the luit-related code with OPT_LUIT_PROG.</li>
6702
6703    <li>modify xterm to invoke luit (integrated patch by Tomohiro
6704    Kubota)</li>
6705
6706    <li>update wcwidth.c to match Markus Kuhn's 2002-05-18
6707    version.</li>
6708
6709    <li>correct limit-checking in <code>ComputeSelect()</code> to
6710    handle selections that extend off the visible area; rather than
6711    modify the parameters to <code>TrackText()</code>, use
6712    <code>ScrollSelection()</code> to update the highlighting
6713    limits. (reported by Yegappan Lakshmanan and Nelson Beebe,
6714    patch by Alexander V Lukyanov).</li>
6715
6716    <li>correct manpage description of <code>tiXtraScroll</code>
6717    resource (reported by Tony Finch).</li>
6718
6719    <li>changes from OpenBSD:
6720
6721      <ul>
6722        <li>Make xterm setgid utmp to be able to update utmp even
6723        with root privileges revoked.</li>
6724
6725        <li>If not updating utmp, revoke group privileges totally
6726        too.</li>
6727      </ul>
6728    </li>
6729
6730    <li>changes from NetBSD:
6731
6732      <ul>
6733        <li>Check that the return value from ttyslot() is greater
6734        than 0 before writing the utmp file. Fixes w's "w: Stale
6735        utmp entry: &lt;user&gt; &lt;tty&gt; &lt;pty&gt;"
6736        errors.</li>
6737
6738        <li>Use openpty() to deal with new pty naming scheme.</li>
6739      </ul>
6740    </li>
6741
6742    <li>add <code>print-redir</code> action and menu entry to allow
6743    user to switch terminal in/out of printer controller mode. It
6744    appears from the manual that a real vt220 would not switch back
6745    to normal mode, so another mechanism is used (addresses Debian
6746    #37517).</li>
6747
6748    <li>check if <code>printerCommand</code> resource string is
6749    empty, use this to allow user to disable printer function.</li>
6750
6751    <li>trim trailing blanks from resource strings.</li>
6752
6753    <li>check return value from <code>ptsname()</code>, which may
6754    return null for example if someone has changed the permissions
6755    of /dev/pts to zero (Debian #121899).</li>
6756
6757    <li>modify OS/2 version to use <code>__UNIXOS2__</code>
6758    definition rather than <code>__EMX__</code>, related cleanup
6759    (patch by Holger Veit).</li>
6760
6761    <li>used modified indent 2.0 (patch <a href=
6762    "ftp://invisible-island.net/gnu-patches/">20020428</a>) to
6763    reformat most of the C source files, to simplify
6764    maintenance.</li>
6765
6766    <li>fix a couple of places where there were leading tabs on
6767    symbol-definition lines in Imakefile (Marc La France from
6768    report by Tony Finch)</li>
6769
6770    <li>add imake variable (TraceXTerm) to allow building debug
6771    version (Egbert Eich).</li>
6772  </ul>
6773
6774  <h1><a name="xterm_166" id="xterm_166">Patch #166 - 2002/3/25 -
6775  XFree86 4.2.0</a></h1>
6776
6777  <ul>
6778    <li>correct a bug in selection: double clicking on a word which
6779    was partly scrolled off the screen may select that text (report
6780    by Vincent Lefevre &lt;vincent@vinc17.org&gt;).</li>
6781
6782    <li>implement <code>veryBoldColors</code> resource to control
6783    whether the corresponding video attribute such as
6784    <code>bold</code> is displayed when using
6785    <code>colorBDMode</code>, etc. (request by Josh Howard
6786    &lt;jrh@vicor-nb.com&gt;).</li>
6787
6788    <li>define escape sequences for function keys F21-F35 (patch by
6789    Steve Wall).</li>
6790
6791    <li>change the colors for the 256-color model, making them less
6792    skewed toward black (patch by Steve Wall).</li>
6793
6794    <li>add <code>vt100Graphics</code> resource (see <a href=
6795    "#xterm_115">patch #115</a>, based on discussion with Glenn
6796    Maynard).</li>
6797
6798    <li>ifdef'd Xaw/Xaw3d/neXtaw includes separately to avoid
6799    potential incompatibilities between these flavors of Athena
6800    widgets.</li>
6801
6802    <li>add configure check for XFree86 4.x Xaw library, whose
6803    geometry management is broken, to avoid trying to use it for
6804    toolbar configuration.</li>
6805
6806    <li>updates to configure script from vile and lynx to allow
6807    configure.in to be compiled with autoconf 2.5x</li>
6808
6809    <li>add a check for null pointer return by
6810    <code>ptsname()</code> (newsgroup posting from Mike Silva
6811    &lt;mikesilva@lucent.com&gt;).</li>
6812
6813    <li>fill in a few details needed to allow UTF-8 mode to switch
6814    on/off after startup. This requires that <code>wideChars</code>
6815    resource be set. (based on comments in 4 Aug 2001 by Alexey
6816    Marinichev &lt;lyosha@lyosha.2y.net&gt;).</li>
6817
6818    <li>remove duplicate install rules that make directories, e.g.,
6819    so installing manpage will not create app-defaults
6820    directory.</li>
6821
6822    <li>add comment in in <code>do_osc()</code>, reserving cases 30
6823    and 31 for for Konsole (request by Stephan Binner
6824    &lt;Stephan.Binner@gmx.de&gt;).</li>
6825
6826    <li>fixes for ctlseqs.ms and xterm.man (patch by Werner Lemberg
6827    &lt;wl@gnu.org&gt;).</li>
6828
6829    <li>add check for monochrome display, disabling colorMode in
6830    that case (fixes Debian #134130).</li>
6831
6832    <li>resync with XFree86 CVS
6833
6834      <ul>
6835        <li>Fix some xterm build warnings on *BSD (patch by David
6836        Dawes).</li>
6837
6838        <li>Only use SA_RESTART in xterm when it's available (patch
6839        by Frank Liu).</li>
6840
6841        <li>Fix incorrect code in signal handlers in most of the
6842        clients, xterm and xdm not done yet (patch by Matthieu
6843        Herrb).</li>
6844      </ul>
6845    </li>
6846  </ul>
6847
6848  <h1><a name="xterm_165" id="xterm_165">Patch #165 - 2002/1/5 -
6849  XFree86 4.1.0</a></h1>
6850
6851  <ul>
6852    <li>modify <code>uxterm</code> script to strip encoding part
6853    from environment variable before adding ".UTF-8" (based on
6854    Debian #125947, but using a more portable solution).</li>
6855
6856    <li>add an assignment statement in VTInitialize() to make
6857    <code>awaitInput</code> resource work.</li>
6858
6859    <li>use new macros init_Bres(), etc., in VTInitialize() to add
6860    trace of the initialization of resources.</li>
6861
6862    <li>modify checks for $LC_ALL, related environment variables to
6863    ensure the resulting strings are nonempty (report by Markus
6864    Kuhn).</li>
6865
6866    <li>add an ifdef in charproc.c for num_ptrs variable in case
6867    all configure options are disabled.</li>
6868
6869    <li>modify definition of getXtermBackground() to avoid negative
6870    array index warning on Tru64 (report by Jeremie Petit).</li>
6871
6872    <li>improve fix from patch #165 (still Debian #117184, report
6873    by Matt Zimmerman &lt;mdz@debian.org&gt;)</li>
6874
6875    <li>correct install rule for uxterm in Makefile.in, to handle
6876    the case where building in a different directory than xterm's
6877    source (patch by Paul Gilmartin).</li>
6878
6879    <li>documented ANSI.SYS-style cursor save/restore escape
6880    sequences in ctlseqs.ms, which are in xterm since X11R5.</li>
6881
6882    <li>correct two entries in the default charClass table, which
6883    did not follow the manpage comment about the character number
6884    corresponding to the class (patch by Marc Bevand
6885    &lt;bevand_m@epita.fr&gt;).</li>
6886
6887    <li>fix a couple of typos in comments in the app-defaults files
6888    (David Krause &lt;xfree86@davidkrause.com&gt;).</li>
6889
6890    <li>resync with XFree86 CVS
6891
6892      <ul>
6893        <li>update language of copyrights in some files to reflect
6894        the fact that they were reassigned from X Consortium to The
6895        Open Group in 1998. Note that this xterm source is derived
6896        from the 1996 version from X Consortium, does not
6897        incorporate changes made by X Consortium or The Open Group
6898        after that date, hence we do not add The Open Group's 1998
6899        copyright date to related files.</li>
6900
6901        <li>save/restore <code>errno</code> in signal catcher
6902        (patch by Matthieu Herrb).</li>
6903
6904        <li>modify UXTerm.ad's font5 resource so that xterm can
6905        display double width characters using a font distributed
6906        with XFree86 (Tomohiro Kubota).</li>
6907      </ul>
6908    </li>
6909  </ul>
6910
6911  <h1><a name="xterm_164" id="xterm_164">Patch #164 - 2001/11/13 -
6912  XFree86 4.1.0</a></h1>
6913
6914  <ul>
6915    <li>correct a case where <code>ptyInitialErase</code> and
6916    <code>backarrowKeyIsErase</code> resources combine to set
6917    <code>DECBKM</code> mode, but a <code>reset</code> command
6918    would not reset xterm to that state, making the erase character
6919    revert to ^H (Debian #117184)</li>
6920  </ul>
6921
6922  <h1><a name="xterm_163" id="xterm_163">Patch #163 - 2001/11/04 -
6923  XFree86 4.1.0</a></h1>
6924
6925  <ul>
6926    <li>correct ifdef's for <code>__QNX__</code> and
6927    <code>USE_SYSV_PGRP</code> in main.c call to
6928    <code>tcsetpgrp</code>, which broke bash behavior around
6929    <a href="#xterm_140">patch #140</a> (report/patch by Frank Liu
6930    &lt;fliu@mail.vipstage.com&gt;).</li>
6931
6932    <li>modify trace.c to fix missing definition of GCC_UNUSED for
6933    compilers other than gcc when configured for trace code
6934    (report/patch by Paul Gilmartin).</li>
6935
6936    <li>change format in TraceOptions() to use long rather than
6937    int, since the latter could lose precision on 64-bit machines
6938    (report/patch by Nelson Beebe).</li>
6939
6940    <li>modify xterm manual page and minstall.sh to allow imake
6941    rules to define location of app-defaults directory (Debian
6942    #87611).</li>
6943
6944    <li>review/update list of conflicting preprocesor symbols to
6945    remove from $CPPFLAGS at the end of the configure script. In
6946    particular, this allows one to configure xterm without the
6947    utempter library on Redhat 7.1 (report/patch by Adam
6948    Sulmicki).</li>
6949  </ul>
6950
6951  <h1><a name="xterm_162" id="xterm_162">Patch #162 - 2001/10/23 -
6952  XFree86 4.1.0</a></h1>
6953
6954  <ul>
6955    <li>correct logic that processes <code>-class</code> option, so
6956    that a following <code>-e</code> option is handled (Debian
6957    #116297).</li>
6958
6959    <li>improve options-decoding to allow <code>-version</code> and
6960    <code>-help</code> options to be combined (Debian
6961    #110226).</li>
6962
6963    <li>add a 10 millisecond delay in event loop when processing
6964    <code>-hold</code> option, to avoid using too much CPU time
6965    (Debian #116213).</li>
6966
6967    <li>prefix final program execution in <code>uxterm</code> with
6968    "exec" to avoid a useless shell hanging around (Christian
6969    Weisgerber).</li>
6970  </ul>
6971
6972  <h1><a name="xterm_161" id="xterm_161">Patch #161 - 2001/10/10 -
6973  XFree86 4.1.0</a></h1>
6974
6975  <ul>
6976    <li>modify logic that resets keypad application mode to avoid
6977    doing this if there is no modifier associated with the Num_Lock
6978    keysym (report by John E Davis &lt;davis@space.mit.edu&gt; and
6979    Alan W Irwin &lt;irwin@beluga.phys.uvic.ca&gt;).</li>
6980
6981    <li>add built-in translation for Control/KP_Separator to
6982    KP_Subtract, to accommodate users who wish to use xmodmap to
6983    reassign the top row of the numeric keypad.</li>
6984
6985    <li>correct Imakefile install-rule for <code>uxname</code>
6986    script (reported by Nam SungHyun &lt;namsh@lge.com&gt;).</li>
6987
6988    <li>resync with XFree86 CVS &ndash; correct typo in
6989    <code>&lt;ncurses/term.h&gt;</code> ifdef.</li>
6990  </ul>
6991
6992  <h1><a name="xterm_160" id="xterm_160">Patch #160 - 2001/10/7 -
6993  XFree86 4.1.0</a></h1>
6994
6995  <ul>
6996    <li>modify logic in main.c (see <a href="#xterm_145">patch
6997    #145</a>) to avoid generating the same identifier, for example,
6998    for /dev/tty1 and /dev/pts/1, which is used to denote an entry
6999    in the utmp file (Debian bug report #84676), A similar fix was
7000    also sent by Jerome Borsboom &lt;borsboom@westbrabant.net&gt;
7001    in May, but I overlooked it when reviewing bug reports.</li>
7002
7003    <li>add configure check for <code>&lt;ncurses/term.h&gt;</code>
7004    to get rid of hardcoded <code>__CYGWIN__</code> ifdef in
7005    resize.c
7006
7007      <p>NOTE: The CYGWIN port should not be linking
7008      <code>resize</code> with ncurses. It appears that the only
7009      reason it is, is because both the ncurses and termcap ports
7010      on that platform are badly misconfigured (essential pieces
7011      have been removed, etc). Checking for
7012      <code>&lt;ncurses/term.h&gt;</code> does not hurt anything,
7013      since there are some correct installations that are set up
7014      that way.</p>
7015    </li>
7016
7017    <li>add a sample <code>uxterm</code> script, which uses the
7018    <code>UXTerm</code> application defaults for UTF-8
7019    environments.</li>
7020
7021    <li>undo change to xterm application defaults, since this
7022    introduced an unnecessary incompatibility. The intended
7023    functionality was already addressed by the <a href=
7024    "#xterm_141">UXTerm</a> app-defaults file.</li>
7025
7026    <li>resync with XFree86 CVS
7027
7028      <ul>
7029        <li>Modified xterm app default to use LFD fontnames instead
7030        of old type (Michael Schroeder).</li>
7031
7032        <li>Fix xterm when XIM is disabled - caused a segfault
7033        (Tomohiro Kubota).</li>
7034      </ul>
7035    </li>
7036  </ul>
7037
7038  <h1><a name="xterm_159" id="xterm_159">Patch #159 - 2001/9/19 -
7039  XFree86 4.1.0</a></h1>
7040
7041  <ul>
7042    <li>remove an ifdef for <code>USE_HANDSHAKE</code> added in
7043    patch #158 from the second <code>TIOCSSIZE</code> ioctl call in
7044    the initialization code. Paul Gilmartin reports that for
7045    Solaris 2.6 (sparc), stty does not show that xterm sets rows
7046    and columns unless the second ioctl is executed.</li>
7047
7048    <li>correct treatment of empty parameter list for some OSC
7049    strings (report by Sami Farin &lt;sfarin@ratol.fi&gt;).</li>
7050  </ul>
7051
7052  <h1><a name="xterm_158" id="xterm_158">Patch #158 - 2001/9/8 -
7053  XFree86 4.1.0</a></h1>
7054
7055  <ul>
7056    <li>augment key translations for scrollbar widget to ensure
7057    that keystrokes intended for the text area are not lost if the
7058    mouse pointer happens to fall on the scrollbar. This can
7059    happen, for instance, if the user's <code>app-defaults</code>
7060    or <code>.Xdefaults</code> file contains a translations
7061    resource, though it may also happen through unrelated resource
7062    settings: probably a bug in libXt (reported by Paul Fox
7063    &lt;pgf@foxharp.boston.ma.us&gt; and Dmitry Yu. Bolkhovityanov
7064    &lt;D.Yu.Bolkhovityanov@inp.nsk.su&gt;).</li>
7065
7066    <li>widen ifdef's in xterm.h to define
7067    <code>__EXTENSIONS__</code> on Solaris, for compilers other
7068    than gcc. This was added along <code>_POSIX_C_SOURCE</code>
7069    with in <a href="#xterm_151">patch #151</a>, but is not
7070    sufficient since Sun's compiler does not define
7071    <code>__STDC__</code> by default (report by Matthias Scheler
7072    &lt;tron@zhadum.de&gt;).</li>
7073
7074    <li>modify xterm to obtain the closest matching color if an
7075    exact color is not available, e.g., on 8-bit displays (patch by
7076    Steve Wall)</li>
7077
7078    <li>implement "OverTheSpot" preedit type of XIM input (patch by
7079    Tomohiro Kubota):
7080
7081      <ul>
7082        <li>This preedit type is a reasonable compromise between
7083        simpleness of implementation and usefulness. "Root" preedit
7084        type is easy to implement but not useful; "OnTheSpot"
7085        preedit type is the best in the point of view of user
7086        interface but very complex. And more, "OverTheSpot" is the
7087        preedit type which the most XIM servers support. Thus, to
7088        achieve reasonable usability, support of "OverTheSpot"
7089        preedit type is needed.</li>
7090
7091        <li>In "OverTheSpot" preedit type, the preedit
7092        (preconversion) string is displayed at the position of the
7093        cursor. On the other hand, it is XIM server's
7094        responsibility to display the preedit string. Thus, it is
7095        needed for XIM client (here XTerm) to inform the XIM server
7096        of the cursor position. And more, to achieve good visual
7097        proportion, preedit string must be written using proper
7098        font. Thus, it is XIM client's responsibility to inform the
7099        XIM server of the proper font. The font must be supplied by
7100        "fontset". Fontset is a set of fonts with charsets which
7101        are specified by the current locale. Since XTerm uses
7102        ISO10646 fonts regardless of the current locale, the fonts
7103        for XIM must be prepared separately. It is difficult to
7104        prepare fonts which are similar to XTerm font. Thus, my
7105        patch uses a simple way - the default font is "*" which
7106        matches every fonts and X library will automatically choose
7107        fonts with proper charsets. I added "-fx" command option
7108        and "ximFont" resource to override this default font
7109        setting.</li>
7110
7111        <li>changed the definition of "OverTheSpot" preedit type
7112        from XIMPreeditPosition|XIMStatusArea to
7113        XIMPreeditPosition|XIMStatusNothing. This matches the
7114        behavior of other programs such as Rxvt, Kterm, Gedit.</li>
7115
7116        <li>A tiny XIM bugfix is also included. By calling
7117        XSetLocaleModifiers() with parameter of "", it can consier
7118        XMODIFIERS environmental variable which is a standard way
7119        for users to specify XIM server to be used.</li>
7120      </ul>
7121    </li>
7122
7123    <li>adjust configure script to accommodate repackaging of
7124    keysym2ucs.c as include-file for xutf8.c (patch by Tomohiro
7125    Kubota).</li>
7126
7127    <li>add the <code>UXTerm</code> app-defaults file to makefile
7128    install rules (request by Juliusz Chroboczek).</li>
7129
7130    <li>correct logic in <code>get_termcap()</code>, which returned
7131    false if the <code>tgetent()</code> call indicated that xterm
7132    was linked with terminfo. Although the <code>$TERMCAP</code>
7133    variable cannot be adjusted in this case, xterm still needs
7134    information from this call to extract data to initialize the
7135    erase-mode when the <code>ptyInitialErase</code> resource is
7136    false.</li>
7137
7138    <li>modify <code>ScrollbarReverseVideo()</code> function to
7139    cache the original border color, so it can restore that when an
7140    application flashes the screen (Bugzilla #38872).</li>
7141
7142    <li>resync with XFree86 CVS
7143
7144      <ul>
7145        <li>remove ifdef's for X_NOT_STDC_ENV (patch by David
7146        Dawes).</li>
7147
7148        <li>add Cygwin to special errno handling case in ptydata.c
7149        (Alan Hourihane)</li>
7150
7151        <li>set screen size earlier in initialization, to address a
7152        race with window manager resizing its clients (Keith
7153        Packard).</li>
7154      </ul>
7155    </li>
7156  </ul>
7157
7158  <h1><a name="xterm_157" id="xterm_157">Patch #157 - 2001/6/18 -
7159  XFree86 4.1.0</a></h1>
7160
7161  <ul>
7162    <li>clean up button.c and input.c (patch by Juliusz
7163    Chroboczek). The basic idea is to use a single set of APIs in
7164    the XTerm core, and put a set of workarounds in a separate
7165    file. As you will notice, this drastically simplifies parts of
7166    the code; in particular, the only remaining ifdefs related to
7167    the differences between Xutf8 and legacy systems are related to
7168    the selection provider logic. This defines two new files,
7169    xutf8.h and xutf8.c, provide some half-hearted but fully
7170    portable emulation for the three Xutf8* functions that XTerm
7171    uses. Putting these in a separate file will allow people to
7172    experiment with more complex versions without making the core
7173    of XTerm more difficult to maintain. The functionality of the
7174    emulation is as follows.
7175
7176      <ul>
7177        <li>Xutf8TextListToTextProperty fully handles XStringstyle
7178        and XUTF8StringStyle. It will only generate STRING for
7179        XStdICCTextStyle, and wil only generate Latin-1 in
7180        XCompoundTextStyle (but label it as COMPOUND_TEXT, as the
7181        spec requires). (I have hesitated to make this function
7182        fail for XStdICCTextStyle and XCompoundTextStyle; this
7183        might be a smart thing to do, in the hope that the
7184        selection requestor will try UTF8_STRING afterwards;
7185        opinions?)</li>
7186
7187        <li>Xutf8TextPropertyToTextList fully handles STRING and
7188        UTF8_STRING. It systematically fails for
7189        COMPOUND_TEXT.</li>
7190
7191        <li>Xutf8LookupString will properly handle single-keystroke
7192        input for the keysyms covered by Markus' keysym2ucs
7193        function. It will not handle either compose key input or
7194        external input methods.</li>
7195      </ul>
7196    </li>
7197
7198    <li>add an ifdef for <code>SunXK_F36</code>, used in
7199    <code>xtermcapKeycode()</code> (patch by Mark Waggoner
7200    &lt;waggoner@ichips.intel.com&gt;).</li>
7201
7202    <li>modify check for login name to try <code>getlogin()</code>
7203    and $LOGNAME, $USER environment variables to detect if the user
7204    has logged in under an alias, i.e., an account with the same
7205    user id but a different name (Debian bug report #70084).</li>
7206
7207    <li>add resource <code>tiXtraScroll</code>, which can be used
7208    to preserve the screen contents in the scrollback rather than
7209    erasing it when starting a fullscreen application such as
7210    <code>vi</code> (patch by Ken Martin
7211    &lt;fletcher@catsreach.org&gt;).</li>
7212
7213    <li>two patches by Denis Zaitsev &lt;zzz@cd-club.ru&gt;:
7214
7215      <ul>
7216        <li>added <code>forceBoxChars</code> resource to control
7217        the "line-drawing characters" option.</li>
7218
7219        <li>added <code>freeBoldBox</code> resource, which, when
7220        set true, suppresses check in
7221        <code>same_font_size()</code>, so xterm does not attempt to
7222        ensure that the bold font is the same size as the normal
7223        font.</li>
7224      </ul>
7225    </li>
7226
7227    <li>change the color class for ANSI colors and similar ones
7228    such as bold-color, etc., to follow the convention that the
7229    classname is the instance name with a leading capital (e.g.,
7230    <code>color0</code> and <code>Color0</code> rather than
7231    <code>color0</code> and <code>Foreground</code>). There was
7232    little use for Foreground as a class other than to create
7233    occasional confusion and bug reports, most recently by Nelson
7234    Beebe who reports that it disables colors in xterm but not on
7235    Linux, which is probably due to a difference in resource
7236    evaluation order. A configure script option
7237    (--disable-color-class) is provided for anyone who did use the
7238    older behavior.</li>
7239
7240    <li>fix a signal-handling bug. When running xterm with
7241    <code>ksh</code> or similar shell such as bash 2.05, xterm will
7242    hang and not respond to keystrokes after the user types
7243    <code>suspend</code>. Additionally the popup menus do not
7244    respond, so it is not possible to send SIGCONT to the shell.
7245    What is happening is that the shell is sending itself SIGSTOP,
7246    and it is being stopped. Per specification it also means that
7247    the operating system is sending SIGCHLD to parent to the bash
7248    (XTERM). Now the issue is that xterm assumes it cannot happen
7249    and it expects to receive SIGCHLD only upon
7250    <em>termination</em> of its children. This causes a deadlock
7251    with xterm waiting for the child to die, and the child waiting
7252    for SIGCONT. (report/patch by Adam Sulmicki), analysis/testing
7253    by Sven Mascheck
7254    &lt;sven.mascheck@student.uni-ulm.de&gt;).</li>
7255
7256    <li>correct some inconsistent checks for
7257    <code>XtReleaseGC()</code> calls in
7258    <code>xtermLoadFont()</code> (patch by Nam SungHyun
7259    &lt;namsh@lge.com&gt;).</li>
7260
7261    <li>updated wcwidth.c and keysym2ucs.c to versions dated
7262    2001/1/12 and 2001/4/18, respectively from
7263    http://www.cl.cam.ac.uk/~mgk25/ucs/</li>
7264
7265    <li>correction to change from <a href="#xterm_90">patch
7266    #90</a>, which was intended to reset the saved cursor position
7267    for normal/alternate screens on a soft reset, but actually
7268    wiped out all of the saved cursor information. Just reset the
7269    saved position for the current screen (report by Michael
7270    Schroeder).</li>
7271
7272    <li>modify ShowCursor() and HideCursor() so that if the cursor
7273    points to the second part of a wide character, make the
7274    show/hide operate on the first position of the wide character
7275    (patch by Sven Verdoolaege).</li>
7276
7277    <li>scrolling in the alternate screen just before switching
7278    back to the main screen can cause extra blank lines to be
7279    inserted into the scrollback buffer (patch by Paul Vojta
7280    &lt;vojta@math.berkeley.edu&gt;).</li>
7281
7282    <li>resync with XFree86 4.1.0:
7283
7284      <ul>
7285        <li>Use TermcapLibrary as -lncurses instead of -ltermcap,
7286        fixes problem building xterm/resize on Cygwin/XFree86
7287        (Harold Hunt).</li>
7288
7289        <li>Install xterm.termcap and xterm.terminfo when
7290        installing xterm (Torrey T. Lyons).</li>
7291
7292        <li>Fix some build issues on Cygwin/XFree86 (Suhaib
7293        Siddiqi).</li>
7294
7295        <li>Define CBAUD, when it's missing in xterm, on LynxOS
7296        (Stuart Lissaman).</li>
7297      </ul>
7298    </li>
7299  </ul>
7300
7301  <h1><a name="xterm_156" id="xterm_156">Patch #156 - 2001/4/28 -
7302  XFree86 4.0.3</a></h1>
7303
7304  <ul>
7305    <li>change order of selection-target types to make 8-bit xterm
7306    prefer UTF8_STRING to COMPOUND_TEXT (patch by Juliusz
7307    Chroboczek).</li>
7308
7309    <li>document <code>-fa</code>, <code>-fs</code> command-line
7310    options and <code>faceName</code>, <code>faceSize</code>
7311    resources which are used by the freetype library support.</li>
7312
7313    <li>if configure script finds freetype libraries, but imake
7314    definitions do not have the XRENDERFONT definition, define it
7315    anyway.</li>
7316
7317    <li>modify configure script check for freetype libraries to
7318    include <code>&lt;Xlib.h&gt;</code>, since an older version of
7319    the related headers relies on this (patch by Adam
7320    Sulmicki).</li>
7321  </ul>
7322
7323  <h1><a name="xterm_155" id="xterm_155">Patch #155 - 2001/4/20 -
7324  XFree86 4.0.3</a></h1>
7325
7326  <ul>
7327    <li>correct return type of in_put() from <a href=
7328    "#xterm_155">patch #153</a> changes, which left it not wide
7329    enough for UTF-8 (patch by Bruno Haible).</li>
7330  </ul>
7331
7332  <h1><a name="xterm_154" id="xterm_154">Patch #154 - 2001/4/11 -
7333  XFree86 4.0.3</a></h1>
7334
7335  <ul>
7336    <li>undo check for return value from <code>pututline</code>
7337    (used for debugging) since that function does not return a
7338    value on Slackware 3.6.</li>
7339
7340    <li>correct length in ScreenWrite, when rendering invisible
7341    text (patch by Sven Verdoolaege &lt;skimo@kotnet.org&gt;).</li>
7342
7343    <li>fixes/improvements for the <code>i18nSelection</code>
7344    resource from patch #153, by Bruno Haible:
7345
7346      <ul>
7347        <li>add missing initialization for
7348        <code>i18nSelection</code> resource.</li>
7349
7350        <li>split-out the non-ICCM aspect of the
7351        <code>i18nSelection</code> resource as a new resource,
7352        <code>brokenSelections</code>.</li>
7353      </ul>
7354    </li>
7355
7356    <li>add configure check for <code>&lt;time.h&gt;</code> and
7357    <code>&lt;sys/time.h&gt;</code>, to allow for Unixware&nbsp;7,
7358    which requires both. If the configure script is not used, only
7359    <code>&lt;time.h&gt;</code> will be included as before (report
7360    by Thanh Ma).</li>
7361
7362    <li>fix redefinition of <code>dup2</code>,
7363    <code>getutent</code>, <code>getutid</code>,
7364    <code>getutline</code> and <code>sleep</code> functions on
7365    Unixware&nbsp;7 (report by Thanh Ma
7366    &lt;Thanh.Ma@casi-rusco.com&gt;)</li>
7367
7368    <li>add a fall-back definition for <code>__hpux</code>, which
7369    is apparently not defined in some compilers on HPUX 11.0
7370    (reported by Clint Olsen).</li>
7371
7372    <li>change VAL_INITIAL_ERASE, which is used as a fallback for
7373    the <code>"kb"</code> termcap string to 8, since that matches
7374    the xterm terminal description (request by Alexander V
7375    Lukyanov).</li>
7376
7377    <li>correct an off-by-one in <code>ClearInLine</code>, which
7378    caused the erase-characters (ECH) control to display
7379    incorrectly (patch by Alexander V Lukyanov).</li>
7380
7381    <li>correct escape sequences shown in terminfo for shifted
7382    editing keys. The modifier code was for the control key rather
7383    than the shift key.</li>
7384  </ul>
7385
7386  <h1><a name="xterm_153" id="xterm_153">Patch #153 - 2001/3/29 -
7387  XFree86 4.0.3</a></h1>
7388
7389  <ul>
7390    <li>increase PTYCHARLEN to 8 for os390, add some debugging
7391    traces for UTMP functions (patch by Paul Gilmartin).</li>
7392
7393    <li>correct an misplaced brace in
7394    <code>SelectionReceived()</code> (patch by Bruno Haible).</li>
7395
7396    <li>correct an assignment dropped in
7397    <code>SelectionReceived()</code> which made it not compile for
7398    wide-characters combined with debug traces.</li>
7399
7400    <li>correct typo, clarify description of 88- and 256-color
7401    controls (report by Bram Moolenaar).</li>
7402
7403    <li>correct a typo in ctlseqs.ms which caused DEC Locator
7404    control sequences using single quote "'" display grave "`"
7405    instead (reported by Paul Williams, apparently in patch
7406    #114).</li>
7407  </ul>
7408
7409  <h1><a name="xterm_152" id="xterm_152">Patch #152 - 2001/3/13 -
7410  XFree86 4.0.2</a></h1>
7411
7412  <ul>
7413    <li>correct index in inner loop in <code>VTInitI18N()</code>
7414    from patch #151 changes, which resulted in infinite loop under
7415    some conditions (report/analysis by Paul Gilmartin).</li>
7416
7417    <li>remove spurious "%|" from terminfo sgr capabilities
7418    (report/analysis by Adam M Costello, Debian #89222).</li>
7419
7420    <li>add shell script to adjust list of dynamic libraries linked
7421    by <code>resize</code> when building with the standalone
7422    configure script. Otherwise it uses the same list as for xterm,
7423    which is excessive.</li>
7424
7425    <li>fix a few compiler warnings reported by the 20010305 gcc
7426    snapshot.</li>
7427  </ul>
7428
7429  <h1><a name="xterm_151" id="xterm_151">Patch #151 - 2001/3/10 -
7430  XFree86 4.0.2</a></h1>
7431
7432  <ul>
7433    <li>alter the behaviour of selections in XTerm (patch by
7434    Juliusz Chroboczek). It is believed to follow the ICCCM +
7435    UTF8_STRING to the letter, both in UTF-8 and in eight-bit mode.
7436    From his description:
7437
7438      <ul>
7439        <li>When compiled against XFree86 4.0.2, the patched XTerm
7440        will make the selection available as COMPOUND_TEXT, STRING
7441        or UTF8_STRING in both modes. It will request selections in
7442        the following order:
7443
7444          <p>UTF-8 mode: UTF8_STRING, TEXT, COMPOUND_TEXT,
7445          STRING.<br>
7446          eight-bit mode: TEXT, COMPOUND_TEXT, UTF8_STRING,
7447          STRING.</p>
7448        </li>
7449
7450        <li>When compiled against an earlier version of XFree86 (or
7451        compiled with OPT_UTF8_API=0), it will still obey the
7452        ICCCM, but will neither request nor provide UTF8_STRING in
7453        eight-bit mode, and neither TEXT nor COMPOUND_TEXT in UTF-8
7454        mode.</li>
7455
7456        <li>For compatibility with previous versions of XTerm, a
7457        resource <code>i18nSelections</code> is provided, please
7458        see the manpage for details. However, due to an unexpected
7459        combination of ICCCM extensions by various bits and pieces
7460        of the libraries, interacting with previous versions of
7461        XTerm will work in many locales even without this flag.
7462        (Please do not set this resource to true by default, as
7463        this would violate the ICCCM.)</li>
7464      </ul>
7465    </li>
7466
7467    <li>improved error checking/reporting in VTInitI18N(), ensuring
7468    that lack of input method styles is treated distinctly from a
7469    mismatch.</li>
7470
7471    <li>remove an incorrect ifdef from patch #141 which suppressed
7472    overstriking to simulate bold font when xterm was compiled to
7473    support wide characters (report/analysis by Adam M Costello
7474    &lt;amc@cs.berkeley.edu&gt;, Debian #76404, Debian
7475    #77575).</li>
7476
7477    <li>modify <code>RequestResize()</code> function to
7478    save/restore window manager hints. Its call to
7479    <code>XtMakeResizeRequest()</code> had the undesirable
7480    side-effect of clearing window manager hints, e.g., when
7481    switching to 132-columns via DECCOLM escape sequence. Window
7482    manager hints make it simple to resize xterm in terms of
7483    character cells rather than pixels (reports by Christian
7484    Weisgerber, Debian #79939).
7485
7486      <p>This applies to the normal configuration. When built with
7487      toolbar support, the hints are applied to a different widget
7488      level (more work will be needed to make hints work with the
7489      toolbar).</p>
7490    </li>
7491
7492    <li>fix a redefinition warning for resize.c on OpenBSD (patch
7493    by Christian Weisgerber).</li>
7494
7495    <li>change resource corresponding to <code>-T</code> option to
7496    match Xt library's <code>-title</code>, i.e.,
7497    <code>.title</code> rather than <code>*title</code> so the
7498    command-line options are interchangeable as documented (Debian
7499    bug report #68843).</li>
7500
7501    <li>add script used from autoconf'd makefile for installing
7502    manpages, since recent XFree86 changing the way section numbers
7503    are represented makes the install dependent on extra
7504    scripts.</li>
7505
7506    <li>add configure check for freetype libraries and configure
7507    option --disable-freetype to override this feature.</li>
7508
7509    <li>modify some configure script macros to avoid using
7510    changequote(), which has been rendered useless in the latest
7511    autoconf alpha 2.49c</li>
7512
7513    <li>update config.guess, config.sub to 2001-2-13</li>
7514
7515    <li>remove redundant/contradictory __CYGWIN__ definitions from
7516    resize.c</li>
7517
7518    <li>correct manpage typo introduced by X11R6.5 resync.</li>
7519  </ul>
7520
7521  <p>Changes from XFree86 4.0.2:</p>
7522
7523  <ul>
7524    <li>add definition of <code>_POSIX_C_SOURCE</code> for Solaris
7525    to make this compile with <code>gcc -ansi -pedantic</code>
7526    (report by &lt;mark@zang.com&gt;.</li>
7527  </ul>
7528
7529  <h1><a name="xterm_150" id="xterm_150">Patch #150 - 2000/12/29 -
7530  XFree86 4.0.2</a></h1>
7531
7532  <ul>
7533    <li>move the binding for shifted keypad plus/minus, which
7534    invokes the <code>larger-vt-font()</code> and
7535    <code>smaller-vt-font()</code> actions, respectively, into the
7536    translations resource (suggested by Marius Gedminas
7537    &lt;mgedmin@puni.osf.lt&gt;).</li>
7538
7539    <li>modify configure script to support the
7540    <code>--program-prefix</code>, <code>--program-suffix</code>
7541    and <code>--program-transform-name</code> options (request by
7542    Alison Winters &lt;alison@mirrabooka.com&gt;).</li>
7543
7544    <li>fixes for wide/combining characters (Robert Brady):
7545
7546      <ul>
7547        <li>fix a scrolling / combining characters display
7548        anomaly</li>
7549
7550        <li>fix a problem with double-width characters where if the
7551        primary font had no box-drawing characters, the right hand
7552        half of double-width characters was erased (reported by Yao
7553        Zhang &lt;yzhang@sharemedia.com&gt;).</li>
7554
7555        <li>fix special case of null byte for key handling in UTF-8
7556        locales.</li>
7557      </ul>
7558    </li>
7559
7560    <li>modify logic that compares sizes of normal and bold fonts
7561    to be more forgiving of the font server's choice of bold font
7562    which must match the normal font's size. Now
7563    <code>same_font_size()</code> compares the height of the fonts
7564    rather than individually ascent and descent, and allows the
7565    bold font to be one pixel smaller than the normal font
7566    (addresses a report by Alan Citterman &lt;alan@mticket.com&gt;,
7567    who says that something in patches #146 to #148 made xterm more
7568    likely to overstrike bold fonts, and indirectly Debian bug
7569    report #76404, which reports the opposite).</li>
7570
7571    <li>make configure script use $CFLAGS and $CPPFLAGS
7572    consistently, including removing a chunk from configure.in
7573    which attempted to save/restore $CPPFLAGS while processing
7574    value set by the --x-includes option, but lost values set in an
7575    intervening AC_CHECK_HEADERS. This change modifies macros
7576    CF_ADD_CFLAGS, CF_ANSI_CC_CHECK and CF_X_TOOLKIT, as well as
7577    removing variables IMAKE_CFLAGS and X_CFLAGS from the generated
7578    makefile (the AC_CHECK_HEADERS problem was reported by Albert
7579    Chin-A-Young &lt;china@thewrittenword.com&lt;).</li>
7580
7581    <li>correct a comparison in SELECTWORD case of ComputeSelect(),
7582    which resulted in a word-selection wrapping past the first
7583    column without checking the first column's character class
7584    (reported by Christian Lacunza
7585    &lt;celacunza@netscape.net&gt;</li>
7586
7587    <li>correct a logic in UTF-8 mode for selecting double-width
7588    characters; a combining character was omitted (patch by Markus
7589    Kuhn).</li>
7590
7591    <li>add feature to pop (raise) window when a bell is received
7592    (patch by Gael Roualland
7593    &lt;gael.roualland@dial.oleane.com&gt;).</li>
7594
7595    <li>add __NetBSD__ and __OpenBSD__ to special-case in
7596    xterm_io.h for USE_POSIX_TERMIOS definition (patch by Christian
7597    Weisgerber).</li>
7598
7599    <li>move special-case HPUX include for &lt;sys/bsdtty.h&gt; to
7600    xterm_io.h to define TIOCSLTC, making HAS_LTCHARS defined for
7601    HPUX 10.20 (report by Bruno Betro).</li>
7602  </ul>
7603
7604  <h1><a name="xterm_149" id="xterm_149">Patch #149 - 2000/12/6 -
7605  XFree86 4.0.1h</a></h1>
7606
7607  <ul>
7608    <li>restructured includes for <code>termios.h</code>,
7609    <code>termio.h</code> and related definitions for main.c,
7610    os2main.c, screen.c and resize.c so they will share equivalent
7611    definitions in a new header <code>xterm_io.h</code>. This is
7612    intended to solve some problems mainly for HPUX which appear to
7613    arise from inconsistent definitions for SIGWINCH- and
7614    HAS_LTCHARS-related symbols (reports by Bruno Betro, Jeremie
7615    Petit and Clint Olsen).</li>
7616
7617    <li>improve usability of double-width fonts by allowing normal
7618    fonts to be given as double-width (from a patch by Fabrice
7619    Bellard &lt;bellard@email.enst.fr&gt;).</li>
7620
7621    <li>correct a few compiler warnings in TRACE() macros for
7622    signed/unsigned variable differences (reported by Clint
7623    Olsen).</li>
7624
7625    <li>make configure script use $CFLAGS and $CPPFLAGS more
7626    consistently, i.e., by using CF_ADD_CFLAGS in CF_ANSI_CC
7627    macro.</li>
7628
7629    <li>expanded description of environment variables in
7630    manual-page.</li>
7631
7632    <li>modify OPT_TCAP_QUERY feature to always return the termcap
7633    or terminfo capability string in the response, and to
7634    read/write the names in hexadecimal form to allow for the
7635    special case of termcap's <code>k;</code> name (patch by Bram
7636    Moolenaar).</li>
7637
7638    <li>add OPT_SAME_NAME and OPT_TCAP_QUERY to xtermcfg.hin, so
7639    the corresponding configure options work (patch by Bram
7640    Moolenaar).</li>
7641
7642    <li>resync with XFree86 4.0.1g:
7643
7644      <ul>
7645        <li>Rewrite Xft library for Render extension/core text and
7646        font management Change xterm to use new interface (Keith
7647        Packard).</li>
7648      </ul>
7649    </li>
7650  </ul>
7651
7652  <h1><a name="xterm_148" id="xterm_148">Patch #148 - 2000/10/31 -
7653  XFree86 4.0.1d</a></h1>
7654
7655  <ul>
7656    <li>document logfile options in man-page.</li>
7657
7658    <li>correct spelling of <code>-samename</code> option in help
7659    message.</li>
7660
7661    <li>add configure script option
7662    <code>--enable-tcap-query</code> (request by Bram
7663    Moolenaar).</li>
7664
7665    <li>add a "Co" or "colors" entry to the OPT_TCAP_QUERY feature
7666    (patch by Bram Moolenaar).</li>
7667
7668    <li>patch by Kiyokazu Suto &lt;suto@ks-and-ks.ne.jp&gt;:
7669
7670      <ul>
7671        <li>add support for bold font for double width characters.
7672        The font name may be specified with the command line option
7673        <code>-fwb</code> or with resource
7674        <code>wideBoldFont</code> (class
7675        <code>WideBoldFont</code>).</li>
7676
7677        <li>correct underlining of double width character string,
7678        which was drawn only half width.</li>
7679
7680        <li>correct binary search of precomposed character table,
7681        which may return wrong result when <code>int</code> is just
7682        32 bits.</li>
7683      </ul>
7684    </li>
7685
7686    <li>some changes to align terminfo with ncurses 5.2:
7687
7688      <ul>
7689        <li>remove xtermm description, retaining xterm-mono since
7690        the former conflicts with ncurses.</li>
7691
7692        <li>modify initialization and reset strings to avoid
7693        putting the save/restore cursor operations bracketing
7694        changes to video attributes, since the changes could be
7695        lost when the cursor is restored. This affects xterm-r6 and
7696        xterm-8bit (the xterm-xfree86 entry uses the soft-reset
7697        feature which resets scrolling margins and origin mode
7698        without requiring us to save/restore the cursor
7699        position).</li>
7700
7701        <li>make a few entries explicitly inherit from
7702        xterm-xfree86 rather than xterm: xterm-rep, xterm-xmc,
7703        xterm-nrc</li>
7704      </ul>
7705    </li>
7706
7707    <li>ensure that sign-extension does not affect
7708    <code>ctype</code> macros by using <code>CharOf()</code> macro
7709    to coerce the parameter to an unsigned char.</li>
7710
7711    <li>resync with XFree86 4.0.1d:
7712
7713      <ul>
7714        <li>Add primitive support in xterm for Xft based fonts
7715        (Keith Packard). The changes are ifdef'd with
7716        <code>-DXRENDERFONT</code>.</li>
7717      </ul>
7718    </li>
7719  </ul>
7720
7721  <h1><a name="xterm_147" id="xterm_147">Patch #147 - 2000/10/26 -
7722  XFree86 4.0.1c</a></h1>
7723
7724  <ul>
7725    <li>correct implementation of <code>ptyInitialErase</code>: the
7726    value assigned to <code>initial_erase</code> was for the
7727    control terminal, which is correct as far as it goes. But there
7728    was no following test for the pseudo-terminal's erase value,
7729    which would overwrite the default obtained from the control
7730    terminal (reported by Christian Weisgerber
7731    &lt;naddy@mips.inka.de&gt;).</li>
7732
7733    <li>modify check for printable-characters in OSC string to use
7734    xterm's ansi_table rather than isprint() macro, to isolate this
7735    check from locale settings. This fixes a problem using 8-bit
7736    characters to set the title (reported by Ricardas Cepas
7737    &lt;rch@richard.eu.org&gt;).</li>
7738
7739    <li>modify sample scripts to check for printf before print,
7740    since the latter is not as well standardized (e.g., on
7741    Linux).</li>
7742
7743    <li>updated config.sub, config.guess to reflect changes on
7744    subversions.gnu.org</li>
7745  </ul>
7746
7747  <h1><a name="xterm_146" id="xterm_146">Patch #146 - 2000/9/12 -
7748  XFree86 4.0.1c</a></h1>
7749
7750  <ul>
7751    <li>correct two instances overlooked from patch #141 which
7752    assumed UTF-8 mode without checking, causing a core dump in
7753    non-UTF-8 mode (one instance was reported by Tommi Virtanen
7754    &lt;tv@debian.org&gt;).</li>
7755
7756    <li>correct a problem selecting from the scrollback buffer in
7757    UTF-8 mode by changing remaining getXtermCell() calls to
7758    XTERM_CELL() as in the non-UTF-8 cases (report by Markus Kuhn,
7759    patch by Robert Brady).</li>
7760  </ul>
7761
7762  <h1><a name="xterm_145" id="xterm_145">Patch #145 - 2000/9/11 -
7763  XFree86 4.0.1c</a></h1>
7764
7765  <ul>
7766    <li>changes for UTF-8 configuration (Robert Brady):
7767
7768      <ul>
7769        <li>doublewide characters don't lose their accents when the
7770        cursor moves onto or from them (a visual bug)</li>
7771
7772        <li>fix logic in addXtermCombining, which mean that if the
7773        low byte of a cell's first combining char was 0, a
7774        following combining char would go into combining slot 1,
7775        not 2.</li>
7776
7777        <li>modify logic for cut-buffers so UTF-8 data is first
7778        converted to Latin1.</li>
7779
7780        <li>collapse surrogates, 0xfffe, 0xffff to UCS_REPL.</li>
7781
7782        <li>modify to allow xterm to to show combining characters
7783        attached to doublewidth characters.</li>
7784
7785        <li>correct bug in linewrap with -u8 option (reported by
7786        Andreas Koenig &lt;andreas.koenig@anima.de&gt;).</li>
7787      </ul>
7788    </li>
7789
7790    <li>several changes to PTY logic (based on request by Tim Ryan
7791    &lt;timryan@nortelnetworks.com&gt;).
7792
7793      <ul>
7794        <li>modify treatment of <code>-S</code> option to to make
7795        it work with Unix98 PTY's.</li>
7796
7797        <li>restore sense of IsPts flag in <code>get_pty()</code>,
7798        which was lost in Unix98 changes.</li>
7799
7800        <li>use new functions <code>my_pty_id()</code> and
7801        <code>my_pty_name()</code> to simplify/fix strings used for
7802        utmp, wtmp identifiers.</li>
7803
7804        <li>simplify <code>get_pty()</code> function, making it
7805        have a single return point so its inputs/outputs can be
7806        identified.</li>
7807      </ul>
7808    </li>
7809
7810    <li>update config.guess and config.sub and scripts to my
7811    20000819 patch, adding cases for OS/2 EMX.</li>
7812
7813    <li>add special case for os390 compiler options to configure
7814    script (patch by Paul Gilmartin)</li>
7815
7816    <li>fix some unused-variable compiler warnings (reported by
7817    Zdenek Sekera).</li>
7818
7819    <li>split-out some string functions into xstrings.c, to use
7820    them more consistently among main.c, os2main.c and
7821    resize.c</li>
7822
7823    <li>align termcap/terminfo files, adding entries to make them
7824    match. The termcap entries are necessarily less complete than
7825    the terminfo, to fit within 1023 character per entry.</li>
7826
7827    <li>add terminfo entry for xterm-sco (SCO function keys).</li>
7828
7829    <li>modify <code>same_font_name()</code> to properly handle
7830    wildcard introduced in <code>bold_font_name()</code>, making
7831    comparison for different fonts succeed when only the normal
7832    font is specified. This is needed to decide if 1-pixel offset
7833    should be used. (reported in a newsgroup by Bart Oldeman
7834    &lt;enbeo@enbeo.resnet.bris.ac.uk&gt;)</li>
7835
7836    <li>correct preprocessor line for OPT_WIDE_CHARS in
7837    drawXtermText() from patch #141 which resulted in overstriking
7838    for bold fonts not working.</li>
7839
7840    <li>correct Imakefile from 4.0.1c resync so UTF-8 modules are
7841    in UTF8SRC, UTF8OBJ lists, allowing build without UTF-8
7842    support.</li>
7843  </ul>
7844
7845  <h1><a name="xterm_144" id="xterm_144">Patch #144 - 2000/8/23 -
7846  XFree86 4.0.1b</a></h1>
7847
7848  <ul>
7849    <li>remove a spurious assignment in ScreenWrite() from Robert
7850    Brady's patch which set a null at the "end" of the buffer to be
7851    written. That made the autowrap feature write a blank in the
7852    first column for the non-UTF-8 configuration, rather than the
7853    actual character (reported by Alan Citterman
7854    &lt;alan@mticket.com&gt;).</li>
7855  </ul>
7856
7857  <h1><a name="xterm_143" id="xterm_143">Patch #143 - 2000/8/19 -
7858  XFree86 4.0.1b</a></h1>
7859
7860  <ul>
7861    <li>add a check to ensure that <code>-class</code> command-line
7862    option is not confused with <code>-c</code> (reported by Paul
7863    Townsend &lt;aab@aab.cc.purdue.edu&gt;).</li>
7864  </ul>
7865
7866  <h1><a name="xterm_142" id="xterm_142">Patch #142 - 2000/8/18 -
7867  XFree86 4.0.1b</a></h1>
7868
7869  <ul>
7870    <li>correction to precompose scripts, so 0061 + 0300 will now
7871    be really be displayed as 00C0 (patch by Robert Brady
7872    &lt;robert@susu.org.uk&gt;).</li>
7873
7874    <li>correct macro ClassSelects() in button.c, used to hide
7875    ifdef's for OPT_WIDE_CHARS in patch #141 (reported by Andreas
7876    Paul &lt;paula@informatik.tu-muenchen.de&gt;).</li>
7877
7878    <li>change wcwidth.h to include stddef.h rather than wchar.h,
7879    which is not present on OpenBSD and FreeBSD (reported by
7880    Christian Weisgerber and Bram Moolenaar).</li>
7881
7882    <li>newer config.sub and config.guess, from lynx
7883    2.8.4dev.7</li>
7884  </ul>
7885
7886  <h1><a name="xterm_141" id="xterm_141">Patch #141 - 2000/8/14 -
7887  XFree86 4.0.1b</a></h1>
7888
7889  <ul>
7890    <li>changes for doublewidth and combining characters, from
7891    http://www.ecs.soton.ac.uk/~rwb197/xterm/ (integrated patch by
7892    Robert Brady). In this context, doublewidth refers to 16-bit
7893    character sets which may have glyphs occupying two cells.</li>
7894
7895    <li>add command-line option <code>-class</code>, which allows
7896    one to override xterm's resource class. Also add resource file
7897    <code>UXTerm.ad</code>, which simplifies using xterm for both
7898    8-bit character sets and UTF-8.</li>
7899
7900    <li>fixes/improvements to OPT_TCAP_QUERY logic (patches by Bram
7901    Moolenaar, Steve Wall).</li>
7902  </ul>
7903
7904  <h1><a name="xterm_140" id="xterm_140">Patch #140 - 2000/7/23 -
7905  XFree86 4.0.1</a></h1>
7906
7907  <ul>
7908    <li>modify Makefile.in to circumvent GNU make's built-in suffix
7909    rule for ".sh" which confuses install.sh with the "make
7910    install" target (report/patch by Paul Gilmartin).</li>
7911
7912    <li>implement an experimental control sequence which an
7913    application may use to query the terminal to determine what
7914    sequence of characters it would send for a given function key.
7915    This is ifdef'd with OPT_TCAP_QUERY (request by Bram
7916    Moolenaar).</li>
7917
7918    <li>add /usr/local to search path in CF_X_ATHENA configure
7919    macro to build with Xaw3d on OpenBSD (patch by Christian
7920    Weisgerber).</li>
7921
7922    <li>add missing <code>#undef HAVE_TERMIO_C_ISPEED</code> to
7923    xtermcfg.hin, omitted in patch #133 fix for IRIX 6.5 baudrate
7924    (report by Alain Filbois &lt;Alain.Filbois@loria.fr&gt;).</li>
7925
7926    <li>correct a few errors in xterm.man: font in filename example
7927    for Tektronix emulation, and description of -nul/+nul
7928    command-line options (report by Eric Fischer
7929    &lt;enf@pobox.com&gt;).</li>
7930
7931    <li>update config.guess and config.sub, from tin and lynx.</li>
7932  </ul>
7933
7934  <h1><a name="xterm_139" id="xterm_139">Patch #139 - 2000/6/17 -
7935  XFree86 4.0d</a></h1>
7936
7937  <ul>
7938    <li>back out change to <code>-name</code> command-line option,
7939    restoring its original behavior (as noted by David Madore, the
7940    correct interpretation of this option is the application
7941    instance rather than the application class).</li>
7942  </ul>
7943
7944  <h1><a name="xterm_138" id="xterm_138">Patch #138 - 2000/6/15 -
7945  XFree86 4.0c</a></h1>
7946
7947  <ul>
7948    <li>workaround for fixed fonts which are generated from Unicode
7949    fonts: they omit glyphs for some xterm's less-used line-drawing
7950    characters, which caused xterm to set a flag telling it to use
7951    only its internal line-drawing characters. Do not set the flag
7952    (it can be set from the popup menu), and xterm will generate
7953    only the line-drawing glyphs which actually are missing.<br>
7954    Otherwise, when used for large fonts, xterm may generate a
7955    2-pixel wide line, which can leave dots on the screen.</li>
7956
7957    <li>restore first line of 256colres.pl, omitted in 4.0c
7958    diffs.</li>
7959  </ul>
7960
7961  <h1><a name="xterm_137" id="xterm_137">Patch #137 - 2000/6/10 -
7962  XFree86 4.0b</a></h1>
7963
7964  <ul>
7965    <li>make command-line <code>-name</code> option work as
7966    documented. Apparently this was lost in X11R5 when coding to
7967    use <code>XtAppInitialize</code>.</li>
7968
7969    <li>limit numeric parameters of control sequences to 65535 to
7970    simplify checks for numeric overflow.</li>
7971
7972    <li>change index into UDK list to unsigned to guard against
7973    numeric overflow making the index negative (Taneli Huuskonen
7974    &lt;huuskone@cc.helsinki.fi&gt;).</li>
7975
7976    <li>change <code>sun&nbsp;function-keys</code> resource name to
7977    <code>sunFunctionKeys</code> to work around redefinition of the
7978    token <code>sun</code> by xrdb on Solaris. Similarly, renamed
7979    resource <code>sun&nbsp;keyboard</code> to
7980    <code>sunKeyboard</code> (Steve Wall).</li>
7981
7982    <li>change similar resource names for HP and SCO to avoid
7983    potential conflict with xrdb symbols on other systems, as well
7984    as for consistency.</li>
7985
7986    <li>reorganized the install targets in the autoconf'd Makefile,
7987    adding install-app, install-bin, install-dirs and install-man.
7988    The app-defaults class can be overridden by setting the make
7989    variable 'CLASS', simplifying customization of xterm as a
7990    Unicode terminal, e.g., CLASS=UXTerm.</li>
7991
7992    <li>add limit checks to <code>ClearInLine()</code>,
7993    <code>ScrnInsertChar()</code>, <code>ScrnDeleteChar()</code> to
7994    correct potential out-of-bounds indexing (prompted by Debian
7995    bug report #64713, which reported a problem with ICH escape
7996    sequences).</li>
7997
7998    <li>updates to config.sub and config.guess Kevin Buettner
7999    &lt;kev@primenet.com&gt; for elf64_ia64 Bernd Kuemmerlen
8000    &lt;bkuemmer@mevis.de&gt; and MacOS X.</li>
8001
8002    <li>for os390, add check for errno set to ENODEV on failure to
8003    open /dev/tty when there is no controlling terminal (patch by
8004    Paul Gilmartin).</li>
8005
8006    <li>fixes for building on Digital Unix 4.0 and AIX 4.2 (patch
8007    from H Merijn Brand &lt;h.m.brand@hccnet.nl&gt;).</li>
8008
8009    <li>modify DECRQSS reply for DECSCL to additionally report if
8010    the terminal is set for 8-bit controls.</li>
8011  </ul>
8012
8013  <h1><a name="xterm_136" id="xterm_136">Patch #136 - 2000/6/3 -
8014  XFree86 4.0b</a></h1>
8015
8016  <ul>
8017    <li>add a resource (<code>limitResize</code>) limiting resizing
8018    via the CSI 4 t and CSI 8 t sequences.</li>
8019
8020    <li>ignore out-of-bounds resize requests, i.e., where
8021    sign-extension or truncation of the parameters would
8022    occur.</li>
8023  </ul>
8024
8025  <h1><a name="xterm_135" id="xterm_135">Patch #135 - 2000/5/29 -
8026  XFree86 4.0b</a></h1>
8027
8028  <ul>
8029    <li>remove code introduced in #134 which made some backgrounds
8030    bold.</li>
8031
8032    <li>minor correction to format of updated $TERMCAP when adding
8033    <code>kb</code> capability for <code>ptyInitialErase</code>
8034    logic.</li>
8035
8036    <li>improved test for SVR4 definition.</li>
8037  </ul>
8038
8039  <h1><a name="xterm_134" id="xterm_134">Patch #134 - 2000/5/28 -
8040  XFree86 4.0b</a></h1>
8041
8042  <ul>
8043    <li>update URL's and mailing addresses, moved to
8044    http://dickey.his.com and dickey@herndon4.his.com</li>
8045
8046    <li>correct missing quotes in CF_TTY_GROUP configure script
8047    macro in case the script is run in batch mode.</li>
8048
8049    <li>modify ownership-check of log file to ignore the group
8050    ownership. Otherwise xterm cannot create logfiles in
8051    directories with set-gid permissions.</li>
8052
8053    <li>simplify the logic that reads termcap data.</li>
8054
8055    <li>add fallback definition for B9600 in case line speed
8056    definition for 38400 is missing (report by Jack J Woehr
8057    &lt;jwoehr@ibm.net&gt;, for OpenBSD 2.6).</li>
8058
8059    <li>fix: Set highlightColor, and select a region containing the
8060    text cursor. If the window loses focus, the cursor becomes
8061    hollow, with the region inside the cursor being
8062    background/foreground, unlike the rest of the selection, which
8063    is foreground/highlight (patch by Ross Paterson
8064    &lt;ross@soi.city.ac.uk&gt;).</li>
8065
8066    <li>add configure script tests to define SVR4, SYSV and
8067    USE_POSIX_WAIT, which enables xterm to compile on Solaris 7 and
8068    SCO Openserver without imake, though there are still a few
8069    features for the latter which require <code>sco</code> to be
8070    predefined.</li>
8071
8072    <li>patches from Steve Wall:
8073
8074      <ul>
8075        <li>add support for two Sun-specific function keys. These
8076        keys are labeled F11 and F12 on Sun Type 5 keyboards, but
8077        return SunXK_F36 and SunXK_F37. Support will only be
8078        compiled in if the header file &lt;X11/Sunkeysym.h&gt;
8079        exists and contains the appropriate symbol definitions. The
8080        keycodes for the DEC keycodes were arbitrary unused codes,
8081        but the ones for the Sun keycodes are what cmdtool and
8082        shelltool actually send.</li>
8083
8084        <li>add <code>colorRV</code> and <code>colorRVMode</code>
8085        resources to allow specifying a color to use for reverse
8086        video, similar to the existing UL, BD, and BL modes.</li>
8087
8088        <li>add <code>alwaysUseMods</code> resource, to override
8089        check if <code>alt</code> or <code>meta</code> modifiers
8090        are used in <code>translations</code> resource. Revamped
8091        the code to calculate the modifier value, and included Meta
8092        if alwaysUseMods is TRUE, using values 9-16.</li>
8093      </ul>
8094    </li>
8095
8096    <li>fixes for os390 (Paul Gilmartin):
8097
8098      <ul>
8099        <li>regularize the definition of CONTROL() and remove an
8100        acknowledged "trial and error" table.</li>
8101
8102        <li>translate "^?" into A2E(0177) which is the EBCDIC "DEL"
8103        rather than plain 0177 which is the EBCDIC quotation
8104        mark.</li>
8105
8106        <li>modify <code>xtermMissingChar()</code> so that EBCDIC
8107        codes 128-159 are not rendered as blanks by X server
8108        running on Solaris, which sees those as control
8109        characters.</li>
8110
8111        <li>make debugging traces (configure --enable-trace) work
8112        properly with EBCDIC.</li>
8113      </ul>
8114    </li>
8115  </ul>
8116
8117  <h1><a name="xterm_133" id="xterm_133">Patch #133 - 2000/5/2 -
8118  XFree86 4.0a</a></h1>
8119
8120  <ul>
8121    <li>add substitutions in autoconf'd Makefile for CPPFLAGS,
8122    LDFLAGS and AWK (reported by Neil Bird).</li>
8123
8124    <li>correct uninitialized <code>childstat</code> variable from
8125    patch #131 in <code>creat_as()</code> function, which caused
8126    logging to not work on Solaris, whose <code>waitpid()</code>
8127    function does not initialize its parameter. Add check for EINTR
8128    on return from <code>waitpid()</code> as well (reported by Neil
8129    Bird &lt;neil.bird@rdel.co.uk&gt;).</li>
8130
8131    <li>remove a redundant check for working <code>setuid()</code>
8132    function introduced in patch #132. Greg Smith reports that this
8133    does not work as intended on os390.</li>
8134
8135    <li>change line speed from 9600bd to 38400bd, to accommodate
8136    people who mistakenly use $TERM set to <em>vt100</em>, to
8137    reduce the effect of padding associated with this terminal
8138    type.</li>
8139
8140    <li>add configure script check for IRIX 6.5's redefinition of
8141    baud rates associated with <code>struct termio</code>, to
8142    correct a situation where the baud rate was initialized to zero
8143    (reported by Andrew Isaacson &lt;adi@lcse.umn.edu&gt;).</li>
8144
8145    <li>remove unused configure script check for VDISABLE.</li>
8146  </ul>
8147
8148  <h1><a name="xterm_132" id="xterm_132">Patch #132 - 2000/4/11 -
8149  XFree86 4.0a</a></h1>
8150
8151  <ul>
8152    <li>undo an incorrect change from patch #113 caused the right
8153    scrollbar to be positioned incorrectly when re-enabling it
8154    (analysis by D Roland Walker).</li>
8155
8156    <li>add ctrlFKeys resource, replacing constant for adjusting
8157    control-F1 to control-F12 to VT220-style F10-F20. The resource
8158    changes the constant 12 to a default value of 10 (request by
8159    Jim Knoble &lt;jmknoble@pobox.com&gt;).</li>
8160
8161    <li>correct ifdef'ing for conflict between definitions in AIX's
8162    &lt;sys/select.h&gt; and &lt;X11/Xpoll.h&gt; (reported by Clint
8163    Olsen).</li>
8164
8165    <li>add checks for return-values of getutid(), initgroups() and
8166    setuid() in main.c, as well as modifying ifdef's for __osf__ to
8167    include tty-group and WTMP logic (adapted from patch by Paul
8168    Szabo &lt;psz@maths.usyd.edu.au&gt;)</li>
8169
8170    <li>modify resize.c to build and work on os390 (uses EBCDIC)
8171    (adapted from patch by Phil Sidler
8172    &lt;Phil.Sidler@airborne.com&gt;)</li>
8173
8174    <li>use Ires(), Bres() and Sres() macros to simplify resource
8175    list in charproc.c</li>
8176
8177    <li>resync with XFree86 4.0a:
8178
8179      <ul>
8180        <li>correct a typo in os2main.c (Holger Veit, from
8181        4.0a).</li>
8182      </ul>
8183    </li>
8184  </ul>
8185
8186  <h1><a name="xterm_131" id="xterm_131">Patch #131 - 2000/3/3 -
8187  XFree86 3.9.18b</a></h1>
8188
8189  <ul>
8190    <li>improve logfile security (integrated patch by Branden
8191    Robinson)
8192
8193      <ul>
8194        <li>make the <code>creat_as()</code> function more strict
8195        by using O_EXCL rather than O_APPEND.</li>
8196
8197        <li>fixes to make DEBUG ifdef's compile/run, including
8198        making the debug logfile more unique by appending a
8199        timestamp to its name.</li>
8200
8201        <li>include &lt;term.h&gt; in resize.c, to fix a
8202        missing-prototype warning.</li>
8203      </ul>
8204    </li>
8205
8206    <li>modified <code>creat_as()</code> a little more, retaining
8207    the ability to append to a logfile If the user specifies the
8208    name. Also, check if the opened file (which patch #130 ensures
8209    is owned by the effective user) is not writable by other
8210    users.</li>
8211
8212    <li>use <code>creat_as()</code> logic to make tek4014
8213    screen-copy more secure (noted by Branden Robinson).</li>
8214
8215    <li>ifdef'd some of Branden's changes to build/work on older
8216    machines.</li>
8217
8218    <li>correct missing initialization of the <code>.mode</code>
8219    flag in <code>ColorRes</code> struct, from patch #129. This
8220    worked on Linux because <code>malloc()</code> zeroes memory on
8221    that platform (reported by Christian Weisgerber).</li>
8222
8223    <li>modify logic for <code>deleteIsDEL</code> resource so it
8224    has internally 3 states: unspecified, true and false. If
8225    unspecified, the keyboard type determines whether the Delete
8226    key transmits <code>&lt;ESC&gt;[3~</code> or <code>\177</code>,
8227    and the popup menu entry reflects the internal state.
8228    Otherwise, the popup menu entry overrides the keyboard type
8229    (suggested by Dr Werner Fink, to make it simpler to set
8230    resources that imitate the legacy X11R6 xterm).</li>
8231  </ul>
8232
8233  <h1><a name="xterm_130" id="xterm_130">Patch #130 - 2000/3/1 -
8234  XFree86 3.9.18a</a></h1>
8235
8236  <ul>
8237    <li>modify <code>scroll-forw()</code> and
8238    <code>scroll-back()</code> actions, adding a third parameter
8239    which will direct xterm to ignore the action when mouse
8240    reporting is enabled. This is needed for the wheel mouse to be
8241    used to report to the application rather than scroll the
8242    window.</li>
8243
8244    <li>add menu entry and action to allow disabling xterm's
8245    assumption that the current font contains line-drawing
8246    characters if the font cells 1-31 are nonempty. Some fonts may
8247    have other characters (reported by Bruno Betro
8248    &lt;bruno@iami.mi.cnr.it&gt;).</li>
8249
8250    <li>add a check in <code>creat_as()</code> to ensure that the
8251    user really owns the logfile that has been opened.</li>
8252
8253    <li>add logic to implement SCO function-keys. (This is really
8254    incomplete, since I intend to revisit this and make xterm able
8255    to emulate scoansi better than just the function-keys).</li>
8256
8257    <li>add configure script option --enable-sco-fkeys, minor
8258    related fixes (patch by Dr Werner Fink).</li>
8259
8260    <li>fix typos in ctlseqs.ms (reported by Bram Moolenaar)</li>
8261
8262    <li>fix typo in sinstall.sh default for $TST_PROG (reported by
8263    Paul Gilmartin &lt;pg@sweng.stortek.com&gt;)</li>
8264  </ul>
8265
8266  <h1><a name="xterm_129" id="xterm_129">Patch #129 - 2000/2/26 -
8267  XFree86 3.9.18a</a></h1>
8268
8269  <ul>
8270    <li>improve initialization of ANSI colors by delaying
8271    allocation until each color is first used.</li>
8272
8273    <li>remove ifdef that prevented colorBD/colorUL/colorBL
8274    resources from working when 256-color configuration was built
8275    (reported by Todd Larason).</li>
8276
8277    <li>fix some minor inconsistencies in terminfo (Debian
8278    #58530).</li>
8279  </ul>
8280
8281  <h1><a name="xterm_128" id="xterm_128">Patch #128 - 2000/2/17 -
8282  XFree86 3.9.18</a></h1>
8283
8284  <ul>
8285    <li>correct logic for <code>oldXtermFKeys</code> resource,
8286    fixes a core dump when attempting to set it from the
8287    command-line (reported by Dr Werner Fink).</li>
8288
8289    <li>correct ifdef for meta-sends-escap so configure
8290    --disable-num-lock builds.</li>
8291  </ul>
8292
8293  <h1><a name="xterm_127" id="xterm_127">Patch #127 - 2000/2/12 -
8294  XFree86 3.9.17e</a></h1>
8295
8296  <ul>
8297    <li>add resource, popup menu entry and control sequence to
8298    allow changing the Delete key to send either DEL or the
8299    VT220-style Remove escape sequence.</li>
8300
8301    <li>remove logic for metaSendsEscape that would allow xterm to
8302    send <code>&lt;ESC&gt;[3~</code> before a function key that
8303    would begin with <code>&lt;ESC&gt;[3~</code> (request by
8304    Christian Weisgerber).</li>
8305
8306    <li>add missing action and documentation for
8307    meta-sends-escape.</li>
8308
8309    <li>correct a few typos in ctlseqs.ms (incorrect code for Cyan
8310    color)</li>
8311  </ul>
8312
8313  <h1><a name="xterm_126" id="xterm_126">Patch #126 - 2000/2/8 -
8314  XFree86 3.9.17c</a></h1>
8315
8316  <ul>
8317    <li>ensure that xterm will automatically activate the UTF-8
8318    mode whenever the name of the locale environment variable
8319    suggests that a UTF-8 locale is in use (patch by Markus Kuhn).
8320    This will help that by simply setting LC_CTYPE an entire system
8321    can be switched over to UTF-8, without users having to remember
8322    the UTF-8 command line options ("-u8", etc.) of the various
8323    applications. Command line options and X resource entries can
8324    still be used to override this default choice.</li>
8325
8326    <li>add old function-keys control sequences and popup menu
8327    entry, for compatibility with legacy X11R6 xterm.</li>
8328
8329    <li>revert translation of editing keypad "Delete" key to legacy
8330    \177.</li>
8331
8332    <li>simplify the color-resource data expressions with macro
8333    COLOR_RES, for later use in restructuring color
8334    initialization.</li>
8335
8336    <li>change encoding of wheel mouse (buttons 4 and 5) to avoid
8337    conflict with legacy mouse modifiers (suggested by Bram
8338    Moolenaar).</li>
8339  </ul>
8340
8341  <h1><a name="xterm_125" id="xterm_125">Patch #125 - 2000/1/31 -
8342  XFree86 3.9.17c</a></h1>
8343
8344  <ul>
8345    <li>make this work on OpenVMS (integrated patch by David
8346    Mathog).</li>
8347
8348    <li>rename some functions, e.g., <code>Index</code> to
8349    <code>xtermIndex</code> so that ports such as VMS which link
8350    externals ignoring case will not have library conflicts
8351    (reported by David Mathog).</li>
8352
8353    <li>correct logic of <code>do_reversevideo()</code>, which did
8354    not update the corresponding popup menu check mark (reported by
8355    David Mathog, this was a detail overlooked in patch #94).</li>
8356
8357    <li>change TRACE macro so semicolon is not within definition,
8358    making <em>indent</em> and similar programs work better.</li>
8359
8360    <li>add <code>depend</code> rule to Makefile.in</li>
8361
8362    <li>modify logic of boldColors resource to suppress it if an
8363    extended color control has been used, e.g., for 88-color or
8364    256-color mode (patch by Todd Larason).</li>
8365
8366    <li>revise logic that handles menus and input translation for
8367    keyboard type so only one can be selected at a time.</li>
8368
8369    <li>restore kdch1=\177 for the Sun function-key type, and make
8370    the the Delete key send DEL (\177) if the oldXtermFKeys
8371    resource is set.</li>
8372
8373    <li>rephrase logic and ifdef's for POSIX VDISABLE to avoid
8374    preprocessor expression that will not compile on NetBSD/x86
8375    1.4.1 (reported by Takaaki Nomura
8376    &lt;amadeus@yk.rim.or.jp&gt;).</li>
8377  </ul>
8378
8379  <h1><a name="xterm_124" id="xterm_124">Patch #124 - 2000/1/27 -
8380  XFree86 3.9.17b</a></h1>
8381
8382  <ul>
8383    <li>change coding of editing keypad's "Delete" key to
8384    &lt;escape&gt;[3~, in the default (Sun/PC) keyboard mode. This
8385    makes the terminfo kdch1 capability independent of the coding
8386    of the backarrow key, which sends either backspace (8) or DEL
8387    (127). The reason for doing this (compatibility with the
8388    <em>screen</em> program) outweighs the choice of DEL (127)
8389    which was used in X11R5/X11R6 xterms. The <em>screen</em>
8390    program translates whatever matches kdch1 into
8391    &lt;escape&gt;[3~, even if it happens to be the stty erase
8392    character.</li>
8393
8394    <li>add encoding for control/?, to work around xmodmap or key
8395    translations which may confuse backspace and delete. A
8396    control/? will send DEL (127), and a control/H will of course
8397    send backspace (8).</li>
8398
8399    <li>add encoding for kcbt to &lt;escape&gt;[Z (fixes Debian
8400    #54840).</li>
8401
8402    <li>minor correction to logic that encodes Sun and DEC function
8403    keys to avoid sending an escape sequence if the key symbol is
8404    not found in xterm's lookup table.</li>
8405
8406    <li>simplify ifdef's in main.c for POSIX VDISABLE so the "^-"
8407    pattern is more likely to be implemented when <em>imake</em>
8408    configures xterm (fixes Debian #55105).</li>
8409
8410    <li>change manpage to make it clearer what codes are sent by
8411    the backarrow key.</li>
8412  </ul>
8413
8414  <h1><a name="xterm_123" id="xterm_123">Patch #123 - 2000/1/22 -
8415  XFree86 3.9.17a</a></h1>
8416
8417  <ul>
8418    <li>add a note reserving OSC 51 for use in Emacs shell (request
8419    by Rob Mayoff &lt;mayoff@dqd.com&gt;).</li>
8420
8421    <li>correct a missing backslash in xterm-vt220 termcap.</li>
8422
8423    <li>cleanup remaining quoted includes, preferring bracketed
8424    form.</li>
8425
8426    <li>minor configure-script macro updates from tin and
8427    vile.</li>
8428
8429    <li>add configure-script option for using utempter library,
8430    adapted from Redhat 6.1 patch for XFree86 3.3.5</li>
8431
8432    <li>resync with XFree86 3.9.17a:
8433
8434      <ul>
8435        <li>correction to QNX support (Frank Guangxin Liu)</li>
8436
8437        <li>some cosmetic changes that did not correct any reported
8438        problems.</li>
8439      </ul>
8440    </li>
8441  </ul>
8442
8443  <h1><a name="xterm_122" id="xterm_122">Patch #122 - 1999/12/28 -
8444  XFree86 3.9.16f</a></h1>
8445
8446  <ul>
8447    <li>move the suggested wheel-mouse button translations into
8448    charproc.c to simplify customization. Correct some minor logic
8449    errors in the support for buttons 4 and 5, used for wheel mice
8450    (reported by Bram Moolenaar).</li>
8451
8452    <li>implement <em>metaSendsEscape</em> resource, with
8453    corresponding control sequence and menu entry. Like
8454    <em>eightBitInput</em>, this causes xterm to send ESC prefixing
8455    the given key, but applies to all keys and is independent of
8456    the 8-bit/7-bit terminal setting. (requests by Alexander V
8457    Lukyanov and Marc Feeley).</li>
8458
8459    <li>correct potential indexing with negative subscript in
8460    udk_lookup(), (reported by Ian Collier
8461    &lt;Ian.Collier@comlab.ox.ac.uk&gt;).</li>
8462
8463    <li>modify configure script that sets TERMINFO_DIR to use
8464    ${prefix} rather than /usr if the --prefix option was specified
8465    (request by Zdenek Sekera &lt;zs@sgi.com&gt;).</li>
8466
8467    <li>modify checks for repeat-character control sequence to test
8468    the character class against xterm's state table, rather than
8469    the isprint() macro (patch by Alexander V Lukyanov).</li>
8470
8471    <li>change several functions to macros to improve speed</li>
8472
8473    <li>two corrections to simulation of bold font via
8474    overstriking:
8475
8476      <ul>
8477        <li>use clipping to avoid leaving trash at end of the text,
8478        and</li>
8479
8480        <li>add brackets so wide-character logic does not
8481        fall-through into the overstriking logic (reported by Marc
8482        Feeley &lt;feeley@IRO.UMontreal.CA&gt;)</li>
8483      </ul>
8484    </li>
8485
8486    <li>add several entries to termcap file to make it have the
8487    same set of aliases as the terminfo file.</li>
8488
8489    <li>scale the color values used for xterm-256color terminfo
8490    entry to 0..1000, as expected by ncurses.</li>
8491
8492    <li>change xterm-r6 terminfo definitions for F1-F4 to match
8493    program.</li>
8494
8495    <li>Add QNX/Neutrino support (Frank Guangxin Liu
8496    &lt;frank@ctcqnx4.ctc.cummins.com&gt;)</li>
8497  </ul>
8498
8499  <h1><a name="xterm_121" id="xterm_121">Patch #121 - 1999/11/14 -
8500  XFree86 3.9.16c</a></h1>
8501
8502  <ul>
8503    <li>change label on "Sun/PC Keyboard" popup menu entry to
8504    "VT220 Keyboard", since the checked state corresponds to VT220
8505    rather than Sun/PC.</li>
8506
8507    <li>add configure test CF_UTMP_UT_XSTATUS to handle the
8508    variants of utmp exit status (reports by Dave Ellement, Jeremie
8509    Petit, Tomas Vanhala).</li>
8510
8511    <li>amend treatment of ALT key (see <a href="#xterm_94">patch
8512    #94</a>) so that if ALT is used as a modifier in key
8513    translations, then no parameter will be sent in escape
8514    sequences for Sun/PC function keys (request by Dr Werner
8515    Fink).</li>
8516
8517    <li>modify default for OPT_I18N_SUPPORT to assume that
8518    <code>XtSetLanguageProc()</code> is available in X11R5.
8519
8520      <p>Caveat: <code>XtSetLanguageProc()</code> was added fairly
8521      late in the X11R5 patches, and some vendors shipped buggy
8522      versions of this function (request by Tomas Vanhala).</p>
8523    </li>
8524
8525    <li>correct configure macro CF_SYSV_UTMP to test-link with
8526    functions consistent with the header, e.g., getutent() for
8527    utmp.h and getutxent() for utmpx.h (reported by Greg
8528    Smith).</li>
8529
8530    <li>modify terminfo entry for <code>xterm-xfree86</code> to
8531    reflect modifiers for shift and control which (from a patch by
8532    Alexander V Lukyanov).</li>
8533
8534    <li>modify terminfo entry for <code>xterm-sun</code> to match
8535    the function-key definitions in ncurses. The pageup/pagedown
8536    and related function keys correspond to the Sun keyboard, which
8537    does not necessarily correspond with X's notion of those
8538    keys.</li>
8539
8540    <li>modify treatment of XK_Delete keysym so it transmits
8541    parameterized VT220-style <code>&lt;ESC&gt;[3~</code> if
8542    modifiers (shift, control alt) are given (request by Alexander
8543    V Lukyanov).</li>
8544
8545    <li>corrected misspelled resource name in command-line option
8546    for HP function keys.</li>
8547  </ul>
8548
8549  <h1><a name="xterm_120" id="xterm_120">Patch #120 - 1999/10/28 -
8550  XFree86 3.9.16c</a></h1>
8551
8552  <ul>
8553    <li>refine the change to <code>SGR_Background()</code> in patch
8554    #119, by not flushing the pending scrolling operation if the
8555    background color is not actually changing. This combination
8556    occurs when using color-ls to display a long listing, since
8557    each line ends with an SGR0 which affects only the foreground
8558    color. The unnecessary flushing made it noticeably slower
8559    (reported by D Roland Walker &lt;walker@pobox.com&gt;).</li>
8560
8561    <li>remove obsolete documentation about modifiers which can be
8562    returned in mouse tracking mode, and modify logic to ignore
8563    modifiers other than the existing ones, e.g., NumLock (prompted
8564    by discussions with Christian Weisgerber and Brad Pepers
8565    &lt;brad@linuxcanada.com&gt;).</li>
8566
8567    <li>use free bit from obsolete shift-modifier coding of mouse
8568    tracking button events to encode buttons 4 and 5, e.g., for a
8569    wheel mouse (requests by Brad Pepers and Bram Moolenaar).</li>
8570
8571    <li>correct a place where the ptyInitialErase logic did not set
8572    the backarrowKey state, and modify it further to use tgetstr()
8573    rather than parse the termcap data returned from tgetent() so
8574    the ptyInitialErase logic will work when xterm is linked with a
8575    terminfo library (based on a patch by Dr Werner Fink
8576    &lt;werner@suse.de&gt;).</li>
8577
8578    <li>fix definition of HAVE_UTMP_UT_HOST for ISC configuration
8579    (patch by Michael Rohleder).</li>
8580
8581    <li>improve configure script's utmp tests (based on reports by
8582    Greg Smith for os390, and David Ellement for HPUX).</li>
8583
8584    <li>modify sinstall.sh to use uid=0 rather than 'root' to
8585    determine if the installer is privileged. This is needed on
8586    some systems since more than one account may be privileged
8587    (report by Greg Smith).</li>
8588
8589    <li>add an application resource, <code>messages</code> (and a
8590    corresponding -/+mesg option) which controls the initial
8591    permission on the terminal: if messages is set to true (the
8592    default), behavior is as without the patch; if it is set to
8593    false (as per -mesg), the terminal is opened in mode 0600, thus
8594    producing the effect of the <code>mesg n</code> command. This
8595    is useful for users who want to redirect all their messages to
8596    one particular xterm: it is more pleasant to do this with xterm
8597    resources than with explicit calls to the <code>mesg</code>
8598    program (patch, description by David Madore
8599    &lt;david.madore@ens.fr&gt;).</li>
8600  </ul>
8601
8602  <h1><a name="xterm_119" id="xterm_119">Patch #119 - 1999/10/16 -
8603  XFree86 3.9.16c</a></h1>
8604
8605  <ul>
8606    <li>add responses (DA and DSR) for DEC locator mode</li>
8607
8608    <li>add coding for ANSI color to DA response</li>
8609
8610    <li>implement UTF-8 translation for Media Copy (print)
8611    operations.</li>
8612
8613    <li>implement vt320 control sequences for Print Composed Main
8614    Display and for Print All Pages. The latter directs xterm to
8615    print the current screen as well as the scrollback buffer.</li>
8616
8617    <li>correct error in _GNU_SOURCE configure test, which left it
8618    always defined.</li>
8619
8620    <li>add more information, i.e., with strerror for some system
8621    calls in the main program which may fail due to insufficient
8622    permissions (prompted by a problem report for <code>-C</code>
8623    by Jeremie Petit &lt;Jeremie.Petit@digital.com&gt;).</li>
8624
8625    <li>add workaround for conflict between &lt;X11/Xpoll.h&gt; and
8626    &lt;sys/select.h&gt; on AIX 4.3 (Richard Griswold
8627    &lt;griswold@acm.org&gt;).</li>
8628
8629    <li>add configure script test to resolve conflict between
8630    between &lt;X11/Xpoll.h&gt; and &lt;sys/select.h&gt;</li>
8631
8632    <li>modify translation of UTF-8 sequences to reject "overly
8633    long" variations (patch by Markus Kuhn).</li>
8634
8635    <li>remove <code>utf8controls</code> resource, since Markus'
8636    change removes the corresponding logic.</li>
8637
8638    <li>correct a case where colors were not rendered properly.
8639    This happened when an application inserted several lines, then
8640    changed colors. If this was done all in one write, then there
8641    would be no intervening refresh, and the new color was applied
8642    to the pending scrolling operation which was awaiting the next
8643    refresh (reported by Stephane Chazelas
8644    &lt;Stephane_Chazelas@Raytheon.com&gt;).</li>
8645  </ul>
8646
8647  <h1><a name="xterm_118" id="xterm_118">Patch #118 - 1999/10/5 -
8648  XFree86 3.9.16b</a></h1>
8649
8650  <ul>
8651    <li>refine configure test for utmp versus utmpx, to build on
8652    HP-UX 10.x (reported by David Ellement).</li>
8653
8654    <li>move the configure check for <code>const</code> after the
8655    check for ANSI C compiler options, since those may be required
8656    to make it work properly on HP-UX.</li>
8657
8658    <li>add configure test for defining
8659    <code>_GNU_SOURCE</code></li>
8660
8661    <li>correction to <em>-hold</em> option, ensure that if data is
8662    already in the output buffer that it will be displayed before
8663    closing the PTY.</li>
8664
8665    <li>move the configure checks for setuid install of xterm into
8666    a script to avoid installing it setuid'd to a non-root user
8667    (reported by Adam Sulmicki &lt;adam@cfar.umd.edu&gt;).</li>
8668
8669    <li>correct configure script's check for termcap.h to avoid
8670    using ncurses' version of it on systems that have a working
8671    <code>tgetent()</code> function. This is needed to make
8672    <code>resize</code> work properly.</li>
8673
8674    <li>fix some typography in ctlseqs.ms description of DEC
8675    locator events (reported by Steve Wall).</li>
8676  </ul>
8677
8678  <h1><a name="xterm_117" id="xterm_117">Patch #117 - 1999/9/29 -
8679  XFree86 3.9.16b</a></h1>
8680
8681  <ul>
8682    <li>change order of tests in configure script for utmp and
8683    utmpx to test utmpx first, to compile on Solaris (reported by
8684    Leena Heino &lt;liinu@uta.fi&gt; and Patrik Hagglund
8685    &lt;patha@ida.liu.se&gt;).</li>
8686
8687    <li>add a configure test for utmp.ut_xtime, needed for SCO
8688    Openserver, and for lastlog, needed for Redhat 6.0, to refine
8689    the utmp/utmpx auto-configure.</li>
8690
8691    <li>remove a spurious comma in an #undef (reported by David
8692    Green &lt;greendjf@cvhp152.marconicomms.com&gt; and David
8693    Ellement &lt;ellement@sdd.hp.com&gt; both on HP-UX, whose
8694    compiler does care about syntax).</li>
8695
8696    <li>change ifdef's using __CYGWIN32__ to __CYGWIN__ (reported
8697    by Suhaib M. Siddiqi &lt;Ssiddiqi@InspirePharm.Com&gt;, who is
8698    told that the next Cygnus release will drop that symbol in
8699    their next release).</li>
8700
8701    <li>minor cleanup of ifdef's for makeColorPair (patch by Steve
8702    Wall).</li>
8703
8704    <li>work around problem observed in XFree86 3.3.5 (patch by
8705    Alexander V Lukyanov, Redhat #5419). From the problem report:
8706
8707      <blockquote>
8708        <p>xterm consumes cpu when selecting text with mouse
8709        (holding down left mouse button) and when a program working
8710        under the xterm outputs something to stdout.</p>
8711
8712        <p>Easy way to reproduce:<br>
8713        <code>while :; do echo aaa; sleep 1; done</code><br>
8714        (while this runs, select text and hold down left mouse
8715        button) watch cpu load.<br>
8716        release left mouse button - spinning stops.</p>
8717      </blockquote>
8718    </li>
8719  </ul>
8720
8721  <h1><a name="xterm_116" id="xterm_116">Patch #116 - 1999/9/25 -
8722  XFree86 3.9.16a</a></h1>
8723
8724  <ul>
8725    <li>modify warning if change-ownership of PTY fails; some
8726    configurations may not happen to have old-style pty's (reported
8727    by Bob Maynard).</li>
8728
8729    <li>improve check in configure script for group ownership of
8730    installed xterm; some platforms use the -g option of ls to
8731    toggle group off rather than on (reported by Greg Smith).</li>
8732
8733    <li>minor improvement to toolbar geometry, to make it not
8734    resizable. This still is not satisfactory (but is usable) since
8735    the toolbar overlaps the xterm widget if the window is resized
8736    to make it smaller. It appears that some work is needed for the
8737    xterm widget's geometry management to make it function
8738    properly.</li>
8739
8740    <li>implement configure script tests for utmp, tty group.</li>
8741
8742    <li>implement <em>-hold</em> option, allowing users to retain
8743    the window after a shell has exited (this is recently an FAQ,
8744    but prompted by a comment by Joachim Plaettner-Hochwarth
8745    &lt;plaettner@aem.umn.edu&gt; in comp.unix.programmer, that the
8746    IRIX winterm provides this option).</li>
8747
8748    <li>add support for DEC Locator control sequences for xterm
8749    (integrated patch by Steve Wall):
8750      <pre>
8751                DECEFR, "Enable Filter Rectangle"
8752                DECELR, "Enable Locator Reports"
8753                DECSLE, "Select Locator Events"
8754                DECRQLP, "Request Locator Position"
8755</pre>
8756
8757      <p>This allows the xterm mouse to be used with applications
8758      that use the DEC Locator sequences, such as VAX Tpu, or SMG$
8759      based applications.</p>
8760    </li>
8761
8762    <li>improve print action (patch by Matthias Baake). From his
8763    notes,
8764
8765      <ul>
8766        <li>Bug 1<br>
8767        Underlined text is preceded by ESC&nbsp;[0;2m . This should
8768        be ESC&nbsp;[0;4m&nbsp;, ESC&nbsp;[2m doesn't seem to have
8769        any effect. (print.c/send_SGR)</li>
8770
8771        <li>Bug 2<br>
8772        The check for the last non-empty column (while (last &gt;
8773        0) ... in print.c/printLine) omits the rightmost column of
8774        the screen, the loop must start with last =
8775        screen-&gt;max_col+1 instead of last =
8776        screen-&gt;max_col.</li>
8777
8778        <li>Bug 3<br>
8779        Any attributes of the first character (and of all
8780        immediately following characters with the same attributes)
8781        are ignored. The variable attr (print.c/printLine) should
8782        be initialized with 0, not with *a &amp; SGR_MASK.</li>
8783      </ul>
8784    </li>
8785  </ul>
8786
8787  <h1><a name="xterm_115" id="xterm_115">Patch #115 - 1999/9/18 -
8788  XFree86 3.9.16a</a></h1>
8789
8790  <ul>
8791    <li>integrated changes by Steve Wall to implement an 88-color
8792    model for systems where 256-colors cannot be allocated.</li>
8793
8794    <li>when 256-color configuration is compiled, colored bold and
8795    underlining is not available; ifdef'd to avoid possible odd
8796    effects in this case (reported by Steve Wall).</li>
8797
8798    <li>add resource <em>cacheDoublesize</em>, to limit the caching
8799    of font information for double-sized characters. This addresses
8800    a problem reported by Aryeh Koenigsberg for X terminals with
8801    limited font memory.</li>
8802
8803    <li>modify treatment of line-drawing characters in UTF-8 mode
8804    so that the Unicode values are used rather than the C0 codes
8805    for storing the translated characters (request by Markus
8806    Kuhn).</li>
8807  </ul>
8808
8809  <h1><a name="xterm_114" id="xterm_114">Patch #114 - 1999/9/15 -
8810  XFree86 3.9.16</a></h1>
8811
8812  <ul>
8813    <li>add configure script checks for Athena headers and
8814    libraries under /usr/contrib to work on HPUX (reported by
8815    several people: David Nixon &lt;djn@csc.liv.ac.uk&gt; Aryeh
8816    Koenigsberg &lt;aryeh.koenigsberg@telrad.co.il&gt; Johannes
8817    M&auml;hner &lt;johanm@camline.com&gt; Andrew Gaylard
8818    &lt;andrew.gaylard@bsw.co.za&gt;).</li>
8819
8820    <li>add check to configure script if xterm is installed setgid
8821    rather than setuid, since wtmp and utmp may be installed with
8822    group-writable permissions other than root (based on Debian bug
8823    report #7112 by Bo Branten &lt;bosse@ing.umu.se&gt;).</li>
8824
8825    <li>rewrote logic that removes data from termcap entry, e.g.,
8826    for titeInhibit, to make it less likely to remove the wrong
8827    data.</li>
8828
8829    <li>correct logic which checks for missing characters used for
8830    line drawing. The 0 character was tested unnecessarily, leading
8831    to some inefficiency when rendering.</li>
8832
8833    <li>change termcap capability which is used as input or output
8834    of ptyInitialErase logic from <em>kD</em> to <em>kb</em>.
8835    Christian Weisgerber &lt;naddy@mips.rhein-neckar.de&gt; pointed
8836    out in effect that <em>kD</em> (in terminfo <em>kdch1</em>)
8837    should correspond to the control sequence for <em>dch1</em>,
8838    which deletes from the current position toward the right.</li>
8839
8840    <li>check for failure to change ownership of the PTY device and
8841    warn when xterm is running setuid'd to root. This was reported
8842    to happen on the FreeBSD/NetBSD/OpenBSD systems as a result of
8843    the chflags() call.</li>
8844
8845    <li>add xterm-noapp terminfo entry to illustate a nominally
8846    bash-compatible terminal description.</li>
8847  </ul>
8848
8849  <h1><a name="xterm_113" id="xterm_113">Patch #113 - 1999/8/15 -
8850  XFree86 3.9.15b</a></h1>
8851
8852  <p>Several fixes. The main one is a first draft of pulldown
8853  menus. It's not complete (I have some minor/annoying geometry
8854  problems to correct), but is usable. Once it's complete I plan to
8855  add a menu to support additional selections that won't fit on the
8856  current popup menus. Also, this fits into my longterm plan to
8857  allow configuring with Motif libraries.</p>
8858
8859  <ul>
8860    <li>correct error in input conversion for NRC mode (reported by
8861    Stefan Traby &lt;stefan@sime.com&gt;).</li>
8862
8863    <li>fix initialization of num_lock data in Misc struct (since
8864    those fields of the reference widget aren't initialized), and
8865    add logic to deal with XVision whose NumLock key does not
8866    transmit but does alter keypad state.</li>
8867
8868    <li>correct a missing return-value in get_pty(), for SCO</li>
8869
8870    <li>add E2A fix for backspace (patch by Greg Smith), i.e.,<br>
8871    #define VAL_INITIAL_ERASE A2E(127)</li>
8872
8873    <li>correct foreground color within cursor outline when the
8874    window is unfocused (reported by Stephane Chazelas).</li>
8875
8876    <li>corrected position of scrollbar set in ResizeScrollBar(),
8877    which left it positioned incorrectly if the right scrollbar
8878    were enabled from the popup menu but was not initially enabled.
8879
8880      <p>I have noticed some additional problems with
8881      right-scrollbar on X11R5 which I will correct later.</p>
8882    </li>
8883
8884    <li>integrate changes by Jean-Claude Michot for QNX from
8885    XFree86 3.3.4c</li>
8886
8887    <li>add resources menuBar/MenuBar, menuHeight/MenuHeight for
8888    later use in toolbar geometry.</li>
8889
8890    <li>add configure option --enable-toolbar</li>
8891
8892    <li>add missing definition to make ziconbeep logic not
8893    compile-in when configure script disables it.</li>
8894
8895    <li>add configure-check for input-method support in X
8896    libraries</li>
8897  </ul>
8898
8899  <h1><a name="xterm_112" id="xterm_112">Patch #112 - 1999/7/17 -
8900  XFree86 3.9Pw</a></h1>
8901
8902  <ul>
8903    <li>add null-pointer check to FlushLog(), fixes a core dump
8904    when both -l and -lf options are used when xterm is configured
8905    with wide-character support.</li>
8906
8907    <li>remove "ISO" case for SD, which was due to a typographical
8908    error in ECMA-48 (reported by Paul Williams
8909    &lt;paul@celigne.co.uk&gt; for vttest).</li>
8910
8911    <li>add "FILES" section to manpage.</li>
8912
8913    <li>generate header file to initialize default resources for
8914    colors 16-255.</li>
8915
8916    <li>fixes for os390 (Greg Smith):
8917
8918      <ul>
8919        <li>add README.os390</li>
8920
8921        <li>use the pty_search() function to find an available
8922        pty/tty pair.</li>
8923
8924        <li>move E2A() call out of getXtermCell() to SaveText()
8925        function so it will be available in all
8926        configurations.</li>
8927      </ul>
8928    </li>
8929
8930    <li>patches by Todd Larason:
8931
8932      <ul>
8933        <li>enable SGR 48 5 in ISO color mode, not just 256 color
8934        mode</li>
8935
8936        <li>change configure's --disable-256-color option to
8937        --enable-256-color, to match its effect</li>
8938
8939        <li>fix OSC 4 xx ? (report ansi color) to report a string
8940        which can actually be used to set the color back</li>
8941
8942        <li>fix OSC 4 xx yy (change ansi color) to not allow
8943        setting colors &gt; 15 in 16 color mode</li>
8944
8945        <li>simplify the COLOR_ settings a bit in ptyx.h, along
8946        with setting NUM_ANSI_COLORS needed for #1 and #4
8947        above</li>
8948
8949        <li>correct string-terminator code passed for reference to
8950        OSC responses; when in 7-bit mode, only the final byte of
8951        ST was seen.</li>
8952
8953        <li>Allow multiple color #;name pairs in OSC 4, and
8954        document changes to match.</li>
8955      </ul>
8956    </li>
8957  </ul>
8958
8959  <h1><a name="xterm_111" id="xterm_111">Patch #111 - 1999/7/10 -
8960  XFree86 3.9Pw</a></h1>
8961
8962  <ul>
8963    <li>add control sequences for specifying the RGB value of the
8964    ANSI colors, and for configuring with 256 colors (patch by Todd
8965    Larason &lt;jtl@molehill.org&gt;). I made the default
8966    configuration to 16-colors, because xterm uses the default
8967    color map (which has only 256 colors).</li>
8968
8969    <li>correct an error in DCS $ q m reporting for colors 8-15
8970    (Todd Larason).</li>
8971
8972    <li>add test/demo script for double size characters. Used this
8973    to test/correct display of double size characters that should
8974    wrap, underlined double size characters.</li>
8975
8976    <li>increased cache size for double size fonts to 8, to allow
8977    for both normal and bold fonts (discussion with Aryeh
8978    Koenigsberg &lt;aryeh.koenigsberg@telrad.co.il&gt;).</li>
8979
8980    <li>add fixes for port to OS390 aka MVS (integrated patch from
8981    Greg Smith &lt;rys@epaibm.rtpnc.epa.gov&gt;). OS390 uses EBCDIC
8982    rather than ASCII.</li>
8983
8984    <li>correct an off-by-one in binary search limits in
8985    keysym2ucs.c (Markus Kuhn).</li>
8986
8987    <li>implement logging for UTF-8 mode. The output is written in
8988    UTF-8 form.</li>
8989  </ul>
8990
8991  <h1><a name="xterm_110" id="xterm_110">Patch #110 - 1999/6/29 -
8992  XFree86 3.9Pu</a></h1>
8993
8994  <ul>
8995    <li>If colorMode is enabled by default, compile-in default
8996    resources to match the colors listed in XTerm-col.ad (this
8997    should fix a longstanding FAQ).</li>
8998
8999    <li>added new OSC&nbsp;3&nbsp;;&nbsp;PROPNAME=VALUE&nbsp;ST
9000    escape sequence to set an arbitrary X property on the top level
9001    xterm X11 window. Omit "=VALUE" to delete the X property (patch
9002    by Greg Badros &lt;gjb@cs.washington.edu&gt;).</li>
9003
9004    <li>change internal flag used for <em>utf8controls</em>
9005    resource so we allow 31-bit range of characters (suggested by
9006    Thomas Wolff).</li>
9007
9008    <li>add check for 16-bit characters in OSC strings, change them
9009    to '?' (reported by Thomas Wolff).</li>
9010
9011    <li>modify logic of same_font_name() to avoid trying to
9012    interpret both parameters as wildcard patterns. That does not
9013    (cannot) work, and in some instances the font server will
9014    return unresolved wildcards for the normal or bold fontnames,
9015    making them match inadvertently, triggering the fallback
9016    overstrike logic (reported by Tim Adye).</li>
9017  </ul>
9018
9019  <h1><a name="xterm_109" id="xterm_109">Patch #109 - 1999/6/23 -
9020  XFree86 3.9Pt</a></h1>
9021
9022  <ul>
9023    <li>correct range-check from patch #108, which resulted in not
9024    being able to select from the scrollback buffer (reported by
9025    Tim Adye &lt;T.J.Adye@rl.ac.uk&gt;)</li>
9026
9027    <li>correct "no available ptys" problem with Cygwin B20.1
9028    (patch by Tim Adye).</li>
9029
9030    <li>modified install-ti rule in Makefile.in to allow override
9031    of the terminfo directory when doing a "make install", i.e., by
9032    assigning to TERMINFO_DIR (request by Zdenek Sekera
9033    &lt;zs@sgi.com&gt;).</li>
9034
9035    <li>added install-full rule to Makefile.in</li>
9036
9037    <li>resync mkdirs.sh and install.sh scripts against current
9038    autoconf</li>
9039
9040    <li>implement $(DESTDIR) in Makefile.in, making it simple to
9041    install xterm and associated files into a directory just for
9042    packaging a binary release (suggested by CaT
9043    &lt;cat@zip.com.au&gt;).</li>
9044
9045    <li>change IChar type to unsigned, rather than unsigned short,
9046    making room for a flag to keep with 16-bit characters to
9047    prevent them from being interpreted as C0 or C1 controls
9048    (reported by Thomas Wolff).</li>
9049
9050    <li>correct a typo from patch #107, incorrect array name, in
9051    the filterUTF8 function (patch by Bruno Haible
9052    &lt;haible@ilog.fr&gt;)</li>
9053
9054    <li>add <em>utf8controls</em> resource to specify whether xterm
9055    should interpret 16-bit characters unpacked from UTF-8 form as
9056    control characters if they happen to fall into that range. This
9057    behavior is left unspecified by the Unicode standard (request
9058    by Thomas Wolff).</li>
9059
9060    <li>modify handling of OSC to recover if application sends
9061    16-bit characters with codes above 255. We cannot display them
9062    as is, but translate out-of-range characters to a '?' (reported
9063    by Thomas Wolff).</li>
9064  </ul>
9065
9066  <h1><a name="xterm_108" id="xterm_108">Patch #108 - 1999/6/19 -
9067  XFree86 3.9Ps</a></h1>
9068
9069  <ul>
9070    <li>add a range-check to LastTextCol(), to guard against
9071    indexing before the beginning of the scrollback buffer. This
9072    appears to happen with certain fonts under X11R5 (reported by
9073    Stephane Chazelas &lt;Stephane_Chazelas@Raytheon.com&gt;).</li>
9074
9075    <li>implement resource <em>boldMode</em>, to allow disabling
9076    the simulation of bold fonts when the bold and normal fonts are
9077    not different (requested by Will Day
9078    &lt;willday@rom.oit.gatech.edu&gt;).</li>
9079
9080    <li>change the atom "UTF-8" to "UTF8_STRING", and fixes a few
9081    bugs in the UTF-8 selection (patch by Juliusz Chroboczek).</li>
9082
9083    <li>correct logic of binary-search in keysym2ucs.c (patch by
9084    Markus Kuhn).</li>
9085
9086    <li>add special interpretation of keysym codes above 0x1000000
9087    as the corresponding UCS value plus 0x1000000 (patch by Markus
9088    Kuhn).</li>
9089  </ul>
9090
9091  <h1><a name="xterm_107" id="xterm_107">Patch #107 - 1999/6/12 -
9092  XFree86 3.9Pq</a></h1>
9093
9094  <ul>
9095    <li>Two changes from Stephen P Wall. From his description:
9096
9097      <blockquote>
9098        <p>The first change is simple - I added ESC[3J to erase the
9099        stored lines above the screen. That's what the changes to
9100        util.c and ctlseqs.ms are.</p>
9101
9102        <p>The second change is to get the blinking cursor working.
9103        I took out the cursorBlinkTime resource, and put in
9104        cursorBlink (Boolean), cursorOnTime (time cursor is on in
9105        msecs) and cursorOffTime, and added a cursorblink item to
9106        the vtMenu to enable/disable it.</p>
9107      </blockquote>
9108    </li>
9109
9110    <li>improve selection (integrated patch by Juliusz Chroboczek).
9111    From his description:
9112
9113      <blockquote>
9114        <p>With this patch, selection conversion works
9115        properly:</p>
9116        <pre>
9117        ISO 8859-1 xterm -&gt; ISO 8859-1 xterm (transferred as STRING);
9118        ISO 8859-1 xterm -&gt; UTF-8 xterm (transferred as STRING);
9119        UTF-8 xterm -&gt; ISO 8859-1 xterm (transferred as STRING);
9120        UTF-8 xterm -&gt; UTF-8 xterm (transferred as UTF-8).
9121</pre>
9122
9123        <p>It will not work properly if one xterm is in, say, ISO
9124        8859-2. Actually, for this case xterm breaks the ICCCM
9125        routinely (sending ISO 8859-2 data as STRING), so I
9126        wouldn't worry too much about it. I have not changed the
9127        behaviour in eight-bit mode in any way.</p>
9128      </blockquote>
9129    </li>
9130  </ul>
9131
9132  <h1><a name="xterm_106" id="xterm_106">Patch #106 - 1999/6/9 -
9133  XFree86 3.9Pq</a></h1>
9134
9135  <ul>
9136    <li>remove duplicate fix for OpenBSD in resize.c</li>
9137
9138    <li>correct logic in ScreenWrite, which did not reset the high
9139    bytes of 16-bit characters when overwriting them with a 8-bit
9140    character string (reported by Thomas Wolff).</li>
9141
9142    <li>provide limited support for input of UTF-8 16-bit data by a
9143    lookup table (integrated patch by Markus Kuhn).</li>
9144
9145    <li>correct check in non_blank_line to ensure we're in
9146    wide-character mode before looking at the high bytes, for
9147    InsertChar.</li>
9148  </ul>
9149
9150  <h1><a name="xterm_105" id="xterm_105">Patch #105 - 1999/6/5 -
9151  XFree86 3.9Pp</a></h1>
9152
9153  <ul>
9154    <li>implement new resource <em>trimSelection</em>, which allows
9155    xterm to trim trailing blanks from selected lines. This does
9156    not affect the highlighting. (reported by several people using
9157    <em>mutt</em>, including Hans Morten Kind &lt;edphk@uib.no&gt;,
9158    Jeremy &lt;jeremy@exit109.com&gt; and (Michael Fuller
9159    &lt;msf@mds.rmit.edu.au&gt;).</li>
9160
9161    <li>include term.h in resize for OpenBSD (patch by Matthieu
9162    Herrb).</li>
9163
9164    <li>correct logic for UTF-8 in functions that hide and show the
9165    cursor; it was displaying a space whenever the low byte of the
9166    character at the cursor position was zero (reported by Thomas
9167    Wolff &lt;Thomas.Wolff@icn.siemens.de&gt;).</li>
9168  </ul>
9169
9170  <h1><a name="xterm_104" id="xterm_104">Patch #104 - 1999/5/30 -
9171  XFree86 3.9Pn</a></h1>
9172
9173  <p>This is a resync patch against XFree86 3.9Pn, reflecting
9174  changes which were submitted by Branden Robinson, who worked with
9175  Wichert Akkerman &lt;wichert@cs.leidenuniv.nl&gt; to set up
9176  ifdef's to handle GNU libc 2.1, and use getpt() which lets xterm
9177  avoid having to know the actual PTY name.</p>
9178
9179  <p>I have also added a few fixes for signed/unsigned mismatches,
9180  and corrected a problem in the configure script (the UTF-8 code
9181  was always configured since the Imakefile defines this).</p>
9182
9183  <h1><a name="xterm_103" id="xterm_103">Patch #103 - 1999/5/14 -
9184  XFree86 3.9Pm</a></h1>
9185
9186  <ul>
9187    <li>correct selection logic: I omitted an offset that accounts
9188    for the distance into the scrollback buffer when rewriting this
9189    for patch #101. Also fixed a similar problem for selecting
9190    double size characters from the scrollback buffer (first was
9191    reported by D Roland Walker &lt;walker@pobox.com&gt;).</li>
9192
9193    <li>improved support for Unix98 PTY's, using patch in Debian
9194    bug report #35650, by J.H.M. Dassen
9195    &lt;jdassen@wi.leidenuniv.nl&gt;. From the patch description:
9196
9197      <blockquote>
9198        <ul>
9199          <li>No longer links xterm against libutil on a glibc2.1
9200          system. libutil is a compatibility library and should
9201          only be used when necessary. Rather than having get_pty()
9202          use openpty() from this compatibility library, use the
9203          real UNIX98 pty support in get_pty() (open()ing the
9204          master pty, through getpt() if available (glibc
9205          extension)). Use openpty() only under glibc2.0.</li>
9206
9207          <li>GNU libc2 is not Linux-specific; already it runs on
9208          the Hurd. It provides the UNIX98 pty functions (plus the
9209          getpt() extension), regardless of the underlying OS.
9210          Changed two constructs to look for GNU libc2 only, not
9211          GNU libc2 on Linux.</li>
9212        </ul>
9213      </blockquote>
9214    </li>
9215
9216    <li>improve font configuration, by checking if the user's
9217    resource settings for normal and bold fonts give the same font
9218    sizes (fixes problem reported by Peter Waltenberg
9219    &lt;peterw@dascom.com&gt;).</li>
9220  </ul>
9221
9222  <h1><a name="xterm_102" id="xterm_102">Patch #102 - 1999/5/12 -
9223  XFree86 3.9Pm</a></h1>
9224
9225  <ul>
9226    <li>revert change to openpty call in patch #101; this causes
9227    xterm to fail on DEC-Alpha OSF/1 4.0B (reported by H Merijn
9228    Brand).</li>
9229
9230    <li>modify print.c to move include of stdio.h after the
9231    autoconf'd xtermcfg.h since HP's ANSI C compiler otherwise sees
9232    inconsistent prototype for getopt, probably due to problem with
9233    const (reported by H Merijn Brand).</li>
9234  </ul>
9235
9236  <h1><a name="xterm_101" id="xterm_101">Patch #101 - 1999/5/10 -
9237  XFree86 3.9Pm</a></h1>
9238
9239  <ul>
9240    <li>moved includes and definitions for 'select' from data.h to
9241    xterm.h to fix problem introduced by prototype for getPtyData,
9242    part of UTF-8 changes (reported by Jens Schleusener
9243    &lt;Jens.Schleusener@dlr.de&gt;)</li>
9244
9245    <li>added "Meta &lt;Btn2Down&gt;:clear-saved-lines()" default
9246    translation (patch by H Merijn Brand)</li>
9247
9248    <li>fixes to configure script and ifdef's in main.c to build on
9249    a HP9000/D390 (hppa-2.0w) running HP-UX 11.00 (64 bit) with
9250    egcs 1.1.2 and HP's ANSI C compiler (patch by H Merijn Brand
9251    &lt;PROCURA_BV@CompuServe.com&gt;)</li>
9252
9253    <li>add more parentheses in ifdef's (patch by Bob
9254    Maynard).</li>
9255
9256    <li>eliminate conflicting definitions for USE_TERMINFO in
9257    resize.c (reported by Jeremy Buhler).</li>
9258
9259    <li>change openpty call to pass NULL rather than ttydev
9260    parameter, since that was used only to estimate the length of
9261    the corresponding data, and may not really be long enough
9262    (reported by Andreas Jaeger)</li>
9263
9264    <li>update description in xterm manpage for character class
9265    table, which said it handles only 7-bit codes.</li>
9266
9267    <li>correct a typo in ScrnDeleteChar() which made it not clear
9268    the high byte of wide-character data.</li>
9269
9270    <li>add logic to convert selection to UTF-8 form when
9271    appropriate. This makes select/paste "work", but further work
9272    is needed to make UTF-8 recognized as a locale in Xlib.</li>
9273
9274    <li>correct right-limit check when selecting double-width
9275    characters.</li>
9276
9277    <li>change default answerback response to an empty string.</li>
9278  </ul>
9279
9280  <h1><a name="xterm_100" id="xterm_100">Patch #100 - 1999/5/3 -
9281  XFree86 3.9Pl</a></h1>
9282
9283  <ul>
9284    <li>Correct a typo in the default resource value for
9285    backarrowKeyIsErase: it was always true (reported by Bram
9286    Moolenaar).</li>
9287
9288    <li>improve configure script's test if the installed xterm is
9289    setuid, in case that is a symbolic link.</li>
9290
9291    <li>correct "install-ti" rule in Makefile.in, by not setting a
9292    blank $TERMINFO value. That is interpreted as "." by ncurses'
9293    tic.</li>
9294  </ul>
9295
9296  <h1><a name="xterm_99" id="xterm_99">Patch #99 - 1999/5/2 -
9297  XFree86 3.9Pk</a></h1>
9298
9299  <ul>
9300    <li>correct logic that computes num_ptrs count of the number of
9301    indices into the screen buffer. This is the maximum of the
9302    colors and character-set indices; was incorrect in patch
9303    #97.</li>
9304
9305    <li>correct argument type for sigsetjmp, incidental change in
9306    patch #96's Unix88 PTY patch (reported by Bram Moolenaar).</li>
9307
9308    <li>correct description of secondary DA in ctlseqs.ms (reported
9309    by Bram Moolenaar).</li>
9310
9311    <li>decouple the backarrowKey and ptyInitialErase resources by
9312    adding a new resource backarrowKeyIsErase, to accommodate
9313    people using applications which have hardcoded tests for
9314    characters 8 and 127 rather than relying on the stty
9315    settings.</li>
9316
9317    <li>modify the UTF-8 decoder so that all possible illegal UTF-8
9318    sequences are properly represented by U+FFFD. This should be
9319    very helpful for developers of code that output UTF-8 strings
9320    for debugging. See the file utf-8-test.txt in
9321    http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts.tar.gz for a
9322    demonstration text that contains numerous illegal UTF-8 values.
9323    (patch by Markus Kuhn).</li>
9324
9325    <li>correct a place in ScrnRefresh where I was filling the high
9326    byte of a wide character with a space rather than a null
9327    (reported by Markus Kuhn).</li>
9328  </ul>
9329
9330  <h1><a name="xterm_98" id="xterm_98">Patch #98 - 1999/4/26 -
9331  XFree86 3.9Pk</a></h1>
9332
9333  <ul>
9334    <li>correct data manipulation in unparseputc(), broken for
9335    little-endian machines by patch #97's UTF-8 changes. This meant
9336    that keyboard input on SunOS did not work, though Linux i386
9337    was fine.</li>
9338
9339    <li>modify initialization for backarrowKey and logic for
9340    initial-erase to prevent the initial-erase from overriding an
9341    explicitly set backarrowKey resource (reported by Vikas
9342    Agnihotri).</li>
9343
9344    <li>add a missing null-pointer check in ScrnRefresh, for the
9345    wide-characters configuration.</li>
9346  </ul>
9347
9348  <h1><a name="xterm_97" id="xterm_97">Patch #97 - 1999/4/25 -
9349  XFree86 3.9Pk</a></h1>
9350
9351  <ul>
9352    <li>add configure script test for -lutil, needed for openpty
9353    call when configuring xterm for Glibc-2.1 and Unix98 PTY's
9354    (first reported by Martin Lorentz"
9355    &lt;m.lorentz@w12.link-goe.de&gt;).</li>
9356
9357    <li>completely parenthesize ifdef expressions for Glibc
9358    (suggested by Bob Maynard).</li>
9359
9360    <li>add initial-erase options (-ie, +ie) to help message
9361    (reported by Vikas Agnihotri).</li>
9362
9363    <li>remove duplicate definition of USE_USG_PTYS (reported by
9364    Jeremy Buhler).</li>
9365
9366    <li>change termcap <em>kD</em> and terminfo <em>kdch1</em> to a
9367    DEL (\177). I overlooked this when separating the styles of
9368    keyboard with the <em>sunKeyboard</em> resources in patch #94,
9369    so that it normally matches the value of the stty erase
9370    character:
9371
9372      <ul>
9373        <li>Reported by Jae Gangemi
9374        &lt;jgangemi@ccf.rutgers.edu&gt;, this caused emacs to not
9375        process the DEL properly, combining it with succeeding
9376        characters.</li>
9377
9378        <li>This does not appear to be related to a problem which I
9379        have found with <em>screen</em>, which translates the stty
9380        erase into the termcap <em>kD</em> or terminfo
9381        <em>kdch1</em> value (depending on how it is linked) if the
9382        $TERMCAP variable is set when <em>screen</em> is
9383        invoked.</li>
9384      </ul>
9385    </li>
9386
9387    <li>add command-line options for enabling UTF-8 mode: -u8 and
9388    +u8. The more obvious -utf8 and +utf8 would conflict with
9389    xterm's -ut and +ut (utmp) options. The UTF-8 changes were
9390    requested by Markus Kuhn &lt;Markus.Kuhn@cl.cam.ac.uk&gt;. This
9391    patch does not complete UTF-8 implementation, but makes it
9392    usable, i.e., display and refresh work, and I am able to
9393    display the test cases which Markus provides. More work is
9394    needed to complete this feature:
9395
9396      <ul>
9397        <li>the control sequences for switching in/out of UTF-8
9398        mode are partly implemented (don't use them). Similarly,
9399        the switching between vt100 and tek4014 emulations when
9400        UTF-8 mode is enabled will not work properly.
9401
9402          <p>You must use the -u8 command line option to use this
9403          feature, as well as compile with the OPT_WIDE_CHARS
9404          definition.</p>
9405        </li>
9406
9407        <li>cut/paste only copies 8-bit characters.</li>
9408
9409        <li>logging is disabled in the wide-character
9410        configuration</li>
9411
9412        <li>printing only writes 8-bit characters.</li>
9413
9414        <li>input only does 8-bit characters. This is the area that
9415        I know least about.</li>
9416      </ul>
9417    </li>
9418  </ul>
9419
9420  <h1><a name="xterm_96" id="xterm_96">Patch #96 - 1999/4/19 -
9421  XFree86 3.9Pj</a></h1>
9422
9423  <ul>
9424    <li>modify Makefile.in to work with configure script's --srcdir
9425    option. (patch by Jeremy Buhler
9426    &lt;jbuhler@cs.washington.edu&gt;)</li>
9427
9428    <li>add checks for 'echo -n' equivalent for 8colors.sh and
9429    16colors.sh scripts (reported by Vikas Agnihotri).</li>
9430
9431    <li>improve logic that looks for bold fonts to allow for
9432    wildcards in the specification for normal fonts, and to ensure
9433    that if a bold font is specified as normal, that xterm will
9434    simulate a bold version of that using a one-pixel offset
9435    overstrike (reported by Henrik Harmsen
9436    &lt;harmsen@erv.ericsson.se&gt;).</li>
9437
9438    <li>correct horizontal spacing of double width line-drawing
9439    characters that xterm simulates.</li>
9440
9441    <li>improve support for Unix98 PTY's, using patch in Debian bug
9442    report #35650, by Topi Miettinen
9443    &lt;Topi.Miettinen@medialab.sonera.fi&gt;. Andreas Jaeger says
9444    this also corrects a permissions problem reported by
9445    cat@zip.net.au</li>
9446
9447    <li>modify initial-erase logic to ensure that
9448    <code>ttyModes</code> resource overrides it.</li>
9449  </ul>
9450
9451  <h1><a name="xterm_95" id="xterm_95">Patch #95 - 1999/4/5 -
9452  XFree86 3.9Ph</a></h1>
9453
9454  <ul>
9455    <li>modify primary DA response to allow a '1' parameter.</li>
9456
9457    <li>add printer and national replacement character sets to
9458    VT220 primary DA response.</li>
9459
9460    <li>document primary and secondary DA responses in
9461    ctlseqs.ms</li>
9462
9463    <li>use the patch number (e.g., 95) in the secondary DA
9464    response, providing user applications a means of determining
9465    the version of xterm for feature comparison (request by Bram
9466    Moolenaar).</li>
9467
9468    <li>make xterm respond to secondary DA when the decTerminalID
9469    is set for VT100.</li>
9470
9471    <li>limit user-defined keys (DECUDK) to VT220-style keyboard
9472    when sunKeyBoard resource is true.</li>
9473
9474    <li>modify ifdef's for Linux-2.2.x with Glibc-2.1 to work with
9475    Glibc-2.1 and no Unix98 PTY support (patch from Andreas Jaeger
9476    &lt;aj@arthur.rhein-neckar.de&gt;)</li>
9477
9478    <li>add optional feature (resource and command-line options) to
9479    make xterm use the PTY's sense of erase character on startup,
9480    rather than requiring it to be \177, or set the PTY's erase
9481    character to match xterm's configuration. Note that while
9482    $TERMCAP is modified to reflect the actual configuration, the
9483    terminfo kdch1 string is not (request by Dirk H Hohndel
9484    &lt;hohndel@suse.de&gt;)</li>
9485
9486    <li>improve scripts in vttests to work with newer shells that
9487    do not use 'echo -n'.</li>
9488
9489    <li>add fonts.sh example script</li>
9490
9491    <li>correct inequality in handling of "#1" font
9492    specification.</li>
9493
9494    <li>correct call to XGetWMNormalHints() used for computing
9495    maximum screen size; the size hints may not have been set.</li>
9496
9497    <li>begin implementation of support for wide-characters
9498    (configure option --enable-wide-chars defines OPT_WIDE_CHARS,
9499    invoke xterm with -wc option to activate this feature). This
9500    patch optionally widens internal data structures, invokes the
9501    16-bit text output rather than the 8-bit version and adds some
9502    tables.</li>
9503  </ul>
9504
9505  <h1><a name="xterm_94" id="xterm_94">Patch #94 - 1999/3/27 -
9506  XFree86 3.9Pf</a></h1>
9507
9508  <ul>
9509    <li>further fixes for terminfo: ka1, ka3, etc., differ between
9510    the default xterm-xfree86 and xterm-vt220 entries.</li>
9511
9512    <li>change default (with sunKeyboard resource false) behavior
9513    of the editing keypad "Delete" to send a 127, like xterm-r6.
9514    The VT220-style <code>&lt;ESC&gt;[3~</code> is sent when
9515    sunKeyboard is true (reported by Tomas Vanhala).</li>
9516
9517    <li>add parameters to function keys to indicate if shift,
9518    control or alt are set. The codes are based on a description of
9519    a DEC VT510 with a PC keyboard, from Jeffrey Altman
9520    &lt;jaltman@watsun.cc.columbia.edu&gt;.</li>
9521
9522    <li>add control sequence 1035, set-num-lock action and num-lock
9523    menu entry to control the use of the NumLock and Alt keys for
9524    the Sun/PC and VT220 keyboard extensions.</li>
9525
9526    <li>implement DECSET/DECRST numeric keypad (DECNKM) mode.</li>
9527
9528    <li>modify terminfo and termcap to use recommended "X Window"
9529    or "X11" names rather than "X Windows" (reported by Tomas
9530    Vanhala).</li>
9531
9532    <li>suppress translation of shifted keypad "+" when sunKeyboard
9533    is true.</li>
9534
9535    <li>workaround unexpected behavior (perhaps bug) in
9536    XmbLookupString, which returns trash in the string buffer for
9537    numlock and control-key combined with keypad-keys.</li>
9538
9539    <li>modify ScrollBarReverseVideo() to keep scrollbar border
9540    visible when reverse video is toggled.</li>
9541
9542    <li>correct missing case for parameter 17 (set highlight color)
9543    in dynamic colors control sequences.</li>
9544
9545    <li>extend dynamic colors control sequences to allow users to
9546    determine the colors and font which are currently active.</li>
9547
9548    <li>minor tweak to OSC responses, to use BEL if the application
9549    used that to end the request, rather than ST. This works better
9550    with shell scripts, which may not handle an
9551    <code>&lt;ESC&gt;backslash</code> very well.</li>
9552
9553    <li>separate menu settings for reverse video from that done
9554    under program control.</li>
9555
9556    <li>corrected ifdef's for menus, which did not allow tek4014 to
9557    be suppressed properly (reported by Clint Olsen).</li>
9558
9559    <li>changes for Linux-2.2.x with GLibc-2.1 and /dev/ptmx
9560    support (integrated patch from Pavel Roskin):
9561
9562      <ul>
9563        <li>main.c and resize.c were using different rules to
9564        determine whether ATT should be defined (actually
9565        USE_USG_PTYS is more apt).</li>
9566
9567        <li>copy definitions from main.c to resize.c to prevent
9568        sys/stream.h and sys/ptem.h from inclusion when SYSV is not
9569        defined</li>
9570
9571        <li>define CNUL if not already defined like other
9572        variables.</li>
9573
9574        <li>/dev/tty does exist in Linux, but it doesn't mean, it
9575        should be used. Therefore EACCES is now an acceptable
9576        result.</li>
9577
9578        <li>ifdef'd several calls such as <code>ioctl (ptyfd,
9579        I_PUSH, "ptem")</code> to build on Linux (I_PUSH is not
9580        defined when sys/stropts.h is not included).</li>
9581      </ul>
9582    </li>
9583
9584    <li>initialize second "ltc" variable in main.c (reported by
9585    David Dawes).</li>
9586
9587    <li>provide definition for USE_USG_PTYS in screen.c</li>
9588
9589    <li>add resource-files to install rule in standalone
9590    Makefile.in</li>
9591
9592    <li>add sample scripts to illustrate titlebar controls,
9593    resizing and colors.</li>
9594  </ul>
9595
9596  <h1><a name="xterm_93" id="xterm_93">Patch #93 - 1999/3/14 -
9597  XFree86 3.9Pd</a></h1>
9598
9599  <p>Here are several fixes and minor enhancements. The chief ones
9600  are the fixes for NumLock mode and reverse video, since we had
9601  become used to working around the problems.</p>
9602
9603  <ul>
9604    <li>remove kfnd/kll/kslt strings from terminfo, because curses
9605    applications do not necessarily return khome/kend pairs
9606    (reported by Vikas Agnihotri).</li>
9607
9608    <li>implement NumLock resource which overrides the keyboard
9609    tables for the special case of keypad keys. This is a problem
9610    introduced in xterm by X11R6 changes, i.e., an ambiguity which
9611    in effect discarded vt100 keypad support.</li>
9612
9613    <li>modify Sun/PC keyboard mode to extend this (emulation of
9614    DEC vt100 keypad) to the remainder of the numeric keypad. Now,
9615    the default operating mode of xterm uses the keyboard tables
9616    as-is (except if the NumLock mode overrides), but provides good
9617    vt100 keypad compatibility if the Sun/PC keyboard menu item is
9618    checked.</li>
9619
9620    <li>separate command-line settings for reverse video from that
9621    done under program control. This is a problem which was
9622    introduced by X11R6. Though <em>correct</em>, most users are
9623    confused by allowing the reset command to undo the effect of
9624    the command-line <kbd>-rv</kbd> option.</li>
9625
9626    <li>add description of function keys, keypad and cursor keys to
9627    ctlseqs.ms</li>
9628
9629    <li>add terminfo entries for xterm-vt52, xterm-sun and
9630    xterm-hp</li>
9631
9632    <li>correct typo (missing case value) for DECSET 35,
9633    enable/disable shifted keypad action and a few compiler
9634    warnings (reported by Zdenek Sekera &lt;zs@sgi.com&gt;).</li>
9635
9636    <li>correct reporting of color values 8-15 in DECRQSS (reported
9637    by Vikas Agnihotri).</li>
9638
9639    <li>modify parsing of ttyModes resource to recognize "^-" as
9640    "undef" (requested by Tomas Vanhala).</li>
9641
9642    <li>integrate/extend changes to add iconify/maximize actions
9643    (from Edward S. Arthur &lt;eda@ultranet.com&gt;).</li>
9644
9645    <li>add control sequences for maximizing/restoring window, and
9646    for reporting maximum screen size.</li>
9647
9648    <li>add 'interpret' action, to support local function-key
9649    interpretation. Used properly, this makes most of the
9650    specialized actions of xterm redundant.</li>
9651
9652    <li>add control sequence private modes 1051, 1052 and 1052, for
9653    setting the Sun and HP function key modes, and for setting the
9654    Sun/PC keyboard mode.</li>
9655
9656    <li>add configure option --disable-maximize</li>
9657
9658    <li>add configure option --disable-num-lcok</li>
9659
9660    <li>extend descriptions of configure script options in
9661    INSTALL.</li>
9662  </ul>
9663
9664  <h1><a name="xterm_92" id="xterm_92">Patch #92 - 1999/2/5 -
9665  XFree86 3.9Nz</a></h1>
9666
9667  <ul>
9668    <li>increase buffer size for tgetent (i.e., termcap) to 1500.
9669    This fixes a problem where <em>screen</em> is built using
9670    ncurses or GNU termcap and <em>xterm</em> is built using the
9671    standard termcap interface. The former does not limit the
9672    termcap size, while the latter is assumed to be no longer than
9673    1023 characters. The <em>screen</em> program's termcap entry is
9674    about 1200 characters long.</li>
9675
9676    <li>change update_menu_item() to a function, to simplify
9677    debugging. This also reduces the executable by 4Kb.</li>
9678
9679    <li>add control sequences for DECSET 30, 1010, 1011 like rxvt
9680    (enable or disable some features that were only settable via
9681    resources or command line arguments).</li>
9682
9683    <li>add control sequence for DECSET 35, which enables/disables
9684    the shifted keypad functions.</li>
9685
9686    <li>add support for switching font sizes, by stepping through
9687    the font menu using shifted keypad plus and minus.</li>
9688
9689    <li>correct missing initialization of tekInhibit and tekSmall
9690    resources.</li>
9691
9692    <li>correct ifdef's in charproc.c for XtNgeometry and
9693    XtCGeometry (reported by Bram Moolenaar).</li>
9694  </ul>
9695
9696  <h1><a name="xterm_91" id="xterm_91">Patch #91 - 1999/1/21 -
9697  XFree86 3.9Nw</a></h1>
9698
9699  <ul>
9700    <li>Implement logic to translate input characters which are
9701    mapped when in vt220 National Replacement Character mode
9702    (requested by Tomas Vanhala).</li>
9703
9704    <li>Resync configure scripts with my patches to autoconf
9705    2.13</li>
9706
9707    <li>Change order of -lXmu and -lXext to accommodate cygwin32
9708    (reported by Vikas Agnihotri).</li>
9709
9710    <li>Add "-ti" option to set terminal emulation level from
9711    command line rather than via resource.</li>
9712
9713    <li>Simplify some of the preprocessor logic using #elif.</li>
9714  </ul>
9715
9716  <h1><a name="xterm_90" id="xterm_90">Patch #90 - 1998/12/13 -
9717  XFree86 3.9Nq</a></h1>
9718
9719  <p>This implements several small fixes and enhancements. The
9720  chief one implements fallback support for line drawing characters
9721  with fonts that do not include those characters. But I
9722  implemented that last.</p>
9723
9724  <ul>
9725    <li>If any of the glyphs in positions 0-31 (used by xterm to
9726    implement the VT100 alternate character set) are zero-sized
9727    (i.e., missing), xterm will reserve a normal space for the
9728    glyph when drawing. I implemented a simple stroke-drawing
9729    function to draw the line-drawing characters and a couple of
9730    the other (simpler) characters such as diamond. (This was
9731    suggested by Vikas Agnihotri).</li>
9732
9733    <li>Modify the computation of doublesize characters to work
9734    around font servers which shift the scaled characters up/down
9735    or do not give the correct width.</li>
9736
9737    <li>Add popup menu item and corresponding resource settings to
9738    disable the font-scaling logic for doublesize characters to
9739    work around (older) font servers which simply do not draw the
9740    fonts scaled to the size that they said they would. I see this
9741    problem on a SunOS system running X11R5; the X11R6 servers seem
9742    well behaved.</li>
9743
9744    <li>Implement new escape sequence, private mode 1049, which
9745    combines the switch to/from alternate screen mode with screen
9746    clearing and cursor save/restore. Unlike the existing escape
9747    sequence, this clears the alternate screen when switching to it
9748    rather than when switching to the normal screen, thus retaining
9749    the alternate screen contents for select/paste operations.
9750
9751      <p>When I implemented the popup menu entry to toggle between
9752      the normal and alternate screens, I considered only pasting
9753      from the normal screen to the alternate; this improvement
9754      allows either direction.</p>
9755    </li>
9756
9757    <li>Changed the termcap and terminfo for xterm-xfree86 and
9758    xterm-8bit to use the new 1049 private mode.</li>
9759
9760    <li>Modify the logic which switches between normal and
9761    alternate screens so that the save/restore cursor operations
9762    apply only to the current screen. That means that applications
9763    which use the terminfo smcur/rmcur or termcap ti/te
9764    capabilities will restore the cursor to the original position
9765    on the normal screen rather than to the most recent place where
9766    a save-cursor operation was performed.
9767
9768      <p>I note that a real VT100 terminal would not behave in this
9769      way, but it is a moot point since the VT100 does not
9770      implement alternate screen, and therefore the save/restore
9771      cursor sequence would not be used in this context. I reviewed
9772      the logic which switches between normal and alternate screens
9773      based on some recent newsgroup postings as well as a proposed
9774      patch in the Debian group which attempts to do this (the
9775      patch has a bug, however, so I did not use it).</p>
9776    </li>
9777
9778    <li>Add popup menu entry for toggling the titeInhibit
9779    resource.</li>
9780
9781    <li>Add new resource answerbackString, which overrides the
9782    default "xterm" returned by xterm when responding to an ENQ
9783    (control/E) character (request by Rajesh Vaidheeswarran
9784    &lt;rv@fore.com&gt;).</li>
9785
9786    <li>Add new resource keyboardDialect for setting the NRC
9787    display character set (request by Tomas Vanhala, who notes that
9788    I should add logic to translate the keyboard as well).</li>
9789
9790    <li>Add new command-line option and corresponding resources for
9791    making xterm generate escape sequences compatible with HP
9792    terminals. Like the existing Sun escape sequences, this is
9793    available as a popup menu item. It is enabled by the configure
9794    script with the option --enable-hp-fkeys (requested by Toni
9795    Mueller &lt;sales@oeko.net&gt;).</li>
9796
9797    <li>Add configure script option --disable-boxchars to disable
9798    the fallback support for line drawing characters.</li>
9799
9800    <li>Fix ifdef's for configure script --disable-ansi-color, and
9801    reviewed all configure options to ensure that all can be
9802    enabled/disabled appropriately.</li>
9803
9804    <li>Update config.guess and config.sub, from Lynx.</li>
9805  </ul>
9806
9807  <h1><a name="xterm_89" id="xterm_89">Patch #89 - 1998/11/20 -
9808  XFree86 3.9Nm</a></h1>
9809
9810  <p>This patch completes the implementation of double-sized
9811  character support for the VT100 emulation, and fixes a few minor
9812  bugs:</p>
9813
9814  <ul>
9815    <li>corrected the cursor position in HideCursor, which did not
9816    multiply the column by two when in doublesize mode. This bug,
9817    which did not appear in normal use, dates back to my original
9818    <a href="#xterm_44">changes</a> to partly implement
9819    double-sized characters. I noticed it when cat'ing a typescript
9820    from vttest's double-sized character test.</li>
9821
9822    <li>ensure that the current line is repainted when switching
9823    between single and double width characters.</li>
9824
9825    <li>reduce the number of bits used for double-sized character
9826    coding from 3 to 2, to make more room for soft-font codes.</li>
9827
9828    <li>copy newer ifdef's from the XFree86 3.3.3 release's main.c,
9829    which address details of glibc and powerpc.</li>
9830
9831    <li>moved definition of DECL_ERRNO in xterm.h to match XFree86
9832    3.3.3</li>
9833
9834    <li>modify <em>resize</em> to remove the ifdef on SVr4 that
9835    suppressed printing the script for $LINES and $COLUMNS.
9836    Solaris' resize utility does this; suppressing the behavior is
9837    unnecessary.</li>
9838  </ul>
9839
9840  <p>I tested the double-sized characters using vttest and the
9841  xfsft patch. These fonts worked reasonably well:</p>
9842  <pre>
9843        -bitstream-courier-medium-r-normal--0-0-0-0-m-0-iso8859-1
9844        9x15
9845</pre>
9846
9847  <p>The iso8859 font does not include box characters, of course,
9848  but looks good.</p>
9849
9850  <h1><a name="xterm_88" id="xterm_88">Patch #88 - 1998/10/31 -
9851  XFree86 3.9Nk and 3.3.2h</a></h1>
9852
9853  <p>This refines my #85 patch by checking for a case where the
9854  font server returns a bold font that does not quite correspond to
9855  the normal font. When I asked for a bold version of the 6x12
9856  font, the font server returned a near equivalent where the ascent
9857  and descent values did not match, causing xterm to leave lines
9858  across the display. This patch makes xterm reject that type of
9859  mismatch, falling back to the old font behavior.</p>
9860
9861  <h1><a name="xterm_87" id="xterm_87">Patch #87 - 1998/10/21 -
9862  XFree86 3.9Nj and 3.3.2f</a></h1>
9863
9864  <p>This corrects a problem reported by Stefan Dalibor. My table
9865  entries for the <em>printerExtent</em> and
9866  <em>printerFormFeed</em> resources used the wrong types for
9867  sizeof, causing the printer to not work properly on some
9868  platforms because the <em>printAttributes</em> resource was
9869  overwritten (e.g., Digital Unix with DEC Alpha).</p>
9870
9871  <p>I reviewed all of the resource table entries and fixed a
9872  potential problem with <em>resizeGravity</em>, which was typed as
9873  <em>int</em> rather than <em>XtGravity</em>.</p>
9874
9875  <h1><a name="xterm_86" id="xterm_86">Patch #86 - 1998/10/14 -
9876  XFree86 3.9Nj and 3.3.2e</a></h1>
9877
9878  <p>A small fix: when switching to/from the continuous mouse
9879  reporting mode, the event mask was incorrect if xterm was built
9880  under X11R5 because the original data was saved under an ifdef
9881  for active-icon.</p>
9882
9883  <h1><a name="xterm_85" id="xterm_85">Patch #85 - 1998/10/12 -
9884  XFree86 3.9Nj and 3.3.2e</a></h1>
9885
9886  <p>Some cleanup (I noticed the pixel droppings a few months ago
9887  after getting a new 17" monitor):</p>
9888
9889  <ul>
9890    <li>split-out the functions that load/reload fonts for xterm as
9891    new file fontutils.c to extend them to support automatic
9892    loading of bold font corresponding to the normal font. Adapted
9893    logic from EMU 1.3 for this purpose. This fixes most
9894    occurrences of pixel droppings from bold characters.</li>
9895
9896    <li>modified by renaming variables and adding casts to permit
9897    compile with g++.</li>
9898
9899    <li>modify headers so they can all be compiled without order
9900    dependencies, and use bracketed rather than quoting includes to
9901    allow compile from separate directory.</li>
9902
9903    <li>renamed xtermm terminfo entry to xterm-mono, to avoid
9904    conflict with Solaris entry now in ncurses.</li>
9905  </ul>
9906
9907  <h1><a name="xterm_84" id="xterm_84">Patch #84 - 1998/10/9 -
9908  XFree86 3.9Ni and 3.3.2e</a></h1>
9909
9910  <p>Several small fixes and enhancements, including a patch from
9911  Bjorn Helgaas:</p>
9912
9913  <ul>
9914    <li>correct initialization of TERMCAP environment variable,
9915    which was frequently set to garbage on non-Linux systems
9916    because "termcap" and "newtc" contained random data from the
9917    stack.</li>
9918
9919    <li>remove the LINEWRAPPED attribute from lines as they are
9920    cleared. Previously, the attribute was set but never
9921    cleared.</li>
9922
9923    <li>make word and line selections work even when lines are
9924    wrapped by xterm. Previously, selections were limited to one
9925    screen line.</li>
9926  </ul>
9927
9928  <p>as well as</p>
9929
9930  <ul>
9931    <li>modify logic for line-wrapping to reset the associated flag
9932    if the application deletes a character. This fixes a problem
9933    reported by Bjorn Helgaas where word/line selection would still
9934    wrap even after deleting characters from the first line.</li>
9935
9936    <li>add kll/kH capabilities to xterm-xfree86 entries in termcap
9937    and terminfo (request by Michael Schroeder).</li>
9938
9939    <li>shorten descriptions in termcap to make resolved entries
9940    all shorter than 1023 character limit.</li>
9941
9942    <li>use DECSTR control sequence to shorten initialization and
9943    reset strings in xterm-xfree86 termcap and terminfo.</li>
9944
9945    <li>use rmul/smul and rmir/smir in xterm-r5 terminfo to match
9946    termcap.</li>
9947
9948    <li>correct typos in initialization and reset strings in
9949    xterm-r5 termcap and terminfo.</li>
9950
9951    <li>disable special translations of key symbols (the backarrow
9952    key, the editing keypad and the keypad "+") when a modifier
9953    other than shift, control or numlock is used. This makes xterm
9954    handle the meta key as expected by people using emacs (reported
9955    by Pete Harlan &lt;harlan@pointofchoice.com&gt; in
9956    linux.debian.user newsgroup).</li>
9957  </ul>
9958
9959  <h1><a name="sync_83" id="sync_83">Resync #83 - 1998/10/7 -
9960  XFree86 3.3.2e</a></h1>
9961
9962  <p>Merge changes through patch #83 with the 3.3.2e version.</p>
9963
9964  <p>This follows a change from XFree86 CVS which adds checks for
9965  non-null return from malloc (patch by Matthieu Herrb).</p>
9966
9967  <h1><a name="xterm_83" id="xterm_83">Patch #83 - 1998/8/25 -
9968  XFree86 3.9Nb</a></h1>
9969
9970  <p>Several small fixes and enhancements:</p>
9971
9972  <ul>
9973    <li>add configure test to infer if xterm should be installed
9974    setuid based on previously installed xterm (reported by Stephen
9975    Marley and Stefan Dalibor).</li>
9976
9977    <li>implement quasi-continuous mouse reporting (integrated
9978    patch by Jason Bacon).</li>
9979
9980    <li>correct control sequences transmitted by function keys F1
9981    to F4 when sunFunctionKeys resource is true (it was still using
9982    the VT100 control sequences).</li>
9983
9984    <li>modify handling of backarrow key so that the control
9985    modifier toggles the backspace/delete interpretation set by the
9986    backarrowKey resource.</li>
9987
9988    <li>limit the row and column values used to report mouse
9989    position.</li>
9990  </ul>
9991
9992  <p>From resync with XFree86 3.9Nb:</p>
9993
9994  <ul>
9995    <li>add support for the VSTATUS control character (patch by
9996    Robert Earl &lt;rearl@teleport.com&gt;).</li>
9997  </ul>
9998
9999  <h1><a name="xterm_82" id="xterm_82">Patch #82 - 1998/7/15 -
10000  XFree86 3.9Aj</a></h1>
10001
10002  <p>Bug fix for patch #81:</p>
10003
10004  <ul>
10005    <li>remove an #undef for NBBY, which caused compile problem on
10006    FreeBSD (reported by David Dawes).</li>
10007  </ul>
10008
10009  <h1><a name="xterm_81" id="xterm_81">Patch #81 - 1998/7/14 -
10010  XFree86 3.9Aj</a></h1>
10011
10012  <p>More bug fixes:</p>
10013
10014  <ul>
10015    <li>fix conflicting ifdef's for TIOCSLTC when building with
10016    Linux on AXP aka DEC Alpha (reported by Robin Cutshaw).</li>
10017
10018    <li>correction to patch #79, move assignment for
10019    *utptr-&gt;ut_user = 0; back into non-SVR4 ifdef in main.c,
10020    since this clobbers username on Solaris 2.5.1 (analysis by Will
10021    Day &lt;willday@rom.oit.gatech.edu&gt;).</li>
10022
10023    <li>corrected khome/kend in xterm-8bit terminfo
10024    description.</li>
10025
10026    <li>improve cursor color by making it always the reverse of
10027    fg/bg unless the cursorColor resource is set, i.e., to
10028    something other than the default foreground (reported by Vikas
10029    Agnihotri and Bram Moolenaar).</li>
10030
10031    <li>minor fixes for compiler warnings, including a syntax error
10032    in the AMOEBA ifdef's.</li>
10033  </ul>
10034
10035  <p>From resync with XFree86 3.9Aj:</p>
10036
10037  <ul>
10038    <li>correction to patch #73, supply missing #else for fallback
10039    definitions of size_t, time_t (Robin Cutshaw
10040    &lt;robin@intercore.com&gt;).</li>
10041  </ul>
10042
10043  <h1><a name="xterm_80" id="xterm_80">Patch #80 - 1998/6/29 -
10044  XFree86 3.9Ai</a></h1>
10045
10046  <p>This fixes a couple of items leftover or introduced by patch
10047  79:</p>
10048
10049  <ul>
10050    <li>take out the logic that suppresses editing-keypad in vt100
10051    mode (those keys are too valuable to give up for a fine point
10052    of emulation).</li>
10053
10054    <li>corrected a couple of places in terminfo where I missed
10055    using the vt220-style editing-keypad codes for Find/Select
10056    (mapped to Home/End).</li>
10057
10058    <li>checked termcap file against terminfo, fix several places
10059    where it was inconsistent.</li>
10060  </ul>
10061
10062  <h1><a name="xterm_79" id="xterm_79">Patch #79 - 1998/6/28 -
10063  XFree86 3.9Ai</a></h1>
10064
10065  <p>This patch fixes several small bugs:</p>
10066
10067  <ul>
10068    <li>use X_EXTRA_LIBS in standalone Makefile.in (patch by Tomas
10069    Vanhala).</li>
10070
10071    <li>add new resource 'oldXtermFKeys' which provides backward
10072    compatibility for F1-F4 control sequences with TOG's
10073    xterm.</li>
10074
10075    <li>determine the server's default foreground/background Pixel
10076    values, needed if the -flipPixels X server option is used
10077    (reported by David Dawes).</li>
10078
10079    <li>correct logic for F1-F4 function keys so that they generate
10080    VT100 compatible escape sequences in VT220 mode, since that is
10081    what the numeric keypad is supposed to do (reported by Ron
10082    Johnson, Jr. &lt;ronjohn@communique.net&gt;).</li>
10083
10084    <li>modify logic for editing keypad to work more like VT220:
10085    don't pass those codes in VT100-mode unless oldXtermFKeys mode
10086    is set.</li>
10087
10088    <li>correct an interaction with the editing-keypad logic that
10089    prevented backarrow key from sending a 127 for the delete key
10090    (the 'remove' escape sequence was being sent instead).</li>
10091
10092    <li>use return-value from getuid() rather than the parameter,
10093    to work on systems which do not update the latter (patch by
10094    Kevin Buhr &lt;buhr@mozart.stat.wisc.edu&gt;)</li>
10095
10096    <li>correct scrollbar border color when toggling to/from secure
10097    keyboard mode (patch by Jeff Uphoff
10098    &lt;juphoff@tarsier.cv.nrao.edu&gt;)</li>
10099
10100    <li>modifications to terminfo file:
10101
10102      <ul>
10103        <li>rename description to xterm-xfree86, adding an entry
10104        'xterm' which is derived from xterm-xfree86 to simplify
10105        customization.</li>
10106
10107        <li>change string for kdch1 from \177 to \E[3~, to address
10108        complaints from Debian developers. (This applies to the key
10109        labeled "Delete", and does not affect the backarrow
10110        key).</li>
10111
10112        <li>add user-strings u6, u7, u8, u9 to entries to make them
10113        work with Daniel Weaver's "tack" program.</li>
10114
10115        <li>modify xterm-24, xterm-bold, xterm-boldso entries to
10116        disentangle them from explicit dependency upon
10117        xterm-xfree86.</li>
10118
10119        <li>add generic 'xterm-color' entry.</li>
10120
10121        <li>minor corrections to xterm-xfree86, xterm-8bit,
10122        xterm-r5 and xterm-r6 entries.</li>
10123      </ul>
10124    </li>
10125  </ul>
10126
10127  <h1><a name="xterm_78" id="xterm_78">Patch #78 - 1998/6/3 -
10128  XFree86 3.9Ah and 3.3.2</a></h1>
10129
10130  <p>Again, most of the bulk of this patch is for ANSI conversion.
10131  I used the IRIX compiler's -wlint option to find the remaining
10132  functions that use K&amp;R syntax (since gcc does not do this
10133  properly). Also, I changed the logic in the print code slightly
10134  to close unwanted files before opening a pipe to the printer.
10135  This may help in some configurations where the line printer hangs
10136  until xterm closes the pipe.</p>
10137
10138  <h1><a name="xterm_77" id="xterm_77">Patch #77 - 1998/5/26 -
10139  XFree86 3.9Ah and 3.3.2</a></h1>
10140
10141  <p>Most of the bulk of this patch is to convert the extended C
10142  (K&amp;R functions with prototypes) to ANSI. I verified that on
10143  Linux by comparing object files, to ensure that I did not, for
10144  example, interchange parameters in the function declarations.</p>
10145
10146  <p>The rest of the patch fixes several minor bugs, and adds a few
10147  features:</p>
10148
10149  <ul>
10150    <li>back-out my use of ncurses "captoinfo -f" option
10151    (if/then/else/endif) formatting, since ncurses did not
10152    correctly filter embedded newlines in terminfo capability
10153    strings until _after_ ncurses 4.1, thus corrupting
10154    setf/setb/sgr strings (reported by Darren Hiebert and
10155    others).</li>
10156
10157    <li>document SGR 8, 28 (invisible/visible), add corresponding
10158    capabilities to terminfo description.
10159
10160      <p>I would also add the 'prot protected capability, but the
10161      control sequences for that would not be recognized or
10162      properly ignored by the older xterm programs.</p>
10163    </li>
10164
10165    <li>modify ChangeGroup to not suppress a null-resource, but
10166    treat it as an empty string (recommended by Stefan
10167    Dalibor).</li>
10168
10169    <li>add printerAutoClose resource to control whether printer is
10170    closed when going offline. More than one person reports
10171    problems (on Solaris 2.6 and Digital Unix 4.0) getting the
10172    printer to proceed unless xterm exits; I think that it is a
10173    problem flushing the pipe. Closing it ought to flush it.</li>
10174
10175    <li>adapt TOG fix-3 to in HandleKeymapChange and VTInitI18N
10176    (but adapt XtStackAlloc/XtStackFree for clarity, as well as
10177    fixing memory leak).</li>
10178
10179    <li>change calls on FillCurBackground to ClearCurBackground, in
10180    effect using XClearArea rather than XFillRectangle when
10181    clearing as a side-effect of scrolling and insertion (patch by
10182    Alexander V Lukyanov)</li>
10183
10184    <li>correct some places where insert/delete did not _move_ the
10185    color attributes, using memmove (patch by Alexander V Lukyanov
10186    &lt;lav@long.yar.ru&gt;)</li>
10187
10188    <li>add ifdef's for __CYGWIN32__, for port to cygnus version
10189    B19.1 (patch by Andrew Sumner
10190    &lt;andrew_sumner@hotmail.com&gt;).</li>
10191
10192    <li>remove #define for hpux that turned on USE_SYSV_ENVVARS,
10193    since this causes some applications (such as 'less') to get
10194    incorrect $LINES and $COLUMNS values (reported by Clint
10195    Olsen).</li>
10196
10197    <li>modify behavior for HP-UX, to set the "reserved" process
10198    group controls to _POSIX_VDISABLE so the TIOCSLTC ioctl does
10199    not produce an error (patch by Ben Yoshino
10200    &lt;ben@wiliki.eng.hawaii.edu&gt;).</li>
10201
10202    <li>correct length of underlining, reducing it by one pixel to
10203    avoid leaving a dot when the application does not clear the
10204    whole screen I noticed this only recently myself (and other
10205    people as well); it depends on the font chosen. A 6x10 font
10206    shows it, but the other fonts from XTerm.ad do not. I also see
10207    a similar problem with the emulation of bold fonts. (patch by
10208    Sergei Laskavy &lt;Laskavy@cs.msu.su&gt;).</li>
10209
10210    <li>add include for Xos.h to xterm.h, to ensure proper
10211    definitions (reported by Holger Veit).</li>
10212
10213    <li>update config.guess to recognize Unixware 2.1 and 7 (patch
10214    by Mike Hopkirk &lt;hops@sco.com&gt;).</li>
10215  </ul>
10216
10217  <h1><a name="xterm_76" id="xterm_76">Patch #76 - 1998/5/8 -
10218  XFree86 3.9Ah and 3.3.2</a></h1>
10219
10220  <p>A fix for the print-window function, and some minor
10221  cleanup:</p>
10222
10223  <ul>
10224    <li>modify logic that closes pipe in the print-window function
10225    to not use pclose, which does not work on all systems, since I
10226    did not open the pipe with popen (reported by Stefan
10227    Dalibor).</li>
10228
10229    <li>correct name of $(EXTRA_LOAD_FLAGS) imake variable
10230    (reported by Stefan Dalibor).</li>
10231
10232    <li>guard logic in ChangeGroup() function against null pointer
10233    (reported by Stefan Dalibor).</li>
10234
10235    <li>ensure that menu entry for toggling sunKeyboard resource is
10236    initialized (reported by Branden Robinson
10237    &lt;branden@purdue.edu&gt;).</li>
10238
10239    <li>gcc unused-variable warnings (reported by Bernd Ernesti
10240    &lt;bernd@arresum.inka.de&gt;)</li>
10241
10242    <li>rename global variable 'buffer' to 'VTbuffer'</li>
10243  </ul>
10244
10245  <h1><a name="xterm_75" id="xterm_75">Patch #75 - 1998/5/7 -
10246  XFree86 3.9Ah and 3.3.2</a></h1>
10247
10248  <p>This incorporates fixes from several people, as well as some
10249  improvements that I made based on feedback from users:</p>
10250
10251  <ul>
10252    <li>add option to standalone configure script,
10253    "--with-own-terminfo-dir", which causes xterm to pass a
10254    predefined value of $TERMINFO to the application. Also use this
10255    value in install rule "make install-ti", for the standalone
10256    configure script. (patch &amp; feedback from Tor Lillqvist
10257    &lt;tml@hemuli.tte.vtt.fi&gt;)</li>
10258
10259    <li>change ifdef's for "hpux" to "__hpux" (patch by Tor
10260    Lillqvist). The imake configuration uses the former, but the
10261    latter is predefined by HP's compilers.</li>
10262
10263    <li>define USE_SYSV_ENVVARS for HP-UX, curses does not use
10264    $TERMCAP (patch by Tor Lillqvist).</li>
10265
10266    <li>on HP-UX, use the /dev/ptym/clone device to allocate PTY's.
10267    Works both on HP-UX 9 and 10. (patch by Tor Lillqvist).</li>
10268
10269    <li>modify configure script to obtain the $(EXTRA_LOADFLAGS)
10270    value from imake, needed for compiling under DEC OSF/1
10271    (reported by Stefan Dalibor)</li>
10272
10273    <li>modify print-window action so that the printer is closed
10274    after printing a window, unless the printer was already opened
10275    (i.e., by an application running in the window). This makes the
10276    printing complete without having to exit xterm, since not all
10277    systems treat fflush through a pipe very well (reported by
10278    Stefan Dalibor)</li>
10279
10280    <li>modify printing code so that the ^M's are not printed if
10281    the printAttribute resource is set to zero (request by Stefan
10282    Dalibor).</li>
10283
10284    <li>correct typo in xterm.man, for the default value of
10285    printAttribute (reported by Stefan Dalibor).</li>
10286
10287    <li>correct printing code so that the alternate character set
10288    is printed, like other attributes, with escape sequences.</li>
10289
10290    <li>correct termcap description, removing spurious 'm'
10291    character from the 'op' capability (reported by Greg Woods
10292    &lt;woods@weird.com&gt;).</li>
10293
10294    <li>correct trace code so that the initial timestamp is
10295    set.</li>
10296
10297    <li>correct/modify utmp data for the Linux glibc 2
10298    configuration, so that the ut_line member is set before using
10299    it to update wtmp (patch by Bill Nottingham
10300    &lt;wen1@cec.wustl.edu&gt;).</li>
10301  </ul>
10302
10303  <h1><a name="xterm_74" id="xterm_74">Patch #74 - 1998/4/27 -
10304  XFree86 3.9Ag and 3.3.2</a></h1>
10305
10306  <p>This corrects a couple of recent bugs and adds a new
10307  resource:</p>
10308
10309  <ul>
10310    <li>modify definition of TRACE_CHILD so that it does not
10311    conflict with ifdef's for USE_USG_PTYS in main.c (reported by
10312    Vikas Agnihotri &lt;VikasA@att.com&gt; and Stefan
10313    Dalibor).</li>
10314
10315    <li>correct ownership of file (actually pipe) written by the
10316    print controls. When undoing the setuid changes in patch #69, I
10317    overlooked this. Now xterm forks a process which resets setuid
10318    and routes the printer data as the real user.</li>
10319
10320    <li>add a new resource, "printAttributes", which controls
10321    whether color attributes (or any attributes) are sent to the
10322    printer.</li>
10323  </ul>
10324
10325  <h1><a name="xterm_73" id="xterm_73">Patch #73 - 1998/4/25 -
10326  XFree86 3.9Ag and 3.3.2</a></h1>
10327
10328  <p>This patch does the following:</p>
10329
10330  <ul>
10331    <li>implements a print-window facility for xterm. Though useful
10332    in itself, I added it as part of some debugging which I am
10333    doing. (Occasionally during an exposure event xterm fails to
10334    restore the proper colors for highlighted text, and printing
10335    the screen will show the internal states nicely).
10336
10337      <p>The print facility now also displays the color
10338      information. (I will probably make this a resource).</p>
10339    </li>
10340
10341    <li>modified the xterm-16color terminfo description to use the
10342    setaf and setab strings, which is a little more efficient
10343    (requested by Stephen Marley).</li>
10344
10345    <li>reduced some clutter of the ifdef/includes (e.g., stdlib.h,
10346    unistd.h, errno) making the configure script test for these.
10347
10348      <p>I removed the symbols Size_t and Time_t, since they no
10349      longer serve a useful purpose.</p>
10350    </li>
10351
10352    <li>added some debugging traces to show the initial screen
10353    size, and the success/failure of the ioctl calls pass handle
10354    window resizing events to the application (for Clint Olsen).
10355
10356      <p>I also modified the trace code to produce two files since
10357      some of the information is produced by the child process. So
10358      now they are Trace-parent.out and Trace-child.out</p>
10359    </li>
10360
10361    <li>updated configure test for ANSI compiler options to handle
10362    a special case for HP-UX 10.x (reported by Clint Olsen).</li>
10363  </ul>
10364
10365  <h1><a name="xterm_72" id="xterm_72">Patch #72 - 1998/4/17 -
10366  XFree86 3.9Ag and 3.3.2</a></h1>
10367
10368  <p>This is a patch from Chris Siebenmann
10369  &lt;cks@hawkwind.utcs.toronto.edu&gt;, which I have cleaned up a
10370  little, and integrated into the configure script.</p>
10371
10372  <p>From his description:</p>
10373
10374  <blockquote>
10375    <p>This set of patches is the latest incarnation of patches
10376    originally written by Ian! D Allen, then of the University of
10377    Waterloo and now of who knows where; I have been carrying them
10378    forward from xterm to xterm ever since about X11R4. What they
10379    do is add an option so that when an iconified xterm receives
10380    output it prepends '*** ' to its icon title and (optionally)
10381    beeps the bell; deiconifying the xterm removes the '*** '. Over
10382    the years I've found this to be incredibly convenient for
10383    monitoring all sorts of low-activity things.</p>
10384  </blockquote>
10385
10386  <h1><a name="xterm_71" id="xterm_71">Patch #71 - 1998/4/12 -
10387  XFree86 3.9Ag and 3.3.2</a></h1>
10388
10389  <p>This patch is a slightly modified version of one by Richard
10390  Braakman, which prevents buffer overflow in the input-method and
10391  preedit-type parsing in xterm. I changed a couple of details to
10392  make the code more maintainable, and looked for similar things -
10393  copying into a fixed-size buffer (found none, though I did spot
10394  an unused variable).</p>
10395
10396  <h1><a name="xterm_70" id="xterm_70">Patch #70 - 1998/3/29 -
10397  XFree86 3.9Af and 3.3.2</a></h1>
10398
10399  <p>This patch corrects some minor bugs in xterm, and fills in
10400  some more details in the VT220 emulation:</p>
10401
10402  <ul>
10403    <li>modify Imakefile to use SpecialCObjectRule for menu and
10404    data modules, making xterm build properly if logging is enabled
10405    (patch by Scott Sewall &lt;scott@iprg.nokia.com&gt;).</li>
10406
10407    <li>restore "ich" capability to terminfo entries, since Michael
10408    Schroeder points out that "ich1" is the one which is the
10409    problem in Solaris vi.</li>
10410
10411    <li>correct color of cursor, which would disappear on
10412    inverse-video since the initialization did not compare the
10413    cursor color against both foreground and background (reported
10414    by Olivier Calle).</li>
10415
10416    <li>correct abbreviation-test for -version and -help options,
10417    making command-line option -vb work (reported by Stefan
10418    Dalibor).</li>
10419
10420    <li>correct a dependency between ifdef's for OPT_I18N_SUPPORT
10421    and OPT_INPUT_METHOD (reported by Stefan Dalibor).</li>
10422
10423    <li>split-out character-set translations as new module
10424    charsets.c, to implement VT220 national replacement character
10425    sets (a mode where some of the characters are displayed as
10426    specific European glyphs). This relies on xterm using an ISO
10427    8859-1 font (approach suggested by Kenneth R. Robinette
10428    &lt;zkrr01@mailbox.neosoft.com&gt;).</li>
10429
10430    <li>correct a missing increment, which made SS2 and SS3
10431    controls repeat the shifted character.</li>
10432
10433    <li>add xterm-nrc to terminfo to illustrate the VT220 national
10434    replacement character sets.</li>
10435
10436    <li>reformat terminfo using new ncurses tic option "-f", which
10437    makes if/then/else/endif expressions easier to read.</li>
10438  </ul>
10439
10440  <h1><a name="xterm_69" id="xterm_69">Patch #69 - 1998/3/16 -
10441  XFree86 3.9Ad and 3.3.2</a></h1>
10442
10443  <p>This corrects the problem in xterm with utmp, reported by
10444  Olivier Calle &lt;olivier@tc.fluke.com&gt; as well as some other
10445  people after the XFree86 3.3.2 release.</p>
10446
10447  <p>The error was introduced by my patch #53 in XFree86 3.9r
10448  (October 1997).</p>
10449
10450  <p>The correction removes the reset of setuid/setgid before the
10451  main event loop, and solves the problem which I had worked around
10452  in a different manner: for some reason, the particular waitpid()
10453  call in creat_as() hangs, does not return when the child process
10454  exits. I changed the ifdef's to force the Linux configuration to
10455  use wait() instead. This call appears to work properly on other
10456  platforms such as SunOS and Solaris.</p>
10457
10458  <p>I also added tests in the standalone configure script to check
10459  for the existence of waitpid().</p>
10460
10461  <h1><a name="xterm_68" id="xterm_68">Patch #68 - 1998/3/4 -
10462  XFree86 3.9Ad and 3.3.1z</a></h1>
10463
10464  <p>This corrects another problem with the logic for
10465  highlightColor resource. As reported by David Dawes:</p>
10466
10467  <blockquote>
10468    <p>I've just noticed a problem with with the "inverse" control
10469    sequence (ESC[7m) with the 3.3.2 xterm. What it does is sets
10470    the background black, and the text the usual foreground colour
10471    rather than simply swapping the foreground/background.</p>
10472  </blockquote>
10473
10474  <p>This appears to be because when I added logic to check that
10475  the highlightColor was distinct from foreground and background
10476  colors, I did not add a further check to see that it was not
10477  black (I would make an explicit check for the resource not being
10478  set, but see nothing definite in the headers that would let me
10479  reference an explicitly-undefined Pixel value, though there are
10480  some implications in xpm.h). But this should work.</p>
10481
10482  <h1><a name="xterm_67" id="xterm_67">Patch #67 - 1998/2/23 -
10483  XFree86 3.9Ad and 3.3.1e</a></h1>
10484
10485  <p>This patch does the following:</p>
10486
10487  <ul>
10488    <li>improve test for highlightColor so that xterm does not
10489    attempt to use that unless it is different from the foreground
10490    and background colors (reported by Stefan Dalibor
10491    &lt;Stefan.Dalibor@informatik.uni-erlangen.de&gt;.
10492
10493      <p>I could not reproduce this until I noticed that the -rev
10494      option exposed it nicely.</p>
10495    </li>
10496
10497    <li>remove ich and ich1 from xterm and xterm-8bit terminfo
10498    descriptions. SVr4 terminfo documents that you must not combine
10499    these with smir/rmir, but ncurses allows it, opening a hole.
10500    Solaris 2.6 vi does not work properly if it is using a terminfo
10501    description when these are combined, since it was written to
10502    accommodate old terminals that required it (reported by Stephen
10503    Marley).</li>
10504
10505    <li>restore 1-pixel overlap of scrollbar border with left edge
10506    of window (reported by Jim Burmeister
10507    &lt;jimb@metrolink.com&gt;).</li>
10508
10509    <li>add a configure option, --enable-logfile-exec, which allows
10510    the user to specify a pipe for logfile. This defines
10511    ALLOWLOGFILEEXEC.</li>
10512
10513    <li>makes the ALLOWLOGFILEEXEC code compile &amp; run, if
10514    configured.</li>
10515
10516    <li>minor documentation nits.</li>
10517  </ul>
10518
10519  <h1><a name="xterm_66" id="xterm_66">Patch #66 - 1998/2/16 -
10520  XFree86 3.9Ad and 3.3.1d</a></h1>
10521
10522  <p>This fixes the problem reported with failure to build the
10523  <em>resize</em> program (BSDI, OSF/1) due to not having
10524  &lt;termcap.h&gt;, by changing the ifdef to one that would be set
10525  only if the file exists (not currently specified, except by the
10526  standalone configure script). We do not really need to include
10527  &lt;termcap.h&gt; to build, but only for a clean compile, since
10528  it may declare the tgetent() prototype. I also updated the
10529  man-page for <em>resize</em>, since I had recently noticed that
10530  it can be used to resize <em>xterm</em> using the "Sun" control
10531  sequences option.</p>
10532
10533  <h1><a name="xterm_65" id="xterm_65">Patch #65 - 1998/2/14 -
10534  XFree86 3.9Ad and 3.3.1c</a></h1>
10535
10536  <p>This is a small patch to xterm's 8-bit terminal description. I
10537  noticed while testing ncurses that I had specified the wrong
10538  (VT100-style) codes for the F1-F4. Xterm only uses VT220-style
10539  function keys in 8-bit mode.</p>
10540
10541  <h1><a name="xterm_64" id="xterm_64">Patch #64 - 1998/2/8 -
10542  XFree86 3.9Ad</a></h1>
10543
10544  <p>This fixes the following problems with xterm:</p>
10545
10546  <ul>
10547    <li>save/restore the ANSI foreground and background colors with
10548    the other visible attributes in the save-cursor and
10549    restore-cursor operations. This works around a problem with
10550    vim, which apparently assumed that switching between the normal
10551    and alternate screens resets the colors (reported by Jim Battle
10552    &lt;jb@chromatic.com&gt;).
10553
10554      <p>It would be nice to implement save/restore cursor as a
10555      stack (and solve this type of problem completely), but that
10556      would lead to incompatibility with applications which assume
10557      they are running with a VT100 or VT220.</p>
10558    </li>
10559
10560    <li>corrects behavior of a restore-cursor operation which does
10561    not follow a save-cursor (it is supposed to set the character
10562    sets to a known initial state).</li>
10563
10564    <li>extends the sunKeyboard resource (and menu toggle) to
10565    modify the home, end and delete keys on a Sun or PC editing
10566    keypad, making them generate codes compatible with DEC VT220's
10567    Find, Select and Remove keys.</li>
10568
10569    <li>corrects a length in checking command-line options, which
10570    caused the "-help" message to not work when X was not
10571    running.</li>
10572
10573    <li>add some detail to the man-page (requested by Jason Bacon
10574    &lt;acadix@execpc.com&gt;)</li>
10575
10576    <li>modify the standalone configure script to ignore the broken
10577    nsl and socket libraries on IRIX 6.2 (the ones on 5.2 also are
10578    broken, so this change just widens the check for the system
10579    version number).</li>
10580  </ul>
10581
10582  <h1><a name="xterm_63" id="xterm_63">Patch #63 - 1998/2/5 -
10583  XFree86 3.9Ad</a></h1>
10584
10585  <p>This is another patch from Bjorn Helgaas
10586  &lt;helgaas@rsn.hp.com&gt;, which I've reviewed (and learned
10587  some). Following are his notes:</p>
10588
10589  <p>I poked around some more and finally got xterm-62 to build and
10590  run cleanly on HP-UX 10.20. Here are the patches. They look sort
10591  of ugly, so here's a little explanation:</p>
10592
10593  <ul>
10594    <li>aclocal.m4: Removed side effects from the AC_CACHE_VAL
10595    commands in CF_FUNC_TGETENT. Previously, LIBS was set inside
10596    AC_CACHE_VAL, which worked fine the first time configure was
10597    run, but failed if there were cached values.</li>
10598
10599    <li>aclocal.m4: Added temporary setting of LIBS before
10600    AC_TRY_LINK in CF_FUNC_TGETENT. Previously, the last value set
10601    by the AC_TRY_RUN loop was used, so only -lcurses was
10602    checked.</li>
10603
10604    <li>configure.in: Added temporary setting of CPPFLAGS before
10605    AC_CHECK_HEADERS for X11 files. Previously
10606    &lt;X11/DECkeysym.h&gt; and &lt;X11/Xpoll.h&gt; were found only
10607    if they were in the compiler's default include directories,
10608    even if `--x-includes=DIR' had been used or AC_PATH_XTRA had
10609    found them elsewhere.</li>
10610  </ul>
10611
10612  <p>The problem on HP-UX was that we were linking with -lcurses
10613  rather than -ltermcap due to the second bullet above, and
10614  apparently something in HP-UX curses is broken. This seems very
10615  strange, because the only thing used is tgetent, which should
10616  affect any tty/pty configuration, but I lost interest in tracking
10617  down the exact problem.</p>
10618
10619  <h1><a name="xterm_62" id="xterm_62">Patch #62 - 1998/1/23 -
10620  XFree86 3.9Ac</a></h1>
10621
10622  <p>This is a patch mostly by Bjorn Helgaas
10623  &lt;helgaas@dhc.net&gt; (I added the os2main.c change, and a
10624  little of the documentation). From Bjorn's description:</p>
10625
10626  <ul>
10627    <li>If you use the "-hc &lt;color&gt;" option or set the
10628    "highlightColor" resource, text is highlighted by changing only
10629    the background color, rather than using reverse video. I find
10630    this easier to read, especially when selecting multi-colored
10631    text, and it is similar to the way Netscape shows
10632    selections.</li>
10633
10634    <li>Most of the code changes are under "#if
10635    OPT_HIGHLIGHT_COLOR". The principal exception is in screen.c,
10636    where I added a couple calls to resetXtermGC(). This seems like
10637    it could be a bug even without the color highlighting changes
10638    (though I don't pretend to understand all the logic).</li>
10639  </ul>
10640
10641  <h1><a name="xterm_61" id="xterm_61">Patch #61 - 1998/1/17 -
10642  XFree86 3.9Ac</a></h1>
10643
10644  <p>This patch modifies the reset behavior of xterm slightly:</p>
10645
10646  <ul>
10647    <li>change the terminfo entry so that rs1 (one of the strings
10648    used by the 'reset' program) does a hard reset rather than
10649    switching character sets. This is more in accord with other
10650    terminal descriptions.</li>
10651
10652    <li>modifies the treatment of hard reset by the xterm program
10653    to reset the saved lines.</li>
10654
10655    <li>corrects hard reset by also resetting user-defined keys,
10656    i.e., DECUDK.</li>
10657  </ul>
10658
10659  <h1><a name="xterm_60" id="xterm_60">Patch #60 - 1998/1/10 -
10660  XFree86 3.9Ab</a></h1>
10661
10662  <p>This fixes some minor bugs and adds new functionality:</p>
10663
10664  <ul>
10665    <li>add support for blinking text.
10666
10667      <ul>
10668        <li>This does not actually cause the text to flash, but
10669        text with the blink attribute can be displayed in color,
10670        using new resources colorBL and colorBLMode.</li>
10671
10672        <li>If colors are not used, the blinking text will be
10673        displayed as before (just like bold). The main purpose of
10674        this is to make applications work properly when they assume
10675        the emulator supports blinking text.</li>
10676
10677        <li>I did this by moving the per-cell LINEWRAPPED flag to a
10678        per-line flag, to make room for the new BLINK flag. There
10679        were no per-line flags, so this changes a lot of
10680        logic.</li>
10681      </ul>
10682    </li>
10683
10684    <li>corrected missing save-cursor logic in the handling of SGR
10685    1048 (the new control sequence I added in patch #54,
10686    1997/10/17). Reported by Darren Hiebert.</li>
10687
10688    <li>flush the output of the transparent printing after each
10689    line Reported by Tomas Vanhala
10690    &lt;vanhala@ling.helsinki.fi&gt;.</li>
10691
10692    <li>correct the modes that are affected by save/restore cursor
10693    by adding WRAPAROUND and PROTECTED.</li>
10694
10695    <li>corrected placement of one of the XSync calls that I added
10696    in patch #51, 1997/9/15, which had the side-effect of writing
10697    on the window border when the xterm was resizing from 132 to 80
10698    columns.</li>
10699
10700    <li>work around an incompatibility of the XKB definition used
10701    in xterm versus that symbol from IRIX 6.2's imake definitions
10702    (by adjusting the standalone configure script).</li>
10703  </ul>
10704
10705  <h1><a name="xterm_59" id="xterm_59">Patch #59 - 1998/1/5 -
10706  XFree86 3.9Ab</a></h1>
10707
10708  <p>My last patch has an off-by-one error in the comparison for
10709  argc. Douglas Kosovic &lt;douglask@dstc.edu.au&gt; showed me
10710  where (he got a core dump). Also, I think this explains Clint
10711  Olsen's problem, but the symptoms were more subtle (EINVAL for a
10712  system call if the -display option is omitted).</p>
10713
10714  <h1><a name="xterm_58" id="xterm_58">Patch #58 - 1998/1/3 -
10715  XFree86 3.9Ab</a></h1>
10716
10717  <p>This patch does the following:</p>
10718
10719  <ul>
10720    <li>implement logic to permit xterm to work with proportional
10721    fonts.
10722
10723      <ul>
10724        <li>Thomas Wolff &lt;Thomas.Wolff@sietec.de&gt; requested
10725        this (but it isn't exactly what he's asking for - that's a
10726        more involved task).</li>
10727
10728        <li>I chose to do this by rendering the characters on a
10729        fixed pitch, because it would not be useful for existing
10730        applications to display varying numbers of characters on
10731        each line.</li>
10732
10733        <li>Except that this forces the display to be wider, it
10734        works reasonably well. A couple of special cases (reverse +
10735        colorBD, for example) do not display with proper colors,
10736        since the inter-character gaps are painted with the
10737        background.</li>
10738      </ul>
10739    </li>
10740
10741    <li>added a version number to the program (several people have
10742    requested this).</li>
10743
10744    <li>make the -version and -help options interpreted before the
10745    program attempts to open the display.</li>
10746
10747    <li>minor reorganization of the man-page (ordered the options,
10748    resources and translations alphabetically - and eliminated some
10749    duplication).</li>
10750
10751    <li>corrected a misspelled filename in Makefile.in, and added a
10752    lint rule.</li>
10753
10754    <li>updated the configure script to correct behavior when it
10755    cannot find imake, as well as to fix the IRIX+gcc build
10756    (conflict with /usr/include).</li>
10757
10758    <li>regenerated the configure script with a newer patch to
10759    autoconf that fixes a problem with environment space vs the
10760    configure --help message.</li>
10761  </ul>
10762
10763  <h1><a name="xterm_57" id="xterm_57">Patch #57 - 1997/12/26 -
10764  XFree86 3.9Aa</a></h1>
10765
10766  <p>This patch is mostly concerned with the standalone configure
10767  script; a few minor corrections are added:</p>
10768
10769  <ul>
10770    <li>add configure option --disable-tek4014, to allow xterm to
10771    be built without the tek4014 emulation.</li>
10772
10773    <li>add configure option --with-terminal-type, to allow xterm
10774    to be compiled with default $TERM value other than "xterm"
10775    (e.g., "xterm-16color") -- requested by Stephen Marley
10776    &lt;stephen@memex.com&gt;.</li>
10777
10778    <li>fix a typo in the configure --help message -- reported by
10779    Darren Hiebert &lt;darren@hmi.com&gt;.</li>
10780
10781    <li>review diffs between main.c and os2main.c, to make them
10782    more alike. (applies some minor bug-fixes to OS/2's
10783    version).</li>
10784
10785    <li>add missing quotes in memmove/bcopy configure test</li>
10786  </ul>
10787
10788  <h1><a name="xterm_56" id="xterm_56">Patch #56 - 1997/11/28 -
10789  XFree86 3.9x</a></h1>
10790
10791  <p>This patch is based on analysis by Arfst Ludwig
10792  &lt;arfst@luxor.IN-Berlin.DE&gt;, who reported:</p>
10793
10794  <blockquote>
10795    <p>Setting the following resources xterm (all current versions)
10796    receives a segmentation fault on &lt;Btn2Up&gt; after
10797    scrolling:</p>
10798    <pre>
10799          *XTerm*VT100*translations:    #override \
10800              ~Shift~Ctrl&lt;Btn2Up&gt;: insert-selection(PRIMARY, CUT_BUFFER0)\n\
10801              Shift~Ctrl&lt;Btn2Up&gt;:  insert-selection(CLIPBOARD, CUT_BUFFER1)\n\
10802              ~Shift&lt;BtnUp&gt;:       select-end(PRIMARY, CUT_BUFFER0)\n\
10803              Shift&lt;BtnUp&gt;:        select-end(CLIPBOARD, CUT_BUFFER1)
10804</pre>
10805
10806    <p>(The above resources intention is to be able to paste the
10807    latest selection even if the xterm was cleared.)</p>
10808
10809    <p>And here is how it works (and a fix!): The widget given to
10810    the action handler as first argument is not guaranteed to be a
10811    XtermWidget (it can be the ScrollbarWidget). Instead of
10812    accessing the widget's member directly XtDisplay gives the
10813    required pointer in a safe way.</p>
10814  </blockquote>
10815
10816  <p>I noticed that this was not the only instance (by reading the
10817  code, and testing with his example), and extended the solution to
10818  check the widget-class to ensure that it is indeed xterm's widget
10819  class before attempting to use it in the context of
10820  translations.</p>
10821
10822  <h1><a name="xterm_55" id="xterm_55">Patch #55 - 1997/11/25 -
10823  XFree86 3.9x</a></h1>
10824
10825  <p>This fixes the segmentation violation noted by Rogier Wolff
10826  about a month ago. He'd set xterm to 400 (rows) by 150 columns,
10827  which broke because there were limited buffers (200 rows) used
10828  for juggling data when adding or deleting lines and for switching
10829  between alternate and normal screens. I replaced this by an
10830  allocated buffer.</p>
10831
10832  <p>The bug is simple to test if you set titeInhibit false.</p>
10833
10834  <h1><a name="xterm_54" id="xterm_54">Patch #54 - 1997/10/17 -
10835  XFree86 3.9s</a></h1>
10836
10837  <p>This patch does the following:</p>
10838
10839  <ul>
10840    <li>correct a minor placement problem with the right
10841    scrollbar.</li>
10842
10843    <li>implement a new set of control sequences for switching
10844    between the normal and alternate VT100 screens. These work
10845    around the older sequences limitation that required
10846    modification of the runtime $TERMCAP to cooperate with the
10847    titeInhibit resource (that can't work with terminfo). I do this
10848    by moving all of the functionality of the rmcur terminfo
10849    capability into the control sequences.</li>
10850
10851    <li>implement the alternate-screen menu entry</li>
10852  </ul>
10853
10854  <h1><a name="xterm_53" id="xterm_53">Patch #53 - 1997/10/12 -
10855  XFree86 3.9r</a></h1>
10856
10857  <p>This patch adds a fix and implements a new feature (as well as
10858  some minor typos):</p>
10859
10860  <ul>
10861    <li>JCHANDRA@Inf.COM (JCHANDRA) noted that there was still a
10862    problem with the wait call with the logging option. It hung
10863    when the logfile was opened as a command-line option. I fixed
10864    this by moving the StartLogging() call down past the place
10865    where I'd reset the setuid mode. So the logfile is opened as
10866    the real user, without having to fork.</li>
10867
10868    <li>improve Rohleder's changes by renaming the command-line
10869    options and reducing the number of ifdef's.</li>
10870
10871    <li>implement right-scrollbars for xterm (patch by Michael
10872    Rohleder &lt;michael.rohleder@stadt-frankfurt.de&gt;).</li>
10873  </ul>
10874
10875  <h1><a name="xterm_52" id="xterm_52">Patch #52 - 1997/9/29 -
10876  XFree86 3.9q</a></h1>
10877
10878  <p>This patch addresses bugs and requests reported by</p>
10879
10880  <ul>
10881    <li>Bob Maynard &lt;rmaynard@montana.com&gt;,</li>
10882
10883    <li>Clint Olsen &lt;olsenc@ichips.intel.com&gt;,</li>
10884
10885    <li>JCHANDRA@Inf.COM (JCHANDRA),</li>
10886
10887    <li>Michael Schroeder
10888    &lt;Michael.Schroeder@informatik.uni-erlangen.de&gt;,</li>
10889
10890    <li>Pablo Ariel Kohan &lt;pablo@memco.co.il&gt;</li>
10891  </ul>
10892
10893  <p>Some of the changes are interrelated (it was an unusually busy
10894  week).</p>
10895
10896  <ul>
10897    <li>change the default resource value for colorMode to true,
10898    matching the Xterm.ad file.</li>
10899
10900    <li>correct behavior of 'ech' control, making the default and 0
10901    parameters erase one character rather than to the end of line
10902    (reported by Michael Schroeder).</li>
10903
10904    <li>add resource boldColors, command-line options +pc and -pc
10905    and configure-script option to specify behavior of xterm's
10906    mapping bold colors 0 through 7 to colors 8 through 15.
10907    (request by Pablo Ariel Kohan).</li>
10908
10909    <li>add resource colorAttrMode to specify whether colorULMode
10910    and colorBDMode can override the ANSI colors (report by Clint
10911    Olsen).</li>
10912
10913    <li>correct a conflict between colorULMode/colorBDMode versus
10914    ANSI colors, where exposure events would occasionally pick up
10915    the former (e.g., colorBD) rather than ANSI colors. Testing the
10916    colorAttrMode made this apparent, though it has been in the
10917    code since 3.2A (patch #35 in Jan 1997).</li>
10918
10919    <li>correct two problems with the optional logging support. On
10920    Linux at least, the waitpid call in creat_as hangs when the
10921    logging is toggled from the popup menu. Also, the mktemp
10922    template has the wrong number of X's (since X11R5!). Fixed the
10923    waitpid problem by exploiting the fact that the setuid behavior
10924    is reset before the popup menus are available. (reported by
10925    Jayachandran C.).</li>
10926
10927    <li>add configure script options for building with the Xaw3d
10928    and neXtaw libraries.</li>
10929
10930    <li>correct CF_IMAKE_CFLAGS standalone configure script macro,
10931    so that it will pick up $(ALLDEFINES) rather than
10932    $(STD_DEFINES). This is needed to make scrollbars work on
10933    Linux, since that uses narrow prototypes. (reported by Bob
10934    Maynard).</li>
10935
10936    <li>various minor updates to configure-script macros.</li>
10937  </ul>
10938
10939  <h1><a name="xterm_51" id="xterm_51">Patch #51 - 1997/9/15 -
10940  XFree86 3.9p</a></h1>
10941
10942  <p>Most of this patch is related to the standalone configure
10943  script, though there are fixes/enhancements as well:</p>
10944
10945  <ul>
10946    <li>add a new resource sunKeyboard, with associated
10947    command-line option and menu-toggle that allows using a normal
10948    Sun or PC keyboard to generated the complete DEC-style function
10949    keys and keypad.</li>
10950
10951    <li>correct a reversed foreground/background test in the
10952    control sequence that replies with the current SGR
10953    settings.</li>
10954
10955    <li>correct, by invoking XSync, a display problem that caused
10956    the program to not properly update newly exposed areas when a
10957    font change or 80/132 resize request was not completely
10958    accepted.</li>
10959
10960    <li>restructured autoconf macros (I made a library of all of
10961    the macros across the complicated configure scripts I'm working
10962    on).</li>
10963
10964    <li>use the autoconf config.guess and config.sub scripts to
10965    better identify the host-os.</li>
10966
10967    <li>improve the configure script that uses 'imake' as a
10968    fallback for definitions.</li>
10969
10970    <li>correct several instances of unsigned/signed mixed
10971    expressions.</li>
10972  </ul>
10973
10974  <p>I've tested the configure script on Linux, SunOS 4.1.3,
10975  Solaris 2.5.1, IRIX 5.2 and 6.2, AIX 3.2.5 and CLIX 3.1 (all but
10976  the last run properly as well).</p>
10977
10978  <h1><a name="xterm_50" id="xterm_50">Patch #50 - 1997/8/22 -
10979  XFree86 3.9m</a></h1>
10980
10981  <p>This is a collection of small fixes, and a couple of minor
10982  enhancements:</p>
10983
10984  <ul>
10985    <li>plug a security hole in the implementation of Media Copy
10986    (print) by invoking setuid just before the main loop.</li>
10987
10988    <li>add an ifdef'd include for &lt;sys/termio.h&gt; for HP-UX,
10989    which allows the program to process SIGWINCH events (this is a
10990    bug in X11R6.3)</li>
10991
10992    <li>add state-table entries for VT52 emulation to enter/exit
10993    keypad application mode.</li>
10994
10995    <li>disable the popup-menu entry for 8-bit controls when the
10996    terminal-id is less than 200 (e.g., VT52 or VT100).</li>
10997
10998    <li>ensure that the popup-menu entry for 8-bit controls is
10999    updated when the application enables/disables this mode,
11000    including the response to a full-reset.</li>
11001
11002    <li>implement VT300 DECBKM feature: set interpretation of the
11003    backarrow key to either backspace or delete. The initial
11004    setting is via resource; it can also be modified in the main
11005    popup menu.</li>
11006
11007    <li>implement VTxxx KAM (ISO AM), which allows a keyboard to be
11008    locked (i.e., the terminal discards input).</li>
11009
11010    <li>implement VTxxx SRM, which is used to control local echoing
11011    of input on the terminal.</li>
11012
11013    <li>add terminfo and termcap entries for xterm-8bit, a
11014    variation of the xterm description that uses 8-bit control
11015    characters.</li>
11016
11017    <li>add fallback definitions for Imakefile to allow it to work
11018    on some X11R5 systems that have no SpecialCObjectRule or
11019    ProgramTargetName macros.</li>
11020
11021    <li>add .c.o and .c.i rules to standalone Makefile.in</li>
11022
11023    <li>correct order of -lXmu and -lXext in standalone configure
11024    script.</li>
11025
11026    <li>add configure script options to allow selective disabling
11027    of active-icon, input-method and i18n code (mainly for users
11028    with X11R5 or an incomplete X11R6 configuration).</li>
11029
11030    <li>change menu-indices from #define's to enum values, thereby
11031    making it work better with the ifdef's for logging and
11032    active-icon (the X11R6.3 active-icon code is incorrectly
11033    ifdef'd; this corrects an error introduced by incorporating
11034    that code).</li>
11035
11036    <li>correct minor compile errors in the configuration where
11037    active-icon is not used.</li>
11038
11039    <li>add configure option to suppress echoing of long compiler
11040    commands</li>
11041
11042    <li>correct spelling of decTerminalID in configure script help
11043    message</li>
11044
11045    <li>use gcc __attribute__((unused)) to quiet warnings about
11046    unused parameters when compiling with -W (to make it simpler to
11047    find the real problems).</li>
11048  </ul>
11049
11050  <h1><a name="xterm_49" id="xterm_49">Patch #49 - 1997/8/10 -
11051  XFree86 3.9k</a></h1>
11052
11053  <p>This patch implements the VT100/VT220 Media Copy (i.e.,
11054  print-screen) control sequences.</p>
11055
11056  <h1><a name="xterm_48" id="xterm_48">Patch #48 - 1997/7/26 -
11057  XFree86 3.9j</a></h1>
11058
11059  <p>This patch does the following (all but the first affect only
11060  the standalone configure script):</p>
11061
11062  <ul>
11063    <li>minor correction to positioning of underlines for small
11064    (e.g., 5x8) font size.
11065
11066      <p>The existing behavior allowed underlines to be drawn
11067      outside the character-cell, so they weren't cleared properly
11068      under some circumstances.</p>
11069    </li>
11070
11071    <li>adds more special-case tokens to the standalone configure
11072    script's imake-option filter (e.g., "&amp;&amp;", since a "make
11073    -n main.o" on my IRIX system uses that shell construct).</li>
11074
11075    <li>adds a '--enable-logging' option for the standalone
11076    configure script.</li>
11077
11078    <li>adds check and ifdef's for the standalone configure script
11079    to allow for building on platforms with X11R6, which lacks
11080    Xpoll.h (introduced in X11R6.1).</li>
11081  </ul>
11082
11083  <h1><a name="xterm_47" id="xterm_47">Patch #47 - 1997/7/13 -
11084  XFree86 3.9i</a></h1>
11085
11086  <p>This patch does the following</p>
11087
11088  <ul>
11089    <li>corrects an indexing error in the doublesize character
11090    logic (button.c) that caused core dump (this was reported by J.
11091    Wunsch).</li>
11092
11093    <li>corrects the logic of ShowCursor when it is painting in a
11094    doublesize cell (charproc.c).</li>
11095
11096    <li>corrects, according to vttest, the behavior when switching
11097    to doublesize characters and back again (doublechr.c).</li>
11098
11099    <li>adds cbt (back_tab) to the terminfo description (this was
11100    something that I'd overlooked as applicable to curses
11101    optimization last summer).</li>
11102
11103    <li>corrects, for the standalone xmc test, the logic for
11104    disabling xmc.</li>
11105  </ul>
11106
11107  <h1><a name="xterm_46" id="xterm_46">Patch #46 - 1997/7/4 -
11108  XFree86 3.9h</a></h1>
11109
11110  <p>This is a patch to provide test-support for some work I'm
11111  doing on ncurses. It does not modify the normal configuration of
11112  xterm; the code is compiled if the standalone configure option
11113  "--enable-xmc-glitch" is specified.</p>
11114
11115  <h1><a name="xterm_45" id="xterm_45">Patch #45 - 1997/7/2 -
11116  XFree86 3.9h</a></h1>
11117
11118  <p>This fixes the problem reported with xterm's cursor color
11119  versus the background (the second chunk in this patch) and also
11120  removes some duplicate initialization of the cursor GC's. If the
11121  cursor color at startup is the same as the background, then xterm
11122  will use the reverse GC, ignoring the setting of the colorMode
11123  resource.</p>
11124
11125  <h1><a name="xterm_44" id="xterm_44">Patch #44 - 1997/6/22 -
11126  XFree86 3.9g</a></h1>
11127
11128  <p>This implements the first part of the VT100 doublesize
11129  characters for xterm, as well as fixing a handful of bugs:</p>
11130
11131  <ul>
11132    <li>the doublesize character support uses the normal font
11133    (using scaled fonts will be another patch) with blanks to
11134    simulate doublesize characters. This patch does most of the
11135    global changes that'll be required. I've hidden most of the
11136    details in macros and ifdef's so it's easy to configure out
11137    (part of the patch is a configure option for that
11138    purpose).</li>
11139
11140    <li>corrected limits in DeleteChar() function -- it's always
11141    ignored the size of the left border and scrollbar. I noticed
11142    this when working on the doublesize characters since the glitch
11143    was doubled in size (i.e., it wrapped some garbage around the
11144    right margin).</li>
11145
11146    <li>corrected 'memmove()' logic, for standalone builds (it
11147    referenced a malloc wrapper from my development library).</li>
11148
11149    <li>add a check for HideCursor() to prevent repeated screen
11150    updates (which can cause a spurious cursor glitch to appear,
11151    e.g., during scrolling). I noticed this with the 3.2A version
11152    (but only a few weeks ago, when I started working on this
11153    patch).</li>
11154  </ul>
11155
11156  <h1><a name="xterm_43" id="xterm_43">Patch #43 - 1997/6/10 -
11157  XFree86 3.9d</a></h1>
11158
11159  <p>Here's a fix for two problems:</p>
11160
11161  <ul>
11162    <li>modify handling of tgetent results in xterm and resize
11163    programs to make them tolerant of missing termcap file, or
11164    unknown terminal name. In this scheme, an explicit "-tn" option
11165    will succeed, overriding the fallback list.</li>
11166
11167    <li>a nit in the configure script (log extra information to
11168    help diagnose which case of the test-compile of tgetent was
11169    used).</li>
11170  </ul>
11171
11172  <h1><a name="xterm_42" id="xterm_42">Patch #42 - 1997/6/8 -
11173  XFree86 3.2Xl</a></h1>
11174
11175  <p>Bram Moolenaar reported that the cursor color changed
11176  unexpectedly while scrolling. The cause was that it used the same
11177  GC's as the logic that draws the ANSI colors. The bug only
11178  appears if the cursorColor resource isn't set, and has been
11179  present since the initial implementation early last year. (The
11180  same bug also appears in rxvt ;-). Here's a fix.</p>
11181
11182  <h1><a name="xterm_41" id="xterm_41">Patch #41 - 1997/5/28 -
11183  XFree86 3.2Xl</a></h1>
11184
11185  <p>Some nits found by Darren Hiebert (missing part of
11186  install-rule, incorrect assignment for --enable-color-mode
11187  option).</p>
11188
11189  <h1><a name="xterm_40" id="xterm_40">Patch #40 - 1997/5/26 -
11190  XFree86 3.2Xl</a></h1>
11191
11192  <p>Patch for the configure script's logic for obtaining imake
11193  predefined symbols.</p>
11194
11195  <h1><a name="xterm_39" id="xterm_39">Patch #39 - 1997/5/24 -
11196  XFree86 3.2Xl</a></h1>
11197
11198  <p>This patch does the following:</p>
11199
11200  <ul>
11201    <li>integrate the 16-color change for 'xterm'</li>
11202
11203    <li>minor fixes/clarification of tgetent in terminfo vs termcap
11204    to 'resize'</li>
11205  </ul>
11206
11207  <p>(both changes also modify the configure script)</p>
11208
11209  <h1><a name="xterm_38" id="xterm_38">Patch #38 - 1997/5/22 -
11210  XFree86 3.2Xh</a></h1>
11211
11212  <p>This implements a simple configuration script with autoconf
11213  (to which I'll add more options later). It does the
11214  following:</p>
11215
11216  <ul>
11217    <li>configures xterm to build with X11R5 (at least on SunOS
11218    4.1, Solaris 2.4, possibly IRIX - sorry network was down today,
11219    but I did test an earlier version yesterday).</li>
11220
11221    <li>enables/disables the configuration ifdef's for ANSI color
11222    and VT52 emulation.</li>
11223  </ul>
11224
11225  <p>It does not make tests for the things that imake does (that's
11226  another project), instead it uses a hybrid of the autoconf tests
11227  for libraries and adds imake's compiler options (which are
11228  necessary in some cases to get main.c to compile).</p>
11229
11230  <h1><a name="xterm_37" id="xterm_37">Patch #37 - 1997/5/7 -
11231  XFree86 3.9a</a></h1>
11232
11233  <p>This corrects a minor, but annoying error in the vt220
11234  emulation: the DECUDK is only supposed to be interpreted for
11235  _shifted_ function keys.</p>
11236
11237  <h1><a name="xterm_36" id="xterm_36">Patch #36 - 1997/1/16 -
11238  XFree86 3.2r</a></h1>
11239
11240  <p>This corrects something that I overlooked in patch #27
11241  (21-aug-1996), which is that when trimming the region to be
11242  repainted for the highlightSelection resource of xterm, I still
11243  have to paint the background past the highlighted region. This
11244  only happens when I first do a selection in a window that's
11245  partly off-screen, then move the window on-screen.</p>
11246
11247  <h1><a name="xterm_35" id="xterm_35">Patch #35 - 1997/1/7 -
11248  XFree86 3.2o</a></h1>
11249
11250  <p>This patch does the following:</p>
11251
11252  <ul>
11253    <li>combines the coding for foreground and background colors
11254    into a single byte, reducing the memory required to store
11255    saved-lines in color. (I'll take back that byte in a following
11256    patch to use to ensure the character-set, so there's no
11257    long-term decrease in memory use).</li>
11258
11259    <li>modifies the PF1-PF4 coding in termcap/terminfo. Because
11260    xterm is still by default emulating vt100, the function key
11261    codes are vt100-compatible (I overlooked this in patch #31). I
11262    also reformatted the whole terminfo file into a single-column,
11263    for consistency.</li>
11264
11265    <li>adds an interim xterm-vt220 description to accommodate the
11266    old and new styles of function-keys (though probably it'd be
11267    better to drop the old-style altogether).</li>
11268  </ul>
11269
11270  <h1><a name="xterm_34" id="xterm_34">Patch #34 - 1997/1/5 -
11271  XFree86 3.2o</a></h1>
11272
11273  <p>This patch does the following:</p>
11274
11275  <ul>
11276    <li>implement DECSTR (soft terminal reset). The biggest diff is
11277    due to adding another state table (note that there's only one
11278    useful state here, but it's only 256 bytes rather than 1k as it
11279    would have been before I reduced the size of state
11280    entries).</li>
11281
11282    <li>some minor tidying up (e.g., signed/unsigned use bitcpy,
11283    MODE_DECCKM, resetColor, resetCharsets). More is done in patch
11284    #35.</li>
11285  </ul>
11286
11287  <p>I got the description of DECSTR from a vt420 user's manual.
11288  I'll do some testing with vttest to ensure that there's nothing
11289  else to do than what was documented.</p>
11290
11291  <h1><a name="xterm_33" id="xterm_33">Patch #33 - 1996/11/24 -
11292  XFree86 3.2</a></h1>
11293
11294  <p>This adds to the reset-fix by Matthieu Herrb
11295  &lt;Mathieu.Herrb@mipnet.fr&gt; a small change to make xterm able
11296  to output 8-bit characters in VT100 mode. Applications that run
11297  on real VT100's don't do that anyway, and this feature should be
11298  removed sometime after finishing off the VT220 emulation (VT220's
11299  can do 8-bit characters). That would be a good time to change the
11300  default terminal-id to 220.</p>
11301
11302  <h1><a name="xterm_32" id="xterm_32">Patch #32 - 1996/11/21 -
11303  XFree86 3.2</a></h1>
11304
11305  <p>This implements the REP (repeat) control for xterm. That isn't
11306  part of the DEC VTxxx series, but is defined in ISO 6429. (Note
11307  that the base xterm terminal description is <em>not</em> changed
11308  -- I added a variant, "xterm-rep").</p>
11309
11310  <h1><a name="xterm_31" id="xterm_31">Patch #31 - 1996/11/16 -
11311  XFree86 3.2</a></h1>
11312
11313  <p>This implements vt52 emulation in xterm (ifdef'd so it can be
11314  removed). I've been using it for testing for the past month or
11315  so.</p>
11316
11317  <h1><a name="xterm_30" id="xterm_30">Patch #30 - 1996/11/16 -
11318  XFree86 3.2</a></h1>
11319
11320  <p>From bug-report by &lt;auroux@clipper.ens.fr&gt; (Denis
11321  Auroux), missing reset to ground state. I checked through the
11322  rest of <em>that</em> table and found another, in the
11323  unimplemented MC (screen print).</p>
11324
11325  <h1><a name="xterm_29" id="xterm_29">Patch #29 - 1996/9/15 -
11326  XFree86 3.1.2Gb</a></h1>
11327
11328  <p>This patch does the following:</p>
11329
11330  <ul>
11331    <li>corrects the restoration of color for bold/underline color
11332    mode</li>
11333
11334    <li>adds a resource 'decTerminalID' to control the reporting
11335    level of xterm (e.g., VT100, VT220).</li>
11336
11337    <li>uses the new resource to implement/correct the DA1, DA2 and
11338    DECRPTUI reports.</li>
11339
11340    <li>change valid-response code in DECRQSS from 0 to 1 (the
11341    manual says 0, but the VT420 terminal I've been testing on says
11342    1).</li>
11343  </ul>
11344
11345  <p>All of these changes are based on vttest 2.6</p>
11346
11347  <p>(Most of the volume in the patch is to add 2 more state tables
11348  for parsing the 2nd/3rd device-attribute controls).</p>
11349
11350  <h1><a name="xterm_28" id="xterm_28">Patch #28 - 1996/8/31 -
11351  XFree86 3.1.2F</a></h1>
11352
11353  <p>This patch corrects the following reported by Roland Rosenfeld
11354  &lt;roland@spinnaker.rhein.de&gt;:</p>
11355
11356  <ul>
11357    <li>handle SGR 22, 24 and 25 in combination with colorUL and
11358    colorBD resources. Also noted &amp; fixed reset of colored
11359    underline/bold with SGR 0.</li>
11360
11361    <li>a typo in the termcap (missing '['), from 3.1.2Dj (my
11362    error)</li>
11363  </ul>
11364
11365  <p>Roland also complained that he couldn't use box characters
11366  with</p>
11367  <pre>
11368        -adobe-courier-bold-r-normal--12-120-75-75-m-70-iso8859-1
11369</pre>
11370
11371  <p>but that's a known xterm limitation (the box characters must
11372  be part of the font, in the first 32 locations).</p>
11373
11374  <h1><a name="xterm_27" id="xterm_27">Patch #27 - 1996/8/21 -
11375  XFree86 3.1.2Ek</a></h1>
11376
11377  <p>This patch fixes one of my long-term gripes: xterm's selection
11378  doesn't clearly show what's being selected (as per David's
11379  request, it's controlled by a resource, which defaults to the
11380  older behavior).</p>
11381
11382  <h1><a name="xterm_26" id="xterm_26">Patch #26 - 1996/8/20 -
11383  XFree86 3.1.2Ei</a></h1>
11384
11385  <p>Here's a patch to fix a problem with xterm's cut/paste and
11386  another to modify the appearance of the highlighting while
11387  selecting. (The changes are independent, so you can see if the
11388  change to screen.c is desirable).</p>
11389
11390  <h1><a name="xterm_25" id="xterm_25">Patch #25 - 1996/8/18 -
11391  XFree86 3.1.2Ei</a></h1>
11392
11393  <p>Here's a correction for two minor bugs that I picked up in
11394  testing, plus some lint (from Solaris 2.5) where NULL was used
11395  incorrectly:</p>
11396
11397  <ul>
11398    <li>make the second alternate font the same as the first
11399    (that's what vt420 and dtterm do)</li>
11400
11401    <li>corrected DECSCL report when DECSCL hasn't been set (i.e.,
11402    don't return a '60').</li>
11403  </ul>
11404
11405  <h1><a name="xterm_24" id="xterm_24">Patch #24 - 1996/8/11 -
11406  XFree86 3.1.2Ee</a></h1>
11407
11408  <p>This patch does several things. In effect, xterm can (I think)
11409  do a reasonably good job of emulating vt220 and vt320 terminals
11410  (as well as it was doing vt100, at any rate ;-).</p>
11411
11412  <p>It does NOT do:</p>
11413
11414  <ul>
11415    <li>soft fonts</li>
11416
11417    <li>rigel or sixel graphics</li>
11418  </ul>
11419
11420  <p>Anyway, I:</p>
11421
11422  <ul>
11423    <li>added ECH, CPL, CNL, SU, SD, CBT, CHT controls</li>
11424
11425    <li>added popup-menu for switching between DEC and Sun function
11426    keys. (corrected alignment err wrt logging entry at that
11427    point).</li>
11428
11429    <li>make xterm recognize both 8-bit and 7-bit controls
11430    (including popup menu for switching modes).</li>
11431
11432    <li>add user-definable function keys (aka DECUDK)</li>
11433
11434    <li>support concealed text</li>
11435
11436    <li>support protected text (both ISO compatible and DEC
11437    compatible - that's not the same thing, btw), with SPA, EPA,
11438    DECSCA, DECSED, DECSEL controls.</li>
11439
11440    <li>implement DECSCL.</li>
11441  </ul>
11442
11443  <p>I'll be continuing to test this patch for a while, but don't
11444  expect to add any new functionality (it passes all of the current
11445  tests I've built in vttest, but I need to make more tests)..</p>
11446
11447  <h1><a name="xterm_23" id="xterm_23">Patch #23 - 1996/7/31 -
11448  XFree86 3.1.2Ec</a></h1>
11449
11450  <p>This removes the blinking cursor I added last week (for
11451  performance reasons). Time-permitting, I'll revisit this after
11452  3.2 is released (there <em>will</em> be more work after XFree86
11453  3.2, I assume).</p>
11454
11455  <h1><a name="xterm_22" id="xterm_22">Patch #22 - 1996/7/26 -
11456  XFree86 3.1.2Ec</a></h1>
11457
11458  <p>I looked more closely at my "double-negative" and realized
11459  that I had been confused by the default color scheme (black on
11460  white) in combination with reverse video. However, I did see that
11461  the original_fg and original_bg data weren't really used - so I
11462  removed that logic.</p>
11463
11464  <p>Also:</p>
11465
11466  <ul>
11467    <li>during initialization, check if ANSI colors are set with
11468    non fg/bg values, disable color mode if not. This makes xterm
11469    tolerant of applications that allocate the whole color
11470    map.</li>
11471
11472    <li>implemented blinking cursor (default is <em>off</em>)</li>
11473  </ul>
11474
11475  <h1><a name="xterm_21" id="xterm_21">Patch #21 - 1996/7/24 -
11476  XFree86 3.1.2Ec</a></h1>
11477
11478  <p>This patch does the following:</p>
11479
11480  <ul>
11481    <li>fixes some minor typography in the control-sequences
11482    documentation (it didn't occur to me til I'd sent the last
11483    patch that I could use ghostview for previewing the troff
11484    output ;-)</li>
11485
11486    <li>adjusts the shell's background color in ReverseVideo so
11487    that flicker in resizing is reduced</li>
11488
11489    <li>adds an ifdef OPT_ISO_COLORS to allow configuring xterm
11490    without the ISO color support (saves a lot of memory)</li>
11491
11492    <li>used that ifdef to isolate/modify logic so that if the user
11493    doesn't have the colorMode enabled, then ISO color support is
11494    disabled (saving memory).
11495
11496      <p>(If anyone needs numbers, I had savedLines set to 2000,
11497      and found a reduction from ~700k to ~400k of allocated
11498      memory, according to Purify).</p>
11499    </li>
11500  </ul>
11501
11502  <h1><a name="xterm_20" id="xterm_20">Patch #20 - 1996/7/24 -
11503  XFree86 3.1.2Ec</a></h1>
11504
11505  <p>This documents the changes in control sequences for window
11506  operations that I added in my previous patch. I'm testing another
11507  patch that allows the user to use less memory if colors aren't
11508  needed.</p>
11509
11510  <h1><a name="xterm_19" id="xterm_19">Patch #19 - 1996/7/21 -
11511  XFree86 3.1.2Ec</a></h1>
11512
11513  <p>This patch does the following:</p>
11514
11515  <ul>
11516    <li>fixes the core dump that I reported on IRIX 5.2 (in main.c)
11517
11518      <p>(it's worth noting that this bug exists in X11R6.1, so I'd
11519      like to assume that someone's already submitted a fix to X
11520      Consortium...)</p>
11521    </li>
11522
11523    <li>change the interpretation of zero rows or columns in a
11524    resize-window request to use the root window's size (looking
11525    more carefully at dtterm, that seems to be what it does).</li>
11526
11527    <li>change some memmove calls to memcpy for slightly better
11528    performance. also, a couple of memset calls to bzero, since
11529    Quantify says bzero runs 20% faster, I assume because there's
11530    one less argument.</li>
11531
11532    <li>interpret character sets 1 and 2 (so that vttest gives a
11533    reasonable result) Both rxvt and dtterm do something
11534    equivalent.</li>
11535
11536    <li>fix a minor memory leak in the logic that retrieves the
11537    window or icon names (Purify found this for me while I ran
11538    vttest).</li>
11539  </ul>
11540
11541  <h1><a name="xterm_18" id="xterm_18">Patch #18 - 1996/7/18 -
11542  XFree86 3.1.2Ec</a></h1>
11543
11544  <p>This implements the following:</p>
11545
11546  <ul>
11547    <li>escape sequences that act like the CDE dtterm's window
11548    operations (though I have implemented the default width and
11549    height -- I've seen a rather buggy dtterm running that seems to
11550    treat width=0 or height=0 literally -- maybe that's a feature,
11551    not a bug?)</li>
11552
11553    <li>minor tweak to the screen-repainting when resizing (I still
11554    cannot entirely get rid of flicker).</li>
11555
11556    <li>still more fixes to terminfo &amp; termcap (I corrected my
11557    error for the hpa code and added some other stuff by comparing
11558    to ncurses' description and rxvt's).</li>
11559
11560    <li>a tweak to the changes by Michael Rohleder for the color
11561    translation</li>
11562
11563    <li>re-order attribute codes to allow later implementation of
11564    protected fields (dtterm supposedly does this; it's probably
11565    more useful than blinking or invisible text -- that uses up all
11566    of the available bits without changing the attribute scheme
11567    radically).</li>
11568  </ul>
11569
11570  <h1><a name="xterm_17" id="xterm_17">Patch #17 - 1996/7/2 -
11571  XFree86 3.1.2Eb</a></h1>
11572
11573  <p>This patch implements for xterm several minor features from
11574  ISO 6429 which are useful for terminfo applications. The HPA and
11575  VPA control sequences allow cursor movement along a row or
11576  column, cutting down a little on the characters transmitted. The
11577  other codes allow resetting specific graphic rendition attributes
11578  without modifying the other attributes. (now if someone just had
11579  time to implement blinking cursors...)</p>
11580
11581  <h1><a name="xterm_16" id="xterm_16">Patch #16 - 1996/6/25 -
11582  XFree86 3.1.2Ea</a></h1>
11583
11584  <p>Adam Tla/lka &lt;atlka@pg.gda.pl&gt; told me a couple of weeks
11585  ago that I'd missed some of the background coloring in xterm. I
11586  investigated, and found that while I'd picked up on the
11587  clear-to-bottom and clear-to-end-of-line operations, I'd
11588  overlooked the insert/delete lines. Just so I wouldn't overlook
11589  any more of these, I updated a copy of vttest to test ISO colors
11590  and bce (background color erase). This patch introduces a new
11591  function, ClearCurBackground, whose calls replace the direct
11592  XClearArea calls that I'd overlooked. (There's also a few
11593  compiler warnings fixed, etc ;-)</p>
11594
11595  <h1><a name="xterm_15" id="xterm_15">Patch #15 - 1996/5/29 -
11596  XFree86 3.1.2E</a></h1>
11597
11598  <p>This fixes the problem reported by David Dawes, by making the
11599  50msec select timeout for the Xaw3d arrow scrollbar a resource.
11600  (I made it a boolean for a variety of reasons -- to make it a
11601  number, you'd need an additional resource, to avoid breaking the
11602  logic).</p>
11603
11604  <h1><a name="xterm_14" id="xterm_14">Patch #14 - 1996/5/12 -
11605  XFree86 3.1.2Dj</a></h1>
11606
11607  <p>This patch brings the termcap and terminfo descriptions for
11608  xterm up to date. I made the following changes:</p>
11609
11610  <ul>
11611    <li>reformatted the terminfo description in a single-column
11612    (this is ok for terminfo, and will simplify future patches --
11613    can't do that for termcap, since it would impact buffer
11614    requirements on some systems).</li>
11615
11616    <li>omitted obsolete features in termcap to save a little space
11617    (bs, pt)</li>
11618
11619    <li>added color capabilities to termcap (ut, Co, NC, op, AB,
11620    AF)</li>
11621
11622    <li>corrected some capabilities (vi, ve)</li>
11623
11624    <li>added 'st' (set tab)</li>
11625
11626    <li>reduced function keys in termcap for 'xterm' to 12 because
11627    color capabilities makes that description larger than 1023
11628    characters.</li>
11629
11630    <li>created new termcap name 'xtermm' (monochrome) to match the
11631    terminfo list, and make that description have 20 function
11632    keys.</li>
11633
11634    <li>added corresponding color capabilities to terminfo (bce,
11635    colors, pairs, op, ncv, setab, setaf)</li>
11636
11637    <li>corrected corresponding capabilities in terminfo (civis,
11638    cnorm, rmcup, smcup)</li>
11639
11640    <li>added capabilities (el1, hts)</li>
11641
11642    <li>in both, corrected home/end keys to match the code
11643    correction made by Thomas Mueller in 3.1.2Bk
11644
11645      <p>=&gt; (I'm still considering modifying the code &amp;
11646      description to match the rxvt program).</p>
11647    </li>
11648  </ul>
11649
11650  <h1><a name="xterm_13" id="xterm_13">Patch #13 - 1996/4/23 -
11651  XFree86 3.1.2Df</a></h1>
11652
11653  <p>This corrects my earlier changes for colors - the inner border
11654  of the xterm was getting painted with the wrong color, since I'd
11655  moved the call to set the background into the logic that tracks
11656  SGR information.</p>
11657
11658  <h1><a name="xterm_12" id="xterm_12">Patch #12 - 1996/3/16 -
11659  XFree86 3.1.2Dc</a></h1>
11660
11661  <p>This corrects a memory leak in xterm that happens whenever one
11662  switches fonts.</p>
11663
11664  <h1><a name="xterm_11" id="xterm_11">Patch #11 - 1996/3/5 -
11665  XFree86 3.1.2Db</a></h1>
11666
11667  <p>This patch corrects the behavior of the ANSI colors in xterm
11668  when reverse video is used, as well as some other lesser
11669  sins:</p>
11670
11671  <ul>
11672    <li>button.c
11673
11674      <ul>
11675        <li>(compiler warnings: shadowing of 'time', redundant
11676        cast)</li>
11677      </ul>
11678    </li>
11679
11680    <li>charproc.c
11681
11682      <ul>
11683        <li>renamed screen.colors[] array to screen.Acolors[] to
11684        more easily distinguish the non-ANSI colors from the ANSI
11685        colors.</li>
11686
11687        <li>moved logic of SGR_Save() into VTInitialize, getting
11688        rid of local private variables original_fg and
11689        original_bg.</li>
11690
11691        <li>moved some logic into getXtermForeground and
11692        getXtermBackground from SGR_Foreground, SGR_Background,
11693        etc.</li>
11694
11695        <li>corrected misleading 'row' to 'col' in case for CUF,
11696        CUB sequences.</li>
11697      </ul>
11698    </li>
11699
11700    <li>ctlseqs.ms</li>
11701
11702    <li>xterm.man
11703
11704      <ul>
11705        <li>(correct a misconception which I'd added that the
11706        color0 through color6 resource values apply to non-ANSI
11707        colors)</li>
11708      </ul>
11709    </li>
11710
11711    <li>ptyx.h
11712
11713      <ul>
11714        <li>added original_fg, original_bg to TScreen
11715        structure.</li>
11716      </ul>
11717    </li>
11718
11719    <li>scrollbar.c
11720
11721      <ul>
11722        <li>(compiler warnings: redundant cast)</li>
11723      </ul>
11724    </li>
11725
11726    <li>util.c
11727
11728      <ul>
11729        <li>new functions getXtermForeground and getXtermBackground
11730        replace the macros GET_FG and GET_BG, with the added
11731        functionality of checking for the reverse-video status of
11732        xterm.</li>
11733
11734        <li>in ReverseVideo, swap the SGR foreground and background
11735        colors also.</li>
11736      </ul>
11737    </li>
11738  </ul>
11739
11740  <h1><a name="xterm_10" id="xterm_10">Patch #10 - 1996/2/14 -
11741  XFree86 3.1.2Cd</a></h1>
11742
11743  <p>I observed an occasional glitch in the xterm's color behavior;
11744  a clear to end of line would get a color that had been used in a
11745  program that supposedly reset colors. I traced this down to the
11746  way xterm was modifying colors of GC's on the fly; it didn't
11747  restore the original color of the GC, even though it would later
11748  be used in functions (such as ClearRight) that assumed (my error)
11749  that the GC would have the current foreground or background
11750  color.</p>
11751
11752  <p>I fixed this by resetting the GC's colors with a new function
11753  'resetXtermGC()', and direct calls on
11754  SGR_Foreground/SGR_Background, as appropriate and using a new
11755  function 'updatedXtermGC()' to encapsulate the logic that
11756  modifies the GC's color. (I also removed some commented-out code
11757  that was trying to do this -- the problem was a little more
11758  obscure).</p>
11759
11760  <h1><a name="xterm_09" id="xterm_09">Patch #9 - 1996/2/10 -
11761  XFree86 3.1.2Cb</a></h1>
11762
11763  <p>This patch fixes the remaining problems that I had making
11764  xterm run with x11r5, as well as a couple of other bugs. It
11765  follows my patch from yesterday, that added ifdef's for some of
11766  the input-method resources.</p>
11767
11768  <ul>
11769    <li>corrected ifdef's that suppress the input-method code
11770    (doesn't exist in my x11r5, and xterm works adequately without
11771    it).</li>
11772
11773    <li>corrected fallback definition for 'Select()' macro (oops:
11774    I'd copied the wrong text...)</li>
11775
11776    <li>moved the declarations for the fd_set variables to
11777    data.[ch]</li>
11778
11779    <li>corrected an ifdef in resize.c (sunos 4.x doesn't have
11780    termcap.h)</li>
11781
11782    <li>corrected (in main.c) some unused/orphaned variables.</li>
11783  </ul>
11784
11785  <h1><a name="xterm_08" id="xterm_08">Patch #8 - 1996/2/9 -
11786  XFree86 3.1.2Cb</a></h1>
11787
11788  <p>This is mostly a documentation patch for xterm. It describes
11789  the color control sequences in more detail, and documents some
11790  other features of xterm that aren't described elsewhere.</p>
11791
11792  <p>I've also added a couple of ifdef's to fix (part of) the
11793  problem that I'm working on (making the program work properly on
11794  x11r5, where I'm doing memory testing -- I have a "good" version
11795  from mid-January, but my resync version doesn't work properly on
11796  x11r5). I'm not done with <em>that</em> yet.</p>
11797
11798  <h1><a name="xterm_07" id="xterm_07">Patch #7 - 1996/1/28 -
11799  XFree86 3.1.2n</a></h1>
11800
11801  <p>I did a (clean) build of 3.1.2n on Linux 1.2.13 (ELF). I've
11802  got an S3 card.</p>
11803
11804  <p>This fixes the following in the 3.1.2n xterm:</p>
11805
11806  <ul>
11807    <li>initialize cur_foreground, cur_background in charproc.c
11808    (Purify told me they weren't initialized).</li>
11809
11810    <li>add interpretation of codes 39, 49, to reset background and
11811    foreground to default value (I'm told that ISO 6429 does this;
11812    but I don't have a written reference -- yet -- can anyone help
11813    here?). Anyway, rxvt does it, and it'll solve my remaining
11814    color management problems.</li>
11815
11816    <li>shadowing of 'time' in menu.c</li>
11817
11818    <li>'Cardinal' vs 'int' in scrollbar.c</li>
11819
11820    <li>several changes to permit compile with X11R5 (the system
11821    that I've got Purify on won't be upgraded to X11R6 for a long
11822    time).</li>
11823  </ul>
11824
11825  <p>I built this version (with a minor nit that I'll patch soon)
11826  on SunOS 4.1.3 so that I can test it some more with Purify.</p>
11827
11828  <p><em>btw</em>: the changes made in Xpoll.h won't work on some
11829  older systems, because fd_set isn't a defined type (I've got one
11830  machine at least that this applies to).</p>
11831
11832  <h1><a name="xterm_06" id="xterm_06">Patch #6 - 1996/1/8</a></h1>
11833
11834  <p>This patch does all of the SGR foreground/background fixes
11835  (i.e., clearing the screen after an SGR color is set causes that
11836  color to be used in the foreground and/or background). If the
11837  FG_COLOR and/or BG_COLOR flags aren't set, then the xterm
11838  foreground and background default to the window's values. This
11839  usage is consistent with various types of hardware (especially
11840  the IBM PC), and is also used in rxvt.</p>
11841
11842  <ul>
11843    <li>charproc.c:
11844
11845      <ul>
11846        <li>add/use new macros GET_FG, GET_BG - n/c.</li>
11847
11848        <li>add/use new functions SGR_Foreground() and
11849        SGR_Background() to set corresponding colors in GC's, and
11850        to retain sense of "original" colors.
11851
11852          <p>=&gt; This makes redundant some of the corresponding
11853          logic in HideCursor to set the foreground and background,
11854          but I left it in since it <em>may</em> be fixing an
11855          unrelated requirement.</p>
11856        </li>
11857
11858        <li>set GC's in LoadNewFont() according to whether the SGR
11859        fg/bg colors are active.
11860
11861          <p>=&gt; This fixes some glitches in the accompanying
11862          resize, that leaves parts of the window in the original
11863          background color.</p>
11864        </li>
11865      </ul>
11866    </li>
11867
11868    <li>screen.c:
11869
11870      <ul>
11871        <li>modified ClearBufRows() to use the SGR fg/bg colors if
11872        they're set.</li>
11873
11874        <li>added function ScrnClearLines(), used this to replace
11875        portions of ScrnInsertLine() and ScrnDeleteLine(). The new
11876        function uses the SGR fg/bg colors if they're set.
11877
11878          <p>=&gt; Otherwise, selection after an index or reverse
11879          index will paint the wrong colors.</p>
11880        </li>
11881
11882        <li>modified ScrnDeleteChar() and ScrnInsertChar() to use
11883        SGR fg/bg colors.</li>
11884      </ul>
11885    </li>
11886
11887    <li>util.c:
11888
11889      <ul>
11890        <li>modified ClearRight() so that if either of the SGR
11891        fg/bg colors is set, we don't bzero the attributes and
11892        color arrays, but instead fill them with the appropriate
11893        codes.</li>
11894
11895        <li>modified ClearLeft to use SGR fg/bg colors.</li>
11896      </ul>
11897    </li>
11898  </ul>
11899
11900  <h1><a name="xterm_05" id="xterm_05">Patch #5 - 1996/1/7</a></h1>
11901
11902  <p>This patch modifies the object code, by replacing indexing
11903  expressions with temporary variables with the full indexing
11904  expression. At first glance, this seems inefficient (it did to me
11905  ;-), until remembering comments made in the compilers newsgroups
11906  that trying to "help" the compiler doesn't really work that well.
11907  A good optimizing compiler can do a better job than the
11908  programmer can. (There's a moral in the use of 'register'
11909  variables also, but I won't fix those...).</p>
11910
11911  <p>Anyway, the revised code generates a smaller object...</p>
11912
11913  <ul>
11914    <li>charproc.c:
11915
11916      <ul>
11917        <li>recode index expressions in ShowCursor() and
11918        HideCursor() using SCRN_BUF_xxxxS macros - changes
11919        object.</li>
11920
11921        <li>replace constant '4' by MAX_PTRS - n/c.</li>
11922      </ul>
11923    </li>
11924
11925    <li>ptyx.h:
11926
11927      <ul>
11928        <li>defined the SCRN_BUF_xxxxS macros in terms of BUF_xxxxS
11929        macros, to pick up references to ScrnBuf data directly, and
11930        added MAX_PTRS symbol to pick up those '4' constants strewn
11931        about the code - n/c.</li>
11932      </ul>
11933    </li>
11934
11935    <li>screen.c:
11936
11937      <ul>
11938        <li>recode index expressions in ScreenWrite() using
11939        SCRN_BUF_xxxxS macros - changes object.</li>
11940
11941        <li>replace constant '4' by MAX_PTRS - n/c.</li>
11942
11943        <li>use macros BUF_CHARS, BUF_ATTRS - n/c.</li>
11944
11945        <li>cast calloc to 'Char *' to fix compiler warning on IRIX
11946        - n/c</li>
11947      </ul>
11948    </li>
11949
11950    <li>scrollbar.c:
11951
11952      <ul>
11953        <li>replace constant '4' by MAX_PTRS - n/c.</li>
11954
11955        <li>cast calloc to 'Char *' to fix compiler warning on IRIX
11956        - n/c</li>
11957      </ul>
11958    </li>
11959  </ul>
11960
11961  <h1><a name="xterm_04" id="xterm_04">Patch #4 - 1996/1/7</a></h1>
11962
11963  <p>When setting up for this phase, I saw that you'd corrected the
11964  bug that I found in ClearLeft. I decided to make this series of
11965  patches anyway, since readability never hurt (and there's the
11966  potential for finding another bug while reviewing this set).</p>
11967
11968  <ul>
11969    <li>button.c:
11970
11971      <ul>
11972        <li>use SCRN_BUF_xxxxS macros - n/c</li>
11973      </ul>
11974    </li>
11975
11976    <li>charproc.c:
11977
11978      <ul>
11979        <li>use SCRN_BUF_xxxxS macros - n/c</li>
11980      </ul>
11981    </li>
11982
11983    <li>ptyx.h:
11984
11985      <ul>
11986        <li>added four macros: SCRN_BUF_CHARS, SCRN_BUF_ATTRS,
11987        SCRN_BUF_FORES, SCRN_BUF_BACKS to represent the four arrays
11988        that are derived from screen-&gt;buf.</li>
11989      </ul>
11990    </li>
11991
11992    <li>screen.c:
11993
11994      <ul>
11995        <li>use SCRN_BUF_xxxxS macros - n/c</li>
11996      </ul>
11997    </li>
11998
11999    <li>util.c:
12000
12001      <ul>
12002        <li>use SCRN_BUF_xxxxS macros - n/c</li>
12003      </ul>
12004    </li>
12005  </ul>
12006
12007  <h1><a name="xterm_03" id="xterm_03">Patch #3 - 1996/1/7</a></h1>
12008
12009  <p>This is my third (and final cleanup) patch for xterm. It gets
12010  rid of the unused stuff, and converts several functions to static
12011  (thereby reducing their scope).</p>
12012
12013  <p>At this point, the only compile warnings I've got (on Linux)
12014  are those about the select arguments (int vs fd_set type), and a
12015  missing declaration for waitpid. Those both are hard to get right
12016  without autoconfigure.</p>
12017
12018  <p>The next patches will address the functional changes...</p>
12019
12020  <ul>
12021    <li>Tekproc.c:
12022
12023      <ul>
12024        <li>changed several functions to 'static' that aren't used
12025        outside this module -- changes object</li>
12026      </ul>
12027    </li>
12028
12029    <li>charproc.c:
12030
12031      <ul>
12032        <li>changed several functions to 'static' that aren't used
12033        outside this module -- changes object</li>
12034
12035        <li>deleted unused function unparsefputs -- changes
12036        object.</li>
12037      </ul>
12038    </li>
12039
12040    <li>main.c:
12041
12042      <ul>
12043        <li>changed several functions to 'static' that aren't used
12044        outside this module -- changes object</li>
12045
12046        <li>ifdef'd out unused function 'consolepr()' -- changes
12047        object</li>
12048
12049        <li>removed unused variable 'dummy_tio' -- changes
12050        object</li>
12051
12052        <li>moved variable 'discipline' to quiet unused-warning --
12053        changes object</li>
12054      </ul>
12055    </li>
12056
12057    <li>main.h:
12058
12059      <ul>
12060        <li>deleted unused definition of DEFBORDERWIDTH - n/c</li>
12061      </ul>
12062    </li>
12063
12064    <li>misc.c:
12065
12066      <ul>
12067        <li>changed several functions to 'static' that aren't used
12068        outside this module -- changes object</li>
12069
12070        <li>provide dummy return statements for xerror and xioerror
12071        to quiet compiler warnings -- changes object</li>
12072      </ul>
12073    </li>
12074
12075    <li>ptyx.h:
12076
12077      <ul>
12078        <li>change sbuf_address and abuf_address to 'Char *' -
12079        n/c</li>
12080      </ul>
12081    </li>
12082
12083    <li>resize.c:
12084
12085      <ul>
12086        <li>changed several functions to 'static' that aren't used
12087        outside this module -- changes object</li>
12088      </ul>
12089    </li>
12090
12091    <li>screen.c:
12092
12093      <ul>
12094        <li>remove unnecessary 'Char **' casts - n/c</li>
12095      </ul>
12096    </li>
12097
12098    <li>util.c:
12099
12100      <ul>
12101        <li>changed several functions to 'static' that aren't used
12102        outside this module -- changes object</li>
12103      </ul>
12104    </li>
12105  </ul>
12106
12107  <h1><a name="xterm_02" id="xterm_02">Patch #2 - 1996/1/7</a></h1>
12108
12109  <p>This is my second patch to xterm. It corrects most of the gcc
12110  warnings (except for some that are due to X header files ;-). I
12111  compared objects to keep track of the changes that don't affect
12112  the object code (n/c) versus those that do.</p>
12113
12114  <p>At this point, I'm compiling (fairly) clean with gcc
12115  options</p>
12116  <pre>
12117        -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wnested-externs
12118</pre>
12119
12120  <p>(I also compiled with -Wshadow, but while that found some
12121  things that I wanted to find, there's far too many warnings from
12122  the X headers to be usable in this context).</p>
12123
12124  <p>The changes:</p>
12125
12126  <ul>
12127    <li>Tekproc.c:
12128
12129      <ul>
12130        <li>parenthesized expression to avoid gcc warning --
12131        n/c.</li>
12132
12133        <li>corrected nested-extern declaration for Bool
12134        waiting_for_initial_map; ourTopLevelShellArgs, and
12135        number_ourTopLevelShellArgs - n/c</li>
12136      </ul>
12137    </li>
12138
12139    <li>charproc.c:
12140
12141      <ul>
12142        <li>corrected potentially-unintialized variables 'scstype',
12143        'xim', and 'input_style' -- changes object.</li>
12144
12145        <li>adjusted logic of VTparse so that gcc won't warn about
12146        setjmp clobbering parsestate -- changes object.</li>
12147
12148        <li>corrected initialization of 'scstype', which could have
12149        been clobbered by setjmp/longjmp - changes object.</li>
12150
12151        <li>corrected nested-extern declaration of 'term',
12152        'ProgramName' - n/c</li>
12153      </ul>
12154    </li>
12155
12156    <li>cursor.c:
12157
12158      <ul>
12159        <li>corrected nested-extern declaration of 'term' --
12160        n/c</li>
12161
12162        <li>renamed 'term' parameters to avoid gcc -Wshadow warning
12163        - n/c</li>
12164      </ul>
12165    </li>
12166
12167    <li>input.c:
12168
12169      <ul>
12170        <li>change interface of StringInput to assume size_t (i.e.,
12171        unsigned) nbytes -- changes object.</li>
12172
12173        <li>change interface of funcvalue, and sunfuncvalue to use
12174        'KeySym' type instead of 'int' - changes object.</li>
12175      </ul>
12176    </li>
12177
12178    <li>main.c:
12179
12180      <ul>
12181        <li>moved definitions of SIGNAL_T, SIGNAL_RETURN to proto.h
12182        - n/c</li>
12183
12184        <li>corrected missing params of 'do_hangup()' -- changes
12185        object (note: the missing params were not used).</li>
12186
12187        <li>corrected missing param of 'Error()' -- changes
12188        object</li>
12189
12190        <li>corrected nested-extern 'environ' - n/c</li>
12191
12192        <li>adjusted assignments to 'tty_got_hung' and 'no_dev_tty'
12193        so that gcc can see they won't be clobbered by the longjmp
12194        - changes object.</li>
12195
12196        <li>use Size_t type - n/c.</li>
12197      </ul>
12198    </li>
12199
12200    <li>menu.c:
12201
12202      <ul>
12203        <li>removed redundant prototype for 'do_hangup()' --
12204        n/c.</li>
12205
12206        <li>renamed 'time' parameters to avoid gcc -Wshadow warning
12207        - n/c</li>
12208      </ul>
12209    </li>
12210
12211    <li>menu.h:
12212
12213      <ul>
12214        <li>renamed 'time' parameters to avoid gcc -Wshadow warning
12215        - n/c</li>
12216      </ul>
12217    </li>
12218
12219    <li>misc.c:
12220
12221      <ul>
12222        <li>corrected definition of 'HandleFocusChange()' --
12223        changes object</li>
12224
12225        <li>cast parameters in call to 'TekExpose()' -- n/c</li>
12226
12227        <li>corrected nested-extern declarations of 'term',
12228        'toplevel', ProgramName, and 'environ' -- n/c.</li>
12229
12230        <li>use Size_t type - n/c.</li>
12231      </ul>
12232    </li>
12233
12234    <li>proto.h:
12235
12236      <ul>
12237        <li>moved definition of SIGNAL_T (and SIGNAL_RETURN) here
12238        from main.c, resize.c to allow use of this symbol in
12239        prototypes (mostly in xterm.h).</li>
12240
12241        <li>added definition 'Size_t' to use as corrected type for
12242        strncpy, malloc sizes - n/c.</li>
12243      </ul>
12244    </li>
12245
12246    <li>resize.c:
12247
12248      <ul>
12249        <li>moved SIGNAL_T definition to proto.h -- n/c.</li>
12250
12251        <li>use Size_t type - n/c.</li>
12252      </ul>
12253    </li>
12254
12255    <li>screen.c:
12256
12257      <ul>
12258        <li>use Size_t type - n/c.</li>
12259      </ul>
12260    </li>
12261
12262    <li>tabs.c:
12263
12264      <ul>
12265        <li>corrected nested-extern declaration of 'term' --
12266        n/c</li>
12267      </ul>
12268    </li>
12269
12270    <li>util.c:
12271
12272      <ul>
12273        <li>corrected/supplied parameters to 'TekExpose()' --
12274        changes object (note: 'TekExpose()' doesn't use its
12275        parameters).</li>
12276
12277        <li>corrected nested-extern declaration of
12278        'waiting_for_initial_map' -- n/c.</li>
12279
12280        <li>renamed 'term' parameters to avoid gcc -Wshadow warning
12281        - n/c</li>
12282      </ul>
12283    </li>
12284
12285    <li>xterm.h:
12286
12287      <ul>
12288        <li>prototype 'do_hangup()', 'HandleFocusChange()',
12289        'TekExpose()', 'Error()', 'Exit()' - forces changes in
12290        various places.</li>
12291
12292        <li>adjusted prototypes that pass 'Boolean' arguments to
12293        use 'int' (this is the "correct" ANSI approach to extended
12294        compiles; it's worth mentioning that gcc doesn't meet the
12295        ANSI spec here). I used gcc -Wconversion to find these, but
12296        there's a lot of unrelated warnings that are due to setting
12297        NARROWPROTO in the config - n/c.</li>
12298
12299        <li>renamed 'term' parameters to avoid gcc -Wshadow warning
12300        - n/c</li>
12301      </ul>
12302    </li>
12303  </ul>
12304
12305  <h1><a name="xterm_01" id="xterm_01">Patch #1 - 1996/1/6</a></h1>
12306
12307  <p>This is my first cleanup patch for xterm. It addresses all of
12308  the gcc warnings for -Wall, -Wmissing-prototypes and
12309  -Wstrict-prototypes that I can change without modifying the
12310  object code. (I'm compiling this with gcc 2.7.0 for an aout
12311  target, which makes it simple to compare objects. When I do
12312  ELF-only, I've got a tool that compares that sort of thing as
12313  well).</p>
12314
12315  <p>Briefly, this patch adds (and uses) two header files in the
12316  xterm directory:</p>
12317  <pre>
12318        proto.h
12319        xterm.h
12320</pre>
12321
12322  <p>I expect this to be the biggest patch by far. However (barring
12323  a misplaced prototype), it shouldn't break anything, since the
12324  intent of the patch is to provide missing declarations.</p>
12325</body>
12326</html>
12327