xterm.log.html revision 956cc18d
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<!--
3 *****************************************************************************
4 * Copyright 1996-2008,2009 by Thomas E. Dickey                              *
5 * All Rights Reserved.                                                      *
6 *                                                                           *
7 * Permission to use, copy, modify, and distribute this software and its     *
8 * documentation for any purpose and without fee is hereby granted, provided *
9 * that the above copyright notice appear in all copies and that both that   *
10 * copyright notice and this permission notice appear in supporting          *
11 * documentation, and that the name of the above listed copyright holder(s)  *
12 * not be used in advertising or publicity pertaining to distribution of the *
13 * software without specific, written prior permission.                      *
14 *                                                                           *
15 * THE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD  *
16 * TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND *
17 * FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE *
18 * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES         *
19 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN     *
20 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF   *
21 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.            *
22 *****************************************************************************
23  $XTermId: xterm.log.html,v 1.790 2009/09/11 23:10:00 tom Exp $
24  -->
25<HTML>
26<HEAD>
27<TITLE>XTERM - Change Log</TITLE>
28<LINK REV=MADE HREF="mailto:dickey@invisible-island.net">
29<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
30</HEAD>
31<BODY>
32<HR>
33Copyright &copy; 1997-2008,2009 by <A
34HREF="mailto:dickey@invisible-island.net">Thomas E. Dickey</A>
35<HR>
36<H1>Contents</H1>
37This file contains a list of the changes that I have made for xterm,
38from the notes that I add when submitting a patch.
39<P>
40You should note that other changes have been made as well, by other people,
41to fix bugs and correct ifdef's for portability.
42Most of these are summarized in the XFree86 CHANGELOG
43(found in the unbundled tree, xc/programs/Xserver/hw/xfree86).
44<a href="http://invisible-island.net/xterm/xterm.log.html">Here</a>
45is the latest version of this file.
46
47<UL>
48<LI><A HREF="#xterm_248">Patch #248 - 2009/9/11</A>
49<LI><A HREF="#xterm_247">Patch #247 - 2009/8/30</A>
50<LI><A HREF="#xterm_246">Patch #246 - 2009/8/16</A>
51<LI><A HREF="#xterm_245">Patch #245 - 2009/8/12</A>
52<LI><A HREF="#xterm_244">Patch #244 - 2009/8/9</A>
53<LI><A HREF="#xterm_243">Patch #243 - 2009/3/28</A>
54<LI><A HREF="#xterm_242">Patch #242 - 2009/2/15</A>
55<LI><A HREF="#xterm_241">Patch #241 - 2009/1/26</A>
56<LI><A HREF="#xterm_240">Patch #240 - 2009/1/25</A>
57<LI><A HREF="#xterm_239">Patch #239 - 2009/1/8</A>
58<LI><A HREF="#xterm_238">Patch #238 - 2008/12/30</A>
59<LI><A HREF="#xterm_237">Patch #237 - 2008/09/14</A>
60<LI><A HREF="#xterm_236">Patch #236 - 2008/07/27</A>
61<LI><A HREF="#xterm_235">Patch #235 - 2008/04/20</A>
62<LI><A HREF="#xterm_234">Patch #234 - 2008/03/02</A>
63<LI><A HREF="#xterm_233">Patch #233 - 2008/02/24</A>
64<LI><A HREF="#xterm_232">Patch #232 - 2008/01/30</A>
65<LI><A HREF="#xterm_231">Patch #231 - 2008/01/05</A>
66<LI><A HREF="#xterm_230">Patch #230 - 2007/12/31</A>
67<LI><A HREF="#xterm_229">Patch #229 - 2007/8/12</A>
68<LI><A HREF="#xterm_228">Patch #228 - 2007/7/22</A>
69<LI><A HREF="#xterm_227">Patch #227 - 2007/6/27</A>
70<LI><A HREF="#xterm_226">Patch #226 - 2007/6/17</A>
71<LI><A HREF="#xterm_225">Patch #225 - 2007/3/24</A>
72<LI><A HREF="#xterm_224">Patch #224 - 2007/2/11</A>
73<LI><A HREF="#xterm_223">Patch #223 - 2006/11/30</A>
74<LI><A HREF="#xterm_222">Patch #222 - 2006/10/17</A>
75<LI><A HREF="#xterm_221">Patch #221 - 2006/10/1</A>
76<LI><A HREF="#xterm_220">Patch #220 - 2006/9/10</A>
77<LI><A HREF="#xterm_219">Patch #219 - 2006/9/4</A>
78<LI><A HREF="#xterm_218">Patch #218 - 2006/8/27</A>
79<LI><A HREF="#xterm_217">Patch #217 - 2006/8/20</A>
80<LI><A HREF="#xterm_216">Patch #216 - 2006/8/3</A>
81<LI><A HREF="#xterm_215">Patch #215 - 2006/6/19 - XFree86 4.6.99.2</A>
82<LI><A HREF="#xterm_214">Patch #214 - 2006/6/18 - XFree86 4.6.99.2</A>
83<LI><A HREF="#xterm_213">Patch #213 - 2006/4/30 - XFree86 4.5.99.905</A>
84<LI><A HREF="#xterm_212">Patch #212 - 2006/4/9 - XFree86 4.5.99.904</A>
85<LI><A HREF="#xterm_211">Patch #211 - 2006/3/19 - XFree86 4.5.99.902</A>
86<LI><A HREF="#xterm_210">Patch #210 - 2006/3/12 - XFree86 4.5.99.902</A>
87<LI><A HREF="#xterm_209">Patch #209 - 2006/2/12 - XFree86 4.5.99.22</A>
88<LI><A HREF="#xterm_208">Patch #208 - 2006/1/3 - XFree86 4.5.99.19</A>
89<LI><A HREF="#xterm_207">Patch #207 - 2005/11/13 - XFree86 4.5.99.16</A>
90<LI><A HREF="#xterm_206">Patch #206 - 2005/11/3 - XFree86 4.5.99.15</A>
91<LI><A HREF="#xterm_205">Patch #205 - 2005/9/18 - XFree86 4.5.99.12</A>
92<LI><A HREF="#xterm_204">Patch #204 - 2005/8/4 - XFree86 4.5.99.9</A>
93<LI><A HREF="#xterm_203">Patch #203 - 2005/7/6 - XFree86 4.5.99.7</A>
94<LI><A HREF="#xterm_202">Patch #202 - 2005/5/2 - XFree86 4.5.99.3</A>
95<LI><A HREF="#xterm_201">Patch #201 - 2005/4/21 - XFree86 4.5.99.2</A>
96<LI><A HREF="#xterm_200">Patch #200 - 2005/2/6 - XFree86 4.4.99.23</A>
97<LI><A HREF="#xterm_199">Patch #199 - 2005/1/17 - XFree86 4.4.99.22</A>
98<LI><A HREF="#xterm_198">Patch #198 - 2005/1/13 - XFree86 4.4.99.21</A>
99<LI><A HREF="#xterm_197">Patch #197 - 2004/11/30 - XFree86 4.4.99.19</A>
100<LI><A HREF="#xterm_196">Patch #196 - 2004/8/15 - XFree86 4.4.99.12</A>
101<LI><A HREF="#xterm_195">Patch #195 - 2004/8/8 - XFree86 4.4.99.11</A>
102<LI><A HREF="#xterm_194">Patch #194 - 2004/7/27 - XFree86 4.4.99.11</A>
103<LI><A HREF="#xterm_193">Patch #193 - 2004/7/19 - XFree86 4.4.99.10</A>
104<LI><A HREF="#xterm_192">Patch #192 - 2004/7/12 - XFree86 4.4.99.9</A>
105<LI><A HREF="#xterm_191">Patch #191 - 2004/6/6 - XFree86 4.4.99.7</A>
106<LI><A HREF="#xterm_190">Patch #190 - 2004/5/25 - XFree86 4.4.99.6</A>
107<LI><A HREF="#xterm_189">Patch #189 - 2004/5/16 - XFree86 4.4.99.6</A>
108<LI><A HREF="#xterm_188">Patch #188 - 2004/5/12 - XFree86 4.4.99.6</A>
109<LI><A HREF="#xterm_187">Patch #187 - 2004/4/27 - XFree86 4.4.99.4</A>
110<LI><A HREF="#xterm_186">Patch #186 - 2004/4/18 - XFree86 4.4.99.4</A>
111<LI><A HREF="#xterm_185">Patch #185 - 2004/3/3 - XFree86 4.4</A>
112<LI><A HREF="#xterm_184">Patch #184 - 2003/12/31 - XFree86 4.3.99.903</A>
113<LI><A HREF="#xterm_183">Patch #183 - 2003/12/26 - XFree86 4.3.99.903</A>
114<LI><A HREF="#xterm_182">Patch #182 - 2003/12/2 - XFree86 4.3.99.901</A>
115<LI><A HREF="#xterm_181">Patch #181 - 2003/10/26 - XFree86 4.3.99.15</A>
116<LI><A HREF="#xterm_180">Patch #180 - 2003/10/12 - XFree86 4.3.99.15</A>
117<LI><A HREF="#xterm_179">Patch #179 - 2003/5/21 - XFree86 4.3.99.5</A>
118<LI><A HREF="#xterm_178">Patch #178 - 2003/5/18 - XFree86 4.3.99.5</A>
119<LI><A HREF="#xterm_177">Patch #177 - 2003/3/23 - XFree86 4.3.0</A>
120<LI><A HREF="#xterm_176">Patch #176 - 2003/3/22 - XFree86 4.3.0</A>
121<LI><A HREF="#xterm_175">Patch #175 - 2003/3/9 - XFree86 4.3.0</A>
122<LI><A HREF="#xterm_174">Patch #174 - 2003/2/25 - XFree86 4.2.99.903</A>
123<LI><A HREF="#xterm_173">Patch #173 - 2003/2/6 - XFree86 4.2.99.902</A>
124<LI><A HREF="#xterm_172">Patch #172 - 2002/12/27 - XFree86 4.2.99.3</A>
125<LI><A HREF="#xterm_171">Patch #171 - 2002/12/12 - XFree86 4.2.99.3</A>
126<LI><A HREF="#xterm_170">Patch #170 - 2002/10/13 - XFree86 4.2.1</A>
127<LI><A HREF="#xterm_169">Patch #169 - 2002/10/5 - XFree86 4.2.1</A>
128<LI><A HREF="#xterm_168">Patch #168 - 2002/9/29 - XFree86 4.2.1</A>
129<LI><A HREF="#xterm_167">Patch #167 - 2002/8/24 - XFree86 4.2.0</A>
130<LI><A HREF="#xterm_166">Patch #166 - 2002/3/25 - XFree86 4.2.0</A>
131<LI><A HREF="#xterm_165">Patch #165 - 2002/1/5 - XFree86 4.1.0</A>
132<LI><A HREF="#xterm_164">Patch #164 - 2001/11/13 - XFree86 4.1.0</A>
133<LI><A HREF="#xterm_163">Patch #163 - 2001/11/04 - XFree86 4.1.0</A>
134<LI><A HREF="#xterm_162">Patch #162 - 2001/10/23 - XFree86 4.1.0</A>
135<LI><A HREF="#xterm_161">Patch #161 - 2001/10/10 - XFree86 4.1.0</A>
136<LI><A HREF="#xterm_160">Patch #160 - 2001/10/7 - XFree86 4.1.0</A>
137<LI><A HREF="#xterm_159">Patch #159 - 2001/9/19 - XFree86 4.1.0</A>
138<LI><A HREF="#xterm_158">Patch #158 - 2001/9/8 - XFree86 4.1.0</A>
139<LI><A HREF="#xterm_157">Patch #157 - 2001/6/18 - XFree86 4.1.0</A>
140<LI><A HREF="#xterm_156">Patch #156 - 2001/4/28 - XFree86 4.0.3</A>
141<LI><A HREF="#xterm_155">Patch #155 - 2001/4/20 - XFree86 4.0.3</A>
142<LI><A HREF="#xterm_154">Patch #154 - 2001/4/11 - XFree86 4.0.3</A>
143<LI><A HREF="#xterm_153">Patch #153 - 2001/3/29 - XFree86 4.0.3</A>
144<LI><A HREF="#xterm_152">Patch #152 - 2001/3/13 - XFree86 4.0.2</A>
145<LI><A HREF="#xterm_151">Patch #151 - 2001/3/10 - XFree86 4.0.2</A>
146<LI><A HREF="#xterm_150">Patch #150 - 2000/12/29 - XFree86 4.0.2</A>
147<LI><A HREF="#xterm_149">Patch #149 - 2000/12/6 - XFree86 4.0.1h</A>
148<LI><A HREF="#xterm_148">Patch #148 - 2000/10/31 - XFree86 4.0.1d</A>
149<LI><A HREF="#xterm_147">Patch #147 - 2000/10/26 - XFree86 4.0.1c</A>
150<LI><A HREF="#xterm_146">Patch #146 - 2000/9/12 - XFree86 4.0.1c</A>
151<LI><A HREF="#xterm_145">Patch #145 - 2000/9/11 - XFree86 4.0.1c</A>
152<LI><A HREF="#xterm_144">Patch #144 - 2000/8/23 - XFree86 4.0.1b</A>
153<LI><A HREF="#xterm_143">Patch #143 - 2000/8/19 - XFree86 4.0.1b</A>
154<LI><A HREF="#xterm_142">Patch #142 - 2000/8/18 - XFree86 4.0.1b</A>
155<LI><A HREF="#xterm_141">Patch #141 - 2000/8/14 - XFree86 4.0.1b</A>
156<LI><A HREF="#xterm_140">Patch #140 - 2000/7/23 - XFree86 4.0.1</A>
157<LI><A HREF="#xterm_139">Patch #139 - 2000/6/17 - XFree86 4.0d</A>
158<LI><A HREF="#xterm_138">Patch #138 - 2000/6/15 - XFree86 4.0c</A>
159<LI><A HREF="#xterm_137">Patch #137 - 2000/6/10 - XFree86 4.0b</A>
160<LI><A HREF="#xterm_136">Patch #136 - 2000/6/3 - XFree86 4.0b</A>
161<LI><A HREF="#xterm_135">Patch #135 - 2000/5/29 - XFree86 4.0b</A>
162<LI><A HREF="#xterm_134">Patch #134 - 2000/5/28 - XFree86 4.0b</A>
163<LI><A HREF="#xterm_133">Patch #133 - 2000/5/2 - XFree86 4.0a</A>
164<LI><A HREF="#xterm_132">Patch #132 - 2000/4/11 - XFree86 4.0a</A>
165<LI><A HREF="#xterm_131">Patch #131 - 2000/3/3 - XFree86 3.9.18b</A>
166<LI><A HREF="#xterm_130">Patch #130 - 2000/3/1 - XFree86 3.9.18a</A>
167<LI><A HREF="#xterm_129">Patch #129 - 2000/2/26 - XFree86 3.9.18a</A>
168<LI><A HREF="#xterm_128">Patch #128 - 2000/2/17 - XFree86 3.9.18</A>
169<LI><A HREF="#xterm_127">Patch #127 - 2000/2/12 - XFree86 3.9.17e</A>
170<LI><A HREF="#xterm_126">Patch #126 - 2000/2/8 - XFree86 3.9.17c</A>
171<LI><A HREF="#xterm_125">Patch #125 - 2000/1/31 - XFree86 3.9.17c</A>
172<LI><A HREF="#xterm_124">Patch #124 - 2000/1/27 - XFree86 3.9.17b</A>
173<LI><A HREF="#xterm_123">Patch #123 - 2000/1/22 - XFree86 3.9.17a</A>
174<LI><A HREF="#xterm_122">Patch #122 - 1999/12/28 - XFree86 3.9.16f</A>
175<LI><A HREF="#xterm_121">Patch #121 - 1999/11/14 - XFree86 3.9.16c</A>
176<LI><A HREF="#xterm_120">Patch #120 - 1999/10/28 - XFree86 3.9.16c</A>
177<LI><A HREF="#xterm_119">Patch #119 - 1999/10/16 - XFree86 3.9.16c</A>
178<LI><A HREF="#xterm_118">Patch #118 - 1999/10/5 - XFree86 3.9.16b</A>
179<LI><A HREF="#xterm_117">Patch #117 - 1999/9/29 - XFree86 3.9.16b</A>
180<LI><A HREF="#xterm_116">Patch #116 - 1999/9/25 - XFree86 3.9.16a</A>
181<LI><A HREF="#xterm_115">Patch #115 - 1999/9/18 - XFree86 3.9.16a</A>
182<LI><A HREF="#xterm_114">Patch #114 - 1999/9/15 - XFree86 3.9.16</A>
183<LI><A HREF="#xterm_113">Patch #113 - 1999/8/15 - XFree86 3.9.15b</A>
184<LI><A HREF="#xterm_112">Patch #112 - 1999/7/17 - XFree86 3.9Pw</A>
185<LI><A HREF="#xterm_111">Patch #111 - 1999/7/10 - XFree86 3.9Pw</A>
186<LI><A HREF="#xterm_110">Patch #110 - 1999/6/29 - XFree86 3.9Pu</A>
187<LI><A HREF="#xterm_109">Patch #109 - 1999/6/23 - XFree86 3.9Pt</A>
188<LI><A HREF="#xterm_108">Patch #108 - 1999/6/19 - XFree86 3.9Ps</A>
189<LI><A HREF="#xterm_107">Patch #107 - 1999/6/12 - XFree86 3.9Pq</A>
190<LI><A HREF="#xterm_106">Patch #106 - 1999/6/9 - XFree86 3.9Pq</A>
191<LI><A HREF="#xterm_105">Patch #105 - 1999/6/5 - XFree86 3.9Pp</A>
192<LI><A HREF="#xterm_104">Patch #104 - 1999/5/30 - XFree86 3.9Pn</A>
193<LI><A HREF="#xterm_103">Patch #103 - 1999/5/14 - XFree86 3.9Pm</A>
194<LI><A HREF="#xterm_102">Patch #102 - 1999/5/12 - XFree86 3.9Pm</A>
195<LI><A HREF="#xterm_101">Patch #101 - 1999/5/10 - XFree86 3.9Pm</A>
196<LI><A HREF="#xterm_100">Patch #100 - 1999/5/3 - XFree86 3.9Pl</A>
197<LI><A HREF="#xterm_99">Patch #99 - 1999/5/2 - XFree86 3.9Pk</A>
198<LI><A HREF="#xterm_98">Patch #98 - 1999/4/26 - XFree86 3.9Pk</A>
199<LI><A HREF="#xterm_97">Patch #97 - 1999/4/25 - XFree86 3.9Pk</A>
200<LI><A HREF="#xterm_96">Patch #96 - 1999/4/19 - XFree86 3.9Pj</A>
201<LI><A HREF="#xterm_95">Patch #95 - 1999/4/5 - XFree86 3.9Ph</A>
202<LI><A HREF="#xterm_94">Patch #94 - 1999/3/27 - XFree86 3.9Pf</A>
203<LI><A HREF="#xterm_93">Patch #93 - 1999/3/14 - XFree86 3.9Pd</A>
204<LI><A HREF="#xterm_92">Patch #92 - 1999/2/5 - XFree86 3.9Nz</A>
205<LI><A HREF="#xterm_91">Patch #91 - 1999/1/21 - XFree86 3.9Nw</A>
206<LI><A HREF="#xterm_90">Patch #90 - 1998/12/13 - XFree86 3.9Nq</A>
207<LI><A HREF="#xterm_89">Patch #89 - 1998/11/20 - XFree86 3.9Nm</A>
208<LI><A HREF="#xterm_88">Patch #88 - 1998/10/31 - XFree86 3.9Nk and 3.3.2h</A>
209<LI><A HREF="#xterm_87">Patch #87 - 1998/10/21 - XFree86 3.9Nj and 3.3.2f</A>
210<LI><A HREF="#xterm_86">Patch #86 - 1998/10/14 - XFree86 3.9Nj and 3.3.2e</A>
211<LI><A HREF="#xterm_85">Patch #85 - 1998/10/12 - XFree86 3.9Nj and 3.3.2e</A>
212<LI><A HREF="#xterm_84">Patch #84 - 1998/10/9 - XFree86 3.9Ni and 3.3.2e</A>
213<LI><A HREF="#sync_83">Resync #83 - 1998/10/7 - XFree86 3.3.2e</A>
214<LI><A HREF="#xterm_83">Patch #83 - 1998/8/25 - XFree86 3.9Nb</A>
215<LI><A HREF="#xterm_82">Patch #82 - 1998/7/15 - XFree86 3.9Aj</A>
216<LI><A HREF="#xterm_81">Patch #81 - 1998/7/14 - XFree86 3.9Aj</A>
217<LI><A HREF="#xterm_80">Patch #80 - 1998/6/29 - XFree86 3.9Ai</A>
218<LI><A HREF="#xterm_79">Patch #79 - 1998/6/28 - XFree86 3.9Ai</A>
219<LI><A HREF="#xterm_78">Patch #78 - 1998/6/3 - XFree86 3.9Ah and 3.3.2</A>
220<LI><A HREF="#xterm_77">Patch #77 - 1998/5/26 - XFree86 3.9Ah and 3.3.2</A>
221<LI><A HREF="#xterm_76">Patch #76 - 1998/5/8 - XFree86 3.9Ah and 3.3.2</A>
222<LI><A HREF="#xterm_75">Patch #75 - 1998/5/7 - XFree86 3.9Ah and 3.3.2</A>
223<LI><A HREF="#xterm_74">Patch #74 - 1998/4/27 - XFree86 3.9Ag and 3.3.2</A>
224<LI><A HREF="#xterm_73">Patch #73 - 1998/4/25 - XFree86 3.9Ag and 3.3.2</A>
225<LI><A HREF="#xterm_72">Patch #72 - 1998/4/17 - XFree86 3.9Ag and 3.3.2</A>
226<LI><A HREF="#xterm_71">Patch #71 - 1998/4/12 - XFree86 3.9Ag and 3.3.2</A>
227<LI><A HREF="#xterm_70">Patch #70 - 1998/3/29 - XFree86 3.9Af and 3.3.2</A>
228<LI><A HREF="#xterm_69">Patch #69 - 1998/3/16 - XFree86 3.9Ad and 3.3.2</A>
229<LI><A HREF="#xterm_68">Patch #68 - 1998/3/4 - XFree86 3.9Ad and 3.3.1z</A>
230<LI><A HREF="#xterm_67">Patch #67 - 1998/2/23 - XFree86 3.9Ad and 3.3.1e</A>
231<LI><A HREF="#xterm_66">Patch #66 - 1998/2/16 - XFree86 3.9Ad and 3.3.1d</A>
232<LI><A HREF="#xterm_65">Patch #65 - 1998/2/14 - XFree86 3.9Ad and 3.3.1c</A>
233<LI><A HREF="#xterm_64">Patch #64 - 1998/2/8 - XFree86 3.9Ad</A>
234<LI><A HREF="#xterm_63">Patch #63 - 1998/2/5 - XFree86 3.9Ad</A>
235<LI><A HREF="#xterm_62">Patch #62 - 1998/1/23 - XFree86 3.9Ac</A>
236<LI><A HREF="#xterm_61">Patch #61 - 1998/1/17 - XFree86 3.9Ac</A>
237<LI><A HREF="#xterm_60">Patch #60 - 1998/1/10 - XFree86 3.9Ab</A>
238<LI><A HREF="#xterm_59">Patch #59 - 1998/1/5 - XFree86 3.9Ab</A>
239<LI><A HREF="#xterm_58">Patch #58 - 1998/1/3 - XFree86 3.9Ab</A>
240<LI><A HREF="#xterm_57">Patch #57 - 1997/12/26 - XFree86 3.9Aa</A>
241<LI><A HREF="#xterm_56">Patch #56 - 1997/11/28 - XFree86 3.9x</A>
242<LI><A HREF="#xterm_55">Patch #55 - 1997/11/25 - XFree86 3.9x</A>
243<LI><A HREF="#xterm_54">Patch #54 - 1997/10/17 - XFree86 3.9s</A>
244<LI><A HREF="#xterm_53">Patch #53 - 1997/10/12 - XFree86 3.9r</A>
245<LI><A HREF="#xterm_52">Patch #52 - 1997/9/29 - XFree86 3.9q</A>
246<LI><A HREF="#xterm_51">Patch #51 - 1997/9/15 - XFree86 3.9p</A>
247<LI><A HREF="#xterm_50">Patch #50 - 1997/8/22 - XFree86 3.9m</A>
248<LI><A HREF="#xterm_49">Patch #49 - 1997/8/10 - XFree86 3.9k</A>
249<LI><A HREF="#xterm_48">Patch #48 - 1997/7/26 - XFree86 3.9j</A>
250<LI><A HREF="#xterm_47">Patch #47 - 1997/7/13 - XFree86 3.9i</A>
251<LI><A HREF="#xterm_46">Patch #46 - 1997/7/4 - XFree86 3.9h</A>
252<LI><A HREF="#xterm_45">Patch #45 - 1997/7/2 - XFree86 3.9h</A>
253<LI><A HREF="#xterm_44">Patch #44 - 1997/6/22 - XFree86 3.9g</A>
254<LI><A HREF="#xterm_43">Patch #43 - 1997/6/10 - XFree86 3.9d</A>
255<LI><A HREF="#xterm_42">Patch #42 - 1997/6/8 - XFree86 3.2Xl</A>
256<LI><A HREF="#xterm_41">Patch #41 - 1997/5/28 - XFree86 3.2Xl</A>
257<LI><A HREF="#xterm_40">Patch #40 - 1997/5/26 - XFree86 3.2Xl</A>
258<LI><A HREF="#xterm_39">Patch #39 - 1997/5/24 - XFree86 3.2Xl</A>
259<LI><A HREF="#xterm_38">Patch #38 - 1997/5/22 - XFree86 3.2Xh</A>
260<LI><A HREF="#xterm_37">Patch #37 - 1997/5/7 - XFree86 3.9a</A>
261<LI><A HREF="#xterm_36">Patch #36 - 1997/1/16 - XFree86 3.2r</A>
262<LI><A HREF="#xterm_35">Patch #35 - 1997/1/7 - XFree86 3.2o</A>
263<LI><A HREF="#xterm_34">Patch #34 - 1997/1/5 - XFree86 3.2o</A>
264<LI><A HREF="#xterm_33">Patch #33 - 1996/11/24 - XFree86 3.2</A>
265<LI><A HREF="#xterm_32">Patch #32 - 1996/11/21 - XFree86 3.2</A>
266<LI><A HREF="#xterm_31">Patch #31 - 1996/11/16 - XFree86 3.2</A>
267<LI><A HREF="#xterm_30">Patch #30 - 1996/11/16 - XFree86 3.2</A>
268<LI><A HREF="#xterm_29">Patch #29 - 1996/9/15 - XFree86 3.1.2Gb</A>
269<LI><A HREF="#xterm_28">Patch #28 - 1996/8/31 - XFree86 3.1.2F</A>
270<LI><A HREF="#xterm_27">Patch #27 - 1996/8/21 - XFree86 3.1.2Ek</A>
271<LI><A HREF="#xterm_26">Patch #26 - 1996/8/20 - XFree86 3.1.2Ei</A>
272<LI><A HREF="#xterm_25">Patch #25 - 1996/8/18 - XFree86 3.1.2Ei</A>
273<LI><A HREF="#xterm_24">Patch #24 - 1996/8/11 - XFree86 3.1.2Ee</A>
274<LI><A HREF="#xterm_23">Patch #23 - 1996/7/31 - XFree86 3.1.2Ec</A>
275<LI><A HREF="#xterm_22">Patch #22 - 1996/7/26 - XFree86 3.1.2Ec</A>
276<LI><A HREF="#xterm_21">Patch #21 - 1996/7/24 - XFree86 3.1.2Ec</A>
277<LI><A HREF="#xterm_20">Patch #20 - 1996/7/24 - XFree86 3.1.2Ec</A>
278<LI><A HREF="#xterm_19">Patch #19 - 1996/7/21 - XFree86 3.1.2Ec</A>
279<LI><A HREF="#xterm_18">Patch #18 - 1996/7/18 - XFree86 3.1.2Ec</A>
280<LI><A HREF="#xterm_17">Patch #17 - 1996/7/2 - XFree86 3.1.2Eb</A>
281<LI><A HREF="#xterm_16">Patch #16 - 1996/6/25 - XFree86 3.1.2Ea</A>
282<LI><A HREF="#xterm_15">Patch #15 - 1996/5/29 - XFree86 3.1.2E</A>
283<LI><A HREF="#xterm_14">Patch #14 - 1996/5/12 - XFree86 3.1.2Dj</A>
284<LI><A HREF="#xterm_13">Patch #13 - 1996/4/23 - XFree86 3.1.2Df</A>
285<LI><A HREF="#xterm_12">Patch #12 - 1996/3/16 - XFree86 3.1.2Dc</A>
286<LI><A HREF="#xterm_11">Patch #11 - 1996/3/5 - XFree86 3.1.2Db</A>
287<LI><A HREF="#xterm_10">Patch #10 - 1996/2/14 - XFree86 3.1.2Cd</A>
288<LI><A HREF="#xterm_09">Patch #9 - 1996/2/10 - XFree86 3.1.2Cb</A>
289<LI><A HREF="#xterm_08">Patch #8 - 1996/2/9 - XFree86 3.1.2Cb</A>
290<LI><A HREF="#xterm_07">Patch #7 - 1996/1/28 - XFree86 3.1.2n</A>
291<LI><A HREF="#xterm_06">Patch #6 - 1996/1/8</A>
292<LI><A HREF="#xterm_05">Patch #5 - 1996/1/7</A>
293<LI><A HREF="#xterm_04">Patch #4 - 1996/1/7</A>
294<LI><A HREF="#xterm_03">Patch #3 - 1996/1/7</A>
295<LI><A HREF="#xterm_02">Patch #2 - 1996/1/7</A>
296<LI><A HREF="#xterm_01">Patch #1 - 1996/1/6</A>
297</UL>
298
299<H1><A NAME="xterm_248">Patch #248 - 2009/9/11</A></H1>
300<ul>
301	<li>fix an overlooked adjustment for selecting double-width characters
302	    in the narrow-character configuration.
303
304	<li>eliminate uses of <code>XTERM_CELL</code> and
305	    <code>XTERM_CELLC</code> where an appropriate <code>LineData</code>
306	    pointer is available.
307
308	<li>correct expression in <code>okScrnRow</code> macro, making
309	    selections give the length of lines below the visible screen
310	    (report by Stuart Henderson).
311
312	<li>correct logic used to improve performance of missing-glyph check,
313	    which did not handle line-drawing characters (Debian #545220).
314</ul>
315
316<H1><A NAME="xterm_247">Patch #247 - 2009/8/30</A></H1>
317<ul>
318	<li>add ifdef's and check for openpty() on DragonFly (patch by
319	    Alex Hornung).
320
321	<li>correct calculation for size of line's data block, which was
322	    sometimes off-by-one when configured
323	    using <code>--enable-16bit-chars</code>
324	    (report by H Merijn Brand).
325
326	<li>fix indexing error in print-everything feature from
327	    <a href="#xterm_246">patch #246</a> (patch by Ovidiu Gheorghioiu).
328</ul>
329
330<H1><A NAME="xterm_246">Patch #246 - 2009/8/16</A></H1>
331<ul>
332	<li>remove obsolete logic for saving/restoring wrapping flags, which
333	    did not work on 64-bit platform.  Wrapping flags (stored in the
334	    line-index) are now copied with line-data (Debian #541160).
335
336	<li>modify comments in app-defaults files to avoid problem with
337	    C preprocessor used by <code>xrdb</code> (Debian #541603).
338
339	<li>restore special case in <code>makeColorPair</code>,
340	    needed for <code>colorBDMode</code> resource (Debian #541089).
341
342	<li>correct <code>SetLineFlags()</code> macro, broken in
343	    <a href="#xterm_244">patch #244</a>
344	    when recoding to avoid gcc-specific bitfields (Debian #541236).
345
346	<li>modify initialization of screen buffers to ensure that pointers
347	    align to int-boundaries.
348	    This fixes a problem introduced in
349	    <a href="#xterm_244">patch #244</a>
350	    where the color- and character-arrays
351	    (stored after the video-attributes in each row)
352	    might be misaligned (report by Rajeev V Pillai).
353
354	<li>add limit-check in <code>ScrnRefresh</code> for handling
355	    saved-lines from the circular buffer which are repainted on a
356	    screen whose width has increased.  To improve performance, circular
357	    buffer entries are not resized (report by Rajeev V Pillai).
358
359	<li>correct type for <code>CellColor</code> (a late change in
360	    <a href="#xterm_244">patch #244</a>
361	    to avoid gcc-specifc enums made that unsigned
362	    rather than unsigned short, for the 256-color option).
363
364	<li>fix typo in configure option --enable-16bit-chars (report by
365	    Rajeev V. Pillai).
366</ul>
367
368<H1><A NAME="xterm_245">Patch #245 - 2009/8/12</A></H1>
369<ul>
370	<li>correct a special case in saving FIFO-lines from
371	    <a href="#xterm_244">patch #244</a>.
372	    If the screen was shrunk, xterm used the wrong amount for copying
373	    to FIFO-lines, and then used this amount to adjust the current
374	    row on the screen.  That was both a visible defect (Debian #541109)
375	    as well as a potential addressing error (Debian #541132, #541160,
376	    and #541236).
377
378	<li>add clarification in xterm manual about the
379	    various <code>allow<em>XXX</em>Ops</code> resources, which
380	    are disabled when the 
381	    <code>allowSendEvents</code> resource is active (patch by
382	    Julien Cristau, Debian #531597).
383</ul>
384
385<H1><A NAME="xterm_244">Patch #244 - 2009/8/9</A></H1>
386<ul>
387	<li>refactored storage of saved-lines, providing a configure option
388	    to manage them as a FIFO (actually a circular buffer), improving
389	    performance.
390	    Added configure option <code>--enable-fifo-lines</code> to
391	    enable/disable the new feature (it is enabled by default).
392
393	<li>added <code>fastScroll</code> resource, to amuse
394	    people who measure terminal emulator performance by
395	    <code>cat</code>'ing large files to the screen.
396
397	<li>modify check in <code>readPtyData</code> from return values
398	    to provide exit on zero-bytes read from pty for FreeBSD, or
399	    eliminate high-CPU in "xterm-hold" processing
400	    (discussion with Ulrich Spoerlein, FreeBSD ports/136686).
401	    The check was originally modified to combine negative/zero
402	    values in XFree86-3.1.2E, 1996/05/06.
403
404	<li>add configure option <code>--enable-16bit-chars</code> to
405	    provide wide-characters with 16-bits (rather than the default
406	    32-bits).
407
408	<li>add <code>retryInputMethod</code> resource to allow configuring
409	    out the retries xterm uses to connect to non-responsive XIM
410	    server, to work around defective X configurations as noted in
411	    <a href="http://mail-index.netbsd.org/tech-x11/2009/06/07/msg000511.html">NetBSD mailing list</a>.
412
413	<li>make regular-expression selection work for VT100 double-sized
414	    characters.
415
416	<li>improve layout when drawing missing characters in a proportional
417	    font, e.g., as boxes, to take into account whether they are
418	    double-width (report by Guilbert Stabilo on comp.unix.shell).
419
420	<li>add capability for keypad-center (kb2/KA2) to termcap entry for
421	    xterm-new, as well as xterm-8bit, xterm-sun and xterm-vt220
422	    (FreeBSD conf/136336).
423
424	<li>change default for <code>keepSelection</code> resource to true
425	    (prompted by discussion with David Muir Sharnoff).
426
427	<li>remove a limit-check in ptydata.c, allowing Unicode values past
428	    64k to be displayed using TrueType fonts (Debian #458432).
429
430	<li>remove a vt52-specific ifdef to allow mapping F1-F4 to PF1-PF4
431	    when vt52 support is not compiled (report by Olaf 'Rhialto'
432	    Seibert).
433
434	<li>save/restore line-wrapping flags when converting from ISO-8859-1
435	    encoding to UTF-8 encoding, as well as when resizing screen.
436
437	<li>remove extra adjustment of position in fix for Debian #418324.
438
439	<li>modify default check for <code>mkWidth</code> resource to check
440	    for line-drawing characters, which are categorized as double-width
441	    in Solaris 10 (report by Sebastian Kayser).
442
443	<li>add "print-everything" action (patch by Ovidiu Gheorghioiu).
444
445	<li>start refactoring scrollback data using new getLineData() function.
446
447	<li>demote recent change to Debian #252873 fix to experimental,
448	    ifdef'd out as <code>EXP_BOGUS_FG</code> (Debian #522141).
449
450	<li>work around groff mapping of ASCII quotes using macros (requested
451	    by Reuben Thomas based on Colin Watson advice, fixes Debian #378700).
452
453	<li>correct symbol used for default of <code>allowWindowOps</code>
454	    which was <code>DEF_ALLOW_FONT</code>
455	    rather than <code>DEF_ALLOW_WINDOW</code>
456	    (report by Matthieu Herrb).
457
458	<li>amend fix for tek4014 from <a href="#xterm_243">patch #243</a>
459	    to make it only apply to the Tek Options menu.
460</ul>
461
462<H1><A NAME="xterm_243">Patch #243 - 2009/3/28</A></H1>
463<ul>
464	<li>revert change to default for <code>allowTcapOps</code> (request by
465	    Bram Moolenaar).
466
467	<li>reallocate result returned by <code>xtermEnvLocale()</code> to
468	    avoid reference to freed memory after handling
469	    <code>menuLocale</code> resource.
470
471	<li>fix an old (X11R5) bug in tek4014 for switching fontsizes.
472
473	<li>add resource <code>defaultString</code> to make configurable the
474	    use of "#" when pastes of UTF-8 text fail due to limitations in
475	    the current locale settings.
476
477	<li>make the set of selection target Atom's configurable by two new
478	    resources <code>eightBitSelectTypes</code> and
479	    <code>utf8SelectTypes</code>, e.g., to use the <code>TEXT</code>
480	    Atom in preference to <code>UTF8_STRING</code> (discussion with
481	    Stanislav Sedov regarding koi8rxterm and the FreeBSD port).
482
483	<li>modify handling of <code>TARGETS</code> Atom by making it return
484	    exactly the set of targets as those which xterm is currently
485	    providing.
486
487	<li>set <code>MANPAGER</code> and <code>PAGER</code> explicitly to
488	    /bin/cat in <code>minstall.sh</code> to work around /etc/man.conf's
489	    with those variables already set
490	    (report by &#1052;&#1072;&#1088;&#1100;&#1103;&#1089;&#1080;&#1085;
491	    &#1057;&#1077;&#1084;&#1105;&#1085;).
492	<li>improve error-checking of tcap-query parser.
493
494	<li>add check for keyboard <code>tcap</code>), which ensures that
495	    terminal descriptions containing the same string for
496	    shifted/unshifted keys will be seen by tcap-query as only the
497	    unshifted key.  (This would only happen with an incorrect terminal
498	    description).
499
500	<li>fix conversion for input event-state to modifier-parameter which
501	    made tcap-query feature not work with <code>tcapFunctionKeys</code>
502	    (keyboard type <code>tcap</code>).
503
504	<li>add "DEF_ALLOW_<em>XXX</em>" definitions to main.h to allow
505	    overriding the default compiled-in values for
506	    "allow<em>xxx</em>" resources.
507
508	<li>remove check on bell-percentage added in
509	    <a href="#xterm_242">patch #242</a>,
510	    which disallowed zero/negative values (Redhat Bugzilla #487829).
511</ul>
512
513<H1><A NAME="xterm_242">Patch #242 - 2009/2/15</A></H1>
514<ul>
515	<li>fix configure check for <code>XkbBell</code> and provide
516	    appropriate parameter for it.
517
518	<li>fix a caching problem with double-size fonts versus reverse video
519	    that could cause core dump.
520
521	<li>repair double-size fonts from workaround
522	    used in <a href="#xterm_240">patch #240</a>.
523
524	<li>add new section to the VT Fonts menu which allows enabling or
525	    disabling the font, termcap (tcap-query), title and window
526	    operations.
527
528	<li>add <code>fontWarnings</code> resource, to control whether to show
529	    warnings on failure to load a font.
530
531	<li>improve warnings for unloadable fonts introduced in
532	    <a href="#xterm_240">patch #240</a>
533	    by limiting those to the cases where a font would be specified
534	    directly by a resource setting rather than a derived fontname.
535
536	<li>further amend fix for Debian #252873
537	    from <a href="#xterm_197">patch #197</a> to
538	    treat a blank cell which does not have both foreground and background
539	    colored as a non-colored cell.
540	    This improves a special case where the cursor is on a blank
541	    cell which had foreground color scrolled in
542	    (report by Miroslav Lichvar).
543	    <p>
544	    Also add the same logic when hiding cursor, so the outline matches
545	    the in-focus cursor.
546
547	<li>modify internals to reduce places PAIRED_CHARS() is used, making
548	    WriteText() and ScrnWriteText() accept IChar array, as well as
549	    providing a wrapper for drawXtermText().
550
551	<li>change default XIM font from "*" to "fixed" to improve startup
552	    time in zh_CN.UTF-8 locale (Mike Fabian, SuSE Bugzilla #464930).
553
554	<li>typo in #240 log (Slava Semushin)
555</ul>
556
557<H1><A NAME="xterm_241">Patch #241 - 2009/1/26</A></H1>
558<ul>
559	<li>improve checks for missing bitmap fonts, fallback to "fixed" as
560	    needed to work around broken font-packages (report by Jacek
561	    Luczak).
562
563	<li>fix breakage from <a href="#xterm_240">patch #240</a> changes for
564	    <code>xtermAddInput()</code> (patches by Jeff Chua, Julien Cristau).
565</ul>
566
567<H1><A NAME="xterm_240">Patch #240 - 2009/1/25</A></H1>
568<ul>
569	<li>use <code>plink.sh</code> for linking xterm (suggested by Larry
570	    Doolittle).
571
572	<li>add resource descriptions for input method to xterm manpage.
573
574	<li>update configure script; consistently append to $CFLAGS rather
575	    than prepend.
576
577	<li>add <code>install-scripts</code> rule to makefile, to allow
578	    koi8rxterm and uxterm scripts to be altered independently of
579	    <code>install-bin</code> 
580
581	<li>add <code>-maximized</code> command-line option and corresponding
582	    resource (prompted by alt.os.linux newsgroup comment).
583
584	<li>modify translations of scrollbar widget using
585	    <code>xtermAddInput()</code>
586	    (see <a href="#xterm_181">patch #181</a>) to accept the actions
587	    that the vt100 widget accepts, such as shift-insert to perform
588	    a paste operation (request by Martin Zwickel).
589
590	<li>change default for <code>allowTcapsOps</code> resource to false,
591	    since it causes unexpected behavior for vim users with
592	    <code>AltGr</code>.
593
594	<li>update config.guess, config.sub
595</ul>
596
597<H1><A NAME="xterm_239">Patch #239 - 2009/1/8</A></H1>
598<ul>
599	<li>correct a cast in input.c, which broke translation of numeric
600	    keypad codes to pageup, pagedown, etc., on 64-bit platform
601	    (Debian #511138, report by Larry Doolittle).
602</ul>
603
604<H1><A NAME="xterm_238">Patch #238 - 2008/12/30</A></H1>
605<ul>
606	<li>update configure macro CF_XOPEN_SOURCE for AIX 6.x and Mint
607	    platforms.
608
609	<li>reset the screen wrapping-flag at the end of
610	    <code>ClearRight</code> to fix an occasional case where the last
611	    character of a scrolled and wrapped line would be cleared (patch by
612	    Joe Peterson).
613
614	<li>modify to use POSIX coding for comparing resource settings such
615	    as <code>locale</code>, to work with locales such as Turkish
616	    (report by M Vefa Bicakci).
617
618	<li>turn on configure <code>paste64</code> feature by default
619	    (request by Jean-Philippe Bernardy).
620	    It is runtime enabled/disabled with <code>allowWindowOps</code>.
621
622	<li>turn on configure <code>tcap-query</code> feature by default,
623	    add resource <code>allowTcapOps</code>
624	    to make this runtime enabled/disabled.
625
626	<li>make <code>OSC 3</code> (change X property, from
627	    <a href="#xterm_110">patch #110</a>)
628	    subject to <code>allowWindowOps</code> resource.
629
630	<li>make VT220 <code>DSR</code> responses inactive in VT100-mode.
631
632	<li>make <code>DECUDK</code> feature inactive in VT100-mode.
633
634	<li>respond to incorrectly formatted <code>DECRQSS</code> with a
635	    cancel.
636
637	<li>add <code>allowFontOps</code> 
638	    resource to allow the fontsize-switching and font query/set
639	    control sequences to be enabled/disabled
640	    (prompted by Debian #510030).
641
642	<li>some code cleanup based on gcc 4.x <code>-Wconversion</code>
643	    warnings in button.c and charproc.c
644
645	<li>modify <code>tcap-query</code> feature to not return data for
646	    shifted cursor-keys when the keyboard type is set to vt220,
647	    since returning the same string for shifted/unshifted keys may
648	    confuse some applications (GenToo #212546).
649</ul>
650
651<H1><A NAME="xterm_237">Patch #237 - 2008/09/14</A></H1>
652<ul>
653	<li>improve usability of TrueType fonts by making the font-size
654	    switching for shifted keypad plus/minus use the
655	    <code>faceSize</code> resources to determine the order of fonts
656	    (when TrueType fonts are used) rather than the bitmap fonts, since
657	    their sizes may not be in the same order (report by H Merijn
658	    Brand)
659
660	<li>remove an optimization of <code>ConfigureNotify</code> events
661	    from <a href="#xterm_236">patch #236</a>
662	    which seems to interfere with passing <code>SIGWINCH</code> to 
663	    applications (GenToo #233836).
664
665	<li>modify handling of <code>altSendsEscape</code> to reset the
666	    <code>eightBitInput</code> mode, like <code>metaSendsEscape</code> 
667	    (patch by Ted Phelps).
668
669	<li>add feature to show the text-cursor as an underline rather than a
670	    box, plus command-line options <code>-uc</code> and
671	    <code>+uc</code> and resource <code>cursorUnderLine</code> to
672	    control the feature (patch by Paul Lampert).
673
674	<li>update config.guess, config.sub
675</ul>
676<H1><A NAME="xterm_236">Patch #236 - 2008/07/27</A></H1>
677<ul>
678	<li>correct memory reallocation when handling a paste of UTF-8 text
679	    from <a href="#xterm_225">patch #225</a> changes
680	    (report/patch by Max Mikhanosha).
681
682	<li>correct allocation of temporary buffer in
683	    <code>xtermFindShell</code> in case the user's <code>$PATH</code>
684	    contains no ":" (report/analysis by Victor Stinner,
685	    Freedesktop.Org Bugzilla #16790).
686
687	<li>modify CF_XOPEN_SOURCE to add case for DragonFly BSD, to fix
688	    new compile problem exposed by fix for fd_mask (patch by
689	    Hasso Tepper).
690
691	<li>add configure-check for ncurses <code>use_extended_names</code>,
692	    (report by Martin Mokrejs).
693
694	<li>correct computation for toolbar height; layout manager already
695	    takes into account <code>borderWidth</code> resource.
696
697	<li>implement VT320-style SCS (select character set) for ISO Latin-1
698	    supplemental.
699
700	<li>fixes for vt100-style character sets in UTF-8 mode (Ubuntu #230919).
701
702	<li>fix to make <code>luit</code> work with xterm's <code>-ls</code>
703	    option (report/patch by Marius Tolzmann).
704
705	<li>update config.guess, config.sub
706</ul>
707
708<H1><A NAME="xterm_235">Patch #235 - 2008/04/20</A></H1>
709<ul>
710	<li>add control sequences for some of the recent resource/menu
711	    settings:
712	    <ul>
713	    <li><code>altSendsEscape</code> (private mode 1039)
714	    <li><code>keepSelection</code> (private mode 1040)
715	    <li><code>selectToClipboard</code> (private mode 1041)
716	    <li><code>bellIsUrgent</code> (private mode 1042)
717	    <li><code>popOnBell</code> (private mode 1043)
718	    </ul>
719
720	<li>add resource <code>formatOtherKeys</code> to provide an alternate
721	    escape sequence format for the <code>modifyOtherKeys</code> 
722	    resource (request by Paul LeoNerd Evans).
723
724	<li>adjust saved-cursor position if the window is resized while
725	    displaying the alternate screen (Novell #196880, Debian #383384).
726
727	<li>improve pointer-checks to fix a bug exposed by resizing during
728	    initialization under StumpWM window manager
729	    (Fedora Bugzilla #437928).
730
731	<li>modify <code>unselectwindow()</code> to ensure that the mouse
732	    pointer is not hidden after xterm loses focus (report by Jeremy
733	    Huddleston).
734
735	<li>add special check for fd_mask on Mac OS X (report by Jeremy
736	    Huddleston).
737
738	<li>add <code>dylib</code> to autoconf's suffix list used for checking
739	    the result from <code>xmkmf</code>, to work with Mac OS X (report
740	    by Jeremy Huddleston).
741
742	<li>correct initialization of bold- and wide-, wide-bold fonts which
743	    may be set via the <code>utf8Fonts</code> subresource (Debian
744	    #347790).
745</ul>
746
747<H1><A NAME="xterm_234">Patch #234 - 2008/03/02</A></H1>
748<ul>
749	<li>modify <code>sinstall.sh</code> to use POSIX locale to 
750	    bypass GNU ls changes to date-format.
751
752	<li>improved/refined changes for closing bitmap font (patch by
753	    Andrea Odetti).
754
755	<li>improve resize computation for situations where the negotiation
756	    fails, by invoking the xterm widget's core-class resize method
757	    (Debian #365602, patch by Jim Paris).
758
759	<li>restore initialization of terminal's <code>VMIN</code> and
760	    <code>VTIME</code> settings,
761	    from <a href="#xterm_232">patch #232</a> changes
762	    (patch by Matthieu Herrb).
763</ul>
764
765<H1><A NAME="xterm_233">Patch #233 - 2008/02/24</A></H1>
766<ul>
767	<li>add configure check for <code>ttydefaults.h</code>, include if
768	    needed, e.g., for systems where defining
769	    <code>_POSIX_C_SOURCE</code>, etc.,
770	    prevents it from being included via
771	    <code>termios.h</code> (prompted by comments by Robert Delius Royar
772	    and Jeremy Huddleston).
773
774	<li>patches from Alan Coopersmith.  These correspond
775	    to bug-ids on bugs.opensolaris.org 
776	    <dl>
777	    <dt>4029911
778	    <dd>fix a typo in manpage
779	    <dt>4045962
780	    <dd>xterm doesn't properly set ut_syslen
781	    <dt>4192572
782	    <dd>left-left-right misinterpreted as triple click
783	    </dl>
784
785	<li>minor optimization to tab-initialization (patch by
786	    N�meth M�rton).
787
788	<li>fix a case where an incorrect font was freed during initialization
789	    from <a href="#xterm_232">patch #232</a> changes (patch by
790	    Andrea Odetti).
791
792	<li>improve comparison used in <code>SameFont</code> function for
793	    GC-caching (Julien Cristau).
794
795	<li>correct macro name used for default <code>CKILL</code> definition
796	    to work with Mac OS X (report by Jeremy Huddleston).
797</ul>
798
799<H1><A NAME="xterm_232">Patch #232 - 2008/01/30</A></H1>
800<ul>
801	<li>corrected logic in a font-cache used for reverse-video (Debian
802	    #404079).
803
804	<li>add control sequence to alter <code>pointerMode</code> at runtime.
805
806	<li>add limit-checks for rectangle operation parameters (report by
807	    Martin Pirker).
808
809	<li>modify <code>minstall.sh</code> to suppress <code>$MANPAGER</code>
810	    and <code>$PAGER</code> environment variables, which may interfere
811	    with redirecting output of <code>man</code> to a shell variable
812	    (report/patch by Zdenek Sekera).
813
814	<li>do not try to hide mouse pointer in the tek4014 window, fixes
815	    broken "-t" option at startup from
816	    <a href="#xterm_230">patch #230</a> changes
817	    (report by Robert K. Nelson).
818
819	<li>correct datatype used when drawing tek4014 data using xterm
820	    compiled for wide-characters, on big-endian machines (reports
821	    by Jeremy Huddleston, Harald Hanche-Olsen, Martin Costabel, Merle
822	    Reinhart).
823
824	<li>modify to cache the font-names along with the bitmap font data,
825	    to improve comparison of fonts.
826
827	<li>modify to allow building with configure options
828	    <code>--disable-ansi-color</code> and
829	    <code>--disable-leaks</code> (Debian #459817, report/patch by N�meth M�rton).
830
831	<li>modify to allow building with configure options
832	    <code>--enable-wide-chars</code> and
833	    <code>--disable-c1-print</code> (Debian #459816, report/patch by N�meth M�rton).
834
835	<li>add <code>pointerMode</code> resource to control whether and
836	    when the pointer cursor is hidden as the user types.
837
838	<li>simplify initialization of ttyMode- and related characters using
839	    a table.
840
841	<li>modify initialization-logic for stty values that correspond to
842	    ltchars structure and the BSD TIOCSLTC ioctl (susp, dsusp, rprnt
843	    flush, werase, lnext).  These were reset to constants for both
844	    termios and legacy interfaces immediately after asking the system
845	    for the existing values since X11R6.1, rather than using them to
846	    provide inherited values.  While the legacy interface has some
847	    constraints, e.g., on HPUX, the POSIX or termios interface should
848	    not.  Your shell may reset these anyway
849	    (prompted by patch by Ed Schouten).
850
851	<li>improve logic for hiding/displaying pointer-cursor (report by
852	    Mark Brukhartz).
853
854	<li>add limit-checks to tabs.c, increase maximum column for setting
855	    tab-stops from 320 to 1024 (report by N�meth M�rton).
856
857	<li>correct length, i.e., number of types of selection targets,
858	    computed by <code>ConvertSelection()</code> when not handling
859	    wide characters for the <code>XA_TARGETS()</code> case.
860	    This leaves an extra Atom on the end of the list which is
861	    not handled by
862	    <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6322854">Java applications</a>.
863	    The problem was introduced in <a href="#xterm_151">patch #151</a>
864	    (report by David Wood).
865</ul>
866
867<H1><A NAME="xterm_231">Patch #231 - 2008/01/05</A></H1>
868<ul>
869	<li>undo change to <code>getXtermCell()</code> from patch #230
870	    using <code>PACK_PAIR</code> macro (Debian #459014, analysis by
871	    Caetano Jimenez Carezzato).
872
873	<li>minor documentation fixes (patch by Slava Semushin)
874
875	<li>add makefile actions to install KOI8RXTerm app-defaults file
876	    (patch by Julien Cristau).
877</ul>
878
879<H1><A NAME="xterm_230">Patch #230 - 2007/12/31</A></H1>
880<ul>
881	<li>add <code>quietGrab</code> resource, which when true, suppresses
882	    cursor repainting when <code>NotifyGrab</code> and
883	    <code>NotifyUngrab</code> event types are received during
884	    change of focus (request by Nicolas George).
885
886	<li>do not treat Unicode BIDI control characters as combining
887	    characters (Debian #457634).
888
889	<li>add <code>koi8rxterm</code>, from Debian.
890
891	<li>add manpage for <code>uxterm</code>, from Debian (Ubuntu #128136,
892	    Debian #438645)
893
894	<li>remove ".xpm" suffixes from Icon filenames in desktop files since
895	    it confuses some lookups following the
896	    <a href="http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html">Icon Theme Specification</a>
897	    (report by Slava Semushin)
898
899	<li>correct width-calculation used for adjusting proportional fonts,
900	    to work with wide-characters (Debian #441354).
901
902	<li>fixes/improvements for double-size characters:
903	    <ul>
904	    <li>correct old clipping calculation which used total height of
905		glyphs where ascent was needed.
906
907	    <li>if bold font is unavailable, fall back to normal font
908
909	    <li>adjust to "work" with Xft (which does not support double-width
910		single-height characters). 
911
912	    <li>restore reset of doublesize for a line when it is cleared,
913	        broken in <a href="#xterm-228">patch #228</a>.
914	    </ul>
915
916	<li>modify logic for <code>forceBoxChars</code> resource when using
917	    TrueType fonts to be consistent with bitmap fonts
918
919	<li>modify logic for <code>forceBoxChars</code> resource to make the
920	    "Line-Drawing Characters" menu entry use xterm's line-drawing
921	    characters even asked to draw wide line-drawing characters which
922	    are available in the font.
923
924	<li>modify rectangle-support functions to preserve colors when
925	    filling/erasing (request by Enzo Toscano, to match WRQ Reflection
926	    behavior).
927
928	<li>add getopt-parsing to tcapquery.pl, including feature to test the
929	    extended cursor/editing keys.
930
931	<li>make missing double-width glyphs display as double-width
932	    (Debian #456236).
933
934	<li>change <code>tcap-fkeys</code> and <code>rectangles</code>
935	    configure options to enable them by default.
936
937	<li>hide the mouse pointer while user is typing (request by Rodolfo
938	    Borges).
939
940	<li>extend configure options
941	    <code>--enable-tcap-query</code> and
942	    <code>--enable-tcap-fkeys</code> to
943	    send cursor- and editing-keypad keys modified according to the
944	    keyboard (or termcap) selection for shift, alt, control, meta.
945
946	<li>modify <code>kdch1</code> in termcap, e.g., <code>xterm-r6</code>
947	    to match the terminfo file.
948
949	<li>add <code>-hm</code> option to turn <code>highlightColorMode</code>
950	    on or off.
951
952	<li>add <code>highlightColorMode</code> resource to separate the
953	    new (since <a href="#xterm_225">patch #225</a>) highlighting with both text- and
954	    background-colors (prompted by report/example by Thomas Wolff).
955
956	<li>add <em>Keep Selection</em> menu entry to turn the 
957	    <code>keepSelection</code> resource on/off at runtime.
958
959	<li>add <code>keepSelection</code> resource, which when enabled,
960	    tells xterm to retain the X selection even after it stops
961	    highlighting it (patch by Sergey Vlasov).
962
963	<li>extend the <code>CSI&nbsp;&gt;&nbsp;n</code> sequence to allow
964	    disabling all types of modified-keys that the
965	    <code>CSI&nbsp;&gt;&nbsp;m</code> sequence affects.
966
967	<li>move include for <code>&lt;xtermcap.h&gt;</code> in
968	    <code>resize.c</code> to avoid redefinition of <code>termios</code>
969	    structure on OpenSolaris (report by Rahul Gopinathan Nair).
970
971	<li>extend terminfo building blocks for modified editing keys to
972	    include all six keys.
973
974	<li>synchronize terminfo with ncurses (report by Stephane Chazelas):
975	    <ul>
976	    <li>equate <code>xterm-xfree86</code>
977	        and <code>xterm-xf86-v44</code>.
978	    <li>add ncurses extensions OTbs, AX, for termcap conversions.
979	    <li>make old/legacy entries such as
980	        <code>xterm-24</code>, <code>xterm-65</code>
981	        and aliases <code>xterms</code>, <code>vs100</code>
982		inherit from <code>xterm-old</code>.
983	    <li>make <code>xterm-r5</code> and <code>xterm-r6</code> the
984	        same, ignoring historical errors in X Consortium's version.
985	    </ul>
986
987	<li>fix an ifdef in logic for selecting regular
988	    expressions while in a narrow-character locale (Debian #449227).
989</ul>
990
991<H1><A NAME="xterm_229">Patch #229 - 2007/8/12</A></H1>
992<ul>
993	<li>override locale in minstall.sh;
994	    change in <a href="#xterm_226">patch #226</a>
995	    does not work in UTF-8 locale (report by Zdenek Sekera).
996
997	<li>undo an incorrect fix for a memory leak
998	    in <a href="#xterm_209">patch #209</a> (Debian #435858).
999</ul>
1000
1001<H1><A NAME="xterm_228">Patch #228 - 2007/7/22</A></H1>
1002<ul>
1003	<li>modify configure script to permit combining
1004	    <code>--with-utempter</code>
1005	    and <code>--enable-setuid</code>, e.g., for using xterm with 
1006	    the utempter library on FreeBSD (report by Andriy Gapon).
1007
1008	<li>modify "Quit" menu entry to override the <code>-hold</code>
1009	    command-line option.
1010
1011	<li>add a check in the startup error-reporting to avoid writing to
1012	    pipe when it has not been opened.  In that case, report errors
1013	    directly to the standard error.
1014
1015	<li>add OPT_READLINE definition to xtermcfg.hin, overlooked in
1016	    <a href="#xterm_205">patch #205</a>
1017	    (report by Kalle Olavi Niemitalo).
1018
1019	<li>modify <code>88colors2.pl</code> and <code>256colors2.pl</code>,
1020	    adding <code>-r</code>
1021	    option to reverse the palettes for the extended colors.
1022
1023	<li>check for partial overwrite or deletion of multi-column characters
1024	    in several cases, e.g., insert-character, delete-character,
1025	    etc.,
1026	    and fill the remainder of the cells used by the multi-column
1027	    characters affected with blanks.
1028
1029	<li>correct character-class codes in wide-character mode for characters
1030	    215, 247 (see also <a href="#xterm_165">patch #165</a>).
1031
1032	<li>fix missing assignment for UTF-8 parsing in widget initialization
1033	    (Debian #403360).
1034
1035	<li>correct index expression used to set line-wrapping flag, making
1036	    selection from scrollback work consistently (Debian #430121,
1037	    report by Vincent Lefevre).
1038
1039	<li>amend changes to handshake in
1040	    <a href="#xterm_226">patch #226</a>
1041	    to accommodate Solaris, which relies on the extra setting of
1042	    the terminal size after I/O initialization.
1043	    Do this by adding new resource <code>ptySttySize</code>,
1044	    which is false for Linux and MacOS X, i.e., true for
1045	    for Solaris and other SVR4 platforms, as well as FreeBSD
1046	    (reports by David Wood, Renato Botelho).
1047
1048	<li>check for X events after cursor-left, and carriage return,
1049	    consistent with indexing operations
1050	    (comments by Vegard Nossum and Ingo Molnar on a mailing-list).
1051
1052	<li>initialize the <code>.keyboard</code> structure,
1053	    needed for some platforms (such as Solaris) after
1054	    <a href="#xterm_227">patch #227</a> fixes for keysyms
1055	    (patch by David Wood).
1056
1057	<li>update config.guess, config.sub
1058</ul>
1059
1060<H1><A NAME="xterm_227">Patch #227 - 2007/6/27</A></H1>
1061<ul>
1062	<li>exclude the Intel compiler from the extra gcc warning options
1063	    added in 
1064	    <a href="#xterm_226">patch #226</a>.
1065
1066	<li>modify change for Debian #422521
1067	    from <a href="#xterm_226">patch #226</a>
1068	    to work with configurations where the X server does not
1069	    recognize
1070	    the <code>XF86Paste</code>
1071	    or <code>SunPaste</code> keysyms (report by Paolo Pumilia).
1072
1073	<li>fix incorrect free in fix for "Selection" menu entry in
1074	    <a href="#xterm_226">patch #226</a>.
1075</ul>
1076
1077<H1><A NAME="xterm_226">Patch #226 - 2007/6/17</A></H1>
1078<ul>
1079	<li>add configure check to use <code>-Wno-unknown-pragmas</code> for
1080	    Solaris, and a few other new gcc warning options to address
1081	    regressions in its warning options.
1082
1083	<li>add sample desktop and icon files, along with configure options for
1084	    manipulating them.
1085
1086	<li>fix an infinite loop when showing a 2-column character in a
1087	    1-column screen (Debian #426863).
1088
1089	<li>add <code>XF86Paste</code> and <code>SunPaste</code> to the
1090	    default translations (Debian #422521, patch by Bernhard R Link).
1091
1092	<li>update wcwidth.c (partly based on/prompted by mailing list
1093	    comment).
1094
1095	<li>update/improve keysym2ucs.c based on Unicode 5.0.1d3 and Xorg
1096	    7.1 keysymdef.h file.
1097
1098	<li>improve <code>gen-pc-fkeys.pl</code>, making it show all of the
1099	    building-block terminfo entries used by xterm.
1100
1101	<li>correct strings used for modifiers applied to F1-F4 in xterm+pcf1
1102	    terminfo entry.
1103
1104	<li>improve session management by adding the ICE connection number
1105	    to the <code>select</code> call rather than waking up once per
1106	    second (patch by Miroslav Lichvar).
1107	    
1108	<li>add environment variable <code>$XTERM_LOCALE</code> to help
1109	    with shell initialization, e.g., to set a specific locale for
1110	    xterm on systems where a global locale is set in the shell
1111	    startup scripts.
1112
1113	<li>add resource settings <code>mkSampleSize</code> and
1114	    <code>mkSamplePass</code>
1115	    to modify the <code>mkWidth</code> added
1116	    in <a href="#xterm_201">patch #201</a>.
1117	    In <a href="#xterm_202">patch #202</a>,
1118	    xterm would also check if the system's
1119	    <code>wcwidth</code> matched its built-in tables
1120	    "well enough" to be used when <code>mkWidth</code> was false,
1121	    and if not would use the built-in tables anyway.
1122	    These resources allow the user to customize the decision
1123	    (prompted by comments by Emanuele Giaquinta)
1124
1125	<li>modify logic which resets/updates the screensize on the child
1126	    process side of the pseudo-terminal to do this only if a
1127	    successful handshake was received, e.g., as determined by
1128	    the <code>waitForMap</code> resource (prompted by reports
1129	    by Emanuele Giaquinta and Bernhard R Link, but see also
1130	    <a href="#xterm_177">patch #177</a> and
1131	    <a href="#xterm_159">patch #159</a>.
1132
1133	<li>improve permissions logic when closing pseudo-terminal
1134	    (Debian #12261,
1135	     patch by Nathanael Nerode,
1136	     analysis by Richard Braakman).
1137
1138	<li>add resource <code>highlightReverse</code> which controls whether
1139	    xterm will allow selection highlighting to hide reverse-video
1140	    or use the older behavior which inverts the foreground and
1141	    background colors when selected text with reverse-video attribute
1142	    (report by Adam M Costello, comments by Victor Vaile).
1143
1144	<li>restore a special case for cursor-color in
1145	    <code>ReverseVideo()</code>
1146	    lost in rewrite for <a href="#xterm_224">patch #224</a>
1147	    (report by Adam Sulmicki).
1148
1149	<li>correct initialization for menu entry for <code>bellIsUrgent</code> 
1150	    (patch by Emanuele Giaquinta).
1151
1152	<li>correct length of underlining for double-width Xft fonts
1153	    (report by Shidai Liu "Leo").
1154
1155	<li>correct clipping for double-width Xft fonts
1156	    (report by Shidai Liu "Leo").
1157
1158	<li>modify initialization for <code>italicULMode</code> to avoid
1159	    <code>XftPatternBuild</code> reusing bold attributes
1160	    (report by Shidai Liu "Leo").
1161
1162	<li>add a check in case someone tries to call the
1163	    <code>popup-menu()</code> action on a menu which is not initialized
1164	    (Debian #426364).
1165
1166	<li>improve CF_IMAKE_CFLAGS to work with Solaris sed (report by Peter
1167	    Bray).
1168
1169	<li>improve guess for X's manpage section in <code>minstall.sh</code>,
1170	    (prompted by comment by Miroslav Lichvar).
1171
1172	<li>modify <code>minstall.sh</code> to handle manpage patch with more
1173	    than one dot (patch by Miroslav Lichvar).
1174
1175	<li>fix configure message for --disable-setgid option (patch by
1176	    Miroslav Lichvar).
1177
1178	<li>add <code>allowTitleOps</code> resource to allow users to prevent
1179	    the title- and icon-names from changing (request by John Bashinski).
1180
1181	<li>fix "spawn-new-terminal" action, for the case where no parameter
1182	    is passed to the action (patch by Daniel Colascione).
1183
1184	<li>fix error-checking on internal font switching for "Selection"
1185	    menu entry (Debian #421523).
1186
1187	<li>amend select/paste change from
1188	    <a href="#xterm_225">patch #225</a>
1189	    by limiting it to non-UTF-8/non-KOI8-R encoding (Debian #420974).
1190
1191	<li>add workaround for groff ".URL" codes which are not present in
1192	    some commonly-used bitmap fonts (Debian #418324).
1193</ul>
1194
1195<H1><A NAME="xterm_225">Patch #225 - 2007/3/24</A></H1>
1196<ul>
1197	<li>add <code>useClipping</code> resource to allow clipping to be
1198	    disabled.
1199
1200	<li>use <code>XftDrawSetClipRectangles</code>
1201	    to work around Xft pixel-trash (report by Reuben Thomas).
1202
1203	<li>add configure option <code>--enable-tcap-fkeys</code>, and
1204	    resource <code>tcapFunctionKeys</code>, which can be used
1205	    to tell xterm to use function-key definitions from the termcap
1206	    (or terminfo) which it uses to set $TERM on startup.
1207
1208	<li>add resources <code>altIsNotMeta</code> and
1209	    <code>altSendsEscape</code> to allow one to use Alt-keys like the
1210	    meta-key even if they are bound to different keycodes (prompted by
1211	    discussion with Daniel Jacobowitz).
1212
1213	<li>revert a change from <a href="#xterm_216">patch #216</a>
1214	    that unnecessarily made the meta modifier override
1215	    the <code>eightBitInput</code> resource if the alt- and
1216	    meta-modifiers happened to overlap
1217	    (report/patch by Daniel Jacobowitz).
1218
1219	<li>correct associated font for active icon for colored text
1220	    (broken in <a href="#xterm_224">patch #224</a>).
1221
1222	<li>correct ifdef's for Darwin (patch by Emanuele Giaquinta).
1223
1224	<li>add <code>highlightTextColor</code> resource, and options
1225	    <code>-selfg</code>, <code>-selbg</code> like <code>xwsh</code>
1226	    (adapted from patch by Victor Vaile).
1227
1228	<li>revise <code>find_closest_color()</code> function to address
1229	    concern about borrowing from <code>Tcl/Tk</code>
1230	    (request by Dan McNichol).
1231
1232	<li>add "spawn-new-terminal" action, which can be assigned to key
1233	    translation, allowing one to spawn a new copy of xterm using
1234	    the current process' working directory (adapted from patch
1235	    by Daniel Colascione).
1236
1237	<li>improve select/paste between UTF-8 and Latin1 xterms by adapting
1238	    the translations from <a href="#xterm_185">patch #185</a>.
1239	    Extend that to include Unicode fullwidth forms FF00-FF5E.
1240	    Also modify select/paste of DEC line-drawing characters in
1241	    Latin1 mode to use ASCII characters.
1242
1243	<li>add "Enable Bell Urgency" to VT Options menu, removed "Enable
1244	    Margin Bell".
1245
1246	<li>add <code>bellIsUrgent</code> resource to control whether the
1247	    Urgency hint is set/reset.
1248
1249	<li>modify to set Urgency window manager hint on bell, reset it on
1250	    Focus-In event (patch by Emanuele Giaquinta).
1251
1252	<li>add <code>--disable-setgid</code> configure option (request by
1253	    Miroslav Lichvar).
1254
1255	<li>fix a possible infinite loop in last change to
1256	    <code>dabbrev-expand()</code> (patch by Emanuele Giaquinta).
1257
1258	<li>modify initialization to set the pty erase value if the
1259	    <code>erase</code> is set in the <code>ttyModes</code> resource. 
1260	    This overrides the <code>ptyInitialErase</code> setting (request by
1261	    Llu&#237;s Batlle i Rossell).
1262
1263	<li>add <code>initialFont</code> resource to xterm widget, like
1264	    tek-widget (Debian #299669).
1265
1266	<li>amend change to <code>boldMode</code> from
1267	    <a href="#xterm_223">patch #223</a> for Debian #347790.
1268	    As noted in Debian #412599, that made xterm
1269	    no longer match the documented behavior.
1270	    Add new resource <code>alwaysBoldMode</code>
1271	    to allow overriding the comparison
1272	    between normal/bold fonts when deciding whether to use overstriking
1273	    to simulate bold fonts.
1274
1275	<li>restore background color in ClearCurBackground(), omitted in
1276	    changes for <a href="#xterm_223">patch #223</a> (report by
1277	    Miroslav Lichvar).
1278
1279	<li>correct logic for repainting double-width TrueType characters
1280	    (prompted by test-case for Novell #246573).
1281
1282	<li>add a check to avoid trying to repeat a multibyte character
1283	    (report by Sami Farin).
1284
1285	<li>modify parameter to <code>XftNameParse()</code> to select wide
1286	    face-name as needed, to make <code>-fd</code> option work (patch by
1287	    Mike Fabian, Novell #246573).
1288
1289	<li>correct logic for mouse highlight tracking's abort sequence,
1290	    broken in a restructuring modification from
1291	    <a href="#xterm_224">patch #224</a>
1292	    (report by Thomas Wolff).
1293
1294	<li>revert the simplification of blinking cursor, since that broke
1295	    the xor'ing introduced in <a href="#xterm_193">patch #193</a>
1296	    (report by Thomas Wolff).
1297</ul>
1298
1299<H1><A NAME="xterm_224">Patch #224 - 2007/2/11</A></H1>
1300<ul>
1301	<li>simplify code for set/reset mode for blinking cursor 
1302	    (patch by Emanuele Giaquinta).
1303
1304	<li>modify <code>dabbrev-expand()</code> to restart after the last
1305	    match (patch by Emanuele Giaquinta).
1306
1307	<li>add control sequences for enabling/disabling focus in/out event
1308	    reporting (request by Bram Moolenaar).
1309
1310	<li>improve startup performance of menus by adding resource setting
1311	    <code>menuLocale</code> which can be set to override X's
1312	    lengthy initialization of fontsets - which are seldom used
1313	    for the <code>Xaw</code> popup menus (adapted from patch by
1314	    Dave Coffin).
1315
1316	<li>modify do_precomposition() function and make-compose.sh to handle
1317	    21-bit codes vs the 16-bit codes those were written for, and
1318	    fix a few mis-sorted codes
1319	    (patch by Thomas Wolff).
1320
1321	<li>handle special case in <code>-cjk_width</code>
1322	    which unexpectedly caused a character's width to change when
1323	    a combining character
1324	    (patch by Thomas Wolff)
1325
1326	<li>fix build for GNU/KFreeBSD (Debian #40111).
1327
1328	<li>consolidate GC creation/updating into a single module to reduce GC
1329	    manipulation (prompted by Debian #389476, though a complete fix
1330	    would involve optimizing the scrolling behavior).
1331
1332	<li>fix ifdef of xtermCellWidth(), which broke for a case without
1333	    TrueType and without wide-character support (report by Martin
1334	    Pirker).
1335
1336	<li>undo a comparison in <code>handle_translated_exposure</code> which
1337	    did not work due to X server optimization.  That caused the
1338	    inner border to be repainted with unexpected colors when handling
1339	    a repaint, e.g., after switching to/from another workspace
1340	    (Debian #401726, Redhat Bugzilla #223027).
1341
1342	<li>allow <code>-cr</code> option to override cursor color when
1343	    <code>-ah</code> option is used (Debian #406502).
1344
1345	<li>add a note in xterm's manpage explaining that the <code>-bw</code>
1346	    (or <code>-w</code>) option is only used by the window manager,
1347	    if at all (Debian #405043).
1348
1349	<li>make <code>Selection</code> of <code>VT&nbsp;Fonts</code> work with
1350	    <code>selectToClipboard</code> resource.
1351
1352	<li>correct length calculation for <code>Selection</code> entry of
1353	    <code>VT&nbsp;Fonts</code> menu, broken since it ignored the
1354	    actual selection length since X11R4.
1355
1356	<li>fixes for fontsize changes with <code>-fa</code> option (Redhat
1357	    Bugzilla #222340).
1358</ul>
1359
1360<H1><A NAME="xterm_223">Patch #223 - 2006/11/30</A></H1>
1361<ul>
1362	<li>add <code>--enable-rectangles</code> configure option (request by
1363	    Martin Pirker).
1364
1365	<li>correct default value for <code>--with-symlink</code> configure
1366	    option.
1367
1368	<li>fixes configure script macros that use <code>$X_EXTRA_LIBS</code>.
1369
1370	<li>modify configure script to provide support for pre-package config
1371	    versions of Xft (FreeType).
1372
1373	<li>add the Xaw scrollbar translations resource to the xterm manpage,
1374	    add an example showing how to change the mouse button assignments
1375	    (Debian #382225).
1376
1377	<li>amend a change from <a href="#xterm_216">patch #216</a>,
1378	    which omitted modifiers for control, meta, etc., if they were
1379	    mixed with any other modifiers.  The intent of the change was
1380	    to avoid confusion with
1381	    <code>XK_Mode_switch</code>
1382            and <code>XK_ISO_Level3_Shift</code>;
1383	    the check is now done explicitly (report by Daniel Jacobowitz).
1384
1385	<li>interpret a negative value for <code>modifyCursorKeys</code>
1386	    or <code>modifyFunctionKeys</code> resources to disable the
1387	    respective features (prompted by Novell #220728).
1388
1389	<li>amend cell-width computation for FreeType from
1390	    <a href="#xterm_217">patch #217</a>, which did not work
1391	    for VT100 line-drawing characters (Debian #399638, GenToo #147111).
1392
1393	<li>amend a change from <a href="#xterm_216">patch #216</a>,
1394	    which made alt-modifier on a cursor-key send a modifier parameter
1395	    (Novell #220728).
1396
1397	<li>correct an off-by-one that made DECCRA not work (report/patch by
1398	    Martin Pirker).
1399
1400	<li>revert an optimization in SGR_Foreground() and SGR_Background
1401	    from <a href="#xterm_209">patch #209</a> (Debian #347722,
1402	    analysis by Pierre Lombard).
1403
1404	<li>fix for <code>boldMode</code> (Debian #347790, patch by Tim Pope).
1405
1406	<li>amend fix for <code>-iconic</code> in
1407	    <a href="#xterm_208">patch #208</a>,
1408	    which broke the positioning part of <code>-geom</code> with toolbar
1409	    configuration.
1410
1411	<li>fix to prevent indexing error in regular expressions (patch
1412	    by Dennis Schneider).
1413
1414	<li>fixes to make the internalBorder area not change color due to
1415	    reverseVideo and/or related exposure events.  The latter was a very
1416	    old bug exposed in <a href="#xterm_196">patch #196</a> (report by
1417	    Neil Hoggarth, also Debian #397624).
1418</ul>
1419
1420<H1><A NAME="xterm_222">Patch #222 - 2006/10/17</A></H1>
1421<ul>
1422	<li>minor optimization for recoloring cursor via dynamic colors.
1423
1424	<li>fix a bug caused by restructuring of tek4014 widget (report by Paul
1425	    Schenkeveld)
1426</ul>
1427
1428<H1><A NAME="xterm_221">Patch #221 - 2006/10/1</A></H1>
1429<ul>
1430	<li>fix for regular expressions:  the code which converted the column
1431	    offset within a line did not check properly for the end of a line,
1432	    and if allowed to match the whole line, would select the beginning
1433	    of the following line.  If the following line were empty, in turn
1434	    it would select from the next, etc.  (report by Sean
1435	    Reifschneider).
1436
1437	<li>minor optimization of color allocation to avoid repainting the
1438	    screen if the corresponding color had not been allocated.
1439
1440	<li>fixes for vttests/256colors.pl (report by Egmont Koblinger).
1441
1442	<li>add terminfo building block entries for modifiers of the 6-key
1443	    editing keypad.
1444
1445	<li>fix for initialization of tek4014 which broke on QNX 6.1
1446</ul>
1447
1448<H1><A NAME="xterm_220">Patch #220 - 2006/9/10</A></H1>
1449<ul>
1450	<li>make "xterm -t -iconic" work as expected, i.e., start in tek4014
1451	    mode, but iconified.
1452</ul>
1453
1454<H1><A NAME="xterm_219">Patch #219 - 2006/9/4</A></H1>
1455<ul>
1456	<li>some internal restructuring to separate data for vt100 and tek4014
1457	    widgets.
1458
1459	<li>fix a few cases where form-events would be seen by the vt100
1460	    widget when built with the toolbar configuration.
1461</ul>
1462
1463<H1><A NAME="xterm_218">Patch #218 - 2006/8/27</A></H1>
1464<ul>
1465	<li>change behavior when encountering an illegal character in a title
1466	    string.  Rather than reject the string, translate illegal
1467	    characters into "?" and use the string (requested by Thomas Wolff).
1468
1469	<li>improve checks for nonprinting characters in title strings
1470	    (report by Samuel Thibault).
1471
1472	<li>correct typo in menu labels, changing <code>print-redirect</code>
1473	    to <code>print-redir</code>, making it follow the manpage and
1474	    match the usage for the actions table (report by Samuel Thibault).
1475
1476	<li>correct a typo that prevents building with some older systems such
1477	    as Solaris 2.6 (report by Julian Bridle).
1478</ul>
1479
1480<H1><A NAME="xterm_217">Patch #217 - 2006/8/20</A></H1>
1481<ul>
1482	<li>minor improvements to FreeType font layout and drawing.
1483
1484	<li>add a check in the ptyInitialErase logic to ensure that the
1485	    termcap was read (Redhat Bugzilla #201246).
1486
1487	<li>limit changes for reverse-video from
1488	    <a href="#xterm_216">patch #216</a> to cases where the
1489	    reverse-video command-line option is used
1490	    (report by Zdenek Sekera).
1491
1492	<li>correct bitmap-derived pointsizes for TrueType fonts; they should
1493	    be proportional to the square root of the area of the bitmap
1494	    fonts.
1495
1496	<li>add resources to specify pointsize of TrueType fonts (request
1497	    by Reuben Thomas).
1498
1499	<li>improve install of terminfo by filtering out harmless messages
1500	    related to extended capabilities.  At the same time, use ncurses
1501	    tic to compile the extended capabilities if possible
1502	    (report by Zdenek Sekera).
1503
1504	<li>update "xterm+pcfkeys" terminfo entry to correspond to
1505	    <a href="#xterm_216">patch #216</a>.
1506</ul>
1507
1508<H1><A NAME="xterm_216">Patch #216 - 2006/8/3</A></H1>
1509<ul>
1510	<li>improve handling of <code>ConfigureNotify</code> events by checking
1511	    if there are further events in the queue which obsolete the current
1512	    one (adapted from rxvt 2.7.5).  Only the normal normal
1513	    (non-toolbar) configuration is addressed in this patch.
1514
1515	<li>several changes to terminfo:
1516	<ul>
1517	    <li>incorporate some minor changes from ncurses to help keep these
1518	        synchronized:
1519	    <dl>
1520		<dt>2005-02-26
1521		<dd>modify sgr/sgr0 in xterm-new to improve tgetent's derived "me".
1522		<dt>2006-02-18
1523		<dd>remove ncv flag from xterm-16color
1524		<dt>2006-06-24
1525		<dd>improve xterm-256color by combining the 16-color
1526		setaf/setab strings with SGR 48,
1527		and cancelling the setf/setb strings.
1528	    </dl>
1529	    <li>use extended function-key definitions for xterm-sun, xterm-sco
1530	        entries.
1531
1532	    <li>add terminfo building-blocks corresponding to the
1533	        <code>modifyFunctionKeys</code>
1534	        and <code>modifyCursorKeys</code> resources.
1535	</ul>
1536
1537	<li>ifdef'd Sun function-key feature to make it optional, like HP and
1538	    SCO.
1539
1540	<li>extend table for termcap-query feature through F63, and updated
1541	    tcapquery.pl to match.
1542
1543	<li>modify logic for function-key input processing to allow function
1544	    key numbers which are constructed by control- and shift-modifiers
1545	    to extend beyond X's hardcoded limit of 35.
1546
1547	<li>add control sequence to set or reset the <code>eightBitInput</code>
1548	    resource.
1549
1550	<li>change default resource <code>modifyFunctionKeys</code> to 2
1551	    to avoid sending SS3 with parameters (report by Kalle Olavi Niemitalo).
1552
1553	<li>add control sequences for setting and resetting the values of the
1554	    <code>modifyCursorKeys</code>,
1555	    <code>modifyFunctionKeys</code> and
1556	    <code>modifyOtherKeys</code> resources.
1557
1558	<li>add <code>modifyFunctionKeys</code> resource like
1559	    <code>modifyCursorKeys</code>.
1560	    Setting this to zero allows one to use the control- and
1561	    shift-modifiers to construct function key strings,
1562	    for terminals using many function keys,
1563	    e.g., for <code>xterm-sun</code> or <code>xterm-sco</code>.
1564
1565	<li>modify screen responses and function-key logic to reduce the
1566	    number of writes made, to make it less likely that an application
1567	    would read only part of a function-key in a read operation
1568	    (suggested by John E Urbanczyk).
1569
1570	<li>add <code>combiningChars</code> resource, which allows the user to
1571	    specify the maximum number of combining characters that xterm will
1572	    store for each cell in wide-character mode (prompted by request by
1573	    Markus Kuhn to increase the limit from 2).
1574
1575	<li>improve logic in <code>metaSendsEscape</code> in case the Alt-
1576	    and Meta-keys are mapped to different modifiers.  That allows one
1577	    to use the Alt-key for shifting in the <code>eightBitInput</code>
1578	    and use a Meta-key modifier to prefix the result with an
1579	    <code>&lt;ESC&gt;</code>.
1580
1581	<li>improve <code>modifyCursorKeys</code> logic to prevent it from
1582	    modifying codes where <code>eightBitInput</code> or
1583	    <code>metaSendsEscape</code> are set
1584	    (request by Dan Nicolaescu).
1585
1586	<li>improve <code>modifyCursorKeys</code> logic to prevent it from
1587	    changing the user input when other modifiers such as AltGr are used
1588	    (report by Thomas Wolff).
1589
1590	<li>extend <code>modifyCursorKeys</code> to include the numeric keypad
1591	    when in application mode.
1592
1593	<li>improve <code>-reverse</code> (<code>-rv</code>) option
1594	    (patch by Jason Vas Dias, Redhat #189161).
1595
1596	<li>workaround for color resources on Fedora-5 which made the toolbar
1597	    colors inconsistent.
1598
1599	<li>corrected calls used for <code>--disable-setuid</code> option,
1600	    add debugging traces to help diagnose this area.
1601
1602	<li>modify configure script to ensure that <code>USE_UTMP_SETGID</code>
1603	    is defined only if the check for POSIX saved-ids succeeds, or
1604	    corresponds to one of the BSD systems known to have a workable
1605	    <code>setegid</code> function.
1606
1607	<li>extend configure check for POSIX saved-ids to include BSD systems
1608
1609	<li>modify CF_SYSV configure macro to work with gcc on HPUX 10.20,
1610	    whose broken
1611	    <code>&lt;term.h&gt;</code> relies on including
1612	    <code>&lt;termios.h&gt;</code>.
1613
1614	<li>change order of setuid/setgid ifdef checks in Imakefile to make
1615	    it simpler to produce a setgid install, allowing the latter to
1616	    override the former (prompted by an XFree86 commit).
1617
1618	<li>adapt a fix for setgid support from subsequent XFree86 changes
1619	    (patch by Emanuele Giaquinta).
1620
1621	<li>further improve setgid support (patches by Emanuele Giaquinta).
1622</ul>
1623
1624<H1><A NAME="xterm_215">Patch #215 - 2006/6/19 - XFree86 4.6.99.2</A></H1>
1625<ul>
1626	<li>improve setgid support by exploiting the saved-ids feature on which
1627	    it relies (patch by Emanuele Giaquinta).
1628
1629	<li>make the <code>modifyOtherKeys</code> resource disabled by default
1630	    since the intermediate setting altered some common bindings
1631	    (report by Emanuele Giaquinta).
1632</ul>
1633
1634<H1><A NAME="xterm_214">Patch #214 - 2006/6/18 - XFree86 4.6.99.2</A></H1>
1635<ul>
1636	<li>modify makefile rule for ctlseqs.txt to strip backspace/overstrikes,
1637	    and add a copy of ctlseqs.txt to the source tarballs (requests by
1638	    Bram Moolenaar, Emanuele Giaquinta).
1639
1640	<li>add <code>modifyOtherKeys</code> resource, analogous to the
1641	    <code>modifyCursorKeys</code> resource.  This applies to keys that
1642	    normally would transmit nothing when a given modifier is applied
1643	    (request by Dan Nicolaescu).
1644
1645	<li>add <code>default</code> to the acceptable values for the
1646	    <code>keyboardType</code> resource, allowing the <code>-kt</code>
1647	    command-line option to override app-defaults resource settings of
1648	    <code>sunKeyboard</code>, etc.
1649
1650	<li>correct ifdef's for <code>XkbBell()</code> which used the header
1651	    file but not the corresponding function in
1652	    <a href="#xterm_175">patch #175</a>
1653	    (report by Zach Beane).
1654
1655	<li>add xterm manpage to the <code>--with-symlink</code> logic.
1656
1657	<li>regenerated configure script to omit some debugging artifacts of
1658	    the SIGWINCH test.
1659
1660	<li>fix <code>install-man</code> rule in <code>Makefile.in</code> to
1661	    avoid including the <code>$(DESTDIR)</code> value in substitutions
1662	    made on the manpages (patch by Emanuele Giaquinta).
1663
1664	<li>improved fix for cursor deallocation
1665	    (Redhat #186935, patch by Jason Vas Dias).
1666
1667	<li>improve checks for setuid/setgid operation to accommodate limited
1668	    resource management in some kernels (GenToo #193238).
1669
1670	<li>update config.guess, config.sub
1671</ul>
1672
1673<H1><A NAME="xterm_213">Patch #213 - 2006/4/30 - XFree86 4.5.99.905</A></H1>
1674<ul>
1675	<li>minor optimization to cell layout; will use that to simplify some
1676	    logic and allow for more than two combining characters in another
1677	    patch.
1678
1679	<li>add <code>utf8Latin1</code> resource to make optional the
1680	    feature from <a href="#xterm_209">patch #209</a> which
1681	    allowed ISO-8859-1 fonts to be used in cases
1682	    where a wide font was given.  This would only
1683	    work for the special case where the user normally used Latin-1
1684	    and wanted some wide characters (report by Rostislav Krasny).
1685
1686	<li>add <code>utf8Title</code> resource to manpage (Novell #52655).
1687
1688	<li>fix typo in table entry for <code>utf8Title</code> resource which
1689	    made it treated as an integer rather than boolean (patch by Mike
1690	    Fabian, Novell #52655).
1691</ul>
1692
1693<H1><A NAME="xterm_212">Patch #212 - 2006/4/9 - XFree86 4.5.99.904</A></H1>
1694<ul>
1695	<li>improve description of <code>forceBoxChars</code> in manpage
1696	    (discussion with Joe Wells).
1697
1698	<li>set checkmark for "Select To Clipboard" menu entry on startup,
1699	    from resource setting.
1700
1701	<li>update manpage to note that <code>*customization:color</code> is
1702	    not needed, though it is useful (Redhat #188034).
1703
1704	<li>add underscore to sample pattern for URL in <code>XTerm.ad</code>
1705	    (Redhat #188037).
1706
1707	<li>modify install rule for manpage to use the configured app-defaults
1708	    directory (Redhat #188031).
1709
1710	<li>add checks in <code>releaseCursorGCs()</code> to ensure GC's are
1711	    distinct, needed since memory leak changes for
1712	    <a href="#xterm_208">patch #208</a>
1713	    (Redhat #186935, patch by Jason Vas Dias).
1714
1715	<li>modify <code>Imakefile</code> definitions to allow
1716	    <code>imake</code> to set <code>InstallXtermSetGID</code>.
1717	    Add symbol <code>InstGidFlags</code>.
1718
1719	<li>add configure script check to ensure that SIGWINCH if defined even
1720	    when headers undefine this as a side-effect of
1721	    <code>_POSIX_C_SOURCE</code>, etc.
1722
1723	<li>resync with XFree86 CVS:
1724	<ul>
1725	   <li>ifdef-out chmod of terminal device for OS/2 (XFree86 #1663,
1726	       Frank Giessler).
1727	   <li>move new <code>Imakefile</code> chunk which defines
1728	       <code>$(CSGIDFLAGS)</code> before DEFINES,
1729	       e.g., for IRIX64 (Marc La France).
1730	</ul>
1731</ul>
1732
1733<H1><A NAME="xterm_211">Patch #211 - 2006/3/19 - XFree86 4.5.99.902</A></H1>
1734<ul>
1735	<li>modify prefix/suffix transformation in makefile to make
1736	    <code>uxterm</code> install properly on Cygwin.
1737
1738	<li>restore the sizeof-comparison for <code>struct lastlog</code>
1739	    added in <a href="#xterm_208">patch #208</a>,
1740	    rendered (mostly) obsolete in <a href="#xterm_210">patch #210</a>,
1741	    since an imake configuration can still turn that code on
1742	    (prompted by comment by David Dawes).
1743
1744	<li>remove feature for <code>FreeBSDArchitecture</code> from
1745	    <code>Imakefile</code> which would install xterm using the
1746	    <code>utmp</code> group since a standard FreeBSD system has no such
1747	    group, though it would support this configuration.  FreeBSD
1748	    packager uses the <code>configure</code> script, which can make the
1749	    appropriate check (prompted by comment by David Dawes).
1750
1751	<li>fixes for gcc redefinition warnings when built using imake
1752	    (reports by David Dawes, Marc La France).
1753</ul>
1754
1755<H1><A NAME="xterm_210">Patch #210 - 2006/3/12 - XFree86 4.5.99.902</A></H1>
1756<ul>
1757	<li>add configure check for workaround in
1758	    <a href="#xterm_208">patch #208</a>
1759	    for Solaris' inconsistent support for struct lastlog to quiet
1760	    compiler warnings
1761	    (prompted by David Dawes commit message for XFree86).
1762
1763	<li>fixes for BASE64 selection manipulation,
1764	    e.g., ensure that the string
1765	    terminator is written after cut-buffer data (report by Joe Allen).
1766
1767	<li>add vttests/paste64.pl script to test experimental option for
1768	    setting/getting selection data.
1769
1770	<li>add some error-checking in fontutils.c
1771	    (prompted by David Dawes commit message for XFree86).
1772
1773	<li>change xterm manpage to show the actual color resource names
1774	    <code>XtDefaultForeground</code> and
1775	    <code>XtDefaultBackground</code> rather than black and white
1776	    (prompted by discussion with Emanuele Giaquinta).
1777
1778	<li>add <code>utf8Title</code> resource and menu entry, allowing the
1779	    user to control whether title strings are interpreted as ISO-8859-1
1780	    or UTF-8 encoding (Novell #52655, #113206).
1781
1782	<li>change order of ifdef's for utempter versus platforms in
1783	    <code>Imakefile</code> to ensure a proper value for
1784	    <code>InstallXtermSetGID</code>
1785	    (prompted by Marc La France commit message for XFree86).
1786
1787	<li>update the cursor GCs when menu entry for reverse video is toggled.
1788	    (Redhat #183993).
1789
1790	<li>a memory-leak fix for <code>set_cursor_gcs()</code>
1791	    in <a href="#xterm_208">patch #208</a> broke the
1792	    <code>-cm</code> option (Redhat #182382).
1793</ul>
1794
1795<H1><A NAME="xterm_209">Patch #209 - 2006/2/12 - XFree86 4.5.99.22</A></H1>
1796<ul>
1797	<li>remove <code>setf</code> and <code>setb</code> from
1798	    <code>xterm-256color</code> terminfo entry to avoid issues with
1799	    applications that ignore the ANSI strings (report by Emanuele
1800	    Giaquinta).
1801
1802	<li>remove obsolete references to "Xorg" to avoid confusion with
1803	    "X.org" (prompted by David Dawes commit message for XFree86).
1804
1805	<li>improve initial layout performance for the toolbar configuration
1806	    by precalculating the height of the toolbar.
1807
1808	<li>remove menu entry for "Enable Curses Emulation" (to make room for
1809	    "Select To Clipboard").
1810
1811	<li>add resource <code>selectToClipboard</code>,
1812	    action <code>set-select</code> and a menu entry to allow
1813	    users to switch between PRIMARY and CLIPBOARD for select/paste.
1814
1815	<li>allow cursor to have the same color as foreground (text), since it
1816	    is rendered as reverse (Debian #350664).
1817
1818	<li>amend change for loading <code>utf8Fonts</code> resource from <a
1819	    href="#xterm_204">patch #204</a> to allow an ISO-8859-1 "normal"
1820	    font to be combined with an ISO-10646 font if the latter is given
1821	    via the <code>-fw</code> option or its corresponding resource
1822	    value (prompted by comment in Novell #49305).
1823
1824	<li>add <code>TIOCSCTTY</code> <code>ioctl()</code> ifdef'd for
1825	    <code>__GNU__</code> to set the controlling terminal (Debian
1826	    #348457).
1827
1828	<li>add configure option <code>--disable-leaks</code>.
1829
1830	<li>add a check in <code>Bell</code> to ensure that the VT100 widget
1831	    is realized, since it may be called by <code>xtermLoadFont</code>
1832	    given an incorrect font resource (Redhat #180450).
1833
1834	<li>improve initialization of wide-bold font by not using the derived
1835	    value when it happens to have few glyphs (report by Mboso Sampson).
1836
1837	<li>improve dynamic colors by not repainting the screen if only the
1838	    cursor color changes (request by Bram Moolenaar).
1839
1840	<li>fix menu initialization for tek4014 window broken in
1841	    <a href="#xterm_206">patch #206</a>.
1842
1843	<li>typo in manpage (Debian #351425).
1844
1845	<li>correct loop logic in <code>dotext</code> to prevent an infinite
1846	    loop if a wide character was just at the right margin when wrapping
1847	    was disabled (report by Serge van den Boom).
1848
1849	<li>initialize the saved-cursor data so a restore-cursor operation
1850	    without a preceding save-cursor operation will not modify the
1851	    foreground color.
1852
1853	<li>add a new selection feature: regular expressions, and new resources
1854	    which specify what happens on multiple mouse clicks:
1855	    <code>on2Clicks</code>,
1856	    <code>on3Clicks</code>,
1857	    <code>on4Clicks</code> and
1858	    <code>on5Clicks</code>.
1859
1860	<li>revert the <code>XTerm.ad</code> change from
1861	    <a href="#xterm_208">patch #208</a> (Debian #348384).
1862
1863	<li>fixes for the print-window to make it handle combining
1864	    characters in UTF-8 mode.
1865
1866	<li>add check to ensure that double-clicking to extend selection will
1867	    not extend it into the scrollback area.  This still allows users
1868	    to scroll back and select text (Debian #347415).
1869
1870	<li>add configure option <code>--with-tty-group</code> to help work
1871	    around deficiencies in packager's build environment (Debian
1872	    #349142).
1873
1874	<li>fix typo in configure script option
1875	    <code>--disable-narrowproto</code>
1876	    (report by David Mart&#237;nez Moreno).
1877
1878	<li>amend CF_X_FREETYPE changes for <code>pkg-config</code> check to
1879	    ensure that <code>Xft</code> is known to that tool (report and
1880	    patch by Emanuele Giaquinta).
1881
1882	<li>add an ifdef to allow <code>./configure --disable-active-icon</code>
1883	    to work, broken by new code for testing memory leaks in
1884	    <a href="#xterm_208">patch #208</a> (report by Brian Lindholm).
1885</ul>
1886
1887<H1><A NAME="xterm_208">Patch #208 - 2006/1/3 - XFree86 4.5.99.19</A></H1>
1888<ul>
1889	<li>add <code>charClass</code> resource to <code>XTerm.ad</code> and
1890	    <code>UXTerm.ad</code> which simplifies selecting URLs (prompted
1891	    by Kirill Ponomarew).
1892
1893	<li>modify install rule for <code>uxterm</code> to account for the
1894	    <code>--program-prefix</code>, etc., options by invoking the
1895	    transformed name of xterm rather than simply "xterm".
1896
1897	<li>modify configure <code>--with-app-defaults</code> option to allow
1898	    <code>--without-app-defaults</code>.
1899
1900	<li>add configure <code>--with-symlink</code> option to make it simpler
1901	    to install successive versions of <code>xterm</code> renamed using
1902	    the <code>--program-prefix</code>, etc., options with a symbolic
1903	    link pointing to the most recent.
1904
1905	<li>make <code>-iconic</code> option work with toolbar configuration
1906	    (GenToo #113604).
1907
1908	<li>suppress <code>lastlog</code> feature for 64-bit Solaris
1909	    configuration since that platform provides only a 32-bit interface
1910	    (report by Peter Bray).
1911
1912	<li>fix memory reallocation for the "UTF-8" menu entry when xterm is
1913	    started using the <code>+u8</code> option (reported by Jan Willem
1914	    Stumpel).
1915
1916	<li>add a configure check for the actual path of <code>luit</code>,
1917	    to work around broken <code>imake</code> configurations.
1918
1919	<li>add a configure check for <code>pkg-config</code> (Redhat Bugzilla
1920	    #173541).
1921
1922	<li>modify install-rule for <code>uxterm</code> to omit executable
1923	    suffix, e.g., for Cygwin.
1924
1925	<li>modify <code>sinstall.sh</code> to work around quirks in Cygwin
1926	    configuration.
1927</ul>
1928
1929<H1><A NAME="xterm_207">Patch #207 - 2005/11/13 - XFree86 4.5.99.16</A></H1>
1930<ul>
1931	<li>enable <code>lastlogx</code> support for NetBSD (was added, but
1932	    not enabled in <a href="#xterm_186">patch #186</a>).
1933
1934	<li>work around broken <code>lastlog.h</code> in glibc 2.3.5, which
1935	    includes <code>utmp.h</code>.
1936
1937	<li>revert part of recent XFree86 Imakefile change, restoring the
1938	    <code>-I.</code> needed for <code>xmkmf</code> builds of xterm
1939	    (XFree86 Bugzilla #1633, reports by Alexander Pohoyda and Matthieu
1940	    Herrb).
1941
1942	<li>change compiled-in default for <code>printerCommand</code>
1943	    resource to an empty string.  People who want to use the
1944	    printer should be able to read the manual (Debian #311490).
1945
1946	<li>modify <code>Imakefile</code> to work around old problems in
1947	    <code>imake</code> configuration to allow test-builds using
1948	    <code>xmkmf</code> on Linux.  (This was not noticed since several
1949	    releases had broken definitions relating to Xft which were harder
1950	    to work around).
1951
1952	<li>link <code>resize</code> for SCO platforms (Kean Johnston).
1953</ul>
1954
1955<H1><A NAME="xterm_206">Patch #206 - 2005/11/3 - XFree86 4.5.99.15</A></H1>
1956<ul>
1957	<li>add configure <code>--with-app-defaults</code> option to allow
1958	    app-defaults directory for install-rules to be customized.
1959
1960	<li>remove default translations for <code>dabbrev-expand()</code>
1961	    due to conflicts with existing keyboard arrangements.
1962
1963	<li>remove redundant check for <code>_NET_WM_PID</code>
1964	    (report by Emanuele Giaquinta).
1965
1966	<li>set icon border width explicitly to work around fvwm problem
1967	    with active icon resizing (report by Steve Morris, analysis
1968	    by Dominik Vogt).
1969
1970	<li>modify resource files to make the font-resources a little
1971	    more specific, e.g., changing "*VT100*" to "*VT100.", to
1972	    make the distinction between VT100.font and VT100.utf8Fonts.font
1973	    sharper, in case a packager modifies one of those.
1974
1975	<li>expanded comments in <code>UXTerm.ad</code> regarding the
1976	    font resources (Debian #319179).
1977
1978	<li>add <code>--enable-narrowproto</code> configure option to
1979	    accommodate X.org "modular" build (report by Stephan Hermann,
1980	    GenToo #17220).
1981
1982	<li>fix typo in xterm.man description of <code>+wf</code> (patch
1983	    by Tobias Stoeckmann).
1984
1985	<li>add <code>scrollBarBorder</code> resource (request by Floyd L
1986	    Davidson).
1987
1988	<li>modify <code>xterm-new</code> terminfo entry to use capabilities
1989	    for shifted scroll forward/reverse as shifted cursor up/down.
1990
1991	<li>correct updating of checkmark for toolbar entry in popup menu
1992	    (report by Emanuele Giaquinta).
1993
1994	<li>fix ifdef's to allow compiling with toolbar and without tek4014
1995	    (patch by Emanuele Giaquinta).
1996
1997	<li>use <code>openpty()</code> for Darwin port (patch by Emanuele
1998	    Giaquinta).
1999
2000	<li>fix GenToo #90697 a different way, postponing the logic in
2001	    <code>SetupToolbar</code> until the toolbar is actually needed,
2002	    i.e., the <code>+tb</code> option is handled as expected.
2003
2004	<li>revert fix made in <a href="#xterm_203">patch #203</a> for GenToo
2005	    #90697.  That introduced a problem with the control mouse
2006	    click-popups, while most of the performance problems can be
2007	    resolved by restricting the menu fonts (report by Emanuele
2008	    Giaquinta).
2009
2010	<li>fix a file-descriptor leak when calling <code>openpty()</code>
2011	    (OpenBSD system/4561).
2012
2013	<li>make a special case of resizing work like vt100: a hard reset
2014	    also resets the 132/80 mode.  The code to support this was
2015	    present since X11R5, but not used because the corresponding
2016	    initial state of the <code>-132</code> option was not saved.
2017
2018	<li>restore window manager hints after <code>XtMakeResizeRequest()</code>
2019	    calls.  One instance from <a href="#xterm_205">patch #205</a>
2020	    resulted in the window manager displaying pixels rather than
2021	    than characters after selecting a different font size (FreeBSD
2022	    ports/87424).
2023
2024	<li>remove special case for Darwin in CF_XOPEN_SOURCE
2025	    (Emanuele Giaquinta).
2026
2027	<li>modify parsing of control sequence <code>CSI&nbsp;T</code>
2028	    to allow scroll-down
2029	    to be sent while mouse tracking is enabled (request by
2030	    D Hugh Redelmeier).
2031
2032	<li>correct termcap "me" (mode-end) string so it does not modify the
2033	    alternate character set (report by Andrey Chernov).
2034
2035	<li>correct size-comparison in HandleInterpret() broken in changes
2036	    from <a href="#xterm_201">patch #201</a> to allocate input
2037	    buffer (Debian #334317).
2038
2039	<li>amend adjustments for scrollbar layout from
2040	    <a href="#xterm_204">patch #204</a> to make
2041	    this apply only to the toolbar configuration.  In the non-toolbar
2042	    configuration, the resulting scrollbar was shifted by its
2043	    borderwidth (report by Matthieu Herrb).
2044
2045	<li>add select-cursor-extend() action.
2046
2047	<li>fix some broken href's in xterm.log.html, and typo in the
2048	    INSTALL file (report/patch by David Mart&#237;nez Moreno).
2049
2050	<li>modify <code>Imakefile</code> to use setgid mode for installing
2051	    with Linux, OpenBSD and FreeBSD.
2052
2053	<li>add configure --with-setuid and --with-reference options to
2054	    allow packagers more flexibility in customizing install
2055	    permissions.
2056
2057	<li>generalize and make optional (configure --with-utmp-setgid)
2058	    the change made for XFree86 Bugzilla #878 in
2059	    <a href="#xterm_205">patch #205</a>
2060	    (FreeBSD bug report #ports/86663).
2061</ul>
2062
2063<H1><A NAME="xterm_205">Patch #205 - 2005/9/18 - XFree86 4.5.99.12</A></H1>
2064<ul>
2065	<li>correct a typo in CF_FUNC_TGETENT introduced in <a
2066	    href="#xterm_198">patch #198</a> fix for Gentoo #69926.
2067
2068	<li>implement logic in termcap query to process multiple parameters
2069	    as documented in ctlseqs.ms
2070
2071	<li>fix buffer size used for termcap query, which was not long enough
2072	    for the terminfo "colors" name (patch by Bradd W. Szonye).
2073
2074	<li>add configure option --enable-readline-mouse, which turns on the
2075	    experimental OPT_READLINE code (patch by Ilya Zakharevich).
2076
2077	<li>for FreeBSD, drop setuid privileges after startup
2078	    (XFree86 Bugzilla #878, report/patch by Alexander Pohoyda)
2079
2080	<li>add menu entry (alt-esc) and corresponding action (alt-sends-esc)
2081	    to toggle the <code>eightBitInput</code> resource setting.
2082
2083	<li>generate configure script with autoconf 2.52 (patched) to use
2084	    the feature therein which forces the script's locale to POSIX
2085	    (Gentoo Bugzilla #105369).
2086
2087	<li>modify computation of rows/columns on resize to avoid extending
2088	    beyond the given limits, e.g., if resizing in response to a
2089	    "maximize" in Gnome or KDE which do not use the window manager
2090	    hints for this case (Debian #289123, Novell #61153).
2091
2092	<li>modifications to work with z/OS 1.4 (Paul Giordano).
2093
2094	<li>improve error-reporting when chown/chmod of the pseudo-terminal
2095	    fails, e.g., if a copy of xterm which was designed to work with
2096	    old-style pseudo-terminals is not installed setuid or setgid
2097	    (report by Jeremy C. Reed).
2098
2099	<li>patches from Emanuele Giaquinta:
2100	    <ul>
2101	    <li>ctlseqs.ms says that primary and secondary DA accept a
2102	        nonzero parameter, which is incorrect.  Also modify code
2103		to agree with this.
2104
2105	    <li>correct a comment in 88colres.pl
2106
2107	    <li>ctlseqs.ms says that the DEC Set/Reset control sequences for
2108		the backarrow key make it send DEL/BS, respectively, while it's
2109		the opposite.
2110
2111	    <li>update the menu entries for the metaSendsEscape, deleteIsDEL
2112		and numLock resources when changing them with the corresponding
2113		DEC Set/Reset control sequences.
2114	    </ul>
2115
2116	<li>fixes for configure script:
2117	    <ul>
2118	    <li>add special case for QNX, defining _QNX_SOURCE.
2119	    <li>check for preprocessors which do not perform -U and -D options
2120	        in the given order.
2121	    <li>improve macro to determine gcc version
2122	    <li>improve check for Intel compiler and related warning options
2123	    </ul>
2124
2125	<li>update config.guess, config.sub
2126
2127	<li>improve fix from <a href="#xterm_198">patch #198</a> for
2128	    <code>Cleanup()</code> by ensuring it is not called from the
2129	    SIGCHLD handler (patch from OpenBSD by Todd Miller).
2130
2131	<li>eliminate a retry for a better-matching bold font, to work around
2132	    recent font server changes.
2133
2134	<li>fixes for Novell #113277:
2135	    <ul>
2136	    <li>specify weight for wide font which may be derived from
2137	        normal fontname.
2138	    <li>cache the derived wide- and widebolt-fontnames.
2139	    </ul>
2140
2141	<li>workaround for GenToo Bugzilla #100728.
2142
2143	<li>add menubar's border width to layout computation.  Normally this
2144	    is zero, but patterns such as <code>XTerm*borderWidth:1</code>
2145	    would give poor layout for the toolbar configuration.
2146</ul>
2147
2148<H1><A NAME="xterm_204">Patch #204 - 2005/8/4 - XFree86 4.5.99.9</A></H1>
2149<ul>
2150	<li>work around quirk in shell which allowed user to "run" uxterm
2151	    script when there was no UTF-8 locale installed by entering
2152	    "sh -x uxterm".  Also popup an xmessage to show the problem
2153	    for users who run this via a GUI (Debian #318513).
2154
2155	<li>disallow changes to fonts, toolbar and scrollbar when the vt100
2156	    window is iconified, to simplify management of the active icon.
2157
2158	<li>fixes to make <code>-geom</code> option work properly with the
2159	    toolbar configuration (Gentoo Bugzilla #90717, #91967).
2160
2161	<li>minor improvements to scrollbar layout: ensure that the scrollbar
2162	    border is zero if the vt100 border is zero.
2163
2164	<li>improve initialization due to <code>utf8</code> resource by
2165	    loading the <code>utf8Fonts</code> resource in the case where
2166	    <code>locale</code> resource is false.  Also in this case, do
2167	    not disable switching UTF-8 mode on/off.
2168
2169	<li>minor optimization of TrueType font-loading, loads italic font
2170	    only when needed.
2171
2172	<li>correct variable used to store temporary result from lookup of bold
2173	    font, when initializing the wide-bold-font data and no immediate
2174	    match is found by asking for a bold variant of the wide-font.  The
2175	    result was to use overstriking rather than the actual bold font
2176	    (Debian #318162, patch by Eugene Konev).
2177
2178	<li>add checks to ensure vt100 widget is realized when it might be
2179	    updated via actions handled from a tek4014-only configuration.
2180</ul>
2181
2182<H1><A NAME="xterm_203">Patch #203 - 2005/7/6 - XFree86 4.5.99.7</A></H1>
2183<ul>
2184	<li>modify initialization of <code>allowSendEvents</code> and
2185	    <code>allowWindowOps</code> to prevent modification with the
2186	    editres protocol.
2187
2188	<li>fix compiler warning for NetBSD by including util.h in main.c
2189	    (XFree86 Bugzilla #1596).
2190
2191	<li>fix to build on Darwin 8.x, which no longer provides
2192	    <code>setpgrp()</code> (patch by Min Sik Kim).
2193
2194	<li>adapted fixes for Legend (SCO) from diffs attached to
2195	    Freedesktop.Org Bugzilla #3180.
2196
2197	<li>fix typo in xterm manpage description of <code>-ls</code> option
2198	    (Freedesktop.Org Bugzilla #3543).
2199
2200	<li>add support for interpreting the underline attribute as an italic
2201	    font in Xft mode (patch by Chuck Blake).
2202
2203	<li>improve initialization of toolbar so that individual pulldown
2204	    menus are initialized on demand, as they are in the scenario
2205	    where they are invoked as popup menus (GenToo Bugzilla #90697).
2206
2207	<li>fix logic in <code>find_utmp</code>, which did not reset result
2208	    in <code>getutid()</code>, causing an infinite loop in some
2209	    conditions (report by Emil Mikulic).
2210
2211	<li>set the <code>_NET_WM_PID</code> property (GenToo Bugzilla #91008).
2212
2213	<li>modify ifdef's in ptyx.h and xterm_io.h to build with DragonFly
2214	    (patch by Jeroen Ruigrok).
2215
2216	<li>change default values for <code>minBufSize</code> and
2217	    <code>maxBufSize</code> to 4096 and 32768 respectively so that the
2218	    initial read request will match the value from before changes to
2219	    use <code>sched_yield()</code>.
2220
2221	<li>make paste of UTF-8 faster for Western character sets by checking
2222	    range of incoming data (patch by Joe Allen).
2223
2224	<li>adapted patch by Joe Allen to add experimental option to allow
2225	    applications to get or set the selection data as a BASE64 string.
2226
2227	<li>fix an off-by-one error parsing <code>-S/nn</code> option
2228	    (Debian #311438, report/fix by Peter Chubb).
2229
2230	<li>fix an initialization bug from
2231	    <a href="#xterm_201">patch #201</a> that broke logging
2232	    (report by Rodney Thayer).
2233
2234	<li>amend change to command-line processing in
2235	    <a href="#xterm_201">patch #201</a> to avoid
2236	    conflict with <code>-e</code> option (report by Servatius Brandt).
2237
2238	<li>suppress configure check for <code>_XOPEN_SOURCE</code> on
2239	    darwin.
2240
2241	<li>update config.guess, config.sub
2242</ul>
2243
2244<H1><A NAME="xterm_202">Patch #202 - 2005/5/2 - XFree86 4.5.99.3</A></H1>
2245<ul>
2246	<li>add extended shift- and control-modifier cursor keys to
2247	    "xterm+pcfkeys" terminfo entry to correspond to ncurses 20050430
2248	    patch.
2249
2250	<li>fix a rare case where text would be written with the wrong colors
2251	    because output of scrolled text would reset the colors and the
2252	    new text would be written with the same colors (report/testcase
2253	    by Thomas Glanzmann).
2254
2255	<li>rename <code>$CMD</code> variable in <code>plink.sh</code> because
2256	    it is a reserved symbol in bash 3.00.16 (report by Ted Taylor).
2257
2258	<li>add environment variables <code>$XTERM_SHELL</code> and
2259	    <code>$XTERM_VERSION</code>
2260	    (request by Zdenek Sekera).
2261
2262	<li>corrected workaround for background color of menubar, which gave
2263	    a too-broad expression, coloring the background of the VT100
2264	    widget unless overridden by another resource setting.
2265
2266	<li>correct an error in the logic which decides when
2267	    <code>sched_yield()</code> is run; it would occasionally hang when
2268	    contending with other pseudo-terminal applications such as screen
2269	    (report by Kirill Ponomarew).
2270
2271	<li>modify initialization to decide whether to default to built-in
2272	    <code>wcwidth()</code> versus system's version based on the
2273	    starting locale and whether the system's version is poor quality
2274	    (suggested by Bram Moolenaar).
2275
2276	<li>update table for <code>mk_width()</code> from UnicodeData 4.1.0
2277	    using Markus Kuhn's <code>uniset</code> script.
2278</ul>
2279
2280<H1><A NAME="xterm_201">Patch #201 - 2005/4/21 - XFree86 4.5.99.2</A></H1>
2281<ul>
2282	<li>improve resource files to show how the menubar and popup menus can
2283	    be colored (prompted by report by Joe Wells).
2284
2285	<li>modify parsing of OSC (and SOS, etc), strings so their contents
2286	    are not interpreted as UTF-8.  This allows non-ASCII title strings
2287	    to be set, provided that the window manager complies (report by
2288	    Thomas Wolff).
2289
2290	<li>improved some of the built-in line-drawing glyphs.
2291
2292	<li>correct color of "box" character drawn for line-drawing glyph 1
2293	    (report by Nicolas George).
2294
2295	<li>improve behavior when switching to UTF-8 mode after startup so
2296	    xterm will check if the current fonts are already wide
2297	    (ISO10646-1).  If they are not, xterm will use the
2298	    <code>utf8Fonts</code> subresource to load appropriate fonts
2299	    (request by Bram Moolenaar).
2300
2301	<li>modify logic for setting title-string so it applies to the current
2302	    widget rather than the vt100 widget.
2303
2304	<li>modify initialization for wide-bold fontname, to search for one
2305	    if none is given (report by Michael Schroeder).
2306
2307	<li>add resource <code>mkWidth</code> and command-line option
2308	    <code>-mk_width</code> to control whether xterm uses the built-in
2309	    version of wcwidth().
2310
2311	<li>add resource settings for minimum/maximum input buffer size, and
2312	    call to <code>sched_yield</code> to improve performance with newer
2313	    Linux kernels (adapted from patch by Nicolas George).
2314
2315	<li>correct computation of width for wide characters with the invisible
2316	    attribute (report by Thomas Wolff).
2317
2318	<li>modify interaction between <code>+u8</code> and <code>locale</code>
2319	    resource to allow the command-line option to override the resource
2320	    (requested by Thomas Wolff).
2321
2322	<li>add a limit check for scrolling margins in a one-line screen,
2323	    overlooked in fixes for
2324	    <a href="#xterm_198">patch #198</a> (Debian #297430).
2325
2326	<li>correct treatment of <code>iconBorderWidth</code> for resizing
2327	    an active-icon, and its description in manpage (Debian #296592).
2328
2329	<li>modify configure script <code>--disable-imake</code> to use the
2330	    script's definitions anyway if it cannot detect imake (prompted
2331	    by FreeBSD bug 77408).
2332
2333	<li>ignore error in the I/O initialization that tries to set the
2334	    tty to 7-bit input for the case where <code>eightBitInput</code>
2335	    resource is false (Debian #298551).
2336
2337	<li>modify command-processing to accept an optional parameter that
2338	    tells xterm which shell program to use (request by Zdenek Sekera).
2339
2340	<li>add simpler resource <code>keyboardType</code> which, when set,
2341	    overrides the individual keyboard-type resources and eliminates
2342	    the possibility of conflict between them.
2343
2344	<li>add initialization for <code>scoFunctionKeys</code> resource
2345	    (report by Rick K).
2346
2347	<li>correct logic of <code>ReallocateBufOffsets()</code> which did not
2348	    copy the content of the old screen buffer to the proper location,
2349	    making a repaint clear after switching to wide-character mode
2350	    (report by Bram Moolenaar):
2351
2352	<li>implement the remaining pieces to make xterm allocate cells for
2353	    wide-characters when the "UTF-8" menu entry is selected.  Also,
2354	    load the UTF-8 font when that menu entry is selected, or the escape
2355	    sequence for UTF-8 mode is received (report by Bram Moolenaar):
2356
2357	<li>add command-line options (<code>-tb</code>, <code>+tb</code>) and
2358	    resource <code>toolBar</code> to allow menu/toolbar to disabled or
2359	    enabled at startup (prompted by reports by Joe Wells).
2360
2361	<li>correct typo in configure script's --enable-dec-locator option
2362	    (report by Bram Moolenaar).
2363</ul>
2364
2365<H1><A NAME="xterm_200">Patch #200 - 2005/2/6 - XFree86 4.4.99.23</A></H1>
2366<ul>
2367	<li>increase color pairs value for xterm-256color and xterm-88color to
2368	    match ncurses, which has an experimental option to support this.
2369
2370	<li>modify ifdef's to make AIX use termios rather than termio; the
2371            struct sizes for the two were not the same.
2372
2373	<li>improve CF_WITH_IMAKE_CFLAGS configure macro script for
2374	    OSMAJORVERSION and OSMINORVERSION values, e.g., for Tru64 and AIX.
2375
2376	<li>modify ifdef to define USE_POSIX_TERMIOS for Darwin (patch by Min
2377	    Sik Kim).
2378
2379	<li>modify find_utmp() to initialize the whole utmpx struct (except
2380	    ut_id), since that is needed for OSF1 4.0D to prevent an infinite
2381	    loop on exit.
2382
2383	<li>add configure check before adding -D_POSIX_SOURCE since some
2384	    platforms predefine it, e.g., cygwin.
2385
2386	<li>add simplified sed expressions in CF_IMAKE_CFLAGS configure script
2387	    macro to ensure value for PROJECTROOT is quoted on Solaris, i.e.,
2388	    when nested <code>\(</code> and <code>\)</code> are not interpreted
2389	    correctly.
2390
2391	<li>correct DEC rectangle operations to reset state after completing
2392	    the operations.
2393
2394	<li>modify CASE_ST handling in charproc.c to ensure that the parse
2395	    state is reset even if xterm is not currently processing an OSC or
2396	    other string (patch by Johnny Billquist forwarded by Matthias
2397	    Scheler, NetBSD xsrc/29003).
2398
2399	<li>fix OS/2 build for innotek_libc (patch by David Yeo).
2400
2401	<li>fix a regression from <a href="#xterm_197">patch #197</a> fix for
2402	    Debian #277832 which disowned the selection if it was scrolled,
2403	    e.g., by the user pressing return at the bottom of the screen
2404	    (Debian #291787).
2405
2406	<li>move the warning/exit for missing $DISPLAY into the error handler
2407	    in case <code>-display</code> is given, and the connect fails for
2408	    some other reason.
2409</ul>
2410
2411<H1><A NAME="xterm_199">Patch #199 - 2005/1/17 - XFree86 4.4.99.22</A></H1>
2412<ul>
2413	<li>instead of setting <code>$DISPLAY</code>, check for the unset
2414	    variable and warn/exit on this condition (comments by H Merijn
2415	    Brand and Bernhard R Link).
2416
2417	<li>fix a typo in Imakefile from <a href="#xterm_198">patch #198</a>
2418	    (reports/patches by Stefan Dirsch, and Mike Castle).
2419</ul>
2420
2421<H1><A NAME="xterm_198">Patch #198 - 2005/1/13 - XFree86 4.4.99.21</A></H1>
2422<ul>
2423	<li>set <code>$DISPLAY</code> to ":0" if it is not set.
2424
2425	<li>add <code>utmpDisplayId</code> resource to allow users to control
2426	    whether the display identifier (display number and screen number)
2427	    are retained in the connection information recorded in utmp
2428	    (discussion with Edoardo Tirtarahardja).
2429
2430	<li>add <code>bellOnReset</code> resource to allow users to disable
2431	    bell which sounds on hard reset since <a href="#xterm_183">patch
2432	    #183</a> changes to DECSCL (discussion with Danek Duvall).
2433
2434	<li>improve <code>$WINDOWID</code> for configuration with toolbar by
2435	    making it refer to the top-level shell rather than the parent of
2436	    the current window.  For that case, the parent is a form widget,
2437	    which does not have a name, which made the <code>$WINDOWID</code>
2438	    not very useful as a parameter for <code>xwininfo</code>
2439	    (suggested by Dave Bodenstab).
2440
2441	<li>fix a typo in WhichVFont() macro
2442	    from <a href="#xterm_197">patch #197</a> changes
2443	    which broke the --disable-active-icon configuration
2444	    (report by Ralf S. Engelschall).
2445
2446	<li>improve some limit checks (Gentoo Bugzilla #75604).
2447
2448	<li>add --disable-setuid option to configure script (Gentoo Bugzilla
2449	    #76543).
2450
2451	<li>add --disable-full-tgetent option to configure script, allowing one
2452	    to ignore a termcap library in favor of ncurses/curses (Gentoo
2453	    Bugzilla #69926).
2454
2455	<li>modify configure script to choose useful warning options for Intel
2456	    version 8.0 compiler.
2457
2458	<li>update config.guess, config.sub
2459
2460	<li>make active-icon work properly when TrueType fonts are used
2461	    (Debian #286068).
2462
2463	<li>correct change from <a href="#xterm_157">patch #157</a> which uses
2464	    getlogin() to check for an alias; the storage used for the related
2465	    getpwuid() call was overwritten by the data used for comparison
2466	    (patch by Per Hedeland).
2467
2468	<li>correct case of SCS for character set 0 (line-drawing) to allow it
2469	    to be selected into GR.
2470
2471	<li>fix a file-descriptor leak (Redhat Bugzilla #139597).
2472
2473	<li>modify <code>creat_as()</code> to only fork if xterm is actually
2474	    running as setuid and/or setgid.  This works around a Cygwin bug
2475	    which hangs when logging is enabled and makes xterm a little
2476	    faster for systems using interfaces such as utempter (report by
2477	    Al Goodman).
2478
2479	<li>modify <code>Cleanup()</code> to avoid operations such as X calls
2480	    that might use unsafe functions when it is called by a signal
2481	    handler (report by Michiel Boland).
2482
2483	<li>fix bugs in <a href="#xterm_191">patch #191</a> and in SRM changes
2484	    from <a href="#xterm_197">patch #197</a> that
2485	    broke DECSET 38:  switch to Tek4014 emulation (report by Dave
2486	    Bodenstab).
2487
2488	<li>fix for manpage escapes (Marc La France).
2489
2490	<li>improve on IRIX-specific change for Imakefile in XFree86 CVS versus
2491	    resize linking against termcap library to reflect definitions for
2492	    USE_TERMCAP in resize.c
2493</ul>
2494
2495<H1><A NAME="xterm_197">Patch #197 - 2004/11/30 - XFree86 4.4.99.19</A></H1>
2496<ul>
2497	<li>modify configure script to remove empty "-DPROJECTROOT=" definition
2498	    which resulted unusable values for luit's default path.
2499
2500	<li>update precompose.c based on Unicode 4.0.1
2501
2502	<li>several minor fixes based on Intel compiler warnings.
2503
2504	<li>change default translations so a <code>BtnDown</code> which is
2505	    not recognized is simply ignored rather than emitting a bell.
2506	    That makes it less obtrusive when the user tries to use a mouse
2507	    which provides more capabilities than the X mouse driver supports,
2508	    e.g., one with a horizontal scroll wheel (Debian #265133).
2509
2510	<li>note in xterm's manpage that <code>translations</code> is not
2511	    specific to xterm (Debian #278897).
2512
2513	<li>modify uxterm script to use locale program to verify if the
2514	    derived locale is installed (Debian #246398).
2515
2516	<li>correct font handling for active icon when in UTF-8 mode (report
2517	    by Paolo Liberatore).
2518
2519	<li>make active-icon and toolbar configurations work together.
2520
2521	<li>modify the criteria for disowning primary selection.  Previously,
2522	    this happened anytime the cursor was moved before the end of the
2523	    selection.  That would ensure that any insert/delete of char or
2524	    line, as well as scrolling, would disown the selection.  The
2525	    new criteria change this to checking if the operations would
2526	    modify the data which is highlighted (Debian #277832).
2527
2528	<li>reimplement <code>DECALN</code> with functions for vt420 rectangles,
2529	    fixes selection for this case.
2530
2531	<li>implement vt420 rectangle operations.
2532
2533	<li>add parsing, for debug/test of vt220 soft-fonts.
2534
2535	<li>add menu entry, actions and escape sequence to allow
2536	    enabling/disabling toolbars at runtime.
2537
2538	<li>improve rendering for Xft, allow it to draw non-linedrawing
2539	    characters such as "pi", which were drawn from internal tables
2540	    with <a href="#xterm_180">patch #180</a>
2541	    (Freedesktop.org Bugzilla #1260).
2542
2543	<li>add configure option <code>--enable-mini-luit</code>, ifdef'd the
2544	    mini-luit feature with <code>OPT_MINI_LUIT</code>.
2545
2546	<li>add mini-luit feature, which supports Latin9 directly rather than
2547	    via luit, provided that Unicode fonts are used (Freedesktop.org
2548	    Bugzilla #1571, request by Stefan Dirsch, patch by Michael
2549	    Schroeder).
2550
2551	<li>for Linux, if IUTF8 is defined, e.g., on recent 2.6.x kernels,
2552	    set the corresponding flag for the slave pty, to enable UTF-8
2553	    interpretation of backspace in cooked mode (Freedesktop.org
2554	    Bugzilla #1578, request by Stefan Dirsch).
2555
2556	<li>modify <code>faceSize</code> resource to use a floating-point
2557	    internal value (adapted from patch by Sam Stephenson).
2558
2559	<li>correct handling selection of tabs over cleared space in UTF-8
2560	    mode.  In this special case, xterm represents the whitespace with
2561	    a null rather than a space character (Debian #276447).
2562
2563	<li>amend fix for infinite loop from <a href="#xterm_192">patch
2564	    #192</a> to check if there is wrapped text to output in a following
2565	    iteration (Debian #273202).
2566
2567	<li>fixes ifdef'd with <code>__INTERIX</code> to allow building with
2568	    Interix (Windows Services for UNIX) 3.5 using the xlibs libraries
2569	    from freedesktop.org (patch by Min Sik Kim).
2570
2571	<li>amend solution for Debian #252873, #260471 from <a
2572	    href="#xterm_194">patch #194</a> by making the cursor not
2573	    explicitly colored if only the foreground color is set, and the
2574	    cursor is on a blank space (Debian #275473).
2575
2576	<li>correct logic for send/receive mode (SRM) with regard to control
2577	    characters.
2578
2579	<li>fix masking of invisible text in wide-character mode, which did
2580	    not work for line-drawing characters.
2581
2582	<li>incorporate CF_XOPEN_SOURCE into configure script, replacing
2583	    CF_GNU_SOURCE.
2584</ul>
2585
2586<H1><A NAME="xterm_196">Patch #196 - 2004/8/15 - XFree86 4.4.99.12</A></H1>
2587<ul>
2588	<li>add a special case to configure script to ignore NetBSD's
2589	    <code>grantpt()</code> which was recently added (but not part of a
2590	    release), until someone is able to ensure that xterm can use it
2591	    (report by Min Sik Kim).
2592
2593	<li>clear the buffer returned by getutid().  This fixes an infinite
2594	    loop on some platforms introduced in <a href="#xterm_193">patch
2595	    #193</a> by Debian #256468 fix (report by David Ellement).
2596</ul>
2597
2598<H1><A NAME="xterm_195">Patch #195 - 2004/8/8 - XFree86 4.4.99.11</A></H1>
2599<ul>
2600	<li>correct length used for blinking text, make the last column blink
2601	    (patch by Alexander V Lukyanov).
2602
2603	<li>start changes to make doublesize characters work with TrueType
2604	    fonts (see <a href="#xterm_44">patch #44</a>).
2605
2606	<li>trim leading/trailing blanks from color resources as done for
2607	    other strings in <a href="#xterm_167">patch #167</a>.
2608
2609	<li>fixes for <code>showBlinkAsBold</code> resource (report by
2610	    Christoph Berg).
2611</ul>
2612
2613<H1><A NAME="xterm_194">Patch #194 - 2004/7/27 - XFree86 4.4.99.11</A></H1>
2614<ul>
2615	<li>change clearing operations so foreground color attribute is not
2616	    set.  Usually this is benign, but in some cases when the cursor
2617	    color is not set explicitly, the cursor would show this color
2618	    (Debian #252873, #260471).
2619
2620	<li>add extra state (cursor-moved) to guard against deciding that the
2621	    cursor did not require repainting after an indexing operation
2622	    that leaves the cursor in the same location on the screen.
2623
2624	<li>fix a case where a full-screen indexing operation would
2625	    not restore the cursor-busy state.
2626
2627	<li>fix a repainting bug introduced in
2628	    <a href="#xterm_180">patch #180</a>:  when using a font
2629	    lacking line-drawing characters, a repaint of the screen could
2630	    skip horizontally an extra amount after filling in the missing
2631	    character (reports by Nicolas George, Hans de Goede, Redhat
2632	    Bugzilla #128341).
2633
2634	<li>rename terminfo fragment "xterm-pc-fkeys" to "xterm+pcfkeys" for
2635	    consistency with ncurses.
2636</ul>
2637
2638<H1><A NAME="xterm_193">Patch #193 - 2004/7/19 - XFree86 4.4.99.10</A></H1>
2639<ul>
2640	<li>fix for wide-character selection from OpenBSD CVS
2641	    (report/patch by Matthieu Herrb).
2642
2643	<li>modify initialization and cleanup of utmp data to also compare
2644	    the <code>ut_line</code> member (Debian #256468).
2645
2646	<li>modify check on focus-change to ignore <code>FocusOut</code> events
2647	    generated by <code>XGrabKeyboard</code>.  This fixes a case where
2648	    the text cursor would act as if focus were lost when selecting the
2649	    "Secure Keyboard" menu option.
2650
2651	<li>add <code>gen-pc-fkeys.pl</code> script, use that to generate
2652	    terminfo fragment corresponding to the pc-style function keys.
2653
2654	<li>fix a case where the checkmark by the "VT220 Keyboard" menu entry
2655	    was not set on startup.
2656
2657	<li>separated two methods for making the cursor blink (menu and
2658	    escape sequence) by using the menu as the primary method and
2659	    XOR'ing the state of the escape sequence against that.
2660
2661	<li>modify logic for enabling blinking cursor via escape sequence as
2662	    well as the related save/restore operations so this is only
2663	    available if the <code>cursorBlink</code> resource was set on
2664	    startup.
2665</ul>
2666
2667<H1><A NAME="xterm_192">Patch #192 - 2004/7/12 - XFree86 4.4.99.9</A></H1>
2668<ul>
2669	<li>change resource settings for color4 and color12, add some discussion
2670	    in <code>XTerm-col.ad</code> (Debian #241717).
2671
2672	<li>add a note in xterm manpage discussing the difference between
2673	    alt- and meta-keys, and the way the latter is used in the
2674	    <code>eightBitInput</code> resource.
2675
2676	<li>add a note in xterm manpage regarding possible conflict between
2677	    resource settings for <code>xterm.vt100.font</code> and
2678	    <code>xterm.vt100.utf8Fonts.font</code> (Debian #254650).
2679
2680	<li>add compile-time customization of <code>backarrowKeyIsErase</code>
2681	    and <code>ptyInitialErase</code> default resource values
2682	    (adapted from OpenBSD CVS).
2683
2684	<li>change parameter of <code>FIONREAD</code> <code>ioctl()</code> call
2685	    from long to int
2686	    (discussion on tech-x11@netbsd.org regarding LP64 by
2687	    John Heasley and Matthias Scheler).
2688
2689	<li>modify configure script options for Athena widgets to work as
2690	    expected for "--without-Xaw3d", etc., (GenToo Bugzilla #53455).
2691
2692	<li>add case to uxterm to accommodate locales ending with "@euro",
2693	    e.g., fr_FR.UTF-8@euro (Debian #255197, report/analysis by
2694	    Matthieu Lagouge).
2695
2696	<li>add special case for VT100 graphic's "box" character (discussion
2697	    with Ben Armstrong).
2698
2699	<li>add missing initialization for bitmap-font sizes needed to make
2700	    fonts menu work with TrueType fonts (report by Ben Armstrong).
2701
2702	<li>save the fontnames for bold fonts that are derived from normal
2703	    fonts, or from the <code>boldFont</code> resource, so the same
2704	    value is restored when switching with the VT Fonts menu (Debian
2705	    #256086).
2706
2707	<li>fix manpage preprocessing (Marc La France).
2708
2709	<li>fix typo in manpage's description of character classes (Debian
2710	    #257073).
2711
2712	<li>modify terminfo to accommodate luit, which relies on G1 being used
2713	    via an ISO-2022 escape sequence (Debian #254316, analysis by
2714	    Juliusz Chroboczek).
2715
2716	<li>modify Makefile.in rule for ctlseqs.txt to work around groff SGR
2717	    misfeature.
2718
2719	<li>modify <code>XTerm.ad</code> to set <code>saveLines</code> default
2720	    to 1024 (Redhat Bugzilla #127132).
2721
2722	<li>add a limit-check in <code>dotext()</code> to prevent infinite
2723	    loop in a corner case of UTF-8 configuration.
2724
2725	<li>update config.guess, config.sub
2726</ul>
2727
2728<H1><A NAME="xterm_191">Patch #191 - 2004/6/6 - XFree86 4.4.99.7</A></H1>
2729<ul>
2730	<li>correct options parsing for <code>-into</code> option so it
2731	    can be combined with <code>-e</code> (Redhat Bugzilla #124518,
2732	    report/patch by James Armstrong).
2733
2734	<li>fix ifdef's for <code>OPT_COLOR_RES2</code>
2735	    so that the fake resource table introduced in
2736	    <a href="#xterm_188">patch #188</a>
2737	    is not compiled if it is empty.
2738	    This happened to work with gcc (report by Joel Konkle-Parker).
2739
2740	<li>reorganize ptydata.c to use one input buffer shared between
2741	    the VTxxx and tek4014 emulators.  In the new scheme, UTF-8
2742	    decoding is performed on characters as they are needed by the
2743	    state machine rather than on buffers as they are read.
2744
2745	<li>work around change in quoting of PROJECTROOT symbol when using
2746	    configure script, from changes made in
2747	    <a href="#xterm_187">patch #187</a> for CF_IMAKE_CFLAGS
2748	    (GenToo Bugzilla #50982).
2749</ul>
2750
2751<H1><A NAME="xterm_190">Patch #190 - 2004/5/25 - XFree86 4.4.99.6</A></H1>
2752<ul>
2753	<li>correct state for values in the range 128-159 after translating
2754	    from UTF-8: this should be ignored unless the user overrides it
2755	    with the <code>allowC1Printable</code> resource (reported by
2756	    Simon Strandgaard).
2757
2758	<li>add configure-script check for nl_langinfo(CODESET), use this to
2759	    replace check of environment variables for UTF-8.
2760
2761	<li>change Makefile.in rules for 256colres.h and 88colres.h so they
2762	    are only made if they do not exist.  The maintainer-clean rule
2763	    will remove these files; they require perl to be made.
2764
2765	<li>remove check in configure script --enable-toolbar that suppressed
2766	    this option when building with Xaw7.
2767
2768	<li>apply fixes to Tektronix widget used for VT100 widget to make
2769	    toolbar work with Xaw7 (XFree86 4.x).
2770</ul>
2771
2772<H1><A NAME="xterm_189">Patch #189 - 2004/5/16 - XFree86 4.4.99.6</A></H1>
2773<ul>
2774	<li>do not call xim_real_init() if <code>openIm</code> resource is
2775	    false (Debian #249025).
2776
2777	<li>minor improvements to built-in line-drawing.
2778
2779	<li>fix a few portability issues with dynamic abbreviation support,
2780	    i.e., did not compile on Tru64.
2781
2782	<li>modify constraints in form used to layout toolbar, to work with
2783	    newer Xaw in XFree86 4.x.
2784</ul>
2785
2786<H1><A NAME="xterm_188">Patch #188 - 2004/5/12 - XFree86 4.4.99.6</A></H1>
2787<ul>
2788	<li>correct table entry for DEL in the ground state, which marked it
2789	    as a printable character from <a href="#xterm_171">patch #171</a>
2790	    (report by D Hugh Redelmeier).
2791
2792	<li>improve fix in <a href="#xterm_186">patch #186</a> for failure in
2793	    xim_real_init() by adding a sleep.
2794
2795	<li>fix a typo in os2main.c
2796	    (XFree86 Bugzilla #1358, report/patch by Frank Giessler).
2797
2798	<li>make escape sequence reporting dynamic colors consistent with the
2799	    logic that sets it; choosing the opposite color when reverse
2800	    video is set (XFree86 Bugzilla #1361, reported by Bradd W Szonye).
2801
2802	<li>modify initialization of 256- and 88-colors so that colors beyond
2803	    16 are normally not X resources.  This works around a hard-coded
2804	    limit in Xt which breaks xterm when 256-colors and luit are both
2805	    configured (report by Noah Friedman).
2806
2807	<li>remove <code>ncv</code> from <code>xterm-256color</code> terminfo
2808	    entry since it is no longer needed (report by Eli Zaretskii).
2809
2810	<li>add "erase2" and "eol2" keywords to <code>ttyModes</code> resource,
2811	    for recent/current FreeBSD.
2812
2813	<li>improve ifdef's for utempter library to omit direct calls to
2814	    <code>setutent()</code> or <code>getutent()</code> (adapted from
2815	    patch by Christian Biere).
2816
2817	<li>add dynamic abbreviation support like Emacs (patch by Tomasz
2818	    Cholewo).  This is ifdef'd with <code>OPT_DABBREV</code>, and
2819	    enabled via the configure script <code>--enable-dabbrev</code>
2820	    option.
2821
2822	<li>fix problem responding to session management events, e.g., which
2823	    would make logging out very slow (patch by Eddy De Greef, Debian
2824	    #233883).
2825
2826	<li>work around a newer bug in toolbar with XFree86 by forcing menus
2827	    to be fully initialized at startup.  In older versions of XFree86
2828	    and X11R6, it was possible to delay initialization of the menu
2829	    contents until it was popped up.  (The longstanding bug with
2830	    XFree86 4.x layout for toolbar still exists, though).
2831
2832	<li>modify <code>xtermAddInput</code> to work around core dump on
2833	    IRIX64 when initializing scrollbar translations if toolbar is
2834	    compiled-in.
2835
2836	<li>fix some minor conflicts in the 2-character entry names in the
2837	    termcap file.
2838</ul>
2839
2840<H1><A NAME="xterm_187">Patch #187 - 2004/4/27 - XFree86 4.4.99.4</A></H1>
2841<ul>
2842	<li>change xterm version string to use <code>__vendorversion__</code>
2843	    where that is available, and "XTerm" otherwise.
2844
2845	<li>improve description of <code>utf8</code> resource in manpage
2846	    (Debian #179407).
2847
2848	<li>modify configure macros CF_IMAKE_CFLAGS and CF_ADD_CFLAGS to
2849	    handle <code>-D</code> options that define string values, e.g.,
2850	    for <code>XVENDORNAME</code>.
2851
2852	<li>modify configure macro CF_IMAKE_CFLAGS to allow (if
2853	    <code>$PATH</code> is set accordingly) to use the
2854	    <code>xmkmf</code> script within an X build tree.
2855
2856	<li>add missing <code>#undef OPT_SESSION_MGT</code> to xtermcfg.hin
2857	    to make the configure script's --disable-session-mgt option work.
2858
2859	<li>update config.guess, config.sub
2860</ul>
2861
2862<H1><A NAME="xterm_186">Patch #186 - 2004/4/18 - XFree86 4.4.99.4</A></H1>
2863<ul>
2864	<li>change reset on <code>DECSCL</code> to a soft-reset (appears some
2865	    DEC manuals have errors).
2866
2867	<li>add a section to ctlseqs.ms elaborating on normal/alternate screens.
2868
2869	<li>modify initialization of Acolors[] so that any XtDefaultForeground
2870	    or XtDefaultBackground values are translated as in the Tcolors[],
2871	    to use the window's foreground/background colors.  This affects
2872	    the <code>colorBD</code> and similar resources which normally have
2873	    no explicit color assigned.
2874
2875	<li>modify initialization of Tektronix window so that control sequences
2876	    setting its color before the window is popped up will apply to
2877	    its initial colors.
2878
2879	<li>add control sequence to set Tektronix window's text-cursor.
2880
2881	<li>modify initialization of terminal colors, e.g., mouse pointer and
2882	    text cursor, to treat <code>XtDefaultForeground</code> and
2883	    <code>XtDefaultBackground</code> values as the actual foreground
2884	    and background colors of the terminal rather than white and black
2885	    (Debian #241717).
2886
2887	<li>remove an incorrect comparison against <code>PTYCHARLEN</code> in
2888	    parsing the <code>-S</code> option (report by Michael B Taylor).
2889
2890	<li>minor restructuring of terminfo/termcap files, having noted some
2891	    packager's customizations which caused the structure to be
2892	    confused.
2893
2894	<li>eliminate an isolated use of MIN/MAX in charproc.c
2895
2896	<li>replace <code>XtExtdefaultfont</code> and
2897	    <code>XtExtdefaultbackground</code> by their more familiar
2898	    equivalents
2899	    <code>XtDefaultFont</code> and
2900	    <code>XtDefaultBackground</code>.
2901
2902	<li>replace ifdef's using <code>SCO</code>, <code>sco</code> and
2903	    <code>SCO325</code> with <code>__SCO__</code>
2904	    (XFree86 Bugzilla #1301, Kean Johnston).
2905	    But ensure that it still builds on platforms where this symbol
2906	    is not defined.
2907
2908	<li>add <code>scoFunctionKeys</code> resource, to match manpage.
2909
2910	<li>update manpage discussion of menus and related resources.
2911
2912	<li>enable utmpx support for NetBSD 1.6C and newer (patch by
2913	    Matthias Scheler).
2914
2915	<li>add a note in the manpage discussing xterm's treatment of open
2916	    file-descriptors (request by Dan Shearer).
2917
2918	<li>modify <code>Help()</code> to make "xterm -h" write to standard
2919	    output rather than standard error (patch by Bram Moolenaar).
2920
2921	<li>check for type of failure in xim_real_init() to avoid looping when
2922	    the problem is an unsupported input method rather than a failure
2923	    to connect to the XIM server.  Problem was introduced in
2924	    <a href="#xterm_175">patch #175</a> (XFree86 Bugzilla #1306).
2925
2926	<li>modify <code>Imakefile</code> to remove dependency of "install"
2927	    target on the <code>xterm</code> executable to make installs from
2928	    tree without attempting to rebuild anything (David Dawes, based on
2929	    a patch and report from Lee Olsen).
2930
2931	<li>remove call to <code>ShowCursor</code> from
2932	    <code>SetCursorBlink()</code> since that is redundant,
2933	    and can cause display glitches if the cursor is already
2934	    blinking (XFree86 Bugzilla #1158, patch/report by Andreas Schwab).
2935</ul>
2936
2937<H1><A NAME="xterm_185">Patch #185 - 2004/3/3 - XFree86 4.4</A></H1>
2938<ul>
2939	<li>fix tcap-query logic for the backspace key (XFree86 Bugzilla #1233,
2940	    report/patch by Anton Kovalenko).
2941
2942	<li>add test-scripts resize.pl and tcapquery.pl
2943
2944	<li>add translation to ASCII of commonly-used characters that groff
2945	    translates to Unicode, when the font in use does not provide the
2946	    corresponding glyphs (Debian #219551).
2947
2948	<li>modify RequestMaximize(), which performs maximize/restore via
2949	    control sequences, to account for window-frame (patch by
2950	    Jess Thrysoee).
2951
2952	<li>improve pattern used in <code>uxterm</code> to check for UTF-8
2953	    locale, e.g., for HPUX (patch by H Merijn Brand).
2954
2955	<li>add <code>-fd</code> option and resource
2956	    <code>faceNameDoublesize</code> to specify double-wide fonts with
2957	    Xft (adapted from patch by Zarick Lau).
2958
2959	<li>change a couple of resource classes from "Boolean" to specific
2960	    values: <code>freeBoldBox</code>, <code>forceBoxChars</code>.
2961
2962	<li>add resource <code>showMissingGlyphs</code> to outline places on
2963	    the screen where a font lacks the corresponding glyph.
2964
2965	<li>add resource <code>showBlinkAsBold</code> to control whether
2966	    blinking text should be shown as bold or actual blinking text.
2967
2968	<li>improve logic in ShowCursor() to avoid repainting the cursor when
2969	    it is already visible, e.g., in response to the DECTCEM escape
2970	    sequence.  This also addresses XFree86 Bugzilla #1158.
2971
2972	<li>implement blinking text, using the timer for blinking cursor.
2973
2974	<li>modify FreeType support to allow resizing the font, in the same
2975	    ways the window can be resized if fixed fonts are used.  The
2976	    relative font sizes are derived from the fixed font sizes.
2977
2978	<li>add menu items and corresponding actions for switching on/off
2979	    the UTF-8 mode and Xft (TrueType) support.
2980
2981	<li>add logic to handle switching UTF-8 mode on/off.  It worked if
2982	    the escape sequences were flushed, but if data was mixed in with
2983	    the same write, some were not handled properly (report by
2984	    Nicolas George).
2985
2986	<li>modify to allow turning UTF-8 mode on/off via escape sequence even
2987	    if <code>-wc</code> option was not given at startup (patch by Peter
2988	    Berg Larsen).
2989
2990	<li>amend fix for XFree86 Bugzilla #981, adjusting for savedlines value
2991	    (report by Tim Adye).
2992
2993	<li>fix a typo in computing relative font size (Jess Thrysoee).
2994</ul>
2995
2996<H1><A NAME="xterm_184">Patch #184 - 2003/12/31 - XFree86 4.3.99.903</A></H1>
2997<ul>
2998	<li>improve configure-script checks for FreeType and related libraries,
2999	    using <code>xft-config</code> or <code>freetype-config</code>
3000	    scripts when available.
3001
3002	<li>fix configure-script check for <code>SYSV</code> definition by
3003	    ensuring whether <code>sys_errlist[]</code> is declared, and by
3004	    modifying the test program to include <code>X11/Intrinsic.h</code>
3005	    to check that <code>wchar_t</code> is declared consistently (report
3006	    by H Merijn Brand).
3007</ul>
3008
3009<H1><A NAME="xterm_183">Patch #183 - 2003/12/26 - XFree86 4.3.99.903</A></H1>
3010<ul>
3011	<li>correct logic for configurations that may attempt to open both
3012	    old/new-style pseudoterminals.  In this case, the old-style are
3013	    preferred.  Logic was broken in <a href="#xterm_145">patch #145</a>
3014	    (XFree86 Bugzilla #997, report/patch by Kean Johnston).
3015
3016	<li>modify handling of <code>eightBitInput</code> resource in UTF-8
3017	    mode to translate the value into UTF-8.  Otherwise an illegal
3018	    UTF-8 code is sent to the application (report by Bram Moolenaar).
3019
3020	<li>modify <code>uxterm</code> script to interpret help and version
3021	    options so xterm does not always create a window when the user
3022	    requests this information (Debian #223926).
3023
3024	<li>add a limit check to ScrnTstWrapped() (XFree86 Bugzilla #981).
3025
3026	<li>modify DECSCL to perform a hard reset (RIS) as per DEC manuals.
3027	    Extended DECSCL to accept parameters for vt4XX and vt5xx terminals.
3028
3029	<li>correct logic for ANSI conformance level escape sequences, which
3030	    were confused with DEC conformance level escape sequences.
3031
3032	<li>correct state for vt52 shift-in/shift-out, which was not reset
3033	    properly after <a href="#xterm_171">patch #171</a>.
3034
3035	<li>correct handling of graphics characters for vt52 mode, which did
3036	    not display line-drawing characters after G1 fix from
3037	    <a href="#xterm_182">patch #182</a>.
3038
3039	<li>fixes for configure script to work with current Cygwin headers
3040	    and libraries.
3041
3042	<li>modify <code>Imakefile</code> to put the current directory at the
3043	    beginning of the include searchpath (David Dawes).
3044</ul>
3045
3046<H1><A NAME="xterm_182">Patch #182 - 2003/12/2 - XFree86 4.3.99.901</A></H1>
3047<ul>
3048	<li>correct logic for <code>metaSendsEscape</code> resource to allow
3049	    for the meta-right key to be tested.  Improve check for meta/alt
3050	    modifiers by dropping the assumption that a keysym is associated
3051	    with only one modifier, and by ignoring NoSymbol entries in the
3052	    xmodmap data (XFree86 Bugzilla #924, patch by David Dawes).
3053
3054	<li>correct wrapping logic for line-drawing characters written in
3055	    non-UTF-8 mode of xterm build for wide-characters (XFree86 Bugzilla
3056	    #918, report/patch by J&#x00fc;rgen Keil).
3057
3058	<li>improve manpage description of resources, in particular the
3059	    <code>utf8Fonts</code> class (XFree86 Bugzilla #905).
3060
3061	<li>add definitions to compile with glibc-based GNU/Hurd, GNU/KFreeBSD
3062	    and GNU/KNetBSD (XFree86 Bugzilla #893).
3063
3064	<li>compiler-warning fixes (patch by Christian Biere).
3065
3066	<li>add README.i18n (Tomohiro KUBOTA).
3067
3068	<li>correct initialization of G1 character set mapping, which used
3069	    line-drawing set as a result of confusion between "DEC Supplemental
3070	    Graphic" and "DEC Special Graphic" character sets
3071	    (see <a href="#xterm_34">patch #34</a> regarding DECSTR).
3072
3073	<li>correct ifdef in main.c for variable utret (patch by
3074	    Bernhard Rosenkraenzer).
3075
3076	<li>document in xterm's manpage how to use XFree86 ":unscaled" keyword
3077	    to suppress scaling of bold fonts.
3078
3079	<li>when deriving bold fontname from normal fontname, use the normal
3080	    font's average width to avoid for example selecting 7x13bold
3081	    from an 8x13 normal font (Debian #107769).
3082</ul>
3083
3084<H1><A NAME="xterm_181">Patch #181 - 2003/10/26 - XFree86 4.3.99.15</A></H1>
3085<ul>
3086	<li>implement <code>boldMode</code> for wide-character logic in
3087	    <code>drawXtermText()</code> (report by Michael Schroeder).
3088
3089	<li>modify <code>UXTerm.ad</code> resource file to include
3090	    "XTerm-color" rather than "XTerm", in case the latter file contains
3091	    no color resource definitions, e.g., after <a
3092	    href="#xterm_180">patch #180</a>.
3093
3094	<li>add action <code>load-vt-fonts()</code> and configure option
3095	    <code>--enable-load-vt-fonts</code> which allows users to define
3096	    additional sets of VT-fonts which can be loaded at runtime.
3097
3098	<li>add logic to wide-character support which attempts to load fonts
3099	    specified by <code>utf8Fonts</code> subresources at startup.  The
3100	    subresources have the same names as the fonts which they replace,
3101	    e.g., <code>font</code>, <code>font1</code>, etc., so that the
3102	    ISO-10646-1 fonts can be specified in the <code>XTerm</code>
3103	    app-defaults file (this is an adaptation of a patch by Tomohiro
3104	    KUBOTA).
3105
3106	<li>improve Set Font escape string handling by making the relative
3107	    settings apply to the size of the font, as in shift keypad
3108	    plus/minus rather than the menu index.
3109
3110	<li>simplify parameter passing for the <code>set-vt-font</code> action
3111	    and related code.
3112
3113	<li>cleanup some include-ordering, moving some recently-added hardcoded
3114	    stuff into xterm.h where it will not interfere with the configure
3115	    script.
3116
3117	<li>modify <code>xtermAddInput()</code> (see note on augmentation in <a
3118	    href="#xterm_158">patch #158</a>) to use the complete set of
3119	    default keyboard translations so that one can use shifted pageup,
3120	    wheel mouse, etc., while the mouse pointer is over the scrollbar.
3121	    (Debian #178812).
3122
3123	<li>make save/restore mode controls apply to show/blink cursor states.
3124
3125	<li>add escape sequence to start/stop blinking cursor, which allows
3126	    implementing <code>cvvis</code> terminfo capability (request by
3127	    Nate Bargmann).
3128
3129	<li>add <code>indp</code> and <code>rin</code> to terminfo entry.
3130
3131	<li>fix an out-of-bounds array reference in ScrnRefresh() for wide
3132	    characters (report by Dan Harnett, patch by Todd Miller, bug dates
3133	    from <a href="#xterm_141">patch #141</a>).
3134</ul>
3135
3136<H1><A NAME="xterm_180">Patch #180 - 2003/10/12 - XFree86 4.3.99.15</A></H1>
3137<ul>
3138	<li>several fixes for rendering using Xft (option <code>-fa</code>):
3139	  <ul>
3140	  <li>translate Unicode values (from UTF-8 output to xterm) for
3141	      line-drawing to xterm's internal code, etc., since TrueType fonts
3142	      generally do not have either set of line-drawing glyphs.  xterm
3143	      can draw these directly (report by Abigail Brady).
3144	  <li>pass 16-bit values rather than 8-bit values to
3145	      xtermXftDrawString() to allow for wide-characters.
3146	  <li>remove spurious check for <code>colorBDMode</code> resource in
3147	      logic that does bold fonts.
3148	  <li>implement underlining.
3149	  </ul>
3150
3151	<li>patches by Ilya Zakharevich:
3152	  <ul>
3153	  <li>improve drawXtermText() by making the recursive calls
3154	      communicate through arguments, and not through saving/restoring
3155	      global variables.
3156
3157	  <li>make double-width characters work with <code>-u8</code> option.
3158
3159	  <li>modify lookup of double-sized fonts by checking for a match
3160	      ignoring x/y resolution if the first check fails.
3161	  </ul>
3162
3163	<li>make height of TrueType fonts match ascent+descent (patch by
3164	    Keith Packard).
3165
3166	<li>correct configure-script check for imake $CFLAGS, which did not
3167	    check properly if imake was not available.
3168
3169	<li>correct install rule in Makefile.in for <code>uxterm</code>, which
3170	    was attempting to strip the script (newsgroup posting by Fernan
3171	    Aguero).
3172
3173	<li>correct AF/AB strings in termcap for xterm-256color and
3174	    xterm-88color entries (report by Josh Howard).
3175
3176	<li>update wcwidth.c to incorporate changes from Markus Kuhn's
3177	    2003-05-20 (Unicode 4.0) version of that file.
3178
3179	<li>modify <code>scroll-back</code> and <code>scroll-forw</code>
3180	    actions to accept an adjustment value, e.g.,
3181	    <pre>
3182	      <code>scroll-back(1, page-2)</code></pre>
3183	    to scroll back by 2 lines less than a page (patch by Greg
3184	    Klanderman).
3185
3186	<li>use color resource setting from Debian package for xterm VT100 widget,
3187	    since the choice of blues provides better contrast.
3188
3189	<li>remove color resources from <code>XTerm.ad</code>, leaving them
3190	    only in <code>XTerm-col.ad</code> (prompted by Debian package for
3191	    xterm).
3192
3193	<li>correct configure script option --enable-pty-handshake (report by
3194	    Paul Gilmartin).
3195
3196	<li>add <code>visualBellDelay</code> resource to modify the length of
3197	    time used for visual bell, for very slow displays or very fast
3198	    computers (reports by Ingo van Lil and Doug Toppin).
3199
3200	<li>correct logic for initializing dynamic highlight color (patch by
3201	    Jess Thrysoee).
3202
3203	<li>add a check for non-zero size in call to <code>XCopyArea()</code>
3204	    to accommodate a Solaris bug.
3205
3206	<li>correct typo in example for character classes in xterm manpage
3207	   (Debian #198910).
3208
3209	<li>link xterm with bind_on_load option on Darwin to work around a
3210	   deadlock in the dynamic loader when a signal is received while
3211	   the dynamic loader is looking up symbols (patches by Rob Braun,
3212	   Torrey Lyons).
3213
3214	<li>modify configure script to avoid using "head -1".
3215
3216	<li>update config.guess, config.sub
3217
3218	<li>modify ifdef's to work around inclusion of types FcChar32 and
3219	   XftCharSpec with FreeType 2.0 (see <a href="#xterm_175">patch #175</a>).
3220
3221	<li>modify the predictable version of the generated logfile name (see
3222	   <a href="#xterm_171">patch #171</a>) to append the process-id rather
3223	   than a random value.
3224
3225	<li>resync with XFree86 CVS:
3226	<ul>
3227	   <li>Enable SCO function keys in xterm
3228	   <li>Make Delete key send DEL by default on SCO in xterm
3229	</ul>
3230</ul>
3231
3232<H1><A NAME="xterm_179">Patch #179 - 2003/5/21 - XFree86 4.3.99.5</A></H1>
3233<ul>
3234	<li>modify ifdef's for WTMPX_FILE to allow building on cygwin again.
3235
3236	<li>change the default of pty-handshaking configure option (and related
3237	    default for imake) to assume this feature is needed.
3238
3239	<li>add ifdef's so configure option for XawPlus library works (patch
3240	    by Pavel Roskin).
3241
3242	<li>add <code>$(MAIN_DEFINES)</code> to the variables checked by the
3243	    configure script that may contain information set by imake.  This
3244	    allows xterm to build/run properly using the configure script on
3245	    IRIX64.
3246
3247	<li>add configure check for ".exe" suffix on cygwin.
3248</ul>
3249
3250<H1><A NAME="xterm_178">Patch #178 - 2003/5/18 - XFree86 4.3.99.5</A></H1>
3251<ul>
3252	<li>modify default for configure <code>--enable-pty-handshake</code>
3253	    option to enable it for Solaris (report by Nelson Beebe).
3254
3255	<li>modify <code>in_put()</code> function to call
3256	    <code>PreeditPosition()</code> only when the cursor's position has
3257	    changed.  This addresses report by Stefan Baums of high CPU usage
3258	    while xterm with chinput are running in the background (patch by
3259	    Yong Li).
3260
3261	<li>improved explanation of <code>-ls</code> conflict with
3262	    <code>-e</code> option in xterm manpage (adapted from comments by
3263	    Henning Makholm).
3264
3265	<li>correct comment in terminfo file regarding modifier used for
3266	    <code>kDC</code> (Debian #189764, report by Henning Makholm).
3267
3268	<li>correct/extend some of the keypad description in ctlseqs.ms
3269	    (report by Henning Makholm).
3270
3271	<li>correct keypad-mapping table in input.c so <code>XK_KP_Equal</code>
3272	    works (report by Henning Makholm).
3273
3274	<li>modified to work with CJK double-width (bi-width/monospace) fonts.
3275	    They're similar to Roman Czbora and David Starner's gnuunifonts in
3276	    that Latin letters and numbers have all the same width which is
3277	    exactly the half of the width of East Asian characters.  (patch by
3278	    Jungshik Shin &lt;jshin@mailaps.org&gt;).
3279
3280	<li>add configure option <code>--enable-broken-osc</code> and resource
3281	    <code>brokenLinuxOSC</code> to accommodate scripts which do not
3282	    distinguish between running in the Linux console and running in X.
3283	    Linux console recognizes malformed control strings which start
3284	    with an <code>OSC</code>, but are fixed-length, with no terminator.
3285
3286	<li>add configure option <code>--enable-broken-st</code> and resource
3287	    <code>brokenStringTerm</code> to allow
3288	    user to revert one part of the parsing table corrections from
3289	    <a href="#xterm_171">patch #171</a>.  (reports by
3290	    Matthias Scheler and
3291	    Kirill Ponomarew indicate that someone's
3292	    network firmware sends an <code>&lt;escape&gt;X</code>).
3293
3294	<li>modify configure <code>--disable-imake</code> to provide values
3295	    for <code>OSMAJORVERSION</code>, <code>OSMINORVERSION</code>,
3296	    <code>FUNCPROTO</code> and <code>NARROWPROTO</code> (report by
3297	    Heiko Schlichting).
3298
3299	<li>correct <code>vttests/16colors.sh</code>, which omitted the
3300	    <code>$SUF</code> variable in output strings (patch by Paul
3301	    Gilmartin).
3302
3303	<li>modify shell scripts in <code>vttests</code> directory to attempt
3304	    to use named signals in the <code>trap</code> statement, making
3305	    this portable to OS/390 (report by Paul Gilmartin).  Tested on
3306	    SunOS 4.1.4, which implements only numbers.
3307</ul>
3308
3309<H1><A NAME="xterm_177">Patch #177 - 2003/3/23 - XFree86 4.3.0</A></H1>
3310<ul>
3311	<li>fix definition of <code>USE_HANDSHAKE</code>, must be numeric
3312	    (reported by Jens Schleusener).
3313</ul>
3314
3315<H1><A NAME="xterm_176">Patch #176 - 2003/3/22 - XFree86 4.3.0</A></H1>
3316<ul>
3317	<li>add configure option <code>--enable-pty-handshake</code> to allow
3318	    one to compile-in support for the pty handshaking logic, and
3319	    resource <code>ptyHandshake</code> to enable or disable it
3320	    (suggested by Ian Collier).
3321
3322	<li>restore <code>USE_HANDSHAKE</code> ifdef removed in
3323	    <a href="#xterm_159">patch #159</a>
3324	    to address Debian #39964.
3325
3326	<li>move ifdef's for ttysize/winsize into xterm_io.h
3327
3328	<li>simplify loop on <code>tgetent</code>, check if the successive
3329	    entries in the lookup table are the same.  That makes xterm do
3330	    one less lookup if there is no "xterm" entry in the termcap file
3331	    (report by Derek Martin).
3332
3333	<li>correct manpage discussion of <code>$TERM</code> and
3334	    <code>$TERMCAP</code> variables, which omitted the Tektronix
3335	    emulation and a note of the final "dumb" fallback.
3336
3337	<li>broaden ifdef for <code>XRegisterIMInstantiateCallback()</code>
3338	    from <a href="#xterm_175">patch #175</a> (XIM fix) to exclude
3339	    non-XFree86 (report by Nelson Beebe indicates this breaks for
3340	    Solaris, IRIX and OSF/1).
3341
3342	<li>correct resource-size for <code>iconFont</code> (this was added
3343	    by X11R6.3).
3344
3345	<li>improve configure check for XKB bell extension, to work around
3346	    inconsistent implementation of this feature (reports by Nelson
3347	    Beebe, Kriston Rehberg and David Ellement).
3348
3349	<li>modify configure-check for <code>tty</code> group to be less
3350	    strict in batch mode (report by Nelson Beebe).
3351
3352	<li>modify to allow building with g++, to use its compiler warnings
3353	    (suggested by Nelson Beebe).
3354
3355	<li>modify <code>dec2ucs[]</code> table to reflect newer codes
3356	    available for scanlines 1, 3, 7, 9 (report by Michael Schroeder).
3357
3358	<li>add configure option for XawPlus library.
3359</ul>
3360
3361<H1><A NAME="xterm_175">Patch #175 - 2003/3/9 - XFree86 4.3.0</A></H1>
3362<ul>
3363	<li>fix a SIGSEGV which could occur if xterm is connecting to XIM
3364	    server, and the XIM server is destroyed (patch by Nam SungHyun).
3365
3366	<li>modify to use built-in line-drawing characters for Xft fonts
3367	    (patch by Andrew Tipton).
3368
3369	<li>make menu reflect the state of the <code>tekInhibit</code>
3370	    resource.
3371
3372	<li>make <code>signalInhibit</code> resource work, i.e., disable the
3373	    menu entries that would send signals to, or exit xterm.  This was
3374	    probably broken in X11R5 when logging was disabled (report by Sven
3375	    Mascheck).
3376
3377	<li>changed classes of <code>colorBDMode</code> and similar
3378	    resources that override colors when a video attribute is
3379	    set to <code>ColorAttrMode</code>, to make them distinct
3380	    from <code>ColorMode</code>.  This avoids an unexpected
3381	    rendering of reverse video, for example (report by Paul Fox).
3382
3383	<li>changed class of <code>veryBoldColors</code> to
3384	    <code>VeryBoldColors</code>, since
3385	    <code>ColorMode</code> is associated with boolean resources.
3386
3387	<li>add option <code>-k8</code> and resource
3388	    <code>allowC1Printable</code> to allow users of non-VTxxx
3389	    character sets such as KOI-8 to treat the C1 control area
3390	    (character codes 128-159) as printable rather than control
3391	    characters.
3392
3393	<li>add a null-pointer check for return-value of <code>ptsname()</code>
3394	    in HPUX-specific code (report by David Ellement).
3395
3396	<li>revise the ifdef's used for <code>XKB</code> bell support.  The
3397	    code was using a nonstandard call <code>XkbStdBell()</code>.
3398	    Changed to use <code>XkbBell()</code> (based on patch by
3399	    &lt;derek@signalmarketing.com&gt;).
3400
3401	<li>add a null-pointer check in <code>xtermLoadFont()</code> in case
3402	    there is no wide-bold font (Nam SungHyun).
3403
3404	<li>change <code>Makefile.in</code> to use autoconf's
3405	    <code>bindir</code>, <code>libdir</code> and <code>mandir</code>
3406	    variables (report by Nam SungHyun).
3407
3408	<li>add <code>le</code> to termcap <code>xterm-basic</code> entry.
3409	    Though missing from older termcaps for xterm, some applications
3410	    check for it (report by Matthias Buelow).
3411
3412	<li>modify <code>uxterm</code> script to strip modifiers such as "@euro"
3413	    from the locale setting before adding ".UTF-8" (Debian #179929).
3414
3415	<li>modify the remaining places where tek4014 emulation uses
3416	    <code>XDefineCursor()</code>, to make it work as originally
3417	    implemented, e.g., when switching back to alpha mode.
3418	    Added test-screen in vttest to test this feature properly.
3419</ul>
3420
3421<H1><A NAME="xterm_174">Patch #174 - 2003/2/25 - XFree86 4.2.99.903</A></H1>
3422<ul>
3423	<li>work-around for XFree86 bug which made <code>XDefineCursor()</code>
3424	    on a shell-window no longer work.  The tek4014 emulation used this.
3425	    Use the next lower window (report by Karl Rudolf Bauchspiess).
3426
3427	<li>add a resource setting <code>allowWindowOps</code> to control
3428	    whether the extended window operations should be allowed, e.g.,
3429	    resize, iconify, report window attributes.  This is to accommodate
3430	    people who are not capable of using a pager to view log-files.
3431</ul>
3432
3433<H1><A NAME="xterm_173">Patch #173 - 2003/2/6 - XFree86 4.2.99.902</A></H1>
3434<ul>
3435	<li>reset mouse mode to normal on a full reset.  This does not apply
3436	    to mouse hilite tracking mode, of course (see ctlseqs.ms).
3437
3438	<li>add a time-delay at the point where mouse hilite tracking mode
3439	    choses to not handle X events, to avoid runaway CPU usage
3440	    (report by D Hugh Redelmeier).
3441
3442	<li>check for illegal character in DECUDK string, quit if detected.
3443</ul>
3444
3445<H1><A NAME="xterm_172">Patch #172 - 2002/12/27 - XFree86 4.2.99.3</A></H1>
3446<ul>
3447	<li>fixes to make repainting of 256-color example work properly
3448	  (reports by Abigail Brady and Scott A Crosby).
3449	  <ul>
3450	   <li>set flag in <code>AllocateAnsiColor()</code> to ensure the color
3451	     is allocated once only.
3452	   <li>fix check in <code>ScrnRefresh</code>, which was comparing
3453	     background colors only if the ANSI foreground colors also were set.
3454	  </ul>
3455
3456	<li>merge <code>Error()</code> calls and some <code>exit()</code> calls
3457	  into <code>SysError()</code>, and change that to add the brief
3458	  explanation for each error code which is provided in the manpage.
3459	  Change a few <code>SysError()</code>, calls to avoid using code 1, to
3460	  avoid confusion with exit status from places that do not use
3461	  <code>SysError()</code>.
3462
3463	<li>simplify logic used to open a debug logfile as the standard error.
3464
3465	<li>modify the <code>-e</code> option so that if it fails, xterm will
3466	  check if only one argument follows, e.g., it was quoted, and then
3467	  retry using <code>sh&nbsp;-c</code>.
3468
3469	<li>modify parsing of DECUDK string parameter to allow a comma between
3470	  pairs of hexadecimal digits (Ray Neuman &lt;raymond@one.com.au&gt;
3471	  reports that "real" terminals accept this; perhaps they simply
3472	  ignore unexpected characters).
3473
3474	<li>fix a few problems with the <code>$TERMCAP</code> string generated
3475	  by <code>resize</code>:
3476	  <ul>
3477	   <li>for Bourne shell, add an <code>export</code> command.
3478	     This was missing as far back as X11R5.
3479	   <li>escape exclamation marks, used in xterm's reset string.
3480	   <li>translate literal <code>\177\</code> to "^?".
3481	  </ul>
3482
3483	<li>improve configure check for <code>tgetent()</code> to work when
3484	  <code>$TERMCAP</code> has been set to a specific entry.
3485
3486	<li>modify <code>minstall.sh</code> to use "%" rather than "@",
3487	  to avoid problems with AFS (report by Zdenek Sekera).
3488
3489	<li>list fatal error codes from <code>error.h</code> in the manpage,
3490	  remove unused codes in <code>error.h</code>.
3491
3492	<li>use more explicit wording for manpage list of color resources,
3493	  since at least one user confused the generic names such as "black"
3494	  with the names in rgb.txt (the latter are now used).
3495
3496	<li>minor fix to description of 1003 mouse mode in ctlseqs.ms
3497	  (Larry Riedel).
3498</ul>
3499
3500<H1><A NAME="xterm_171">Patch #171 - 2002/12/12 - XFree86 4.2.99.3</A></H1>
3501<ul>
3502	<li>modify parser tables to improve detection of malformed control
3503	  sequences, making xterm behave more like a real DEC terminal
3504	  (patch by Paul Williams).
3505
3506	<li>update comment in <code>input.c</code> to document
3507	  <code>Meta</code> as a modifier for escape sequences (patch by D
3508	  Roland Walker).
3509
3510	<li>add ifdef'd code for logging option which adds the hostname and a
3511	  timestamp to the generated logfile name.  The ifdef's are setup
3512	  with the configure script (patch by Nelson Beebe).
3513
3514	<li>remove <code>xevents()</code> call from the end of
3515	  <code>BlinkCursor()</code>, to fix an occasional problem
3516	  which caused xterm to pause until a key was pressed.
3517	  The reason for this was that there was no check to ensure that
3518	  there really were events for <code>xevents()</code> to process.
3519	  (patch by Semen A Ustimenko &lt;semenu@FreeBSD.org&gt;).
3520
3521	<li>remove unused mode-params from <code>open()</code> calls that do
3522	  not create a file.
3523
3524	<li>modify configure script to put new items first on
3525	  <code>$CPPFLAGS</code> and <code>$CFLAGS</code> to avoid conflict
3526	  with environment's <em>-I</em> and <em>-D</em> options.
3527
3528	<li>update config.guess, config.sub
3529
3530	<li>resync with XFree86 CVS:
3531	<ul>
3532	  <li>fix va_args glitches for xterm/libfontconfig:  0 == (void*)0
3533	    isn't true for all platforms (Egbert Eich).
3534	  <li>initialise ProgramName in xterm's main before referencing it
3535	    (#5473, Peter Valchev).
3536          <li>some cleanup of Imakefile ifdef's (Marc La France).
3537	</ul>
3538</ul>
3539
3540<H1><A NAME="xterm_170">Patch #170 - 2002/10/13 - XFree86 4.2.1</A></H1>
3541<ul>
3542	<li>correct an off-by-one allocating data for sorted help message.
3543
3544	<li>modify configure script to check for Xpm library, on which XFree86
3545	  Xaw library depends.
3546
3547	<li>update config.guess, config.sub
3548</ul>
3549
3550<H1><A NAME="xterm_169">Patch #169 - 2002/10/5 - XFree86 4.2.1</A></H1>
3551<ul>
3552	<li>modify wording of some options in help message to make them use
3553	  <code>-/+</code> consistently with respect to "on/off" or "off/on".
3554
3555	<li>sort options list which is displayed in help- and syntax-messages
3556	  at runtime to simplify maintenance.
3557
3558	<li>remove support for Amoeba and Minix (Juliusz Chroboczek noted it
3559	  was removed from XFree86 server; there have been no users since
3560	  1996).
3561
3562	<li>add configure script option <code>--disable-session-mgt</code>
3563	  to control whether the session management code should be compiled-in
3564	  (request by H Merijn Brand).
3565
3566	<li>ifdef'd the session-management changes with
3567	  <code>OPT_SESSION_MGT</code>, to accommodate X11R5 which predates
3568	  the related definitions.
3569
3570	<li>fix <code>decode_keyvalue()</code>, which did not properly parse
3571	  multiple settings as needed for the <code>ttyModes</code> resource,
3572	  since it did not skip over the parsed data.
3573
3574	<li>fix an option-parsing conflict between <code>-class</code> and
3575	  <code>-cjk_width</code> (Nam SungHyun)
3576
3577	<li>add a missing null in <code>XtVaSetValues()</code> call used in
3578	  <code>Cleanup()</code> (Nam SungHyun)
3579</ul>
3580
3581<H1><A NAME="xterm_168">Patch #168 - 2002/9/29 - XFree86 4.2.1</A></H1>
3582<ul>
3583	<li>improve data reported for control sequence that requests window
3584	  position by taking into account the window decorations, e.g.,
3585	  border and title (patch by Jess Thrysoee &lt;jess@thrysoee.dk&gt;).
3586
3587	<li>add <code>-cjk_width</code> and corresponding resource
3588	  <code>cjkWidth</code> (patch by Jungshik Shin
3589	  &lt;jshin@mailaps.org&gt;).
3590
3591	<li>add <code>-into</code> option, for embedding xterm in a Tcl/Tk
3592	  application (patch by George Peter Staplin &lt;georgeps@xmission.com&gt;).
3593
3594	<li>add simple session management (XSM) client capabilities to xterm.
3595	  So a session manager such as, e.g., xsm, should be able to respawn or
3596	  kill xterms without the help of an SM proxy (like smproxy), which is
3597	  a hack and almost always buggy (patch by David Madore).
3598
3599	<li>fix conflict between ifdef's for <code>OPT_DEC_LOCATOR</code> and
3600	  <code>OPT_READLINE</code> in button.c (reported by Ilya Zakharevich).
3601
3602	<li>fix for inconsistent use of <code>struct utmp</code> versus
3603	  <code>struct utmpx</code> introduced in <a href="#xterm_167">patch #167</a>
3604	  (patches by Paul Gilmartin, Marc La France).
3605
3606	<li>modify logic for <code>metaSendsEscape</code> to allow it to work
3607	  in a setup where the Meta-key is not recognized as a modifier by
3608	  the key-translations logic (from a discussion of eightBitInput
3609	  with H.J.Lu, however Vincent Lefevre reported this in January).
3610
3611	<li>use null pointer values consistently, rather than literal "0", for
3612	  ending variable-length argument lists, e.g., for
3613	  <code>execlp()</code> (based on patch by Matthieu Herrb).
3614
3615	<li>correct logic of <code>ChangeAnsiColorRequest()</code>, which would
3616	  do a screen repaint after replying to a request for information.
3617
3618	<li>improve scripts in vttests to work with systems whose shells support
3619	  <code>echo -n</code> and have, as does Debian, an unrelated
3620	  <code>print</code> utility.
3621
3622	<li>add vttests/acolors.sh to demonstrate OSC 4, which queries or
3623	  sets ANSI colors.
3624
3625	<li>fixes for ctlseqs.ms (Pavel Roskin, Ilya Zakharevich).
3626
3627	<li>typos in xterm manpage (Jens Schweikhardt)
3628
3629	<li>remove a redundant GCC_UNUSED from InitPopup() (Nam SungHyun)
3630</ul>
3631
3632<H1><A NAME="xterm_167">Patch #167 - 2002/8/24 - XFree86 4.2.0</A></H1>
3633<ul>
3634	<li>correct ifdef's for <code>USE_TERMCAP</code> to match cygwin
3635	  configuration.
3636
3637	<li>fix several places in ctlseqs.ms which had no boxes around the
3638	  literal text (report by Ilya Zakharevich).
3639
3640	<li>integrated patch from Ilya Zakharevich to extend mouse support for
3641	  readline (ifdef'd with OPT_READLINE).
3642
3643	<li>modify terminfo description to match default for
3644	  <code>modifyCursorKeys</code> resource.
3645
3646	<li>add <code>modifyCursorKeys</code> resource to control how the
3647	  shift- and similar modifiers are used to make a cursor escape
3648	  sequence.  The default makes a modified escape sequence always start
3649	  with CSI and puts the modifier as the second parameter, to avoid
3650	  confusing applications that would interpret the first parameter as a
3651	  repeat count.  The original behavior can be obtained by setting the
3652	  resource to 0 (from newsgroup discussion with Stephen J Turnbull
3653	  and Jeffrey Altman).
3654
3655	<li>correct missing initializations for <code>appdefaultCursor</code>
3656	  and <code>appdefaultKeypad</code> resources.
3657
3658	<li>add configure option <code>--enable-luit</code> and ifdef'd the
3659	  luit-related code with OPT_LUIT_PROG.
3660
3661	<li>integrate patch by Tomohiro KUBOTA from
3662	  http://www.xfree86.org/pipermail/i18n/2002-July/003378.html which
3663	  modifies xterm to invoke luit.
3664
3665	<li>update wcwidth.c to match Markus Kuhn's 2002-05-18 version.
3666
3667	<li>correct limit-checking in <code>ComputeSelect()</code> to handle
3668	  selections that extend off the visible area; rather
3669	  than modify the parameters to <code>TrackText()</code>, use
3670	  <code>ScrollSelection()</code> to update the highlighting limits.
3671	  (reported by Yegappan Lakshmanan and Nelson Beebe,
3672	   patch by Alexander V Lukyanov).
3673
3674	<li>correct manpage description of <code>tiXtraScroll</code> resource
3675	  (reported by Tony Finch).
3676
3677	<li>changes from OpenBSD:
3678	<ul>
3679	   <li>Make xterm setgid utmp to be able to update utmp even
3680	   with root privileges revoked.
3681	   <li>If not updating utmp, revoke group privileges totally too.
3682	</ul>
3683
3684	<li>changes from NetBSD:
3685	<ul>
3686	 <li>Check that the return value from ttyslot() is greater than 0
3687	  before writing the utmp file.
3688	  Fixes w's "w: Stale utmp entry: &lt;user&gt; &lt;tty&gt; &lt;pty&gt;" errors.
3689	 <li>Use openpty() to deal with new pty naming scheme.
3690	</ul>
3691
3692	<li>add <code>print-redir</code> action and menu entry to allow user to
3693	  switch terminal in/out of printer controller mode.  It appears from
3694	  the manual that a real vt220 would not switch back to normal mode, so
3695	  another mechanism is used (addresses Debian #37517).
3696
3697	<li>check if <code>printerCommand</code> resource string is empty, use
3698	  this to allow user to disable printer function.
3699
3700	<li>trim trailing blanks from resource strings.
3701
3702	<li>check return value from <code>ptsname()</code>, which may return
3703	  null for example if someone has changed the permissions of /dev/pts
3704	  to zero (Debian #121899).
3705
3706	<li>modify OS/2 version to use <code>__UNIXOS2__</code> definition
3707	  rather than <code>__EMX__</code>, related cleanup (patch by Holger
3708	  Veit).
3709
3710	<li>used modified indent 2.0
3711	  (patch <a href="ftp://invisible-island.net/gnu-patches/">20020428</a>)
3712	  to reformat most of the C source files, to simplify maintenance.
3713
3714	<li>fix a couple of places where there were leading tabs on
3715	  symbol-definition lines in Imakefile (Marc La France from report by
3716	  Tony Finch)
3717
3718	<li>add imake variable (TraceXTerm) to allow building debug version
3719	  (Egbert Eich).
3720</ul>
3721
3722<H1><A NAME="xterm_166">Patch #166 - 2002/03/25 - XFree86 4.2.0</A></H1>
3723<ul>
3724	<li>correct a bug in selection: double clicking on a word which
3725	  was partly scrolled off the screen may select that text (report
3726	  by Vincent Lefevre &lt;vincent@vinc17.org&gt;).
3727
3728	<li>implement <code>veryBoldColors</code> resource to control whether
3729	  the corresponding video attribute such as <code>bold</code> is
3730	  displayed when using <code>colorBDMode</code>, etc.  (request by Josh
3731	  Howard &lt;jrh@vicor-nb.com&gt;).
3732
3733	<li>define escape sequences for function keys F21-F35 (patch by Steve Wall).
3734
3735	<li>change the colors for the 256-color model, making them less skewed
3736	  toward black (patch by Steve Wall).
3737
3738	<li>add <code>vt100Graphics</code> resource
3739	  (see <a href="#xterm_115">patch #115</a>,
3740	  based on discussion with Glenn Maynard).
3741
3742	<li>ifdef'd Xaw/Xaw3d/neXtaw includes separately to avoid potential
3743	  incompatibilities between these flavors of Athena widgets.
3744
3745	<li>add configure check for XFree86 4.x Xaw library, whose geometry
3746	  management is broken, to avoid trying to use it for toolbar
3747	  configuration.
3748
3749	<li>updates to configure script from vile and lynx to allow
3750	  configure.in to be compiled with autoconf 2.5x
3751
3752	<li>add a check for null pointer return by <code>ptsname()</code>
3753	  (newsgroup posting from Mike Silva &lt;mikesilva@lucent.com&gt;).
3754
3755	<li>fill in a few details needed to allow UTF-8 mode to switch on/off
3756	  after startup.  This requires that <code>wideChars</code> resource be
3757	  set.  (based on comments in 4 Aug 2001 by Alexey Marinichev
3758	  &lt;lyosha@lyosha.2y.net&gt;).
3759
3760	<li>remove duplicate install rules that make directories, e.g., so installing
3761	  manpage will not create app-defaults directory.
3762
3763	<li>add comment in in <code>do_osc()</code>, reserving cases 30 and 31
3764	  for for Konsole (request by Stephan Binner
3765	  &lt;Stephan.Binner@gmx.de&gt;).
3766
3767	<li>fixes for ctlseqs.ms and xterm.man
3768	  (patch by Werner LEMBERG &lt;wl@gnu.org&gt;).
3769
3770	<li>add check for monochrome display, disabling colorMode in that
3771	  case (fixes Debian #134130).
3772
3773	<li>resync with XFree86 CVS:
3774	<ul>
3775	   <li>Fix some xterm build warnings on *BSD (David Dawes).
3776	   <li>Only use SA_RESTART in xterm when it's available (Frank Liu).
3777	   <li>Fix incorrect code in signal handlers in most of the clients,
3778	     xterm and xdm not done yet (Matthieu Herrb).
3779	</ul>
3780</ul>
3781
3782<H1><A NAME="xterm_165">Patch #165 - 2002/01/05 - XFree86 4.1.0</A></H1>
3783<ul>
3784	<li>modify <code>uxterm</code> script to strip encoding part from
3785	  environment variable before adding ".UTF-8" (based on Debian
3786	  #125947, but using a more portable solution).
3787
3788	<li>add an assignment statement in VTInitialize() to make
3789	  <code>awaitInput</code> resource work.
3790
3791	<li>use new macros init_Bres(), etc., in VTInitialize() to add trace of
3792	  the initialization of resources.
3793
3794	<li>modify checks for $LC_ALL, related environment variables to ensure
3795	  the resulting strings are nonempty (report by Markus Kuhn).
3796
3797	<li>add an ifdef in charproc.c for num_ptrs variable in case all
3798	  configure options are disabled.
3799
3800	<li>modify definition of getXtermBackground() to avoid negative array
3801	  index warning on Tru64 (report by Jeremie Petit).
3802
3803	<li>improve fix from patch #165 (still Debian #117184, report by Matt
3804	  Zimmerman &lt;mdz@debian.org&gt;)
3805
3806	<li>correct install rule for uxterm in Makefile.in, to handle the
3807	  case where building in a different directory than xterm's source
3808	  (patch by Paul Gilmartin).
3809
3810	<li>documented ANSI.SYS-style cursor save/restore escape sequences
3811	  in ctlseqs.ms, which are in xterm since X11R5.
3812
3813	<li>correct two entries in the default charClass table, which did not
3814	  follow the manpage comment about the character number corresponding
3815	  to the class (patch by Marc Bevand &lt;bevand_m@epita.fr&gt;).
3816
3817	<li>fix a couple of typos in comments in the app-defaults files
3818	  (David Krause &lt;xfree86@davidkrause.com&gt;).
3819
3820	<li>resync with XFree86 CVS:
3821	  <ul>
3822	  <li>update language of copyrights in some files to reflect the fact
3823	      that they were reassigned from X Consortium to The Open Group in
3824	      1998.  Note that this xterm source is derived from the 1996
3825	      version from X Consortium, does not incorporate changes made by X
3826	      Consortium or The Open Group after that date, hence we do not add
3827	      The Open Group's 1998 copyright date to related files.
3828
3829	  <li>save/restore <code>errno</code> in signal catcher (Matthieu Herrb).
3830
3831	  <li>modify UXTerm.ad's font5 resource so that xterm can display double
3832	      width characters using a font distributed with XFree86 (Tomohiro KUBOTA).
3833	  </ul>
3834</ul>
3835
3836<H1><A NAME="xterm_164">Patch #164 - 2001/11/13 - XFree86 4.1.0</A></H1>
3837<ul>
3838	<li>correct a case where <code>ptyInitialErase</code> and
3839	  <code>backarrowKeyIsErase</code> resources combine to set
3840	  <code>DECBKM</code> mode, but a <code>reset</code> command would not
3841	  reset xterm to that state, making the erase character revert to ^H
3842	  (Debian #117184)
3843</ul>
3844
3845<H1><A NAME="xterm_163">Patch #163 - 2001/11/04 - XFree86 4.1.0</A></H1>
3846<ul>
3847	<li>correct ifdef's for <code>__QNX__</code> and
3848	  <code>USE_SYSV_PGRP</code> in main.c call to <code>tcsetpgrp</code>,
3849	  which broke bash behavior around <a href="#xterm_140">patch #140</a>
3850	  (report/patch by Frank Liu &lt;fliu@mail.vipstage.com&gt;).
3851
3852	<li>modify trace.c to fix missing definition of GCC_UNUSED for
3853	  compilers other than gcc when configured for trace code (report/patch
3854	  by Paul Gilmartin).
3855
3856	<li>change format in TraceOptions() to use long rather than int, since
3857	  the latter could lose precision on 64-bit machines (report/patch by
3858	  Nelson Beebe).
3859
3860	<li>modify xterm manual page and minstall.sh to allow imake rules
3861	  to define location of app-defaults directory (Debian #87611).
3862
3863	<li>review/update list of conflicting preprocesor symbols to remove
3864	  from $CPPFLAGS at the end of the configure script.  In particular,
3865	  this allows one to configure xterm without the utempter library on
3866	  Redhat 7.1 (report/patch by Adam Sulmicki).
3867</ul>
3868
3869<H1><A NAME="xterm_162">Patch #162 - 2001/10/23 - XFree86 4.1.0</A></H1>
3870<ul>
3871	<li>correct logic that processes <code>-class</code> option, so that
3872	  a following <code>-e</code> option is handled (Debian #116297).
3873
3874	<li>improve options-decoding to allow <code>-version</code> and
3875	  <code>-help</code> options to be combined (Debian #110226).
3876
3877	<li>add a 10 millisecond delay in event loop when processing
3878	  <code>-hold</code> option, to avoid using too much CPU time
3879	  (Debian #116213).
3880
3881	<li>prefix final program execution in <code>uxterm</code> with "exec"
3882	  to avoid a useless shell hanging around (Christian Weisgerber).
3883</ul>
3884
3885<H1><A NAME="xterm_161">Patch #161 - 2001/10/10 - XFree86 4.1.0</A></H1>
3886<ul>
3887	<li>modify logic that resets keypad application mode to avoid doing
3888	   this if there is no modifier associated with the Num_Lock keysym
3889	   (report by John E Davis &lt;davis@space.mit.edu&gt; and Alan W Irwin
3890	   &lt;irwin@beluga.phys.uvic.ca&gt;).
3891
3892	<li>add built-in translation for Control/KP_Separator to KP_Subtract,
3893	   to accommodate users who wish to use xmodmap to reassign the top
3894	   row of the numeric keypad.
3895
3896	<li>correct Imakefile install-rule for <code>uxname</code> script
3897	   (reported by Nam SungHyun &lt;namsh@lge.com&gt;).
3898
3899	<li>resync with XFree86 CVS: correct typo in <code>&lt;ncurses/term.h&gt;</code>
3900	   ifdef.
3901</ul>
3902
3903<H1><A NAME="xterm_160">Patch #160 - 2001/10/7 - XFree86 4.1.0</A></H1>
3904<ul>
3905	<li>modify logic in main.c
3906	    (see <a href="#xterm_145">patch #145</a>) to avoid generating the
3907	    same identifier, for example, for /dev/tty1 and /dev/pts/1, which
3908	    is used to denote an entry in the utmp file (Debian bug report
3909	    #84676),  A similar fix was also sent by Jerome Borsboom
3910	    &lt;borsboom@westbrabant.net&gt; in May, but I overlooked it when
3911	    reviewing bug reports.
3912
3913	<li>add configure check for <code>&lt;ncurses/term.h&gt;</code> to get
3914	    rid of hardcoded <code>__CYGWIN__</code> ifdef in resize.c
3915	    <p>
3916	    NOTE: The CYGWIN port should not be linking <code>resize</code>
3917	    with ncurses.  It appears that the only reason it is, is because
3918	    both the ncurses and termcap ports on that platform are badly
3919	    misconfigured (essential pieces have been removed, etc).  Checking
3920	    for <code>&lt;ncurses/term.h&gt;</code> does not hurt anything,
3921	    since there are some correct installations that are set up that
3922	    way.
3923
3924	<li>add a sample <code>uxterm</code> script, which uses the
3925	    <code>UXTerm</code> application defaults for UTF-8 environments.
3926
3927	<li>undo change to xterm application defaults, since this introduced an
3928	    unnecessary incompatibility.  The intended functionality was
3929	    already addressed by the <a href="#xterm_141">UXTerm</a>
3930	    app-defaults file.
3931
3932	<li>resync with XFree86 CVS:
3933	<ul>
3934	<li>Modified xterm app default to use LFD fontnames instead of old type
3935	    (Michael Schroeder).
3936	<li>Fix xterm when XIM is disabled - caused a segfault
3937	    (Tomohiro Kubota).
3938	</ul>
3939</ul>
3940
3941<H1><A NAME="xterm_159">Patch #159 - 2001/9/19 - XFree86 4.1.0</A></H1>
3942<ul>
3943	<li>remove an ifdef for <code>USE_HANDSHAKE</code> added in patch
3944	   #158 from the second <code>TIOCSSIZE</code> ioctl call in the
3945	   initialization code.  Paul Gilmartin reports that for Solaris 2.6
3946	   (sparc), stty does not show that xterm sets rows and columns unless
3947	   the second ioctl is executed.
3948
3949	<li>correct treatment of empty parameter list for some OSC strings
3950	   (report by Sami Farin &lt;sfarin@ratol.fi&gt;).
3951</ul>
3952
3953<H1><A NAME="xterm_158">Patch #158 - 2001/9/8 - XFree86 4.1.0</A></H1>
3954<ul>
3955	<li>augment key translations for scrollbar widget to ensure that
3956	   keystrokes intended for the text area are not lost if the mouse
3957	   pointer happens to fall on the scrollbar.  This can happen, for
3958	   instance, if the user's <code>app-defaults</code> or
3959	   <code>.Xdefaults</code> file contains a translations resource,
3960	   though it may also happen through unrelated resource settings:
3961	   probably a bug in libXt (reported by Paul Fox
3962	   &lt;pgf@foxharp.boston.ma.us&gt; and Dmitry Yu.  Bolkhovityanov
3963	   &lt;D.Yu.Bolkhovityanov@inp.nsk.su&gt;).
3964
3965	<li>widen ifdef's in xterm.h to define <code>__EXTENSIONS__</code> on
3966	   Solaris, for compilers other than gcc.  This was added along
3967	   <code>_POSIX_C_SOURCE</code> with in <a href="#xterm_151">patch
3968	   #151</a>, but is not sufficient since Sun's compiler does not define
3969	   <code>__STDC__</code> by default (report by Matthias Scheler
3970	   &lt;tron@zhadum.de&gt;).
3971
3972	<li>modify xterm to obtain the closest matching color if an exact color
3973	   is not available, e.g., on 8-bit displays (patch by Steve Wall)
3974
3975	<li>patch by Tomohiro KUBOTA &lt;tkubota@riken.go.jp&gt; to implement
3976	  "OverTheSpot" preedit type of XIM input:
3977	  <ul>
3978	  <li>This preedit type is a reasonable compromise between
3979	    simpleness of implementation and usefulness.  "Root" preedit
3980	    type is easy to implement but not useful; "OnTheSpot" preedit
3981	    type is the best in the point of view of user interface but
3982	    very complex.  And more, "OverTheSpot" is the preedit type
3983	    which the most XIM servers support.  Thus, to achieve reasonable
3984	    usability, support of "OverTheSpot" preedit type is needed.
3985
3986	  <li>In "OverTheSpot" preedit type, the preedit (preconversion)
3987	    string is displayed at the position of the cursor.  On the
3988	    other hand, it is XIM server's responsibility to display
3989	    the preedit string.  Thus, it is needed for XIM client (here
3990	    XTerm) to inform the XIM server of the cursor position.
3991	    And more, to achieve good visual proportion, preedit string
3992	    must be written using proper font.  Thus, it is XIM client's
3993	    responsibility to inform the XIM server of the proper font.
3994	    The font must be supplied by "fontset".  Fontset is a set of
3995	    fonts with charsets which are specified by the current locale.
3996	    Since XTerm uses ISO10646 fonts regardless of the current locale,
3997	    the fonts for XIM must be prepared separately.  It is difficult
3998	    to prepare fonts which are similar to XTerm font.  Thus, my
3999	    patch uses a simple way - the default font is "*" which matches
4000	    every fonts and X library will automatically choose fonts with
4001	    proper charsets.  I added "-fx" command option and "ximFont"
4002	    resource to override this default font setting.
4003
4004	  <li>changed the definition of "OverTheSpot" preedit type
4005	    from XIMPreeditPosition|XIMStatusArea
4006	    to XIMPreeditPosition|XIMStatusNothing.
4007	    This matches the behavior of other programs such as
4008	    Rxvt, Kterm, Gedit.
4009
4010	  <li>A tiny XIM bugfix is also included.  By calling XSetLocaleModifiers()
4011	    with parameter of "", it can consier XMODIFIERS environmental
4012	    variable which is a standard way for users to specify XIM server
4013	    to be used.
4014	  </ul>
4015
4016	<li>adjust configure script to accommodate repackaging of keysym2ucs.c
4017	  as include-file for xutf8.c (patch by Tomohiro KUBOTA
4018	  &lt;kubota@debian.org&gt;).
4019
4020	<li>add the <code>UXTerm</code> app-defaults file to makefile install
4021	  rules (request by Juliusz Chroboczek).
4022
4023	<li>correct logic in <code>get_termcap()</code>, which returned false
4024	  if the <code>tgetent()</code> call indicated that xterm was linked
4025	  with terminfo.  Although the <code>$TERMCAP</code> variable cannot be
4026	  adjusted in this case, xterm still needs information from this call
4027	  to extract data to initialize the erase-mode when the
4028	  <code>ptyInitialErase</code> resource is false.
4029
4030	<li>modify <code>ScrollbarReverseVideo()</code> function to cache the
4031	  original border color, so it can restore that when an application
4032	  flashes the screen (Bugzilla #38872).
4033
4034	<li>resync with XFree86 CVS:
4035	<ul>
4036	  <li>remove ifdef's for X_NOT_STDC_ENV (David Dawes).
4037	  <li>add Cygwin to special errno handling case in ptydata.c (Alan Hourihane)
4038	  <li>set screen size earlier in initialization, to address a race
4039	    with window manager resizing its clients (Keith Packard).
4040	</ul>
4041</ul>
4042
4043<H1><A NAME="xterm_157">Patch #157 - 2001/6/18 - XFree86 4.1.0</A></H1>
4044<ul>
4045	<li>patch by Juliusz Chroboczek to clean up button.c and input.c.  The
4046	  basic idea is to use a single set of APIs in the XTerm core, and put
4047	  a set of workarounds in a separate file.  As you will notice, this
4048	  drastically simplifies parts of the code; in particular, the only
4049	  remaining ifdefs related to the differences between Xutf8 and legacy
4050	  systems are related to the selection provider logic.
4051
4052	  This defines two new files, xutf8.h and xutf8.c, provide some
4053	  half-hearted but fully portable emulation for the three Xutf8*
4054	  functions that XTerm uses.
4055
4056	  Putting these in a separate file will allow people to experiment with
4057	  more complex versions without making the core of XTerm more difficult
4058	  to maintain.
4059
4060	  The functionality of the emulation is as follows.
4061	  <ul>
4062	  <li>Xutf8TextListToTextProperty fully handles XStringstyle and
4063	  XUTF8StringStyle.  It will only generate STRING for XStdICCTextStyle,
4064	  and wil only generate Latin-1 in XCompoundTextStyle (but label it as
4065	  COMPOUND_TEXT, as the spec requires).  (I have hesitated to make this
4066	  function fail for XStdICCTextStyle and XCompoundTextStyle; this might
4067	  be a smart thing to do, in the hope that the selection requestor will
4068	  try UTF8_STRING afterwards; opinions?)
4069
4070	  <li>Xutf8TextPropertyToTextList fully handles STRING and UTF8_STRING.
4071	  It systematically fails for COMPOUND_TEXT.
4072
4073	  <li>Xutf8LookupString will properly handle single-keystroke input for
4074	  the keysyms covered by Markus' keysym2ucs function.  It will not
4075	  handle either compose key input or external input methods.
4076	  </ul>
4077
4078	<li>add an ifdef for <code>SunXK_F36</code>, used in
4079	  <code>xtermcapKeycode()</code> (patch by Mark Waggoner
4080	  &lt;waggoner@ichips.intel.com&gt;).
4081
4082	<li>modify check for login name to try <code>getlogin()</code> and
4083	  $LOGNAME, $USER environment variables to detect if the user has
4084	  logged in under an alias, i.e., an account with the same user id
4085	  but a different name (Debian bug report #70084).
4086
4087	<li>add resource <code>tiXtraScroll</code>, which can be used to
4088	  preserve the screen contents in the scrollback rather than erasing
4089	  it when starting a fullscreen application such as <code>vi</code>
4090	  (patch by Ken Martin &lt;fletcher@catsreach.org&gt;).
4091
4092	<li>two patches by Denis Zaitsev &lt;zzz@cd-club.ru&gt;:
4093	<ul>
4094	  <li>added <code>forceBoxChars</code> resource to control the
4095	    "line-drawing characters" option.
4096
4097	  <li>added <code>freeBoldBox</code> resource, which, when set true,
4098	    suppresses check in <code>same_font_size()</code>, so xterm does
4099	    not attempt to ensure that the bold font is the same size as
4100	    the normal font.
4101	</ul>
4102
4103	<li>change the color class for ANSI colors and similar ones such as
4104	  bold-color, etc., to follow the convention that the classname is the
4105	  instance name with a leading capital (e.g., <code>color0</code> and
4106	  <code>Color0</code> rather than <code>color0</code> and
4107	  <code>Foreground</code>).  There was little use for Foreground as a
4108	  class other than to create occasional confusion and bug reports, most
4109	  recently by Nelson Beebe who reports that it disables colors in xterm
4110	  but not on Linux, which is probably due to a difference in resource
4111	  evaluation order.  A configure script option (--disable-color-class)
4112	  is provided for anyone who did use the older behavior.
4113
4114	<li>fix a signal-handling bug.  When running xterm with
4115	  <code>ksh</code> or similar shell such as bash 2.05, xterm will hang
4116	  and not respond to keystrokes after the user types
4117	  <code>suspend</code>.  Additionally the popup menus do not respond,
4118	  so it is not possible to send SIGCONT to the shell.
4119	  What is happening is that the shell is sending itself SIGSTOP, and it
4120	  is being stopped.  Per specification it also means that the operating
4121	  system is sending SIGCHLD to parent to the bash (XTERM).
4122	  Now the issue is that xterm assumes it cannot happen and it expects
4123	  to receive SIGCHLD only upon <em>termination</em> of its children.
4124	  This causes a deadlock with xterm waiting for the child to
4125	  die, and the child waiting for SIGCONT.
4126	  (report/patch by Adam Sulmicki), analysis/testing by Sven Mascheck
4127	  &lt;sven.mascheck@student.uni-ulm.de&gt;).
4128
4129	<li>correct some inconsistent checks for <code>XtReleaseGC()</code>
4130	  calls in <code>xtermLoadFont()</code> (patch by Nam SungHyun
4131	  &lt;namsh@lge.com&gt;).
4132
4133	<li>updated wcwidth.c and keysym2ucs.c to versions dated 2001/1/12
4134	  and 2001/4/18, respectively from
4135		http://www.cl.cam.ac.uk/~mgk25/ucs/
4136
4137	<li>correction to change from <a href="#xterm_90">patch #90</a>,
4138	  which was intended to
4139	  reset the saved cursor position for normal/alternate screens
4140	  on a soft reset, but actually wiped out all of the saved cursor
4141	  information.  Just reset the saved position for the current screen
4142	  (report by Michael Schroeder).
4143
4144	<li>modify ShowCursor() and HideCursor() so that if the cursor points
4145	  to the second part of a wide character, make the show/hide operate on
4146	  the first position of the wide character (patch by Sven Verdoolaege).
4147
4148	<li>scrolling in the alternate screen just before switching back to the
4149	  main screen can cause extra blank lines to be inserted into the
4150	  scrollback buffer (patch by Paul Vojta
4151	  &lt;vojta@math.berkeley.edu&gt;).
4152
4153	<li>resync with XFree86 4.1.0:
4154	<ul>
4155	  <li>Use TermcapLibrary as -lncurses instead of -ltermcap, fixes
4156	    problem building xterm/resize on Cygwin/XFree86 (Harold Hunt).
4157	  <li>Install xterm.termcap and xterm.terminfo when installing xterm
4158	    (Torrey T. Lyons).
4159	  <li>Fix some build issues on Cygwin/XFree86 (Suhaib Siddiqi).
4160	  <li>Define CBAUD, when it's missing in xterm, on LynxOS
4161	    (Stuart Lissaman).
4162	</ul>
4163</ul>
4164
4165<H1><A NAME="xterm_156">Patch #156 - 2001/4/28 - XFree86 4.0.3</A></H1>
4166<ul>
4167	<li>change order of selection-target types to make 8-bit xterm prefer
4168	  UTF8_STRING to COMPOUND_TEXT (patch by Juliusz Chroboczek).
4169
4170	<li>document <code>-fa</code>, <code>-fs</code> command-line options
4171	  and <code>faceName</code>, <code>faceSize</code>
4172	  resources which are used by the freetype library support.
4173
4174	<li>if configure script finds freetype libraries, but imake definitions
4175	  do not have the XRENDERFONT definition, define it anyway.
4176
4177	<li>modify configure script check for freetype libraries to include
4178	  <code>&lt;Xlib.h&gt;</code>, since an older version of the related
4179	  headers relies on this (patch by Adam Sulmicki).
4180</ul>
4181
4182<H1><A NAME="xterm_155">Patch #155 - 2001/4/20 - XFree86 4.0.3</A></H1>
4183<ul>
4184	<li>correct return type of in_put() from <a href="#xterm_155">patch #153</a>
4185	  changes, which left it not wide enough for UTF-8 (patch by Bruno Haible).
4186</ul>
4187
4188<H1><A NAME="xterm_154">Patch #154 - 2001/4/11 - XFree86 4.0.3</A></H1>
4189<ul>
4190	<li>undo check for return value from <code>pututline</code> (used for
4191	  debugging) since that function does not return a value on Slackware
4192	  3.6.
4193
4194	<li>correct length in ScreenWrite, when rendering invisible text
4195	  (patch by Sven Verdoolaege &lt;skimo@kotnet.org&gt;).
4196
4197	<li>fixes/improvements for the <code>i18nSelection</code> resource
4198	  from patch #153, by Bruno Haible:
4199
4200	<ul>
4201	  <li>add missing initialization for <code>i18nSelection</code>
4202	    resource.
4203
4204	  <li>split-out the non-ICCM aspect of the
4205	    <code>i18nSelection</code> resource as a new resource,
4206	    <code>brokenSelections</code>.
4207	</ul>
4208
4209	<li>add configure check for <code>&lt;time.h&gt;</code> and
4210	  <code>&lt;sys/time.h&gt;</code>, to allow for Unixware&nbsp;7,
4211	  which requires both.  If the configure script is not used, only
4212	  <code>&lt;time.h&gt;</code> will be included as before (report
4213	  by Thanh Ma).
4214
4215	<li>fix redefinition of <code>dup2</code>, <code>getutent</code>,
4216	  <code>getutid</code>, <code>getutline</code> and <code>sleep</code>
4217	  functions on Unixware&nbsp;7 (report by Thanh Ma
4218	  &lt;Thanh.Ma@casi-rusco.com&gt;)
4219
4220	<li>add a fall-back definition for <code>__hpux</code>, which is
4221	  apparently not defined in some compilers on HPUX 11.0 (reported
4222	  by Clint Olsen).
4223
4224	<li>change VAL_INITIAL_ERASE, which is used as a fallback for the
4225	  <code>"kb"</code> termcap string to 8, since that matches the
4226	  xterm terminal description (request by Alexander V Lukyanov).
4227
4228	<li>correct an off-by-one in <code>ClearInLine</code>, which caused
4229	  the erase-characters (ECH) control to display incorrectly
4230	  (patch by Alexander V Lukyanov).
4231
4232	<li>correct escape sequences shown in terminfo for shifted editing
4233	  keys.  The modifier code was for the control key rather than
4234	  the shift key.
4235</ul>
4236
4237<H1><A NAME="xterm_153">Patch #153 - 2001/3/29 - XFree86 4.0.3</A></H1>
4238<ul>
4239	<li>increase PTYCHARLEN to 8 for os390, add some debugging traces
4240	  for UTMP functions (patch by Paul Gilmartin).
4241
4242	<li>correct an misplaced brace in <code>SelectionReceived()</code>
4243	  (patch by Bruno Haible).
4244
4245	<li>correct an assignment dropped in <code>SelectionReceived()</code>
4246	  which made it not compile for wide-characters combined with debug
4247	  traces.
4248
4249	<li>correct typo, clarify description of 88- and 256-color controls
4250	  (report by Bram Moolenaar).
4251
4252	<li>correct a typo in ctlseqs.ms which caused DEC Locator control
4253	  sequences using single quote "'" display grave "`" instead (reported
4254	  by Paul Williams, apparently in patch #114).
4255</ul>
4256
4257<H1><A NAME="xterm_152">Patch #152 - 2001/3/13 - XFree86 4.0.2</A></H1>
4258<ul>
4259	<li>correct index in inner loop in <code>VTInitI18N()</code> from
4260	  patch #151 changes, which resulted in infinite loop under some
4261	  conditions (report/analysis by Paul Gilmartin).
4262
4263	<li>remove spurious "%|" from terminfo sgr capabilities
4264	  (report/analysis by Adam M Costello, Debian bug #89222).
4265
4266	<li>add shell script to adjust list of dynamic libraries linked by
4267	  <code>resize</code> when building with the standalone configure
4268	  script.  Otherwise it uses the same list as for xterm, which is
4269	  excessive.
4270
4271	<li>fix a few compiler warnings reported by the 20010305 gcc snapshot.
4272</ul>
4273
4274<H1><A NAME="xterm_151">Patch #151 - 2001/3/10 - XFree86 4.0.2</A></H1>
4275<ul>
4276	<li>patch from Juliusz Chroboczek &lt;jch@pps.jussieu.fr&gt; which
4277	  alters the behaviour of selections in XTerm.
4278	  It is believed to follow the ICCCM + UTF8_STRING to the letter, both
4279	  in UTF-8 and in eight-bit mode.  From his description:
4280	  <ul>
4281	  <li>When compiled against XFree86 4.0.2, the patched XTerm will make
4282	    the selection available as COMPOUND_TEXT, STRING or UTF8_STRING in
4283	    both modes.  It will request selections in the following order:
4284	    <p>
4285	      UTF-8 mode: UTF8_STRING, TEXT, COMPOUND_TEXT, STRING.<br>
4286	      eight-bit mode: TEXT, COMPOUND_TEXT, UTF8_STRING, STRING.
4287
4288	  <li>When compiled against an earlier version of XFree86 (or compiled with
4289	    OPT_UTF8_API=0), it will still obey the ICCCM, but will neither
4290	    request nor provide UTF8_STRING in eight-bit mode, and neither TEXT
4291	    nor COMPOUND_TEXT in UTF-8 mode.
4292	  <li>For compatibility with previous versions of XTerm, a resource
4293	    <code>i18nSelections</code> is provided, please see the manpage for
4294	    details.  However, due to an unexpected combination of ICCCM
4295	    extensions by various bits and pieces of the libraries, interacting
4296	    with previous versions of XTerm will work in many locales even
4297	    without this flag.  (Please do not set this resource to true by
4298	    default, as this would violate the ICCCM.)
4299	  </ul>
4300
4301	<li>improved error checking/reporting in VTInitI18N(), ensuring that
4302	  lack of input method styles is treated distinctly from a mismatch.
4303
4304	<li>remove an incorrect ifdef from patch #141 which suppressed
4305	  overstriking to simulate bold font when xterm was compiled to support
4306	  wide characters (report/analysis by Adam M Costello
4307	  &lt;amc@cs.berkeley.edu&gt;, fixes Debian bugs #76404, #77575).
4308
4309	<li>modify <code>RequestResize()</code> function to save/restore window
4310	  manager hints.  Its call to <code>XtMakeResizeRequest()</code> had
4311	  the undesirable side-effect of clearing window manager hints, e.g.,
4312	  when switching to 132-columns via DECCOLM escape sequence.  Window
4313	  manager hints make it simple to resize xterm in terms of character
4314	  cells rather than pixels (reported by Christian Weisgerber as well
4315	  as Debian bug #79939).
4316	  <p>
4317	  This applies to the normal configuration.  When built with toolbar
4318	  support, the hints are applied to a different widget level (more
4319	  work will be needed to make hints work with the toolbar).
4320
4321	<li>fix a redefinition warning for resize.c on OpenBSD (patch by
4322	  Christian Weisgerber).
4323
4324	<li>change resource corresponding to <code>-T</code> option to match
4325	  Xt library's <code>-title</code>, i.e.,  <code>.title</code>
4326	  rather than <code>*title</code> so the command-line options are
4327	  interchangeable as documented (Debian bug report #68843).
4328
4329	<li>add script used from autoconf'd makefile for installing manpages,
4330	  since recent XFree86 changing the way section numbers are represented
4331	  makes the install dependent on extra scripts.
4332
4333	<li>add configure check for freetype libraries and configure option
4334	  --disable-freetype to override this feature.
4335
4336	<li>modify some configure script macros to avoid using changequote(),
4337	  which has been rendered useless in the latest autoconf alpha 2.49c
4338
4339	<li>update config.guess, config.sub to 2001-2-13
4340
4341	<li>remove redundant/contradictory __CYGWIN__ definitions from resize.c
4342
4343	<li>correct manpage typo introduced by X11R6.5 resync.
4344</ul>
4345	Changes from XFree86 4.0.2:
4346<ul>
4347	<li>add definition of <code>_POSIX_C_SOURCE</code> for Solaris to
4348	  make this compile with <code>gcc -ansi -pedantic</code> (report
4349	  by &lt;mark@zang.com&gt;.
4350</ul>
4351
4352<H1><A NAME="xterm_150">Patch #150 - 2000/12/29 - XFree86 4.0.2</A></H1>
4353<ul>
4354	<li>move the binding for shifted keypad plus/minus, which invokes the
4355	  <code>larger-vt-font()</code> and <code>smaller-vt-font()</code>
4356	  actions, respectively, into the translations resource (suggested by
4357	  Marius Gedminas &lt;mgedmin@puni.osf.lt&gt;).
4358
4359	<li>modify configure script to support the
4360	  <code>--program-prefix</code>, <code>--program-suffix</code> and
4361	  <code>--program-transform-name</code> options (request by Alison
4362	  Winters &lt;alison@mirrabooka.com&gt;).
4363
4364	<li>patch from Robert Brady
4365	<ul>
4366	   <li>fix a scrolling / combining characters display anomaly
4367
4368	   <li>fix a problem with double-width characters where if the primary
4369	       font had no box-drawing characters, the right hand half of
4370	       double-width characters was erased (reported by Yao Zhang
4371	       &lt;yzhang@sharemedia.com&gt;).
4372
4373	   <li>fix special case of null byte for key handling in UTF-8 locales.
4374	</ul>
4375
4376	<li>modify logic that compares sizes of normal and bold fonts to be
4377	  more forgiving of the font server's choice of bold font which must
4378	  match the normal font's size.  Now <code>same_font_size()</code>
4379	  compares the height of the fonts rather than individually ascent and
4380	  descent, and allows the bold font to be one pixel smaller than the
4381	  normal font (addresses a report by Alan Citterman
4382	  &lt;alan@mticket.com&gt;, who says that something in patches #146 to
4383	  #148 made xterm more likely to overstrike bold fonts, and indirectly
4384	  Debian bug report #76404, which reports the opposite).
4385
4386	<li>make configure script use $CFLAGS and $CPPFLAGS consistently,
4387	  including removing a chunk from configure.in which attempted to
4388	  save/restore $CPPFLAGS while processing value set by the --x-includes
4389	  option, but lost values set in an intervening AC_CHECK_HEADERS.  This
4390	  change modifies macros CF_ADD_CFLAGS, CF_ANSI_CC_CHECK and
4391	  CF_X_TOOLKIT, as well as removing variables IMAKE_CFLAGS and X_CFLAGS
4392	  from the generated makefile (the AC_CHECK_HEADERS problem was
4393	  reported by Albert Chin-A-Young &lt;china@thewrittenword.com&lt;).
4394
4395	<li>correct a comparison in SELECTWORD case of ComputeSelect(), which
4396	  resulted in a word-selection wrapping past the first column without
4397	  checking the first column's character class (reported by Christian
4398	  Lacunza &lt;celacunza@netscape.net&gt;
4399
4400	<li>correct a logic in UTF-8 mode for selecting double-width characters;
4401	  a combining character was omitted (patch by Markus Kuhn).
4402
4403	<li>add feature to pop (raise) window when a bell is received
4404	  (patch by Gael Roualland &lt;gael.roualland@dial.oleane.com&gt;).
4405
4406	<li>add __NetBSD__ and __OpenBSD__ to special-case in xterm_io.h
4407	  for USE_POSIX_TERMIOS definition (patch by Christian Weisgerber).
4408
4409	<li>move special-case HPUX include for &lt;sys/bsdtty.h&gt; to
4410	  xterm_io.h to define TIOCSLTC, making HAS_LTCHARS defined for HPUX
4411	  10.20 (report by Bruno Betro).
4412</ul>
4413
4414<H1><A NAME="xterm_149">Patch #149 - 2000/12/6 - XFree86 4.0.1h</A></H1>
4415<ul>
4416	<li>restructured includes for <code>termios.h</code>,
4417	  <code>termio.h</code> and related definitions for main.c, os2main.c,
4418	  screen.c and resize.c so they will share equivalent definitions in a
4419	  new header <code>xterm_io.h</code>.  This is intended to solve some
4420	  problems mainly for HPUX which appear to arise from inconsistent
4421	  definitions for SIGWINCH- and HAS_LTCHARS-related symbols (reports
4422	  by Bruno Betro, Jeremie Petit and Clint Olsen).
4423
4424	<li>improve usability of double-width fonts by allowing normal fonts
4425	  to be given as double-width (from a patch by Fabrice Bellard
4426	  &lt;bellard@email.enst.fr&gt;).
4427
4428	<li>correct a few compiler warnings in TRACE() macros for
4429	  signed/unsigned variable differences (reported by Clint Olsen).
4430
4431	<li>make configure script use $CFLAGS and $CPPFLAGS more consistently,
4432	  i.e., by using CF_ADD_CFLAGS in CF_ANSI_CC macro.
4433
4434	<li>expanded description of environment variables in manual-page.
4435
4436	<li>modify OPT_TCAP_QUERY feature to always return the termcap or
4437	  terminfo capability string in the response, and to read/write the
4438	  names in hexadecimal form to allow for the special case of termcap's
4439	  <code>k;</code> name (patch by Bram Moolenaar).
4440
4441	<li>add OPT_SAME_NAME and OPT_TCAP_QUERY to xtermcfg.hin, so the
4442	  corresponding configure options work (patch by Bram Moolenaar).
4443
4444	<li>resync with XFree86 4.0.1g:
4445	<ul>
4446	  <li>Rewrite Xft library for Render extension/core text and font management
4447	    Change xterm to use new interface (Keith Packard).
4448	</ul>
4449</ul>
4450
4451<H1><A NAME="xterm_148">Patch #148 - 2000/10/31 - XFree86 4.0.1d</A></H1>
4452<ul>
4453	<li>document logfile options in man-page.
4454
4455	<li>correct spelling of <code>-samename</code> option in help message.
4456
4457	<li>add configure script option <code>--enable-tcap-query</code>
4458	  (request by Bram Moolenaar).
4459
4460	<li>patch by Bram Moolenaar to add a
4461	  "Co" or "colors" entry to the OPT_TCAP_QUERY feature.
4462	<li>patch by Kiyokazu SUTO &lt;suto@ks-and-ks.ne.jp&gt;:
4463	<ul>
4464	  <li>add support for bold font for double width characters.
4465	     The font name may be specified with the command line option
4466	     <code>-fwb</code> or with resource
4467	     <code>wideBoldFont</code> (class <code>WideBoldFont</code>).
4468	  <li>correct underlining of double width character string, which
4469	     was drawn only half width.
4470	  <li>correct binary search of precomposed character table, which
4471	     may return wrong result when <code>int</code> is just 32 bits.
4472	  </ul>
4473
4474	<li>some changes to align terminfo with ncurses 5.2:
4475	<ul>
4476	  <li>remove xtermm description, retaining xterm-mono since the former
4477	    conflicts with ncurses.
4478	  <li>modify initialization and reset strings to avoid putting the
4479	    save/restore cursor operations bracketing changes to video
4480	    attributes, since the changes could be lost when the cursor is
4481	    restored.  This affects xterm-r6 and xterm-8bit (the xterm-xfree86
4482	    entry uses the soft-reset feature which resets scrolling margins
4483	    and origin mode without requiring us to save/restore the cursor
4484	    position).
4485	  <li>make a few entries explicitly inherit from xterm-xfree86 rather
4486	    than xterm: xterm-rep, xterm-xmc, xterm-nrc
4487	</ul>
4488
4489	<li>ensure that sign-extension does not affect <code>ctype</code>
4490	  macros by using <code>CharOf()</code> macro to coerce the parameter
4491	  to an unsigned char.
4492
4493	<li>resync with XFree86 4.0.1d:
4494	<ul>
4495	  <li>Add primitive support in xterm for Xft based fonts (Keith Packard).
4496	    The changes are ifdef'd with <code>-DXRENDERFONT</code>.
4497	</ul>
4498</ul>
4499
4500<H1><A NAME="xterm_147">Patch #147 - 2000/10/26 - XFree86 4.0.1c</A></H1>
4501<ul>
4502	<li>correct implementation of <code>ptyInitialErase</code>:  the
4503	  value assigned to <code>initial_erase</code> was for the control
4504	  terminal, which is correct as far as it goes.  But there was no
4505	  following test for the pseudo-terminal's erase value, which would
4506	  overwrite the default obtained from the control terminal
4507	  (reported by Christian Weisgerber &lt;naddy@mips.inka.de&gt;).
4508
4509	<li>modify check for printable-characters in OSC string to use xterm's
4510	  ansi_table rather than isprint() macro, to isolate this check from
4511	  locale settings.  This fixes a problem using 8-bit characters to
4512	  set the title (reported by Ricardas Cepas &lt;rch@richard.eu.org&gt;).
4513
4514	<li>modify sample scripts to check for printf before print, since the
4515	  latter is not as well standardized (e.g., on Linux).
4516
4517	<li>updated config.sub, config.guess to reflect changes on
4518	  subversions.gnu.org
4519</ul>
4520
4521<H1><A NAME="xterm_146">Patch #146 - 2000/9/12 - XFree86 4.0.1c</A></H1>
4522<ul>
4523	<li>correct two instances overlooked from patch #141 which assumed
4524	  UTF-8 mode without checking, causing a core dump in non-UTF-8 mode
4525	  (one instance was reported by Tommi Virtanen &lt;tv@debian.org&gt;).
4526
4527	<li>correct a problem selecting from the scrollback buffer in UTF-8
4528	  mode by changing remaining getXtermCell() calls to XTERM_CELL() as in
4529	  the non-UTF-8 cases (report by Markus Kuhn, patch by Robert Brady).
4530</ul>
4531
4532<H1><A NAME="xterm_145">Patch #145 - 2000/9/11 - XFree86 4.0.1c</A></H1>
4533<ul>
4534	<li>several changes from Robert Brady for UTF-8 configuration:
4535	<ul>
4536	  <li>doublewide characters don't lose their accents when the cursor
4537	    moves onto or from them (a visual bug)
4538
4539	  <li>fix logic in addXtermCombining, which mean that if the low byte
4540	    of a cell's first combining char was 0, a following combining char
4541	    would go into combining slot 1, not 2.
4542
4543	  <li>modify logic for cut-buffers so UTF-8 data is first converted
4544	    to Latin1.
4545
4546	  <li>collapse surrogates, 0xfffe, 0xffff to UCS_REPL.
4547
4548	  <li>modify to allow xterm to to show combining characters
4549	   attached to doublewidth characters.
4550
4551	  <li>correct bug in linewrap with -u8 option (reported by
4552	    Andreas Koenig &lt;andreas.koenig@anima.de&gt;).
4553	</ul>
4554
4555	<li>several changes to PTY logic (based on request by Tim Ryan
4556	  &lt;timryan@nortelnetworks.com&gt;).
4557	<ul>
4558	  <li>modify treatment of <code>-S</code> option to to make it work with
4559	    Unix98 PTY's.
4560
4561	  <li>restore sense of IsPts flag in <code>get_pty()</code>, which was
4562	    lost in Unix98 changes.
4563
4564	  <li>use new functions <code>my_pty_id()</code> and
4565	    <code>my_pty_name()</code> to simplify/fix strings used for utmp,
4566	    wtmp identifiers.
4567
4568	  <li>simplify <code>get_pty()</code> function, making it have a single
4569	    return point so its inputs/outputs can be identified.
4570	</ul>
4571
4572	<li>update config.guess and config.sub and scripts to my 20000819 patch,
4573	   adding cases for OS/2 EMX.
4574
4575	<li>add special case for os390 compiler options to configure script
4576	  (patch by Paul Gilmartin)
4577
4578	<li>fix some unused-variable compiler warnings (reported by
4579	  Zdenek Sekera).
4580
4581	<li>split-out some string functions into xstrings.c, to use them
4582	  more consistently among main.c, os2main.c and resize.c
4583
4584	<li>align termcap/terminfo files, adding entries to make them match.
4585	  The termcap entries are necessarily less complete than the terminfo,
4586	  to fit within 1023 character per entry.
4587
4588	<li>add terminfo entry for xterm-sco (SCO function keys).
4589
4590	<li>modify <code>same_font_name()</code> to properly handle wildcard
4591	  introduced in <code>bold_font_name()</code>, making comparison for
4592	  different fonts succeed when only the normal font is specified.  This
4593	  is needed to decide if 1-pixel offset should be used.  (reported
4594	  in a newsgroup by Bart Oldeman &lt;enbeo@enbeo.resnet.bris.ac.uk&gt;)
4595
4596	<li>correct preprocessor line for OPT_WIDE_CHARS in drawXtermText()
4597	  from patch #141 which resulted in overstriking for bold fonts not
4598	  working.
4599
4600	<li>correct Imakefile from 4.0.1c resync so UTF-8 modules are in
4601	  UTF8SRC, UTF8OBJ lists, allowing build without UTF-8 support.
4602</ul>
4603
4604<H1><A NAME="xterm_144">Patch #144 - 2000/8/23 - XFree86 4.0.1b</A></H1>
4605<ul>
4606	<li>remove a spurious assignment in ScreenWrite() from Robert Brady's
4607	  patch which set a null at the "end" of the buffer to be written.
4608	  That made the autowrap feature write a blank in the first column for
4609	  the non-UTF-8 configuration, rather than the actual character
4610	  (reported by Alan Citterman &lt;alan@mticket.com&gt;).
4611</ul>
4612
4613<H1><A NAME="xterm_143">Patch #143 - 2000/8/19 - XFree86 4.0.1b</A></H1>
4614<ul>
4615	<li>add a check to ensure that <code>-class</code> command-line option
4616	  is not confused with <code>-c</code> (reported by Paul Townsend
4617	  &lt;aab@aab.cc.purdue.edu&gt;).
4618</ul>
4619
4620<H1><A NAME="xterm_142">Patch #142 - 2000/8/18 - XFree86 4.0.1b</A></H1>
4621<ul>
4622	<li>correction to precompose scripts, so 0061 + 0300 will now be really
4623	  be displayed as 00C0 (patch by Robert Brady
4624	  &lt;robert@susu.org.uk&gt;).
4625
4626	<li>correct macro ClassSelects() in button.c, used to hide ifdef's for
4627	  OPT_WIDE_CHARS in patch #141 (reported by Andreas Paul
4628	  &lt;paula@informatik.tu-muenchen.de&gt;).
4629
4630	<li>change wcwidth.h to include stddef.h rather than wchar.h, which is
4631	  not present on OpenBSD and FreeBSD (reported by Christian
4632	  Weisgerber and Bram Moolenaar).
4633
4634	<li>newer config.sub and config.guess, from lynx 2.8.4dev.7
4635</ul>
4636
4637<H1><A NAME="xterm_141">Patch #141 - 2000/8/14 - XFree86 4.0.1b</A></H1>
4638<ul>
4639	<li>Most of this patch is an integration of Robert Brady's patch #11
4640	  for doublewidth and combining characters, from
4641	  http://www.ecs.soton.ac.uk/~rwb197/xterm/.  In this context,
4642	  doublewidth refers to 16-bit character sets which may have glyphs
4643	  occupying two cells.
4644
4645	<li>add command-line option <code>-class</code>, which allows one
4646	  to override xterm's resource class.  Also add resource file
4647	  <code>UXTerm.ad</code>, which simplifies using xterm for both
4648	  8-bit character sets and UTF-8.
4649
4650	<li>fixes/improvements to OPT_TCAP_QUERY logic (patches by Bram
4651	  Moolenaar, Steve Wall).
4652</ul>
4653
4654<H1><A NAME="xterm_140">Patch #140 - 2000/7/23 - XFree86 4.0.1</A></H1>
4655<ul>
4656	<li>modify Makefile.in to circumvent GNU make's built-in suffix rule
4657	  for ".sh" which confuses install.sh with the "make install" target
4658	  (report/patch by Paul Gilmartin).
4659
4660	<li>implement an experimental control sequence which an application may
4661	  use to query the terminal to determine what sequence of characters it
4662	  would send for a given function key.  This is ifdef'd with
4663	  OPT_TCAP_QUERY (request by Bram Moolenaar).
4664
4665	<li>add /usr/local to search path in CF_X_ATHENA configure macro
4666	  to build with Xaw3d on OpenBSD (patch by Christian Weisgerber).
4667
4668	<li>add missing <code>#undef HAVE_TERMIO_C_ISPEED</code> to
4669	  xtermcfg.hin, omitted in patch #133 fix for IRIX 6.5 baudrate (report
4670	  by Alain Filbois &lt;Alain.Filbois@loria.fr&gt;).
4671
4672	<li>correct a few errors in xterm.man:  font in filename example for
4673	  Tektronix emulation, and description of -nul/+nul command-line
4674	  options (report by Eric Fischer &lt;enf@pobox.com&gt;).
4675
4676	<li>update config.guess and config.sub (from tin and lynx)
4677</ul>
4678
4679<H1><A NAME="xterm_139">Patch #139 - 2000/6/17 - XFree86 4.0d</A></H1>
4680<ul>
4681	<li>back out change to <code>-name</code> command-line option,
4682	  restoring its original behavior (as noted by David Madore, the
4683	  correct interpretation of this option is the application instance
4684	  rather than the application class).
4685</ul>
4686
4687<H1><A NAME="xterm_138">Patch #138 - 2000/6/15 - XFree86 4.0c</A></H1>
4688<ul>
4689	<li>workaround for fixed fonts which are generated from Unicode fonts:
4690	  they omit glyphs for some xterm's less-used line-drawing characters,
4691	  which caused xterm to set a flag telling it to use only its internal
4692	  line-drawing characters.  Do not set the flag (it can be set from the
4693	  popup menu), and xterm will generate only the line-drawing glyphs
4694	  which actually are missing.
4695	  <br>
4696	  Otherwise, when used for large fonts, xterm may generate a 2-pixel
4697	  wide line, which can leave dots on the screen.
4698
4699	<li>restore first line of 256colres.pl, omitted in 4.0c diffs.
4700</ul>
4701<H1><A NAME="xterm_137">Patch #137 - 2000/6/10 - XFree86 4.0b</A></H1>
4702<ul>
4703	<li>make command-line <code>-name</code> option work as documented.
4704	  Apparently this was lost in X11R5 when coding to use
4705	  <code>XtAppInitialize</code>.
4706
4707	<li>limit numeric parameters of control sequences to 65535 to
4708	  simplify checks for numeric overflow.
4709
4710	<li>change index into UDK list to unsigned to guard against numeric
4711	  overflow making the index negative (Taneli Huuskonen
4712	  &lt;huuskone@cc.helsinki.fi&gt;).
4713
4714	<li>change <code>sun&nbsp;function-keys</code> resource name to
4715	  <code>sunFunctionKeys</code> to work around redefinition of the
4716	  token <code>sun</code> by xrdb on Solaris.  Similarly, renamed
4717	  resource <code>sun&nbsp;keyboard</code> to <code>sunKeyboard</code>
4718	  (Steve Wall).
4719
4720	<li>change similar resource names for HP and SCO to avoid potential
4721	  conflict with xrdb symbols on other systems, as well as for
4722	  consistency.
4723
4724	<li>reorganized the install targets in the autoconf'd Makefile, adding
4725	  install-app, install-bin, install-dirs and install-man.  The
4726	  app-defaults class can be overridden by setting the make variable
4727	  'CLASS', simplifying customization of xterm as a Unicode terminal,
4728	  e.g., CLASS=UXTerm.
4729
4730	<li>add limit checks to <code>ClearInLine()</code>,
4731	  <code>ScrnInsertChar()</code>, <code>ScrnDeleteChar()</code> to
4732	  correct potential out-of-bounds indexing (prompted by Debian bug
4733	  report #64713, which reported a problem with ICH escape sequences).
4734
4735	<li>updates to config.sub and config.guess
4736	  Kevin Buettner &lt;kev@primenet.com&gt; for elf64_ia64
4737	  Bernd Kuemmerlen &lt;bkuemmer@mevis.de&gt; and MacOS X.
4738
4739	<li>patch from Paul Gilmartin for os390 to check for errno set to
4740	  ENODEV on failure to open /dev/tty when there is no controlling
4741	  terminal.
4742
4743	<li>patch from H Merijn Brand &lt;h.m.brand@hccnet.nl&gt; for
4744	  building on Digital Unix 4.0 and AIX 4.2.
4745
4746	<li>modify DECRQSS reply for DECSCL to additionally report if the
4747	  terminal is set for 8-bit controls.
4748</ul>
4749
4750<H1><A NAME="xterm_136">Patch #136 - 2000/6/3 - XFree86 4.0b</A></H1>
4751<ul>
4752	<li>add a resource (<code>limitResize</code>)
4753	  limiting resizing via the CSI 4 t and CSI 8 t sequences.
4754
4755	<li>ignore out-of-bounds resize requests, i.e., where sign-extension
4756	  or truncation of the parameters would occur.
4757</ul>
4758
4759<H1><A NAME="xterm_135">Patch #135 - 2000/5/29 - XFree86 4.0b</A></H1>
4760<ul>
4761	<li>remove code introduced in #134 which made some backgrounds bold.
4762
4763	<li>minor correction to format of updated $TERMCAP when adding
4764	  <code>kb</code> capability for <code>ptyInitialErase</code> logic.
4765
4766	<li>improved test for SVR4 definition.
4767</ul>
4768
4769<H1><A NAME="xterm_134">Patch #134 - 2000/5/28 - XFree86 4.0b</A></H1>
4770<ul>
4771	<li>update URL's and mailing addresses, moved to http://dickey.his.com
4772	  and dickey@herndon4.his.com
4773
4774	<li>correct missing quotes in CF_TTY_GROUP configure script macro in
4775	  case the script is run in batch mode.
4776
4777	<li>modify ownership-check of log file to ignore the group ownership.
4778	  Otherwise xterm cannot create logfiles in directories with set-gid
4779	  permissions.
4780
4781	<li>simplify the logic that reads termcap data.
4782
4783	<li>add fallback definition for B9600 in case line speed definition
4784	  for 38400 is missing (report by Jack J Woehr &lt;jwoehr@ibm.net&gt;,
4785	  for OpenBSD 2.6).
4786
4787	<li>fix:  Set highlightColor, and select a region containing the text
4788	  cursor.  If the window loses focus, the cursor becomes hollow, with
4789	  the region inside the cursor being background/foreground, unlike the
4790	  rest of the selection, which is foreground/highlight
4791	  (patch by Ross Paterson &lt;ross@soi.city.ac.uk&gt;).
4792
4793	<li>add configure script tests to define SVR4, SYSV and USE_POSIX_WAIT,
4794	  which enables xterm to compile on Solaris 7 and SCO Openserver
4795	  without imake, though there are still a few features for the latter
4796	  which require <code>sco</code> to be predefined.
4797
4798	<li>patches from Steve Wall:
4799	<ul>
4800	<li>add support for two Sun-specific function keys.  These keys are
4801	  labeled F11 and F12 on Sun Type 5 keyboards, but return SunXK_F36 and
4802	  SunXK_F37.  Support will only be compiled in if the header file
4803	  &lt;X11/Sunkeysym.h&gt; exists and contains the appropriate symbol
4804	  definitions.  The keycodes for the DEC keycodes were arbitrary unused
4805	  codes, but the ones for the Sun keycodes are what cmdtool and
4806	  shelltool actually send.
4807
4808	<li>add <code>colorRV</code> and <code>colorRVMode</code> resources to
4809	  allow specifying a color to use for reverse video, similar to the
4810	  existing UL, BD, and BL modes.
4811
4812	<li>add <code>alwaysUseMods</code> resource, to override check if
4813	  <code>alt</code> or <code>meta</code> modifiers are used in
4814	  <code>translations</code> resource.  Revamped the code to calculate
4815	  the modifier value, and included Meta if alwaysUseMods is TRUE, using
4816	  values 9-16.
4817	</ul>
4818
4819	<li>patches from Paul Gilmartin for os390:
4820	<ul>
4821	<li>regularize the definition of CONTROL() and remove an
4822	  acknowledged "trial and error" table.
4823
4824	<li>translate "^?" into A2E(0177) which is the EBCDIC "DEL"
4825	  rather than plain 0177 which is the EBCDIC quotation mark.
4826
4827	<li>modify <code>xtermMissingChar()</code> so that EBCDIC codes 128-159
4828	  are not rendered as blanks by X server running on Solaris, which sees
4829	  those as control characters.
4830
4831	<li>make debugging traces (configure --enable-trace)
4832	 work properly with EBCDIC.
4833	</ul>
4834</ul>
4835
4836<H1><A NAME="xterm_133">Patch #133 - 2000/5/2 - XFree86 4.0a</A></H1>
4837<ul>
4838	<li>add substitutions in autoconf'd Makefile for CPPFLAGS, LDFLAGS and
4839	  AWK (reported by Neil Bird).
4840
4841	<li>correct uninitialized <code>childstat</code> variable from patch
4842	  #131 in <code>creat_as()</code> function, which caused logging to not
4843	  work on Solaris, whose <code>waitpid()</code> function does not
4844	  initialize its parameter.  Add check for EINTR on return from
4845	  <code>waitpid()</code> as well (reported by Neil Bird
4846	  &lt;neil.bird@rdel.co.uk&gt;).
4847
4848	<li>remove a redundant check for working <code>setuid()</code> function
4849	  introduced in patch #132 (Greg Smith reports that this does not work
4850	  as intended on os390).
4851
4852	<li>change line speed from 9600bd to 38400bd, to accommodate people who
4853	  mistakenly use $TERM set to <em>vt100</em>, to reduce the effect of
4854	  padding associated with this terminal type.
4855
4856	<li>add configure script check for IRIX 6.5's redefinition of baud
4857	  rates associated with <code>struct termio</code>, to correct a
4858	  situation where the baud rate was initialized to zero (reported by
4859	  Andrew Isaacson &lt;adi@lcse.umn.edu&gt;).
4860
4861	<li>remove unused configure script check for VDISABLE.
4862</ul>
4863
4864<H1><A NAME="xterm_132">Patch #132 - 2000/4/11 - XFree86 4.0a</A></H1>
4865<ul>
4866	<li>undo an incorrect change from patch #113 caused the right scrollbar
4867	  to be positioned incorrectly when re-enabling it (analysis by
4868	  D Roland Walker).
4869
4870	<li>add ctrlFKeys resource, replacing constant for adjusting
4871	  control-F1 to control-F12 to VT220-style F10-F20.  The resource
4872	  changes the constant 12 to a default value of 10 (request by
4873	  Jim Knoble &lt;jmknoble@pobox.com&gt;).
4874
4875	<li>correct ifdef'ing for conflict between definitions in AIX's
4876	  &lt;sys/select.h&gt; and &lt;X11/Xpoll.h&gt; (reported by Clint
4877	  Olsen).
4878
4879	<li>add checks for return-values of getutid(), initgroups() and
4880	  setuid() in main.c, as well as modifying ifdef's for __osf__ to
4881	  include tty-group and WTMP logic (adapted from patch by Paul Szabo
4882	  &lt;psz@maths.usyd.edu.au&gt;)
4883
4884	<li>modify resize.c to build and work on os390 (uses EBCDIC)
4885	  (adapted from patch by Phil Sidler &lt;Phil.Sidler@airborne.com&gt;)
4886
4887	<li>use Ires(), Bres() and Sres() macros to simplify resource list in
4888	  charproc.c
4889
4890	<li>resync with XFree86 4.0a:
4891	<ul>
4892	  <li>correct a typo in os2main.c (Holger Veit, from 4.0a).
4893	</ul>
4894</ul>
4895
4896<H1><A NAME="xterm_131">Patch #131 - 2000/3/3 - XFree86 3.9.18b</A></H1>
4897<ul>
4898	<li>integrate patch by Branden Robinson for improving logfile
4899	  security:
4900	  <ul>
4901	  <li>make the <code>creat_as()</code> function more strict by using
4902	    O_EXCL rather than O_APPEND.
4903	  <li>fixes to make DEBUG ifdef's compile/run, including making the
4904	    debug logfile more unique by appending a timestamp to its name.
4905	  <li>include &lt;term.h&gt; in resize.c, to fix a missing-prototype
4906	    warning.
4907	  </ul>
4908
4909	<li>modified <code>creat_as()</code> a little more, retaining the
4910	  ability to append to a logfile If the user specifies the name.
4911	  Also, check if the opened file (which patch #130 ensures is
4912	  owned by the effective user) is not writable by other users.
4913
4914	<li>use <code>creat_as()</code> logic to make tek4014 screen-copy
4915	  more secure (noted by Branden Robinson).
4916
4917	<li>ifdef'd some of Branden's changes to build/work on older machines.
4918
4919	<li>correct missing initialization of the <code>.mode</code> flag in
4920	  <code>ColorRes</code> struct, from patch #129.  This worked on Linux
4921	  because <code>malloc()</code> zeroes memory on that platform
4922	  (reported by Christian Weisgerber).
4923
4924	<li>modify logic for <code>deleteIsDEL</code> resource so it has
4925	  internally 3 states:  unspecified, true and false.  If unspecified,
4926	  the keyboard type determines whether the Delete key transmits
4927	  <code>&lt;ESC&gt;[3~</code> or <code>\177</code>, and the popup menu
4928	  entry reflects the internal state.  Otherwise, the popup menu entry
4929	  overrides the keyboard type (suggested by Dr Werner Fink, to make it
4930	  simpler to set resources that imitate the legacy X11R6 xterm).
4931</ul>
4932
4933<H1><A NAME="xterm_130">Patch #130 - 2000/3/1 - XFree86 3.9.18a</A></H1>
4934<ul>
4935	<li>modify <code>scroll-forw()</code> and <code>scroll-back()</code>
4936	  actions, adding a third parameter which will direct xterm to ignore
4937	  the action when mouse reporting is enabled.  This is needed for
4938	  the wheel mouse to be used to report to the application rather than
4939	  scroll the window.
4940
4941	<li>add menu entry and action to allow disabling xterm's assumption
4942	  that the current font contains line-drawing characters if the
4943	  font cells 1-31 are nonempty.  Some fonts may have other characters
4944	  (reported by Bruno Betro &lt;bruno@iami.mi.cnr.it&gt;).
4945
4946	<li>add a check in <code>creat_as()</code> to ensure that the user
4947	  really owns the logfile that has been opened.
4948
4949	<li>add logic to implement SCO function-keys.  (This is really
4950	  incomplete, since I intend to revisit this and make xterm able to
4951	  emulate scoansi better than just the function-keys).
4952
4953	<li>add configure script option --enable-sco-fkeys, minor related fixes
4954	  (patch by Dr Werner Fink).
4955
4956	<li>fix typos in ctlseqs.ms (reported by Bram Moolenaar)
4957
4958	<li>fix typo in sinstall.sh default for $TST_PROG (reported by
4959	  Paul Gilmartin &lt;pg@sweng.stortek.com&gt;)
4960</ul>
4961
4962<H1><A NAME="xterm_129">Patch #129 - 2000/2/26 - XFree86 3.9.18a</A></H1>
4963<ul>
4964	<li>improve initialization of ANSI colors by delaying allocation until
4965	  each color is first used.
4966
4967	<li>remove ifdef that prevented colorBD/colorUL/colorBL resources from
4968	  working when 256-color configuration was built (reported by
4969	  Todd Larason).
4970
4971	<li>fix some minor inconsistencies in terminfo (Debian #58530).
4972</ul>
4973
4974<H1><A NAME="xterm_128">Patch #128 - 2000/2/17 - XFree86 3.9.18</A></H1>
4975<ul>
4976	<li>correct logic for <code>oldXtermFKeys</code> resource, fixes a core
4977	  dump when attempting to set it from the command-line (reported by Dr
4978	  Werner Fink).
4979	<li>correct ifdef for meta-sends-escap so configure --disable-num-lock
4980	  builds.
4981</ul>
4982
4983<H1><A NAME="xterm_127">Patch #127 - 2000/2/12 - XFree86 3.9.17e</A></H1>
4984<ul>
4985	<li>add resource, popup menu entry and control sequence to allow
4986	  changing the Delete key to send either DEL or the VT220-style
4987	  Remove escape sequence.
4988
4989	<li>remove logic for metaSendsEscape that would allow xterm to send
4990	  <code>&lt;ESC&gt;[3~</code> before a function key that would begin
4991	  with <code>&lt;ESC&gt;[3~</code> (request by Christian Weisgerber).
4992
4993	<li>add missing action and documentation for meta-sends-escape.
4994
4995	<li>correct a few typos in ctlseqs.ms (incorrect code for Cyan color)
4996</ul>
4997
4998<H1><A NAME="xterm_126">Patch #126 - 2000/2/8 - XFree86 3.9.17c</A></H1>
4999<ul>
5000	<li>patch by Markus Kuhn:
5001	  ensure that xterm will automatically activate the UTF-8 mode whenever
5002	  the name of the locale environment variable suggests that a UTF-8
5003	  locale is in use.  This will help that by simply setting LC_CTYPE an
5004	  entire system can be switched over to UTF-8, without users having to
5005	  remember the UTF-8 command line options ("-u8", etc.) of the various
5006	  applications.  Command line options and X resource entries can still
5007	  be used to override this default choice.
5008
5009	<li>add old function-keys control sequences and popup menu entry, for
5010	  compatibility with legacy X11R6 xterm.
5011
5012	<li>revert translation of editing keypad "Delete" key to legacy \177.
5013
5014	<li>simplify the color-resource data expressions with macro COLOR_RES,
5015	  for later use in restructuring color initialization.
5016
5017	<li>change encoding of wheel mouse (buttons 4 and 5) to avoid conflict
5018	  with legacy mouse modifiers (suggested by Bram Moolenaar).
5019</ul>
5020
5021<H1><A NAME="xterm_125">Patch #125 - 2000/1/31 - XFree86 3.9.17c</A></H1>
5022<ul>
5023	<li>integrate patch by David Mathog
5024	  &lt;mathog@seqaxp.bio.caltech.edu&gt; to make this work on OpenVMS
5025
5026	<li>rename some functions, e.g., <code>Index</code> to
5027	  <code>xtermIndex</code> so that ports such as VMS which link
5028	  externals ignoring case will not have library conflicts (reported by
5029	  David Mathog).
5030
5031	<li>correct logic of <code>do_reversevideo()</code>, which did not
5032	  update the corresponding popup menu check mark (reported by David
5033	  Mathog, this was a detail overlooked in patch #94).
5034
5035	<li>change TRACE macro so semicolon is not within definition, making
5036	  <em>indent</em> and similar programs work better.
5037
5038	<li>add <code>depend</code> rule to Makefile.in
5039
5040	<li>modify logic of boldColors resource to suppress it if an extended
5041	  color control has been used, e.g., for 88-color or 256-color mode
5042	  (patch by Todd Larason).
5043
5044	<li>revise logic that handles menus and input translation for keyboard
5045	  type so only one can be selected at a time.
5046
5047	<li>restore kdch1=\177 for the Sun function-key type, and make the
5048	  the Delete key send DEL (\177) if the oldXtermFKeys resource is set.
5049
5050	<li>rephrase logic and ifdef's for POSIX VDISABLE to avoid preprocessor
5051	  expression that will not compile on NetBSD/x86 1.4.1 (reported by
5052	  Takaaki Nomura &lt;amadeus@yk.rim.or.jp&gt;).
5053
5054</ul>
5055
5056<H1><A NAME="xterm_124">Patch #124 - 2000/1/27 - XFree86 3.9.17b</A></H1>
5057<ul>
5058	<li>change coding of editing keypad's "Delete" key to
5059	  &lt;escape&gt;[3~, in the default (Sun/PC) keyboard mode.
5060	  This makes the terminfo kdch1 capability independent of the
5061	  coding of the backarrow key, which sends either backspace (8)
5062	  or DEL (127).  The reason for doing this (compatibility with
5063	  the <em>screen</em> program) outweighs the choice of DEL (127)
5064	  which was used in X11R5/X11R6 xterms.  The <em>screen</em>
5065	  program translates whatever matches kdch1 into &lt;escape&gt;[3~,
5066	  even if it happens to be the stty erase character.
5067
5068	<li>add encoding for control/?, to work around xmodmap or key
5069	  translations which may confuse backspace and delete.  A control/?
5070	  will send DEL (127), and a control/H will of course send backspace
5071	  (8).
5072
5073	<li>add encoding for kcbt to &lt;escape&gt;[Z (fixes Debian #54840).
5074
5075	<li>minor correction to logic that encodes Sun and DEC function keys
5076	  to avoid sending an escape sequence if the key symbol is not found
5077	  in xterm's lookup table.
5078
5079	<li>simplify ifdef's in main.c for POSIX VDISABLE so the "^-" pattern
5080	  is more likely to be implemented when <em>imake</em> configures xterm
5081	  (fixes Debian #55105).
5082
5083	<li>change manpage to make it clearer what codes are sent by the
5084	  backarrow key.
5085</ul>
5086
5087<H1><A NAME="xterm_123">Patch #123 - 2000/1/22 - XFree86 3.9.17a</A></H1>
5088<ul>
5089	<li>add a note reserving OSC 51 for use in Emacs shell (request by
5090	  Rob Mayoff &lt;mayoff@dqd.com&gt;).
5091
5092	<li>correct a missing backslash in xterm-vt220 termcap.
5093
5094	<li>cleanup remaining quoted includes, preferring bracketed form.
5095
5096	<li>minor configure-script macro updates from tin and vile.
5097
5098	<li>add configure-script option for using utempter library, adapted
5099	  from Redhat 6.1 patch for XFree86 3.3.5
5100
5101	<li>resync with XFree86 3.9.17a:
5102	<ul>
5103	  <li>correction to QNX support (Frank Guangxin Liu)
5104	  <li>some cosmetic changes that did not correct any reported problems.
5105	</ul>
5106</ul>
5107
5108<H1><A NAME="xterm_122">Patch #122 - 1999/12/28 - XFree86 3.9.16f</A></H1>
5109<ul>
5110	<li>move the suggested wheel-mouse button translations into charproc.c
5111	  to simplify customization.  Correct some minor logic errors in the
5112	  support for buttons 4 and 5, used for wheel mice (reported by
5113	  Bram Moolenaar).
5114
5115	<li>implement <em>metaSendsEscape</em> resource, with corresponding
5116	  control sequence and menu entry.  Like <em>eightBitInput</em>, this
5117	  causes xterm to send ESC prefixing the given key, but applies to
5118	  all keys and is independent of the 8-bit/7-bit terminal setting.
5119	  (requests by Alexander V Lukyanov and Marc Feeley).
5120
5121	<li>correct potential indexing with negative subscript in udk_lookup(),
5122	  (reported by Ian Collier &lt;Ian.Collier@comlab.ox.ac.uk&gt;).
5123
5124	<li>modify configure script that sets TERMINFO_DIR to use ${prefix}
5125	  rather than /usr if the --prefix option was specified (request by
5126	  Zdenek Sekera &lt;zs@sgi.com&gt;).
5127
5128	<li>modify checks for repeat-character control sequence to test the
5129	  character class against xterm's state table, rather than the
5130	  isprint() macro (patch by Alexander V Lukyanov).
5131
5132	<li>change several functions to macros to improve speed
5133
5134	<li>two corrections to simulation of bold font via overstriking:
5135	<ul>
5136	  <li>use clipping to avoid leaving trash at end of the text, and
5137	  <li>add brackets so wide-character logic does not fall-through
5138	    into the overstriking logic (reported by
5139	    Marc Feeley &lt;feeley@IRO.UMontreal.CA&gt;)
5140	</ul>
5141
5142	<li>add several entries to termcap file to make it have the same set
5143	 of aliases as the terminfo file.
5144
5145	<li>scale the color values used for xterm-256color terminfo entry to
5146	 0..1000, as expected by ncurses.
5147
5148	<li>change xterm-r6 terminfo definitions for F1-F4 to match program.
5149
5150	<li>Add QNX/Neutrino support (Frank Guangxin Liu
5151	 &lt;frank@ctcqnx4.ctc.cummins.com&gt;)
5152</ul>
5153<H1><A NAME="xterm_121">Patch #121 - 1999/11/14 - XFree86 3.9.16c</A></H1>
5154<ul>
5155	<li>change label on "Sun/PC Keyboard" popup menu entry to "VT220
5156	  Keyboard", since the checked state corresponds to VT220 rather than
5157	  Sun/PC.
5158
5159	<li>add configure test CF_UTMP_UT_XSTATUS to handle the variants of
5160	  utmp exit status (reports by Dave Ellement, Jeremie Petit, Tomas
5161	  Vanhala).
5162
5163	<li>amend treatment of ALT key
5164	  (see <a href="#xterm_94">patch #94</a>) so that if ALT is used
5165	  as a modifier in key translations, then no parameter will be sent
5166	  in escape sequences for Sun/PC function keys (request by Dr Werner Fink).
5167
5168	<li>modify default for OPT_I18N_SUPPORT to assume that
5169	  <code>XtSetLanguageProc()</code> is available in X11R5.
5170	  <p>
5171	  Caveat: <code>XtSetLanguageProc()</code> was
5172	  added fairly late in the X11R5 patches, and some vendors shipped
5173	  buggy versions of this function (request by Tomas Vanhala).
5174
5175	<li>correct configure macro CF_SYSV_UTMP to test-link with functions
5176	  consistent with the header, e.g., getutent() for utmp.h and
5177	  getutxent() for utmpx.h (reported by Greg Smith).
5178
5179	<li>modify terminfo entry for <code>xterm-xfree86</code> to reflect
5180	  modifiers for shift and control which (from a patch by Alexander V
5181	  Lukyanov).
5182
5183	<li>modify terminfo entry for <code>xterm-sun</code> to match the
5184	  function-key definitions in ncurses.  The pageup/pagedown and
5185	  related function keys correspond to the Sun keyboard, which does
5186	  not necessarily correspond with X's notion of those keys.
5187
5188	<li>modify treatment of XK_Delete keysym so it transmits parameterized
5189	  VT220-style <code>&lt;ESC&gt;[3~</code> if modifiers (shift, control
5190	  alt) are given (request by Alexander V Lukyanov).
5191
5192	<li>corrected misspelled resource name in command-line option for
5193	  HP function keys.
5194</ul>
5195
5196<H1><A NAME="xterm_120">Patch #120 - 1999/10/28 - XFree86 3.9.16c</A></H1>
5197<ul>
5198	<li>refine the change to <code>SGR_Background()</code> in patch #119,
5199	  by not flushing the pending scrolling operation if the background
5200	  color is not actually changing.  This combination occurs when using
5201	  color-ls to display a long listing, since each line ends with an SGR0
5202	  which affects only the foreground color.  The unnecessary flushing
5203	  made it noticeably slower (reported by D Roland Walker
5204	  &lt;walker@pobox.com&gt;).
5205
5206	<li>remove obsolete documentation about modifiers which can be returned
5207	  in mouse tracking mode, and modify logic to ignore modifiers other
5208	  than the existing ones, e.g., NumLock (prompted by discussions with
5209	  Christian Weisgerber and Brad Pepers &lt;brad@linuxcanada.com&gt;).
5210
5211	<li>use free bit from obsolete shift-modifier coding of mouse tracking
5212	  button events to encode buttons 4 and 5, e.g., for a wheel mouse
5213	  (requests by Brad Pepers and Bram Moolenaar).
5214
5215	<li>correct a place where the ptyInitialErase logic did not set the
5216	  backarrowKey state, and modify it further to use tgetstr() rather
5217	  than parse the termcap data returned from tgetent() so the
5218	  ptyInitialErase logic will work when xterm is linked with a terminfo
5219	  library (based on a patch by Dr Werner Fink &lt;werner@suse.de&gt;).
5220
5221	<li>fix definition of HAVE_UTMP_UT_HOST for ISC configuration (patch by
5222	  &lt;michael.rohleder@stadt-frankfurt.de&gt;)
5223
5224	<li>improve configure script's utmp tests (based on reports by Greg
5225	  Smith for os390, and David Ellement for HPUX).
5226
5227	<li>modify sinstall.sh to use uid=0 rather than 'root' to determine if
5228	  the installer is privileged.  This is needed on some systems since
5229	  more than one account may be privileged (report by Greg Smith).
5230
5231	<li>add an application resource, <code>messages</code> (and a
5232	  corresponding -/+mesg option) which controls the initial permission
5233	  on the terminal:  if messages is set to true (the default), behavior
5234	  is as without the patch; if it is set to false (as per -mesg), the
5235	  terminal is opened in mode 0600, thus producing the effect of the
5236	  <code>mesg n</code> command.  This is useful for users who want to
5237	  redirect all their messages to one particular xterm:  it is more
5238	  pleasant to do this with xterm resources than with explicit calls to
5239	  the <code>mesg</code> program  (patch, description by David Madore
5240	  &lt;david.madore@ens.fr&gt;).
5241</ul>
5242
5243<H1><A NAME="xterm_119">Patch #119 - 1999/10/16 - XFree86 3.9.16c</A></H1>
5244<ul>
5245	<li>add responses (DA and DSR) for DEC locator mode
5246
5247	<li>add coding for ANSI color to DA response
5248
5249	<li>implement UTF-8 translation for Media Copy (print) operations.
5250
5251	<li>implement vt320 control sequences for Print Composed Main Display
5252	  and for Print All Pages.  The latter directs xterm to print the
5253	  current screen as well as the scrollback buffer.
5254
5255	<li>correct error in _GNU_SOURCE configure test, which left it always
5256	  defined.
5257
5258	<li>add more information, i.e., with strerror for some system calls in
5259	  the main program which may fail due to insufficient permissions
5260	  (prompted by a problem report for <code>-C</code> by Jeremie Petit
5261	  &lt;Jeremie.Petit@digital.com&gt;).
5262
5263	<li>add workaround for conflict between &lt;X11/Xpoll.h&gt; and
5264	  &lt;sys/select.h&gt; on AIX 4.3 (Richard Griswold
5265	  &lt;griswold@acm.org&gt;).
5266
5267	<li>add configure script test to resolve conflict between between
5268	  &lt;X11/Xpoll.h&gt; and &lt;sys/select.h&gt;
5269
5270	<li>modify translation of UTF-8 sequences to reject "overly long"
5271	  variations (patch by Markus Kuhn).
5272
5273	<li>remove <code>utf8controls</code> resource, since Markus' change
5274	  removes the corresponding logic.
5275
5276	<li>correct a case where colors were not rendered properly.  This
5277	  happened when an application inserted several lines, then changed
5278	  colors.  If this was done all in one write, then there would be no
5279	  intervening refresh, and the new color was applied to the pending
5280	  scrolling operation which was awaiting the next refresh (reported
5281	  by Stephane Chazelas &lt;Stephane_Chazelas@Raytheon.com&gt;).
5282
5283</ul>
5284
5285<H1><A NAME="xterm_118">Patch #118 - 1999/10/5 - XFree86 3.9.16b</A></H1>
5286<ul>
5287	<li>refine configure test for utmp versus utmpx, to build on HP-UX 10.x
5288	  (reported by David Ellement).
5289
5290	<li>move the configure check for <code>const</code> after the check
5291	  for ANSI C compiler options, since those may be required to make
5292	  it work properly on HP-UX.
5293
5294	<li>add configure test for defining <code>_GNU_SOURCE</code>
5295
5296	<li>correction to <em>-hold</em> option, ensure that if data is already
5297	  in the output buffer that it will be displayed before closing the
5298	  PTY.
5299
5300	<li>move the configure checks for setuid install of xterm into a script
5301	  to avoid installing it setuid'd to a non-root user (reported by
5302	  Adam Sulmicki &lt;adam@cfar.umd.edu&gt;).
5303
5304	<li>correct configure script's check for termcap.h to avoid using
5305	  ncurses' version of it on systems that have a working
5306	  <code>tgetent()</code> function.  This is needed to make
5307	  <code>resize</code> work properly.
5308
5309	<li>fix some typography in ctlseqs.ms description of DEC locator events
5310	  (reported by Steve Wall).
5311</ul>
5312
5313<H1><A NAME="xterm_117">Patch #117 - 1999/9/29 - XFree86 3.9.16b</A></H1>
5314<ul>
5315	<li>change order of tests in configure script for utmp and utmpx
5316	  to test utmpx first, to compile on Solaris (reported by
5317	  Leena Heino &lt;liinu@uta.fi&gt;
5318	  and Patrik Hagglund &lt;patha@ida.liu.se&gt;).
5319
5320	<li>add a configure test for utmp.ut_xtime, needed for SCO Openserver,
5321	  and for lastlog, needed for Redhat 6.0, to refine the utmp/utmpx
5322	  auto-configure.
5323
5324	<li>remove a spurious comma in an #undef (reported by
5325	  David Green &lt;greendjf@cvhp152.marconicomms.com&gt; and
5326	  David Ellement &lt;ellement@sdd.hp.com&gt; both on HP-UX, whose
5327	  compiler does care about syntax).
5328
5329	<li>change ifdef's using __CYGWIN32__ to __CYGWIN__ (reported by Suhaib
5330	  M. Siddiqi &lt;Ssiddiqi@InspirePharm.Com&gt;, who is told that the
5331	  next Cygnus release will drop that symbol in their next release).
5332
5333	<li>minor cleanup of ifdef's for makeColorPair (patch by Steve Wall).
5334
5335	<li>patch by Alexander V Lukyanov to work around problem observed
5336	 in XFree86 3.3.5, reported as bug #5419 to Mozilla.  From the
5337	 problem report:
5338	<blockquote>
5339	xterm consumes cpu when selecting text with mouse (holding
5340	down left mouse button) and when a program working under the
5341	xterm outputs something to stdout.
5342	<p>
5343	Easy way to reproduce:<br>
5344		<code>while :; do echo aaa; sleep 1; done</code><br>
5345	(while this runs, select text and hold down left mouse button)
5346	watch cpu load.<br>
5347	release left mouse button - spinning stops.
5348	</blockquote>
5349</ul>
5350
5351<H1><A NAME="xterm_116">Patch #116 - 1999/9/25 - XFree86 3.9.16a</A></H1>
5352<ul>
5353	<li>modify warning if change-ownership of PTY fails; some
5354	  configurations may not happen to have old-style pty's (reported by
5355	  Bob Maynard).
5356
5357	<li>improve check in configure script for group ownership of installed
5358	  xterm; some platforms use the -g option of ls to toggle group off
5359	  rather than on (reported by Greg Smith).
5360
5361	<li>minor improvement to toolbar geometry, to make it not resizable.
5362	  This still is not satisfactory (but is usable) since the toolbar
5363	  overlaps the xterm widget if the window is resized to make it
5364	  smaller.  It appears that some work is needed for the xterm widget's
5365	  geometry management to make it function properly.
5366
5367	<li>implement configure script tests for utmp, tty group.
5368
5369	<li>implement <em>-hold</em> option, allowing users to retain the
5370	  window after a shell has exited (this is recently an FAQ, but
5371	  prompted by a comment by Joachim Plaettner-Hochwarth
5372	  &lt;plaettner@aem.umn.edu&gt; in comp.unix.programmer, that the IRIX
5373	  winterm provides this option).
5374
5375	<li>integrated change by Steve Wall to
5376	  add support for DEC Locator control sequences for xterm:
5377	  <pre>
5378
5379		DECEFR - Enable Filter Rectangle
5380		DECELR - Enable Locator Reports
5381		DECSLE - Select Locator Events
5382		DECRQLP - Request Locator Position
5383	  </pre>
5384	  This allows the xterm mouse to be used with applications that use the
5385	  DEC Locator sequences, such as VAX Tpu, or SMG$ based applications.
5386
5387	<li>patch from Matthias Baake &lt;Matthias.Baake@gmx.de&gt;, for print
5388	  action.  From his notes:
5389	  <ul>
5390	    <li>Bug 1:
5391	      Underlined text is preceded by ESC [0;2m . This should be ESC [0;4m , ESC
5392	      [2m doesn't seem to have any effect. (print.c/send_SGR)
5393
5394	    <li>Bug 2:
5395	      The check for the last non-empty column (while (last &gt; 0) ... in
5396	      print.c/printLine) omits the rightmost column of the screen, the loop must
5397	      start with last = screen-&gt;max_col+1 instead of last = screen-&gt;max_col.
5398
5399	    <li>Bug 3:
5400	      Any attributes of the first character (and of all immediately following
5401	      characters with the same attributes) are ignored. The variable attr
5402	      (print.c/printLine) should be initialized with 0, not with *a &amp; SGR_MASK.
5403	  </ul>
5404</ul>
5405
5406<H1><A NAME="xterm_115">Patch #115 - 1999/9/18 - XFree86 3.9.16a</A></H1>
5407<ul>
5408	<li>integrated changes by Steve Wall to implement an 88-color model
5409	  for systems where 256-colors cannot be allocated.
5410
5411	<li>when 256-color configuration is compiled, colored bold and
5412	  underlining is not available; ifdef'd to avoid possible odd effects
5413	  in this case (reported by Steve Wall).
5414
5415	<li>add resource <em>cacheDoublesize</em>, to limit the caching of font
5416	  information for double-sized characters.  This addresses a problem
5417	  reported by Aryeh Koenigsberg for X terminals with limited font
5418	  memory.
5419
5420	<li>modify treatment of line-drawing characters in UTF-8 mode so that
5421	  the Unicode values are used rather than the C0 codes for storing the
5422	  translated characters (request by Markus Kuhn).
5423</ul>
5424
5425<H1><A NAME="xterm_114">Patch #114 - 1999/9/15 - XFree86 3.9.16</A></H1>
5426<ul>
5427
5428	<li>add configure script checks for Athena headers and libraries under
5429	  /usr/contrib to work on HPUX (reported by several people:
5430		David Nixon &lt;djn@csc.liv.ac.uk&gt;
5431		Aryeh Koenigsberg &lt;aryeh.koenigsberg@telrad.co.il&gt;
5432		Johannes M&#x00E4;hner &lt;johanm@camline.com&gt;
5433		Andrew Gaylard &lt;andrew.gaylard@bsw.co.za&gt;).
5434
5435	<li>add check to configure script if xterm is installed setgid rather
5436	  than setuid, since wtmp and utmp may be installed with group-writable
5437	  permissions other than root (based on Debian bug report #7112 by Bo
5438	  Branten &lt;bosse@ing.umu.se&gt;).
5439
5440	<li>rewrote logic that removes data from termcap entry, e.g., for
5441	  titeInhibit, to make it less likely to remove the wrong data.
5442
5443	<li>correct logic which checks for missing characters used for line
5444	  drawing.  The 0 character was tested unnecessarily, leading to
5445	  some inefficiency when rendering.
5446
5447	<li>change termcap capability which is used as input or output of
5448	  ptyInitialErase logic from <em>kD</em> to <em>kb</em>.
5449	  Christian Weisgerber &lt;naddy@mips.rhein-neckar.de&gt; pointed out
5450	  in effect that <em>kD</em> (in terminfo <em>kdch1</em>) should
5451	  correspond to the control sequence for <em>dch1</em>, which deletes
5452	  from the current position toward the right.
5453
5454	<li>check for failure to change ownership of the PTY device and warn
5455	  when xterm is running setuid'd to root.  This was reported to happen
5456	  on the FreeBSD/NetBSD/OpenBSD systems as a result of the chflags()
5457	  call.
5458
5459	<li>add xterm-noapp terminfo entry to illustate a nominally
5460	  bash-compatible terminal description.
5461</ul>
5462
5463<H1><A NAME="xterm_113">Patch #113 - 1999/8/15 - XFree86 3.9.15b</A></H1>
5464Several fixes.  The main one is a first draft of pulldown menus.  It's not
5465complete (I have some minor/annoying geometry problems to correct), but is
5466usable.  Once it's complete I plan to add a menu to support additional
5467selections that won't fit on the current popup menus.  Also, this fits into my
5468longterm plan to allow configuring with Motif libraries.
5469
5470<ul>
5471	<li>correct error in input conversion for NRC mode (reported by
5472	  Stefan Traby &lt;stefan@sime.com&gt;).
5473
5474	<li>fix initialization of num_lock data in Misc struct (since those
5475	  fields of the reference widget aren't initialized), and add logic to
5476	  deal with XVision whose NumLock key does not transmit but does alter
5477	  keypad state.
5478
5479	<li>correct a missing return-value in get_pty(), for SCO
5480
5481	<li>add E2A fix for backspace (Greg Smith), i.e.,<br>
5482	  #define VAL_INITIAL_ERASE A2E(127)
5483
5484	<li>correct foreground color within cursor outline when the
5485	  window is unfocused (reported by Stephane Chazelas).
5486
5487	<li>corrected position of scrollbar set in ResizeScrollBar(), which
5488	  left it positioned incorrectly if the right scrollbar were enabled
5489	  from the popup menu but was not initially enabled.
5490
5491	  <p>
5492	  I have noticed some additional problems with right-scrollbar on
5493	  X11R5 which I will correct later.
5494
5495	<li>integrate changes by Jean-Claude Michot for QNX from XFree86 3.3.4c
5496
5497	<li>add resources menuBar/MenuBar, menuHeight/MenuHeight for later
5498	  use in toolbar geometry.
5499
5500	<li>add configure option --enable-toolbar
5501
5502	<li>add missing definition to make ziconbeep logic not compile-in when
5503	  configure script disables it.
5504
5505	<li>add configure-check for input-method support in X libraries
5506</ul>
5507
5508<H1><A NAME="xterm_112">Patch #112 - 1999/7/17 - XFree86 3.9Pw</A></H1>
5509<ul>
5510	<li>add null-pointer check to FlushLog(), fixes a core dump when both
5511	  -l and -lf options are used when xterm is configured with wide-character
5512	  support.
5513
5514	<li>remove "ISO" case for SD, which was due to a typographical error in
5515	  ECMA-48 (reported by Paul Williams &lt;paul@celigne.co.uk&gt; for
5516	  vttest).
5517
5518	<li>add "FILES" section to manpage.
5519
5520	<li>generate header file to initialize default resources for colors
5521	  16-255.
5522
5523	<li>patches by Greg Smith for os390:
5524	<ul>
5525	  <li>add README.os390
5526
5527	  <li>use the pty_search() function to find an available pty/tty pair.
5528
5529	  <li>move E2A() call out of getXtermCell() to SaveText() function
5530	      so it will be available in all configurations.
5531	</ul>
5532
5533	<li>patches by Todd Larason:
5534	<ul>
5535	  <li>enable SGR 48 5 in ISO color mode, not just 256 color mode
5536
5537	  <li>change configure's --disable-256-color option to
5538	    --enable-256-color, to match its effect
5539
5540	  <li>fix OSC 4 xx ?  (report ansi color) to report a string which can
5541	    actually be used to set the color back
5542
5543	  <li>fix OSC 4 xx yy (change ansi color) to not allow setting colors &gt;
5544	    15 in 16 color mode
5545
5546	  <li>simplify the COLOR_ settings a bit in ptyx.h, along with setting
5547	    NUM_ANSI_COLORS needed for #1 and #4 above
5548
5549	  <li>correct string-terminator code passed for reference to OSC
5550	    responses; when in 7-bit mode, only the final byte of ST was seen.
5551
5552	  <li>Allow multiple color #;name pairs in OSC 4,
5553	    and document changes to match.
5554	</ul>
5555</ul>
5556
5557<H1><A NAME="xterm_111">Patch #111 - 1999/7/10 - XFree86 3.9Pw</A></H1>
5558<ul>
5559	<li>add control sequences for specifying the RGB value of the ANSI
5560	  colors, and for configuring with 256 colors (patch by Todd Larason
5561	  &lt;jtl@molehill.org&gt;).  I made the default configuration to
5562	  16-colors, because xterm uses the default color map (which has only
5563	  256 colors).
5564
5565	<li>correct an error in DCS $ q m reporting for colors 8-15 (Todd
5566	  Larason).
5567
5568	<li>add test/demo script for double size characters.  Used this to
5569	  test/correct display of double size characters that should wrap,
5570	  underlined double size characters.
5571
5572	<li>increased cache size for double size fonts to 8, to allow for both
5573	  normal and bold fonts (from discussion with Aryeh Koenigsberg
5574	  &lt;aryeh.koenigsberg@telrad.co.il&gt;).
5575
5576	<li>integrated patch from Greg Smith &lt;rys@epaibm.rtpnc.epa.gov&gt;
5577	  for port to OS390 (aka MVS).  OS390 uses EBCDIC rather than ASCII.
5578
5579	<li>correct an off-by-one in binary search limits in keysym2ucs.c (Markus
5580	  Kuhn).
5581
5582	<li>implement logging for UTF-8 mode.  The output is written in UTF-8 form.
5583</ul>
5584
5585<H1><A NAME="xterm_110">Patch #110 - 1999/6/29 - XFree86 3.9Pu</A></H1>
5586<ul>
5587	<li>If colorMode is enabled by default, compile-in default resources to
5588	  match the colors listed in XTerm-col.ad (this should fix a
5589	  longstanding FAQ).
5590
5591	<li>added new OSC&nbsp;3&nbsp;;&nbsp;PROPNAME=VALUE&nbsp;ST escape
5592	  sequence to set an arbitrary X property on the top level xterm X11
5593	  window.  Omit "=VALUE" to delete the X property (patch by Greg Badros
5594	  &lt;gjb@cs.washington.edu&gt;).
5595
5596	<li>change internal flag used for <em>utf8controls</em> resource
5597	  so we allow 31-bit range of characters (suggested by Thomas Wolff).
5598
5599	<li>add check for 16-bit characters in OSC strings, change them to '?'
5600	  (reported by Thomas Wolff).
5601
5602	<li>modify logic of same_font_name() to avoid trying to interpret both
5603	  parameters as wildcard patterns.  That does not (cannot) work, and in
5604	  some instances the font server will return unresolved wildcards for
5605	  the normal or bold fontnames, making them match inadvertently,
5606	  triggering the fallback overstrike logic (reported by Tim Adye).
5607</ul>
5608
5609<H1><A NAME="xterm_109">Patch #109 - 1999/6/23 - XFree86 3.9Pt</A></H1>
5610<ul>
5611	<li>correct range-check from patch #108, which resulted in not being
5612	  able to select from the scrollback buffer (reported by Tim Adye
5613	  &lt;T.J.Adye@rl.ac.uk&gt;)
5614
5615	<li>correct "no available ptys" problem with Cygwin B20.1 (patch by Tim
5616	  Adye).
5617
5618	<li>modified install-ti rule in Makefile.in to allow override of the
5619	  terminfo directory when doing a "make install", i.e., by assigning
5620	  to TERMINFO_DIR (request by Zdenek Sekera &lt;zs@sgi.com&gt;).
5621
5622	<li>added install-full rule to Makefile.in
5623
5624	<li>resync mkdirs.sh and install.sh scripts against current autoconf
5625
5626	<li>implement $(DESTDIR) in Makefile.in, making it simple to install
5627	  xterm and associated files into a directory just for packaging a
5628	  binary release (suggested by CaT &lt;cat@zip.com.au&gt;).
5629
5630	<li>change IChar type to unsigned, rather than unsigned short, making
5631	  room for a flag to keep with 16-bit characters to prevent them from
5632	  being interpreted as C0 or C1 controls (reported by Thomas Wolff).
5633
5634	<li>correct a typo from patch #107, incorrect array name, in the
5635	  filterUTF8 function (patch by Bruno Haible &lt;haible@ilog.fr&gt;)
5636
5637	<li>add <em>utf8controls</em> resource to specify whether xterm should
5638	  interpret 16-bit characters unpacked from UTF-8 form as control
5639	  characters if they happen to fall into that range.  This behavior
5640	  is left unspecified by the Unicode standard (request by Thomas Wolff).
5641
5642	<li>modify handling of OSC to recover if application sends 16-bit
5643	  characters with codes above 255.  We cannot display them as is, but
5644	  translate out-of-range characters to a '?' (reported by Thomas
5645	  Wolff).
5646</ul>
5647
5648<H1><A NAME="xterm_108">Patch #108 - 1999/6/19 - XFree86 3.9Ps</A></H1>
5649<ul>
5650	<li>add a range-check to LastTextCol(), to guard against indexing
5651	  before the beginning of the scrollback buffer.  This appears to
5652	  happen with certain fonts under X11R5 (reported by Stephane Chazelas
5653	  &lt;Stephane_Chazelas@Raytheon.com&gt;).
5654
5655	<li>implement resource <em>boldMode</em>, to allow disabling the
5656	  simulation of bold fonts when the bold and normal fonts are not
5657	  different (requested by Will Day &lt;willday@rom.oit.gatech.edu&gt;).
5658
5659	<li>change the atom "UTF-8" to "UTF8_STRING", and fixes a few bugs in
5660	  the UTF-8 selection (patch by Juliusz Chroboczek).
5661
5662	<li>correct logic of binary-search in keysym2ucs.c (patch by Markus
5663	  Kuhn).
5664
5665	<li>add special interpretation of keysym codes above 0x1000000 as
5666	  the corresponding UCS value plus 0x1000000 (patch by Markus Kuhn).
5667</ul>
5668
5669<H1><A NAME="xterm_107">Patch #107 - 1999/6/12 - XFree86 3.9Pq</A></H1>
5670<ul>
5671	<li>Two changes from Stephen P Wall.
5672	  From his description:
5673	<blockquote>
5674	The first change is simple - I added ESC[3J to erase the stored lines
5675	above the screen.  That's what the changes to util.c and ctlseqs.ms
5676	are.
5677	<p>
5678	The second change is to get the blinking cursor working.  I took out
5679	the cursorBlinkTime resource, and put in cursorBlink (Boolean),
5680	cursorOnTime (time cursor is on in msecs) and cursorOffTime, and added
5681	a cursorblink item to the vtMenu to enable/disable it.
5682	</blockquote>
5683
5684	<li>Integrated a patch from Juliusz Chroboczek &lt;jec@dcs.ed.ac.uk&gt;.
5685	  From his description:
5686	<blockquote>
5687	With this patch, selection conversion works properly:
5688<pre>
5689	ISO 8859-1 xterm -&gt; ISO 8859-1 xterm (transferred as STRING);
5690	ISO 8859-1 xterm -&gt; UTF-8 xterm (transferred as STRING);
5691	UTF-8 xterm -&gt; ISO 8859-1 xterm (transferred as STRING);
5692	UTF-8 xterm -&gt; UTF-8 xterm (transferred as UTF-8).
5693</pre>
5694	It will not work properly if one xterm is in, say, ISO 8859-2.
5695	Actually, for this case xterm breaks the ICCCM routinely (sending ISO
5696	8859-2 data as STRING), so I wouldn't worry too much about it.  I have
5697	not changed the behaviour in eight-bit mode in any way.
5698	</blockquote>
5699</ul>
5700
5701<H1><A NAME="xterm_106">Patch #106 - 1999/6/9 - XFree86 3.9Pq</A></H1>
5702<ul>
5703	<li>remove duplicate fix for OpenBSD in resize.c
5704
5705	<li>correct logic in ScreenWrite, which did not reset the high bytes
5706	  of 16-bit characters when overwriting them with a 8-bit character
5707	  string (reported by Thomas Wolff).
5708
5709	<li>integrate patch by Markus Kuhn to provide limited support for
5710	  input of UTF-8 16-bit data by a lookup table.
5711
5712	<li>correct check in non_blank_line to ensure we're in wide-character
5713	  mode before looking at the high bytes, for InsertChar.
5714</ul>
5715<H1><A NAME="xterm_105">Patch #105 - 1999/6/5 - XFree86 3.9Pp</A></H1>
5716<ul>
5717	<li>implement new resource <em>trimSelection</em>, which allows xterm
5718	  to trim trailing blanks from selected lines.  This does not affect
5719	  the highlighting. (reported by several people using <em>mutt</em>,
5720	  including
5721	  Hans Morten Kind &lt;edphk@uib.no&gt;,
5722	  Jeremy &lt;jeremy@exit109.com&gt;
5723	  and (Michael Fuller &lt;msf@mds.rmit.edu.au&gt;).
5724
5725	<li>add patch by Matthieu Herrb to include term.h in resize for OpenBSD.
5726
5727	<li>correct logic for UTF-8 in functions that hide and show the cursor;
5728	  it was displaying a space whenever the low byte of the character at
5729	  the cursor position was zero (reported by Thomas Wolff
5730	  &lt;Thomas.Wolff@icn.siemens.de&gt;).
5731</ul>
5732
5733<H1><A NAME="xterm_104">Patch #104 - 1999/5/30 - XFree86 3.9Pn</A></H1>
5734This is a resync patch against XFree86 3.9Pn, reflecting changes which were
5735submitted by Branden Robinson, who worked with
5736Wichert Akkerman &lt;wichert@cs.leidenuniv.nl&gt;
5737to set up ifdef's to handle GNU libc 2.1,
5738and use getpt() which lets xterm avoid having to know the actual PTY name.
5739<p>
5740I have also added a few fixes for signed/unsigned mismatches, and corrected
5741a problem in the configure script (the UTF-8 code was always configured since
5742the Imakefile defines this).
5743
5744<H1><A NAME="xterm_103">Patch #103 - 1999/5/14 - XFree86 3.9Pm</A></H1>
5745<ul>
5746	<li>correct selection logic: I omitted an offset that accounts for
5747	  the distance into the scrollback buffer when rewriting this for
5748	  patch #101.  Also fixed a similar problem for selecting double
5749	  size characters from the scrollback buffer (first was reported
5750	  by D Roland Walker &lt;walker@pobox.com&gt;).
5751
5752	<li>improved support for Unix98 PTY's, using patch in Debian bug report
5753	  #35650, by J.H.M. Dassen &lt;jdassen@wi.leidenuniv.nl&gt;. From
5754	  the patch description:
5755	<blockquote>
5756	<ul>
5757	<li>No longer links xterm against libutil on a glibc2.1 system.
5758	  libutil is a compatibility library and should only be used when
5759	  necessary.  Rather than having get_pty() use openpty() from this
5760	  compatibility library, use the real UNIX98 pty support in get_pty()
5761	  (open()ing the master pty, through getpt() if available (glibc
5762	  extension)).  Use openpty() only under glibc2.0.
5763	<li>GNU libc2 is not Linux-specific; already it runs on the Hurd.  It
5764	  provides the UNIX98 pty functions (plus the getpt() extension),
5765	  regardless of the underlying OS.  Changed two constructs to look for
5766	  GNU libc2 only, not GNU libc2 on Linux.
5767	</ul>
5768	</blockquote>
5769
5770	<li>improve font configuration, by checking if the user's resource
5771	 settings for normal and bold fonts give the same font sizes
5772	 (fixes problem reported by Peter Waltenberg &lt;peterw@dascom.com&gt;).
5773</ul>
5774
5775<H1><A NAME="xterm_102">Patch #102 - 1999/5/12 - XFree86 3.9Pm</A></H1>
5776<ul>
5777	<li>revert change to openpty call in patch #101; this causes xterm to
5778	  fail on DEC-Alpha OSF/1 4.0B (reported by H Merijn Brand).
5779
5780	<li>modify print.c to move include of stdio.h after the autoconf'd
5781	  xtermcfg.h since HP's ANSI C compiler otherwise sees inconsistent
5782	  prototype for getopt, probably due to problem with const (reported by
5783	  H Merijn Brand).
5784</ul>
5785
5786<H1><A NAME="xterm_101">Patch #101 - 1999/5/10 - XFree86 3.9Pm</A></H1>
5787<ul>
5788	<li>moved includes and definitions for 'select' from data.h to xterm.h
5789	  to fix problem introduced by prototype for getPtyData, part of UTF-8
5790	  changes (reported by Jens Schleusener &lt;Jens.Schleusener@dlr.de&gt;)
5791
5792	<li>added "Meta &lt;Btn2Down&gt;:clear-saved-lines()" default
5793	  translation (patch by H Merijn Brand)
5794
5795	<li>fixes to configure script and ifdef's in main.c to build on a
5796	  HP9000/D390 (hppa-2.0w) running HP-UX 11.00 (64 bit) with egcs 1.1.2
5797	  and HP's ANSI C compiler (patch by H Merijn Brand
5798	  &lt;PROCURA_BV@CompuServe.com&gt;)
5799
5800	<li>add more parentheses in ifdef's (patch by Bob Maynard).
5801
5802	<li>eliminate conflicting definitions for USE_TERMINFO in resize.c
5803	  (reported by Jeremy Buhler).
5804
5805	<li>change openpty call to pass NULL rather than ttydev parameter,
5806	  since that was used only to estimate the length of the
5807	  corresponding data, and may not really be long enough
5808	  (reported by Andreas Jaeger)
5809
5810	<li>update description in xterm manpage for character class table,
5811	  which said it handles only 7-bit codes.
5812
5813	<li>correct a typo in ScrnDeleteChar() which made it not clear the
5814	  high byte of wide-character data.
5815
5816	<li>add logic to convert selection to UTF-8 form when appropriate.
5817	  This makes select/paste "work", but further work is needed to
5818	  make UTF-8 recognized as a locale in Xlib.
5819
5820	<li>correct right-limit check when selecting double-width characters.
5821
5822	<li>change default answerback response to an empty string.
5823</ul>
5824
5825<H1><A NAME="xterm_100">Patch #100 - 1999/5/3 - XFree86 3.9Pl</A></H1>
5826<ul>
5827	<li>Correct a typo in the default resource value for
5828	  backarrowKeyIsErase:  it was always true (reported by Bram
5829	  Moolenaar).
5830
5831	<li>improve configure script's test if the installed xterm is setuid,
5832	  in case that is a symbolic link.
5833
5834	<li>correct "install-ti" rule in Makefile.in, by not setting a blank
5835	  $TERMINFO value.  That is interpreted as "." by ncurses' tic.
5836</ul>
5837
5838<H1><A NAME="xterm_99">Patch #99 - 1999/5/2 - XFree86 3.9Pk</A></H1>
5839<ul>
5840	<li>correct logic that computes num_ptrs count of the number of indices
5841	  into the screen buffer.  This is the maximum of the colors and
5842	  character-set indices; was incorrect in patch #97.
5843
5844	<li>correct argument type for sigsetjmp, incidental change in patch
5845	  #96's Unix88 PTY patch (reported by Bram Moolenaar).
5846
5847	<li>correct description of secondary DA in ctlseqs.ms (reported by Bram
5848	  Moolenaar).
5849
5850	<li>decouple the backarrowKey and ptyInitialErase resources by
5851	  adding a new resource backarrowKeyIsErase, to accommodate people
5852	  using applications which have hardcoded tests for characters 8 and
5853	  127 rather than relying on the stty settings.
5854
5855	<li>modify the UTF-8 decoder so that all possible illegal UTF-8
5856	  sequences are properly represented by U+FFFD.  This should be very
5857	  helpful for developers of code that output UTF-8 strings for
5858	  debugging.  See the file utf-8-test.txt in
5859	  http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts.tar.gz for a
5860	  demonstration text that contains numerous illegal UTF-8 values.
5861	  (patch by Markus Kuhn).
5862
5863	<li>correct a place in ScrnRefresh where I was filling the high byte of
5864	  a wide character with a space rather than a null (reported by Markus
5865	  Kuhn).
5866</ul>
5867
5868<H1><A NAME="xterm_98">Patch #98 - 1999/4/26 - XFree86 3.9Pk</A></H1>
5869<ul>
5870	<li>correct data manipulation in unparseputc(), broken for
5871	  little-endian machines by patch #97's UTF-8 changes.  This meant that
5872	  keyboard input on SunOS did not work, though Linux i386 was fine.
5873
5874	<li>modify initialization for backarrowKey and logic for initial-erase
5875	  to prevent the initial-erase from overriding an explicitly set
5876	  backarrowKey resource (reported by Vikas Agnihotri).
5877
5878	<li>add a missing null-pointer check in ScrnRefresh, for the
5879	  wide-characters configuration.
5880</ul>
5881
5882<H1><A NAME="xterm_97">Patch #97 - 1999/4/25 - XFree86 3.9Pk</A></H1>
5883<ul>
5884	<li>add configure script test for -lutil, needed for openpty call when
5885	  configuring xterm for Glibc-2.1 and Unix98 PTY's (first reported by
5886	  Martin Lorentz" &lt;m.lorentz@w12.link-goe.de&gt;).
5887
5888	<li>completely parenthesize ifdef expressions for Glibc (suggested by
5889	  Bob Maynard).
5890
5891	<li>add initial-erase options (-ie, +ie) to help message (reported by
5892	  Vikas Agnihotri).
5893
5894	<li>remove duplicate definition of USE_USG_PTYS (reported by Jeremy
5895	  Buhler).
5896
5897	<li>change termcap <em>kD</em> and terminfo <em>kdch1</em> to a DEL
5898	  (\177).
5899	  I overlooked this when separating the styles of keyboard with
5900	  the <em>sunKeyboard</em> resources in patch #94, so that it normally
5901	  matches the value of the stty erase character:
5902	  <ul>
5903	  <li>Reported by Jae Gangemi &lt;jgangemi@ccf.rutgers.edu&gt;,
5904	    this caused emacs to not process the DEL properly, combining it
5905	    with succeeding characters.
5906	  <li>This does not appear to be related to a problem which I have
5907	    found with <em>screen</em>, which translates the stty erase into
5908	    the termcap <em>kD</em> or terminfo <em>kdch1</em> value
5909	    (depending on how it is linked)
5910	    if the $TERMCAP variable is set when <em>screen</em> is invoked.
5911	  </ul>
5912
5913	<li>add command-line options for enabling UTF-8 mode: -u8 and +u8.
5914	  The more obvious -utf8 and +utf8 would conflict with xterm's
5915	  -ut and +ut (utmp) options.
5916
5917	  The UTF-8 changes were requested by Markus Kuhn
5918	  &lt;Markus.Kuhn@cl.cam.ac.uk&gt;.  This patch does not complete UTF-8
5919	  implementation, but makes it usable, i.e., display and refresh work,
5920	  and I am able to display the test cases which Markus provides.
5921	  More work is needed to complete this feature:
5922	  <ul>
5923	  <li>the control sequences for switching in/out of UTF-8 mode are
5924	    partly implemented (don't use them).  Similarly, the switching
5925	    between vt100 and tek4014 emulations when UTF-8 mode is enabled
5926	    will not work properly.
5927	    <p>
5928	    You must use the -u8 command line option
5929	    to use this feature, as well as compile with the OPT_WIDE_CHARS
5930	    definition.
5931	  <li>cut/paste only copies 8-bit characters.
5932	  <li>logging is disabled in the wide-character configuration
5933	  <li>printing only writes 8-bit characters.
5934	  <li>input only does 8-bit characters.  This is the area that I know
5935	    least about.
5936	  </ul>
5937</ul>
5938
5939<H1><A NAME="xterm_96">Patch #96 - 1999/4/19 - XFree86 3.9Pj</A></H1>
5940<ul>
5941	<li>modify Makefile.in to work with configure script's --srcdir option.
5942	  (patch by Jeremy Buhler &lt;jbuhler@cs.washington.edu&gt;)
5943
5944	<li>add checks for 'echo -n' equivalent for 8colors.sh and 16colors.sh
5945	  scripts (reported by Vikas Agnihotri).
5946
5947	<li>improve logic that looks for bold fonts to allow for wildcards
5948	  in the specification for normal fonts, and to ensure that if
5949	  a bold font is specified as normal, that xterm will simulate a
5950	  bold version of that using a one-pixel offset overstrike
5951	  (reported by Henrik Harmsen &lt;harmsen@erv.ericsson.se&gt;).
5952
5953	<li>correct horizontal spacing of double width line-drawing characters
5954	  that xterm simulates.
5955
5956	<li>improve support for Unix98 PTY's, using patch in Debian bug report
5957	  #35650, by Topi Miettinen &lt;Topi.Miettinen@medialab.sonera.fi&gt;.
5958	  Andreas Jaeger says this also corrects a permissions problem
5959	  reported by cat@zip.net.au
5960
5961	<li>modify initial-erase logic to ensure that <code>ttyModes</code>
5962	  resource overrides it.
5963</ul>
5964
5965<H1><A NAME="xterm_95">Patch #95 - 1999/4/5 - XFree86 3.9Ph</A></H1>
5966<ul>
5967	<li>modify primary DA response to allow a '1' parameter.
5968
5969	<li>add printer and national replacement character sets to VT220
5970	  primary DA response.
5971
5972	<li>document primary and secondary DA responses in ctlseqs.ms
5973
5974	<li>use the patch number (e.g., 95) in the secondary DA response,
5975	  providing user applications a means of determining the version
5976	  of xterm for feature comparison (request by Bram Moolenaar).
5977
5978	<li>make xterm respond to secondary DA when the decTerminalID
5979	  is set for VT100.
5980
5981	<li>limit user-defined keys (DECUDK) to VT220-style keyboard
5982	  when sunKeyBoard resource is true.
5983
5984	<li>modify ifdef's for Linux-2.2.x with Glibc-2.1 to work with
5985	  Glibc-2.1 and no Unix98 PTY support (patch from From Andreas Jaeger
5986	  &lt;aj@arthur.rhein-neckar.de&gt;)
5987
5988	<li>add optional feature (resource and command-line options) to make
5989	  xterm use the PTY's sense of erase character on startup, rather than
5990	  requiring it to be \177, or set the PTY's erase character to match
5991	  xterm's configuration.  Note that while $TERMCAP is modified to
5992	  reflect the actual configuration, the terminfo kdch1 string is not
5993	  (request by Dirk H Hohndel &lt;hohndel@suse.de&gt;)
5994
5995	<li>improve scripts in vttests to work with newer shells that do not
5996	  use 'echo -n'.
5997
5998	<li>add fonts.sh example script
5999
6000	<li>correct inequality in handling of "#1" font specification.
6001
6002	<li>correct call to XGetWMNormalHints() used for computing maximum
6003	  screen size; the size hints may not have been set.
6004
6005	<li>begin implementation of support for wide-characters (configure
6006	  option --enable-wide-chars defines OPT_WIDE_CHARS, invoke xterm with
6007	  -wc option to activate this feature).  This patch optionally widens
6008	  internal data structures, invokes the 16-bit text output rather than
6009	  the 8-bit version and adds some tables.
6010
6011</ul>
6012<H1><A NAME="xterm_94">Patch #94 - 1999/3/27 - XFree86 3.9Pf</A></H1>
6013<ul>
6014	<li>further fixes for terminfo: ka1, ka3, etc., differ between the
6015	  default xterm-xfree86 and xterm-vt220 entries.
6016
6017	<li>change default (with sunKeyboard resource false) behavior of
6018	  the editing keypad "Delete" to send a 127, like xterm-r6.
6019	  The VT220-style <code>&lt;ESC&gt;[3~</code> is sent when
6020	  sunKeyboard is true (reported by Tomas Vanhala).
6021
6022	<li>add parameters to function keys to indicate if shift, control
6023	  or alt are set.  The codes are based on a description of
6024	  a DEC VT510 with a PC keyboard, from Jeffrey Altman
6025	  &lt;jaltman@watsun.cc.columbia.edu&gt;.
6026
6027	<li>add control sequence 1035, set-num-lock action and num-lock
6028	  menu entry to control the use of the NumLock and Alt keys for
6029	  the Sun/PC and VT220 keyboard extensions.
6030
6031  	<li>implement DECSET/DECRST numeric keypad (DECNKM) mode.
6032
6033	<li>modify terminfo and termcap to use recommended "X Window" or "X11"
6034	  names rather than "X Windows" (reported by Tomas Vanhala).
6035
6036	<li>suppress translation of shifted keypad "+" when sunKeyboard
6037	  is true.
6038
6039	<li>workaround unexpected behavior (perhaps bug) in XmbLookupString,
6040	  which returns trash in the string buffer for numlock and control-key
6041	  combined with keypad-keys.
6042
6043	<li>modify ScrollBarReverseVideo() to keep scrollbar border visible
6044	  when reverse video is toggled.
6045
6046	<li>correct missing case for parameter 17 (set highlight color) in
6047	  dynamic colors control sequences.
6048
6049	<li>extend dynamic colors control sequences to allow users to
6050	  determine the colors and font which are currently active.
6051
6052	<li>minor tweak to OSC responses, to use BEL if the application used
6053	  that to end the request, rather than ST.  This works better with
6054	  shell scripts, which may not handle an
6055	  <code>&lt;ESC&gt;backslash</code> very well.
6056
6057	<li>separate menu settings for reverse video from that done under
6058	  program control.
6059
6060	<li>corrected ifdef's for menus, which did not allow tek4014 to
6061	  be suppressed properly (reported by Clint Olsen).
6062
6063	<li>integrated patch from Pavel Roskin
6064	  &lt;pavel_roskin@geocities.com&gt;
6065	  for Linux-2.2.x with GLibc-2.1 and
6066	  /dev/ptmx support:
6067	<ul>
6068	  <li>main.c and resize.c were using different rules to determine
6069	    whether ATT should be defined (actually USE_USG_PTYS is more
6070	    apt).
6071
6072	  <li>copy definitions from main.c to resize.c to prevent
6073	    sys/stream.h and sys/ptem.h from inclusion when SYSV is not
6074	    defined
6075
6076	  <li>define CNUL if not already defined like other variables.
6077
6078	  <li>/dev/tty does exist in Linux, but it doesn't mean, it
6079	    should be used.  Therefore EACCES is now an acceptable
6080	    result.
6081
6082	  <li>ifdef'd several calls such as <code>ioctl (ptyfd, I_PUSH,
6083	    "ptem")</code> to build on Linux (I_PUSH is not defined when
6084	    sys/stropts.h is not included).
6085	</ul>
6086
6087	<li>initialize second "ltc" variable in main.c (reported by David
6088	  Dawes).
6089
6090	<li>provide definition for USE_USG_PTYS in screen.c
6091
6092	<li>add resource-files to install rule in standalone Makefile.in
6093
6094	<li>add sample scripts to illustrate titlebar controls, resizing
6095	  and colors.
6096</ul>
6097
6098<H1><A NAME="xterm_93">Patch #93 - 1999/3/14 - XFree86 3.9Pd</A></H1>
6099Here are several fixes and minor enhancements.  The chief ones
6100are the fixes for NumLock mode and reverse video, since we had become
6101used to working around the problems.
6102<ul>
6103	<li>remove kfnd/kll/kslt strings from terminfo, because curses
6104	  applications do not necessarily return khome/kend pairs
6105	  (reported by Vikas Agnihotri).
6106
6107	<li>implement NumLock resource which overrides the keyboard tables for the
6108	  special case of keypad keys.  This is a problem introduced in xterm
6109	  by X11R6 changes, i.e., an ambiguity which in effect discarded vt100
6110	  keypad support.
6111
6112	<li>modify Sun/PC keyboard mode to extend this (emulation of DEC vt100
6113	  keypad) to the remainder of the numeric keypad.  Now, the default
6114	  operating mode of xterm uses the keyboard tables as-is (except if
6115	  the NumLock mode overrides), but provides good vt100 keypad compatibility
6116	  if the Sun/PC keyboard menu item is checked.
6117
6118	<li>separate command-line settings for reverse video from that done
6119	  under program control.  This is a problem which was introduced by
6120	  X11R6.  Though <em>correct</em>, most users are confused by allowing
6121	  the reset command to undo the effect of the command-line <kbd>-rv</kbd>
6122	  option.
6123
6124	<li>add description of function keys, keypad and cursor keys to ctlseqs.ms
6125
6126	<li>add terminfo entries for xterm-vt52, xterm-sun and xterm-hp
6127
6128	<li>correct typo (missing case value) for DECSET 35, enable/disable
6129	  shifted keypad action and a few compiler warnings (reported by Zdenek
6130	  Sekera &lt;zs@sgi.com&gt;).
6131
6132	<li>correct reporting of color values 8-15 in DECRQSS (reported by
6133	  Vikas Agnihotri).
6134
6135	<li>modify parsing of ttyModes resource to recognize "^-" as "undef"
6136	  (requested by Tomas Vanhala).
6137
6138	<li>integrate/extend changes to add iconify/maximize actions
6139	  (from Edward S. Arthur &lt;eda@ultranet.com&gt;).
6140
6141	<li>add control sequences for maximizing/restoring window, and
6142	  for reporting maximum screen size.
6143
6144	<li>add 'interpret' action, to support local function-key interpretation.
6145	  Used properly, this makes most of the specialized actions of xterm
6146	  redundant.
6147
6148	<li>add control sequence private modes 1051, 1052 and 1052, for
6149	  setting the Sun and HP function key modes, and for setting the
6150	  Sun/PC keyboard mode.
6151
6152	<li>add configure option --disable-maximize
6153
6154	<li>add configure option --disable-num-lcok
6155
6156	<li>extend descriptions of configure script options in INSTALL.
6157</ul>
6158
6159<H1><A NAME="xterm_92">Patch #92 - 1999/2/5 - XFree86 3.9Nz</A></H1>
6160<ul>
6161	<li>increase buffer size for tgetent (i.e., termcap) to 1500.  This
6162	  fixes a problem where <em>screen</em> is built using ncurses or
6163	  GNU termcap and <em>xterm</em> is built using the standard termcap
6164	  interface.  The former does not limit the termcap size, while the
6165	  latter is assumed to be no longer than 1023 characters.  The
6166	  <em>screen</em> program's termcap entry is about 1200 characters
6167	  long.
6168
6169	<li>change update_menu_item() to a function, to simplify debugging.
6170	  This also reduces the executable by 4Kb.
6171
6172	<li>add control sequences for DECSET 30, 1010, 1011 like rxvt (enable
6173	  or disable some features that were only settable via resources or
6174	  command line arguments).
6175
6176	<li>add control sequence for DECSET 35, which enables/disables the
6177	  shifted keypad functions.
6178
6179	<li>add support for switching font sizes, by stepping through the
6180	  font menu using shifted keypad plus and minus.
6181
6182	<li>correct missing initialization of tekInhibit and tekSmall resources.
6183
6184	<li>correct ifdef's in charproc.c for XtNgeometry and XtCGeometry
6185	  (reported by Bram Moolenaar).
6186</ul>
6187
6188<H1><A NAME="xterm_91">Patch #91 - 1999/1/21 - XFree86 3.9Nw</A></H1>
6189<ul>
6190	<li>Implement logic to translate input characters which are mapped
6191	  when in vt220 National Replacement Character mode (requested by
6192	  Tomas Vanhala).
6193
6194	<li>Resync configure scripts with my patches to autoconf 2.13
6195
6196	<li>Change order of -lXmu and -lXext to accommodate cygwin32
6197	  (reported by Vikas Agnihotri).
6198
6199	<li>Add "-ti" option to set terminal emulation level from command
6200	  line rather than via resource.
6201
6202	<li>Simplify some of the preprocessor logic using #elif.
6203</ul>
6204
6205<H1><A NAME="xterm_90">Patch #90 - 1998/12/13 - XFree86 3.9Nq</A></H1>
6206This implements several small fixes and enhancements.  The chief one implements
6207fallback support for line drawing characters with fonts that do not include
6208those characters.  But I implemented that last.
6209
6210<ul>
6211	<li>If any of the glyphs in positions 0-31 (used by xterm to implement
6212	  the VT100 alternate character set) are zero-sized (i.e., missing),
6213	  xterm will reserve a normal space for the glyph when drawing.  I
6214	  implemented a simple stroke-drawing function to draw the line-drawing
6215	  characters and a couple of the other (simpler) characters such as
6216	  diamond.  (This was suggested by Vikas Agnihotri).
6217
6218	<li>Modify the computation of doublesize characters to work around font
6219	  servers which shift the scaled characters up/down or do not give the
6220	  correct width.
6221
6222	<li>Add popup menu item and corresponding resource settings to disable
6223	  the font-scaling logic for doublesize characters to work around
6224	  (older) font servers which simply do not draw the fonts scaled to the
6225	  size that they said they would.  I see this problem on a SunOS system
6226	  running X11R5; the X11R6 servers seem well behaved.
6227
6228	<li>Implement new escape sequence, private mode 1049, which combines
6229	  the switch to/from alternate screen mode with screen clearing and
6230	  cursor save/restore.  Unlike the existing escape sequence, this
6231	  clears the alternate screen when switching to it rather than when
6232	  switching to the normal screen, thus retaining the alternate screen
6233	  contents for select/paste operations.
6234
6235	<p>When I implemented the popup menu entry to toggle between the normal
6236	  and alternate screens, I considered only pasting from the normal
6237	  screen to the alternate; this improvement allows either direction.
6238
6239	<li>Changed the termcap and terminfo for xterm-xfree86 and xterm-8bit
6240	  to use the new 1049 private mode.
6241
6242	<li>Modify the logic which switches between normal and alternate
6243	  screens so that the save/restore cursor operations apply only to the
6244	  current screen.  That means that applications which use the terminfo
6245	  smcur/rmcur or termcap ti/te capabilities will restore the cursor to
6246	  the original position on the normal screen rather than to the most
6247	  recent place where a save-cursor operation was performed.
6248
6249	<p>I note that a real VT100 terminal would not behave in this way,
6250	  but it is a moot point since the VT100 does not implement alternate
6251	  screen, and therefore the save/restore cursor sequence would not be
6252	  used in this context.  I reviewed the logic which switches between
6253	  normal and alternate screens based on some recent newsgroup postings
6254	  as well as a proposed patch in the Debian group which attempts to
6255	  do this (the patch has a bug, however, so I did not use it).
6256
6257	<li>Add popup menu entry for toggling the titeInhibit resource.
6258
6259	<li>Add new resource answerbackString, which overrides the default
6260	  "xterm" returned by xterm when responding to an ENQ (control/E)
6261	  character (request by Rajesh Vaidheeswarran &lt;rv@fore.com&gt;).
6262
6263	<li>Add new resource keyboardDialect for setting the NRC display
6264	  character set (request by Tomas Vanhala, who notes that I should
6265	  add logic to translate the keyboard as well).
6266
6267	<li>Add new command-line option and corresponding resources for making
6268	  xterm generate escape sequences compatible with HP terminals.  Like
6269	  the existing Sun escape sequences, this is available as a popup menu
6270	  item.  It is enabled by the configure script with the option
6271	  --enable-hp-fkeys (requested by Toni Mueller &lt;sales@oeko.net&gt;).
6272
6273	<li>Add configure script option --disable-boxchars to disable the
6274	  fallback support for line drawing characters.
6275
6276	<li>Fix ifdef's for configure script --disable-ansi-color, and reviewed
6277	  all configure options to ensure that all can be enabled/disabled
6278	  appropriately.
6279
6280	<li>Update config.guess and config.sub, from Lynx.
6281</ul>
6282
6283<H1><A NAME="xterm_89">Patch #89 - 1998/11/20 - XFree86 3.9Nm</A></H1>
6284This patch completes the implementation of double-sized character support
6285for the VT100 emulation, and fixes a few minor bugs:
6286
6287<ul>
6288<li>corrected the cursor position in HideCursor, which did not multiply
6289the column by two when in doublesize mode.
6290This bug, which did not appear in normal use,
6291dates back to my original <a href="#xterm_44">changes</a> to partly implement
6292double-sized characters.
6293I noticed it when cat'ing a typescript from vttest's double-sized character
6294test.
6295<li>ensure that the current line is repainted when switching between
6296single and double width characters.
6297<li>reduce the number of bits used for double-sized character coding
6298from 3 to 2, to make more room for soft-font codes.
6299<li>copy newer ifdef's from the XFree86 3.3.3 release's main.c,
6300which address details of glibc and powerpc.
6301<li>moved definition of DECL_ERRNO in xterm.h to match XFree86 3.3.3
6302<li>modify <em>resize</em> to remove the ifdef on SVr4 that suppressed
6303printing the script for $LINES and $COLUMNS.
6304Solaris' resize utility does this; suppressing the behavior is unnecessary.
6305</ul>
6306I tested the double-sized characters using vttest and the xfsft patch.
6307These fonts worked reasonably well:
6308<pre>
6309	-bitstream-courier-medium-r-normal--0-0-0-0-m-0-iso8859-1
6310	9x15
6311</pre>
6312The iso8859 font does not include box characters, of course, but looks good.
6313
6314<H1><A NAME="xterm_88">Patch #88 - 1998/10/31 - XFree86 3.9Nk and 3.3.2h</A></H1>
6315This refines my #85 patch by checking for a case where the font server
6316returns a bold font that does not quite correspond to the normal font.
6317When I asked for a bold version of the 6x12 font, the font server
6318returned a near equivalent where the ascent and descent values did not
6319match, causing xterm to leave lines across the display.
6320This patch makes xterm reject that type of mismatch, falling back to the
6321old font behavior.
6322
6323<H1><A NAME="xterm_87">Patch #87 - 1998/10/21 - XFree86 3.9Nj and 3.3.2f</A></H1>
6324This corrects a problem reported by Stefan Dalibor.  My table entries for the
6325<em>printerExtent</em> and <em>printerFormFeed</em> resources used the wrong
6326types for sizeof, causing the printer to not work properly on some platforms
6327because the <em>printAttributes</em> resource was overwritten (e.g., Digital Unix with DEC Alpha).
6328<p>
6329I reviewed all of the resource table entries and fixed a potential problem with
6330<em>resizeGravity</em>, which was typed as <em>int</em> rather than
6331<em>XtGravity</em>.
6332
6333<H1><A NAME="xterm_86">Patch #86 - 1998/10/14 - XFree86 3.9Nj and 3.3.2e</A></H1>
6334A small fix: when switching to/from the continuous mouse reporting mode,
6335the event mask was incorrect if xterm was built under X11R5 because the
6336original data was saved under an ifdef for active-icon.
6337
6338<H1><A NAME="xterm_85">Patch #85 - 1998/10/12 - XFree86 3.9Nj and 3.3.2e</A></H1>
6339Some cleanup (I noticed the pixel droppings a few months ago after getting a
6340new 17" monitor):
6341<ul>
6342	<li>split-out the functions that load/reload fonts for xterm as new
6343	  file fontutils.c to extend them to support automatic loading of
6344	  bold font corresponding to the normal font.  Adapted logic from
6345	  EMU 1.3 for this purpose.  This fixes most occurrences of pixel
6346	  droppings from bold characters.
6347
6348	<li>modified by renaming variables and adding casts to permit compile
6349	  with g++.
6350
6351	<li>modify headers so they can all be compiled without order
6352	  dependencies, and use bracketed rather than quoting includes to allow
6353	  compile from separate directory.
6354
6355	<li>renamed xtermm terminfo entry to xterm-mono, to avoid conflict with
6356	  Solaris entry now in ncurses.
6357</ul>
6358
6359<H1><A NAME="xterm_84">Patch #84 - 1998/10/9 - XFree86 3.9Ni</A> and 3.3.2e</H1>
6360Several small fixes and enhancements, including a patch from
6361Bjorn Helgaas:
6362<ul>
6363	<li>correct initialization of TERMCAP environment variable, which
6364	  was frequently set to garbage on non-Linux systems because
6365	  "termcap" and "newtc" contained random data from the stack.
6366
6367	<li>remove the LINEWRAPPED attribute from lines as they are cleared.
6368	  Previously, the attribute was set but never cleared.
6369
6370	<li>make word and line selections work even when lines are wrapped
6371	  by xterm.  Previously, selections were limited to one screen line.
6372</ul>
6373as well as
6374<ul>
6375	<li>modify logic for line-wrapping to reset the associated flag if
6376	  the application deletes a character. This fixes a problem reported
6377	  by Bjorn Helgaas where word/line selection would still wrap even
6378	  after deleting characters from the first line.
6379	<li>add kll/kH capabilities to xterm-xfree86 entries in termcap and
6380	  terminfo (request by Michael Schroeder).
6381	<li>shorten descriptions in termcap to make resolved entries all
6382	  shorter than 1023 character limit.
6383	<li>use DECSTR control sequence to shorten initialization and reset
6384	  strings in xterm-xfree86 termcap and terminfo.
6385	<li>use rmul/smul and rmir/smir in xterm-r5 terminfo to match termcap.
6386	<li>correct typos in initialization and reset strings in xterm-r5
6387	  termcap and terminfo.
6388	<li>disable special translations of key symbols (the backarrow key,
6389	  the editing keypad and the keypad "+") when a modifier other than
6390	  shift, control or numlock is used.  This makes xterm handle the meta
6391	  key as expected by people using emacs (reported by Pete Harlan
6392	  &lt;harlan@pointofchoice.com&gt; in linux.debian.user newsgroup).
6393</ul>
6394
6395<H1><A NAME="sync_83">Resync #83 - 1998/10/7 - XFree86 3.3.2e</A></H1>
6396
6397Merge changes through patch #83 with the 3.3.2e version.  This follows a
6398patch by Matthieu Herrb &lt;matthieu@laas.fr&gt; to add checks for non-null
6399return from malloc.
6400
6401<H1><A NAME="xterm_83">Patch #83 - 1998/8/25 - XFree86 3.9Nb</A></H1>
6402Several small fixes and enhancements:
6403<ul>
6404	<li>add configure test to infer if xterm should be installed setuid
6405	  based on previously installed xterm (reported by Stephen Marley
6406	  and Stefan Dalibor).
6407
6408	<li>integrate/extend patch by Jason Bacon to implement quasi-continuous
6409	  mouse reporting.
6410
6411	<li>correct control sequences transmitted by function keys F1 to F4
6412	  when sunFunctionKeys resource is true (it was still using the
6413	  VT100 control sequences).
6414
6415	<li>modify handling of backarrow key so that the control modifier
6416	  toggles the backspace/delete interpretation set by the
6417	  backarrowKey resource.
6418
6419	<li>limit the row and column values used to report mouse position.
6420</ul>
6421
6422From resync with XFree86 3.9Nb:
6423<ul>
6424	<li>add support for the VSTATUS control character (patch by
6425	  Robert Earl &lt;rearl@teleport.com&gt;).
6426</ul>
6427
6428<H1><A NAME="xterm_82">Patch #82 - 1998/7/15 - XFree86 3.9Aj</A></H1>
6429Bug fix for patch #81:
6430<ul>
6431	<li>remove an #undef for NBBY, which caused compile problem on FreeBSD
6432	  (reported by David Dawes).
6433</ul>
6434
6435<H1><A NAME="xterm_81">Patch #81 - 1998/7/14 - XFree86 3.9Aj</A></H1>
6436More bug fixes:
6437<ul>
6438	<li>fix conflicting ifdef's for TIOCSLTC when building with Linux on
6439	  AXP aka DEC Alpha (reported by Robin Cutshaw).
6440
6441	<li>correction to patch #79, move assignment for *utptr-&gt;ut_user = 0;
6442	  back into non-SVR4 ifdef in main.c, since this clobbers username on
6443	  Solaris 2.5.1 (analysis by Will Day
6444	  &lt;willday@rom.oit.gatech.edu&gt;).
6445
6446	<li>corrected khome/kend in xterm-8bit terminfo description.
6447
6448	<li>improve cursor color by making it always the reverse of fg/bg
6449	  unless the cursorColor resource is set, i.e., to something other than
6450	  the default foreground (reported by Vikas Agnihotri and Bram
6451	  Moolenaar).
6452
6453	<li>minor fixes for compiler warnings, including a syntax error in
6454	  the AMOEBA ifdef's.
6455</ul>
6456From resync with XFree86 3.9Aj:
6457<ul>
6458	<li>correction to patch #73, supply missing #else for fallback definitions
6459	  of size_t, time_t (Robin Cutshaw &lt;robin@intercore.com&gt;).
6460</ul>
6461
6462<H1><A NAME="xterm_80">Patch #80 - 1998/6/29 - XFree86 3.9Ai</A></H1>
6463This fixes a couple of items leftover or introduced by patch 79:
6464<ul>
6465	<li>take out the logic that suppresses editing-keypad in vt100 mode
6466	  (those keys are too valuable to give up for a fine point of
6467	  emulation).
6468
6469	<li>corrected a couple of places in terminfo where I missed using the
6470	  vt220-style editing-keypad codes for Find/Select (mapped to Home/End).
6471
6472	<li>checked termcap file against terminfo, fix several places where it
6473	  was inconsistent.
6474</ul>
6475
6476<H1><A NAME="xterm_79">Patch #79 - 1998/6/28 - XFree86 3.9Ai</A></H1>
6477
6478This patch fixes several small bugs:
6479<ul>
6480	<li>use X_EXTRA_LIBS in standalone Makefile.in (patch by Tomas Vanhala).
6481
6482	<li>add new resource 'oldXtermFKeys' which provides backward compatibility
6483	  for F1-F4 control sequences with TOG's xterm.
6484
6485	<li>determine the server's default foreground/background Pixel values,
6486	  needed if the -flipPixels X server option is used (reported by
6487	  David Dawes).
6488
6489	<li>correct logic for F1-F4 function keys so that they generate VT100
6490	  compatible escape sequences in VT220 mode, since that is what the
6491	  numeric keypad is supposed to do (reported by Ron Johnson, Jr.
6492	  &lt;ronjohn@communique.net&gt;).
6493
6494	<li>modify logic for editing keypad to work more like VT220: don't
6495	  pass those codes in VT100-mode unless oldXtermFKeys mode is set.
6496
6497	<li>correct an interaction with the editing-keypad logic that prevented
6498	  backarrow key from sending a 127 for the delete key (the 'remove'
6499	  escape sequence was being sent instead).
6500
6501	<li>use return-value from getuid() rather than the parameter, to work on
6502	  systems which do not update the latter (patch by Kevin Buhr
6503	  &lt;buhr@mozart.stat.wisc.edu&gt;)
6504
6505	<li>correct scrollbar border color when toggling to/from secure keyboard
6506	  mode (patch by Jeff Uphoff &lt;juphoff@tarsier.cv.nrao.edu&gt;)
6507
6508	<li>modifications to terminfo file:
6509<ul>
6510	  <li>rename description to xterm-xfree86, adding an entry 'xterm'
6511	    which is derived from xterm-xfree86 to simplify customization.
6512
6513	  <li>change string for kdch1 from \177 to \E[3~, to address complaints
6514	    from Debian developers.  (This applies to the key labeled "Delete",
6515	    and does not affect the backarrow key).
6516
6517	  <li>add user-strings u6, u7, u8, u9 to entries to make them work with
6518	    Daniel Weaver's "tack" program.
6519
6520	  <li>modify xterm-24, xterm-bold, xterm-boldso entries to disentangle them from
6521	    explicit dependency upon xterm-xfree86.
6522
6523	  <li>add generic 'xterm-color' entry.
6524
6525	  <li>minor corrections to xterm-xfree86, xterm-8bit, xterm-r5 and
6526	    xterm-r6 entries.
6527</ul>
6528</ul>
6529
6530<H1><A NAME="xterm_78">Patch #78 - 1998/6/3 - XFree86 3.9Ah and 3.3.2</A></H1>
6531
6532Again, most of the bulk of this patch is for ANSI conversion.  I used the
6533IRIX compiler's -wlint option to find the remaining functions that use
6534K&amp;R syntax (since gcc does not do this properly).
6535
6536Also, I changed the logic in the print code slightly to close unwanted files
6537before opening a pipe to the printer.  This may help in some configurations
6538where the line printer hangs until xterm closes the pipe.
6539
6540<H1><A NAME="xterm_77">Patch #77 - 1998/5/26 - XFree86 3.9Ah and 3.3.2</A></H1>
6541
6542Most of the bulk of this patch is to convert the extended C (K&amp;R functions
6543with prototypes) to ANSI.  I verified that on Linux by comparing object
6544files, to ensure that I did not, for example, interchange parameters in
6545the function declarations.
6546<p>
6547The rest of the patch fixes several minor bugs, and adds a few features:
6548<ul>
6549	<li>back-out my use of ncurses "captoinfo -f" option (if/then/else/endif)
6550	  formatting, since ncurses did not correctly filter embedded newlines
6551	  in terminfo capability strings until _after_ ncurses 4.1, thus
6552	  corrupting setf/setb/sgr strings (reported by Darren Hiebert and
6553	  others).
6554
6555	<li>document SGR 8, 28 (invisible/visible), add corresponding
6556	  capabilities to terminfo description.
6557<p>
6558	  I would also add the 'prot protected capability, but the control
6559	  sequences for that would not be recognized or properly ignored by the
6560	  older xterm programs.
6561
6562	<li>modify ChangeGroup to not suppress a null-resource, but treat it as an
6563	  empty string (recommended by Stefan Dalibor).
6564
6565	<li>add printerAutoClose resource to control whether printer is closed
6566	  when going offline.  More than one person reports problems (on
6567	  Solaris 2.6 and Digital Unix 4.0) getting the printer to proceed
6568	  unless xterm exits; I think that it is a problem flushing the pipe.
6569	  Closing it ought to flush it.
6570
6571	<li>adapt TOG fix-3 to in HandleKeymapChange and VTInitI18N (but adapt
6572	  XtStackAlloc/XtStackFree for clarity, as well as fixing memory leak).
6573
6574	<li>change calls on FillCurBackground to ClearCurBackground, in effect
6575	  using XClearArea rather than XFillRectangle when clearing as a
6576	  side-effect of scrolling and insertion  (patch by Alexander V
6577	  Lukyanov)
6578
6579	<li>correct some places where insert/delete did not _move_ the color
6580	  attributes, using memmove (patch by Alexander V  Lukyanov
6581	  &lt;lav@long.yar.ru&gt;)
6582
6583	<li>add ifdef's for __CYGWIN32__, for port to cygnus version B19.1
6584	  (patch by Andrew Sumner &lt;andrew_sumner@hotmail.com&gt;).
6585
6586	<li>remove #define for hpux that turned on USE_SYSV_ENVVARS, since this
6587	  causes some applications (such as 'less') to get incorrect $LINES and
6588	  $COLUMNS values (reported by Clint Olsen).
6589
6590	<li>modify behavior for HP-UX, to set the "reserved" process group
6591	  controls to _POSIX_VDISABLE so the TIOCSLTC ioctl does not produce an
6592	  error (patch by Ben Yoshino &lt;ben@wiliki.eng.hawaii.edu&gt;).
6593
6594	<li>correct length of underlining, reducing it by one pixel to avoid
6595	  leaving a dot when the application does not clear the whole screen
6596	  (patch by (Sergei Laskavy &lt;Laskavy@cs.msu.su&gt;).
6597<p>
6598	  I noticed this only recently myself (and other people as well); it
6599	  depends on the font chosen.  A 6x10 font shows it, but the other
6600	  fonts (from XTerm.ad) do not.  I also see a similar problem with the
6601	  emulation of bold fonts.
6602
6603	<li>add include for Xos.h to xterm.h, to ensure proper definitions
6604	  (reported by Holger Veit).
6605
6606	<li>update config.guess to recognize Unixware 2.1 and 7 (patch by
6607	  Mike Hopkirk &lt;hops@sco.com&gt;).
6608</ul>
6609
6610<H1><A NAME="xterm_76">Patch #76 - 1998/5/8 - XFree86 3.9Ah and 3.3.2</A></H1>
6611
6612A fix for the print-window function, and some minor cleanup:
6613<ul>
6614	<li>modify logic that closes pipe in the print-window function to not use
6615	  pclose, which does not work on all systems, since I did not open the
6616	  pipe with popen (reported by Stefan Dalibor).
6617
6618	<li>correct name of $(EXTRA_LOAD_FLAGS) imake variable (reported
6619	  by Stefan Dalibor).
6620
6621	<li>guard logic in ChangeGroup() function against null pointer
6622	  (reported by Stefan Dalibor).
6623
6624	<li>ensure that menu entry for toggling sunKeyboard resource is
6625	  initialized (reported by Branden Robinson &lt;branden@purdue.edu&gt;).
6626
6627	<li>gcc unused-variable warnings (reported by Bernd Ernesti
6628	  &lt;bernd@arresum.inka.de&gt;)
6629
6630	<li>rename global variable 'buffer' to 'VTbuffer'
6631</ul>
6632
6633<H1><A NAME="xterm_75">Patch #75 - 1998/5/7 - XFree86 3.9Ah and 3.3.2</A></H1>
6634
6635This incorporates fixes from several people, as well as some improvements
6636that I made based on feedback from users:
6637<ul>
6638	<li>add option to standalone configure script, "--with-own-terminfo-dir",
6639	  which causes xterm to pass a predefined value of $TERMINFO to the
6640	  application.  Also use this value in install rule "make install-ti",
6641	  for the standalone configure script.
6642
6643	  (patch &amp; feedback from Tor Lillqvist &lt;tml@hemuli.tte.vtt.fi&gt;)
6644
6645	<li>change ifdef's for "hpux" to "__hpux" (patch by Tor Lillqvist).  The
6646	  imake configuration uses the former, but the latter is predefined by
6647	  HP's compilers.
6648
6649	<li>define USE_SYSV_ENVVARS for HP-UX, curses does not use $TERMCAP (patch
6650	  by Tor Lillqvist).
6651
6652	<li>on HP-UX, use the /dev/ptym/clone device to allocate PTY's.  Works
6653	  both on HP-UX 9 and 10.  (patch by Tor Lillqvist).
6654
6655	<li>modify configure script to obtain the $(EXTRA_LOADFLAGS) value from
6656	  imake, needed for compiling under DEC OSF/1 (reported by
6657	  Stefan Dalibor)
6658
6659	<li>modify print-window action so that the printer is closed after
6660	  printing a window, unless the printer was already opened (i.e.,
6661	  by an application running in the window).  This makes the printing
6662	  complete without having to exit xterm, since not all systems treat
6663	  fflush through a pipe very well (reported by Stefan Dalibor)
6664
6665	<li>modify printing code so that the ^M's are not printed if the
6666	  printAttribute resource is set to zero (request by Stefan Dalibor).
6667
6668	<li>correct typo in xterm.man, for the default value of printAttribute
6669	  (reported by Stefan Dalibor).
6670
6671	<li>correct printing code so that the alternate character set is
6672	  printed, like other attributes, with escape sequences.
6673
6674	<li>correct termcap description, removing spurious 'm' character from
6675	  the 'op' capability (reported by Greg Woods &lt;woods@weird.com&gt;).
6676
6677	<li>correct trace code so that the initial timestamp is set.
6678
6679	<li>correct/modify utmp data for the Linux glibc 2 configuration,
6680	  so that the ut_line member is set before using it to update wtmp
6681	  (patch by Bill Nottingham &lt;wen1@cec.wustl.edu&gt;).
6682</ul>
6683
6684<H1><A NAME="xterm_74">Patch #74 - 1998/4/27 - XFree86 3.9Ag and 3.3.2</A></H1>
6685
6686This corrects a couple of recent bugs and adds a new resource:
6687<ul>
6688	<li>modify definition of TRACE_CHILD so that it does not conflict with
6689	  ifdef's for USE_USG_PTYS in main.c (reported by Vikas Agnihotri
6690	  &lt;VikasA@att.com&gt; and Stefan Dalibor).
6691
6692	<li>correct ownership of file (actually pipe) written by the print
6693	  controls.  When undoing the setuid changes in patch #69, I overlooked
6694	  this.  Now xterm forks a process which resets setuid and routes the
6695	  printer data as the real user.
6696
6697	<li>add a new resource, "printAttributes", which controls whether
6698	  color attributes (or any attributes) are sent to the printer.
6699</ul>
6700
6701<H1><A NAME="xterm_73">Patch #73 - 1998/4/25 - XFree86 3.9Ag and 3.3.2</A></H1>
6702
6703This patch does the following:
6704<ul>
6705	<li>implements a print-window facility for xterm.  Though useful in
6706	  itself, I added it as part of some debugging which I am doing.
6707	  (Occasionally during an exposure event xterm fails to restore the
6708	  proper colors for highlighted text, and printing the screen will
6709	  show the internal states nicely).
6710<p>
6711	  The print facility now also displays the color information.
6712	  (I will probably make this a resource).
6713
6714	<li>modified the xterm-16color terminfo description to use the setaf and
6715	  setab strings, which is a little more efficient (requested by Stephen
6716	  Marley).
6717
6718	<li>reduced some clutter of the ifdef/includes (e.g., stdlib.h, unistd.h,
6719	  errno) making the configure script test for these.
6720<p>
6721	  I removed the symbols Size_t and Time_t, since they no longer serve
6722	  a useful purpose.
6723
6724	<li>added some debugging traces to show the initial screen size,
6725	  and the success/failure of the ioctl calls pass handle window
6726	  resizing events to the application (for Clint Olsen).
6727<p>
6728	  I also modified the trace code to produce two files since some
6729	  of the information is produced by the child process.  So now
6730	  they are Trace-parent.out and Trace-child.out
6731
6732	<li>updated configure test for ANSI compiler options to handle a
6733	  special case for HP-UX 10.x (reported by Clint Olsen).
6734</ul>
6735
6736<H1><A NAME="xterm_72">Patch #72 - 1998/4/17 - XFree86 3.9Ag and 3.3.2</A></H1>
6737
6738This is a patch from Chris Siebenmann &lt;cks@hawkwind.utcs.toronto.edu&gt;,
6739which I have cleaned up a little, and integrated into the configure script.
6740<p>
6741From his description:
6742<blockquote>
6743 This set of patches is the latest incarnation of patches originally
6744written by Ian! D Allen, then of the University of Waterloo and now of
6745who knows where; I have been carrying them forward from xterm to xterm
6746ever since about X11R4.  What they do is add an option so that when an
6747iconified xterm receives output it prepends '*** ' to its icon title
6748and (optionally) beeps the bell; deiconifying the xterm removes the
6749'*** '. Over the years I've found this to be incredibly convenient for
6750monitoring all sorts of low-activity things.
6751</blockquote>
6752
6753<H1><A NAME="xterm_71">Patch #71 - 1998/4/12 - XFree86 3.9Ag and 3.3.2</A></H1>
6754
6755This patch is a slightly modified version of one by Richard Braakman, which
6756prevents buffer overflow in the input-method and preedit-type parsing in xterm.
6757I changed a couple of details to make the code more maintainable, and looked
6758for similar things - copying into a fixed-size buffer (found none, though I did
6759spot an unused variable).
6760
6761<H1><A NAME="xterm_70">Patch #70 - 1998/3/29 - XFree86 3.9Af and 3.3.2</A></H1>
6762
6763This patch corrects some minor bugs in xterm, and fills in some more details
6764in the VT220 emulation:
6765<UL>
6766	<LI>modify Imakefile to use SpecialCObjectRule for menu and data modules,
6767	  making xterm build properly if logging is enabled
6768	  (patch by Scott Sewall &lt;scott@iprg.nokia.com&gt;).
6769
6770	<LI>restore "ich" capability to terminfo entries, since
6771	  Michael Schroeder points out that "ich1"
6772	  is the one which is the problem in Solaris vi.
6773
6774	<LI>correct color of cursor, which would disappear on inverse-video
6775	  since the initialization did not compare the cursor color against
6776	  both foreground and background (reported by Olivier Calle).
6777
6778	<LI>correct abbreviation-test for -version and -help options, making
6779	  command-line option -vb work (reported by Stefan Dalibor).
6780
6781	<LI>correct a dependency between ifdef's for OPT_I18N_SUPPORT and
6782	  OPT_INPUT_METHOD (reported by Stefan Dalibor).
6783
6784	<LI>split-out character-set translations as new module charsets.c, to
6785	  implement VT220 national replacement character sets (a mode where
6786	  some of the characters are displayed as specific European glyphs).
6787	  This relies on xterm using an ISO 8859-1 font (approach suggested by
6788	  Kenneth R. Robinette &lt;zkrr01@mailbox.neosoft.com&gt;).
6789
6790	<LI>correct a missing increment, which made SS2 and SS3 controls
6791	  repeat the shifted character.
6792
6793	<LI>add xterm-nrc to terminfo to illustrate the VT220 national
6794	  replacement character sets.
6795
6796	<LI>reformat terminfo using new ncurses tic option "-f", which makes
6797	  if/then/else/endif expressions easier to read.
6798</UL>
6799
6800<H1><A NAME="xterm_69">Patch #69 - 1998/3/16 - XFree86 3.9Ad and 3.3.2</A></H1>
6801
6802This corrects the problem in xterm with utmp, reported by Olivier Calle
6803&lt;olivier@tc.fluke.com&gt;
6804as well as some other people after the XFree86 3.3.2 release.
6805<P>
6806The error was introduced by my patch #53 in XFree86 3.9r (October 1997).
6807<P>
6808The correction removes the reset of setuid/setgid before the main event loop,
6809and solves the problem which I had worked around in a different manner:  for
6810some reason, the particular waitpid() call in creat_as() hangs, does not
6811return when the child process exits.  I changed the ifdef's to force the Linux
6812configuration to use wait() instead.  This call appears to work properly on
6813other platforms such as SunOS and Solaris.
6814<P>
6815I also added tests in the standalone configure script to check for the
6816existence of waitpid().
6817
6818<H1><A NAME="xterm_68">Patch #68 - 1998/3/4 - XFree86 3.9Ad and 3.3.1z</A></H1>
6819
6820This corrects another problem with the logic for highlightColor resource.
6821As reported by David Dawes:
6822<blockquote>
6823	I've just noticed a problem with with the "inverse" control sequence
6824	(ESC[7m) with the 3.3.2 xterm.  What it does is sets the background
6825	black, and the text the usual foreground colour rather than simply
6826	swapping the foreground/background.
6827
6828</blockquote>
6829This appears to be because when I added logic to check that the highlightColor
6830was distinct from foreground and background colors, I did not add a further
6831check to see that it was not black (I would make an explicit check for the
6832resource not being set, but see nothing definite in the headers that would let
6833me reference an explicitly-undefined Pixel value, though there are some
6834implications in xpm.h).  But this should work.
6835
6836<H1><A NAME="xterm_67">Patch #67 - 1998/2/23 - XFree86 3.9Ad and 3.3.1e</A></H1>
6837
6838This patch does the following:
6839<UL>
6840	<LI>improve test for highlightColor so that xterm does not attempt to
6841	  use that unless it is different from the foreground and background
6842	  colors (reported by Stefan Dalibor
6843	  &lt;Stefan.Dalibor@informatik.uni-erlangen.de&gt;.
6844<P>
6845	  I could not reproduce this until I noticed that the -rev option
6846	  exposed it nicely.
6847
6848	<LI>remove ich and ich1 from xterm and xterm-8bit terminfo descriptions.
6849	  SVr4 terminfo documents that you must not combine these with
6850	  smir/rmir, but ncurses allows it, opening a hole.  Solaris 2.6 vi
6851	  does not work properly if it is using a terminfo description when
6852	  these are combined, since it was written to accommodate old terminals
6853	  that required it (reported by Stephen Marley).
6854
6855	<LI>restore 1-pixel overlap of scrollbar border with left edge of window
6856	  (reported by Jim Burmeister &lt;jimb@metrolink.com&gt;).
6857
6858	<LI>add a configure option, --enable-logfile-exec, which allows the
6859	  user to specify a pipe for logfile.  This defines ALLOWLOGFILEEXEC.
6860
6861	<LI>makes the ALLOWLOGFILEEXEC code compile &amp; run, if configured.
6862
6863	<LI>minor documentation nits.
6864</UL>
6865
6866<H1><A NAME="xterm_66">Patch #66 - 1998/2/16 - XFree86 3.9Ad and 3.3.1d</A></H1>
6867
6868This fixes the problem reported with failure to build the <EM>resize</EM>
6869program (BSDI, OSF/1) due to not having &lt;termcap.h&gt;, by changing the
6870ifdef to one that would be set only if the file exists (not currently
6871specified, except by the standalone configure script).  We do not really need
6872to include &lt;termcap.h&gt; to build, but only for a clean compile, since it
6873may declare the tgetent() prototype.
6874
6875I also updated the man-page for <EM>resize</EM>, since I had recently noticed
6876that it can be used to resize <EM>xterm</EM> using the "Sun" control sequences
6877option.
6878
6879<H1><A NAME="xterm_65">Patch #65 - 1998/2/14 - XFree86 3.9Ad and 3.3.1c</A></H1>
6880
6881This is a small patch to xterm's 8-bit terminal description.  I noticed
6882while testing ncurses that I had specified the wrong (VT100-style) codes
6883for the F1-F4.  Xterm only uses VT220-style function keys in 8-bit mode.
6884
6885<H1><A NAME="xterm_64">Patch #64 - 1998/2/8 - XFree86 3.9Ad</A></H1>
6886
6887This fixes the following problems with xterm:
6888<UL>
6889	<LI>save/restore the ANSI foreground and background colors with the other
6890	  visible attributes in the save-cursor and restore-cursor operations.
6891	  This works around a problem with vim, which apparently assumed that
6892	  switching between the normal and alternate screens resets the colors
6893	  (reported by Jim Battle &lt;jb@chromatic.com&gt;).
6894<P>
6895	  It would be nice to implement save/restore cursor as a stack (and
6896	  solve this type of problem completely), but that would lead to
6897	  incompatibility with applications which assume they are running with a
6898	  VT100 or VT220.
6899
6900	<LI>corrects behavior of a restore-cursor operation which does not
6901	  follow a save-cursor (it is supposed to set the character sets
6902	  to a known initial state).
6903
6904	<LI>extends the sunKeyboard resource (and menu toggle) to modify the
6905	  home, end and delete keys on a Sun or PC editing keypad, making them
6906	  generate codes compatible with DEC VT220's Find, Select and Remove
6907	  keys.
6908
6909	<LI>corrects a length in checking command-line options, which caused the
6910	  "-help" message to not work when X was not running.
6911
6912	<LI>adds some detail to the man-page (requested by Jason Bacon
6913	  &lt;acadix@execpc.com&gt;)
6914
6915	<LI>modify the standalone configure script to ignore the broken nsl and
6916	  socket libraries on IRIX 6.2 (the ones on 5.2 also are broken, so
6917	  this change just widens the check for the system version number).
6918</UL>
6919
6920<H1><A NAME="xterm_63">Patch #63 - 1998/2/5 - XFree86 3.9Ad</A></H1>
6921
6922This is another patch from Bjorn Helgaas &lt;helgaas@rsn.hp.com&gt;, which I've
6923reviewed (and learned some).  Following are his notes:
6924<P>
6925I poked around some more and finally got xterm-62 to build and run
6926cleanly on HP-UX 10.20.  Here are the patches.  They look sort of
6927ugly, so here's a little explanation:
6928<UL>
6929        <LI>aclocal.m4: Removed side effects from the AC_CACHE_VAL
6930        commands in CF_FUNC_TGETENT.  Previously, LIBS was set inside
6931        AC_CACHE_VAL, which worked fine the first time configure was
6932        run, but failed if there were cached values.
6933
6934        <LI>aclocal.m4: Added temporary setting of LIBS before
6935        AC_TRY_LINK in CF_FUNC_TGETENT.  Previously, the last value set
6936        by the AC_TRY_RUN loop was used, so only -lcurses was checked.
6937
6938        <LI>configure.in: Added temporary setting of CPPFLAGS before
6939        AC_CHECK_HEADERS for X11 files.  Previously &lt;X11/DECkeysym.h&gt;
6940        and &lt;X11/Xpoll.h&gt; were found only if they were in the compiler's
6941        default include directories, even if `--x-includes=DIR' had been
6942        used or AC_PATH_XTRA had found them elsewhere.
6943</UL>
6944The problem on HP-UX was that we were linking with -lcurses rather than
6945-ltermcap due to the second bullet above, and apparently something in
6946HP-UX curses is broken.  This seems very strange, because the only thing
6947used is tgetent, which should affect any tty/pty configuration, but I
6948lost interest in tracking down the exact problem.
6949
6950<H1><A NAME="xterm_62">Patch #62 - 1998/1/23 - XFree86 3.9Ac</A></H1>
6951
6952This is a patch mostly by Bjorn Helgaas &lt;helgaas@dhc.net&gt; (I added the
6953os2main.c change, and a little of the documentation).  From Bjorn's
6954description:
6955<UL>
6956	<LI>If you use the "-hc &lt;color&gt;" option or set the "highlightColor"
6957	  resource, text is highlighted by changing only the background color,
6958	  rather than using reverse video.  I find this easier to read,
6959	  especially when selecting multi-colored text, and it is similar to
6960	  the way Netscape shows selections.
6961
6962	<LI>Most of the code changes are under "#if OPT_HIGHLIGHT_COLOR".  The
6963	  principal exception is in screen.c, where I added a couple calls to
6964	  resetXtermGC().  This seems like it could be a bug even without
6965	  the color highlighting changes (though I don't pretend to understand
6966	  all the logic).
6967</UL>
6968
6969<H1><A NAME="xterm_61">Patch #61 - 1998/1/17 - XFree86 3.9Ac</A></H1>
6970
6971This patch modifies the reset behavior of xterm slightly:
6972<UL>
6973	<LI>change the terminfo entry so that rs1 (one of the strings used by
6974	  the 'reset' program) does a hard reset rather than switching
6975	  character sets.  This is more in accord with other terminal
6976	  descriptions.
6977
6978	<LI>modifies the treatment of hard reset by the xterm program to
6979	  reset the saved lines.
6980
6981	<LI>corrects hard reset by also resetting user-defined keys (DECUDK).
6982</UL>
6983
6984<H1><A NAME="xterm_60">Patch #60 - 1998/1/10 - XFree86 3.9Ab</A></H1>
6985
6986This fixes some minor bugs and adds new functionality:
6987<UL>
6988	<LI>add support for blinking text.
6989<UL>
6990	  <LI>This does not actually cause the
6991	  text to flash, but text with the blink attribute can be displayed
6992	  in color, using new resources colorBL and colorBLMode.
6993
6994	  <LI>If colors are not used, the blinking text will be displayed as
6995	  before (just like bold).  The main purpose of this is to make
6996	  applications work properly when they assume the emulator supports
6997	  blinking text.
6998
6999	  <LI>I did this by moving the per-cell LINEWRAPPED flag to a per-line
7000	  flag, to make room for the new BLINK flag.  There were no per-line
7001	  flags, so this changes a lot of logic.
7002</UL>
7003
7004	<LI>corrected missing save-cursor logic in the handling of SGR 1048
7005	  (the new control sequence I added in patch #54, 1997/10/17).
7006	  Reported by Darren Hiebert.
7007
7008	<LI>flush the output of the transparent printing after each line
7009	  Reported by Tomas Vanhala &lt;vanhala@ling.helsinki.fi&gt;.
7010
7011	<LI>correct the modes that are affected by save/restore cursor by adding
7012	  WRAPAROUND and PROTECTED.
7013
7014	<LI>corrected placement of one of the XSync calls that I added in patch
7015	  #51, 1997/9/15, which had the side-effect of writing on the window
7016	  border when the xterm was resizing from 132 to 80 columns.
7017
7018	<LI>work around an incompatibility of the XKB definition used in xterm
7019	  versus that symbol from IRIX 6.2's imake definitions (by adjusting
7020	  the standalone configure script).
7021</UL>
7022
7023<H1><A NAME="xterm_59">Patch #59 - 1998/1/5 - XFree86 3.9Ab</A></H1>
7024
7025My last patch has an off-by-one error in the comparison for argc.  Douglas
7026Kosovic &lt;douglask@dstc.edu.au&gt; showed me where (he got a core dump).
7027Also, I think this explains Clint Olsen's problem, but the symptoms were more
7028subtle (EINVAL for a system call if the -display option is omitted).
7029
7030<H1><A NAME="xterm_58">Patch #58 - 1998/1/3 - XFree86 3.9Ab</A></H1>
7031
7032This patch does the following:
7033<UL>
7034	<LI>implement logic to permit xterm to work with proportional fonts.
7035<UL>
7036	  <LI>Thomas Wolff
7037	  &lt;Thomas.Wolff@sietec.de&gt;
7038	  requested this (but it isn't exactly what he's asking
7039	  for - that's a more involved task).
7040
7041	  <LI>I chose to do this by rendering the characters on a fixed pitch,
7042	  because it would not be useful for existing applications to display
7043	  varying numbers of characters on each line.
7044
7045	  <LI>Except that this forces the display to be wider, it works reasonably
7046	  well.  A couple of special cases (reverse + colorBD, for example)
7047	  do not display with proper colors, since the inter-character gaps
7048	  are painted with the background.
7049</UL>
7050
7051	<LI>added a version number to the program (several people have requested
7052	  this).
7053
7054	<LI>make the -version and -help options interpreted before the program
7055	  attempts to open the display.
7056
7057	<LI>minor reorganization of the man-page (ordered the options, resources
7058	  and translations alphabetically - and eliminated some duplication).
7059
7060	<LI>corrected a misspelled filename in Makefile.in, and added a lint
7061	  rule.
7062
7063	<LI>updated the configure script to correct behavior when it cannot
7064	  find imake, as well as to fix the IRIX+gcc build (conflict with
7065	  /usr/include).
7066
7067	<LI>regenerated the configure script with a newer patch to autoconf
7068	  that fixes a problem with environment space vs the configure --help
7069	  message.
7070</UL>
7071<H1><A NAME="xterm_57">Patch #57 - 1997/12/26 - XFree86 3.9Aa</A></H1>
7072
7073This patch is mostly concerned with the standalone configure script; a few
7074minor corrections are added:
7075<UL>
7076	<LI>add configure option --disable-tek4014, to allow xterm to be built
7077	  without the tek4014 emulation.
7078
7079	<LI>add configure option --with-terminal-type, to allow xterm to be
7080	  compiled with default $TERM value other than "xterm" (e.g.,
7081	  "xterm-16color") -- requested by Stephen Marley &lt;stephen@memex.com&gt;.
7082
7083	<LI>fix a typo in the configure --help message -- reported by Darren
7084	  Hiebert &lt;darren@hmi.com&gt;.
7085
7086	<LI>review diffs between main.c and os2main.c, to make them more alike.
7087	  (applies some minor bug-fixes to OS/2's version).
7088
7089	<LI>add missing quotes in memmove/bcopy configure test
7090</UL>
7091
7092
7093<H1><A NAME="xterm_56">Patch #56 - 1997/11/28 - XFree86 3.9x</A></H1>
7094
7095This patch is based on analysis by Arfst Ludwig &lt;arfst@luxor.IN-Berlin.DE&gt;,
7096who reported:
7097<blockquote>
7098	Setting the following resources xterm (all current versions) receives a
7099	segmentation fault on &lt;Btn2Up&gt; after scrolling:
7100<PRE>
7101
7102	  *XTerm*VT100*translations:    #override \
7103	      ~Shift~Ctrl&lt;Btn2Up&gt;: insert-selection(PRIMARY, CUT_BUFFER0)\n\
7104	      Shift~Ctrl&lt;Btn2Up&gt;:  insert-selection(CLIPBOARD, CUT_BUFFER1)\n\
7105	      ~Shift&lt;BtnUp&gt;:       select-end(PRIMARY, CUT_BUFFER0)\n\
7106	      Shift&lt;BtnUp&gt;:        select-end(CLIPBOARD, CUT_BUFFER1)
7107</PRE>
7108	(The above resources intention is to be able to paste the latest
7109	selection even if the xterm was cleared.)
7110<P>
7111	And here is how it works (and a fix!):  The widget given to the action
7112	handler as first argument is not guaranteed to be a XtermWidget (it can
7113	be the ScrollbarWidget).  Instead of accessing the widget's member
7114	directly XtDisplay gives the required pointer in a safe way.
7115</blockquote>
7116I noticed that this was not the only instance (by reading the code, and testing
7117with his example), and extended the solution to check the widget-class to
7118ensure that it is indeed xterm's widget class before attempting to use it in
7119the context of translations.
7120
7121<H1><A NAME="xterm_55">Patch #55 - 1997/11/25 - XFree86 3.9x</A></H1>
7122
7123This fixes the segmentation violation noted by Rogier Wolff about a month
7124ago.  He'd set xterm to 400 (rows) by 150 columns, which broke because there
7125were limited buffers (200 rows) used for juggling data when adding or deleting
7126lines and for switching between alternate and normal screens.  I replaced this
7127by an allocated buffer.
7128<P>
7129The bug is simple to test if you set titeInhibit false.
7130
7131<H1><A NAME="xterm_54">Patch #54 - 1997/10/17 - XFree86 3.9s</A></H1>
7132
7133This patch does the following:
7134<UL>
7135	<LI>correct a minor placement problem with the right scrollbar.
7136
7137	<LI>implement a new set of control sequences for switching between the
7138	  normal and alternate VT100 screens.  These work around the older
7139	  sequences limitation that required modification of the runtime
7140	  $TERMCAP to cooperate with the titeInhibit resource (that can't work
7141	  with terminfo).  I do this by moving all of the functionality of the
7142	  rmcur terminfo capability into the control sequences.
7143
7144	<LI>implement the alternate-screen menu entry
7145</UL>
7146
7147<H1><A NAME="xterm_53">Patch #53 - 1997/10/12 - XFree86 3.9r</A></H1>
7148
7149This patch adds a fix and implements a new feature (as well as some minor
7150typos):
7151<UL>
7152	<LI>JCHANDRA@Inf.COM (JCHANDRA) noted that there was still a problem
7153	  with the wait call with the logging option.  It hung when the logfile
7154	  was opened as a command-line option.  I fixed this by moving the
7155	  StartLogging() call down past the place where I'd reset the setuid
7156	  mode.  So the logfile is opened as the real user, without having
7157	  to fork.
7158
7159	<LI>Michael Rohleder &lt;michael.rohleder@stadt-frankfurt.de&gt; sent
7160	  me a patch which implements right-scrollbars for xterm.  I used that
7161	  as a starting point, renamed the command-line options and reduced
7162	  the number of ifdef's.
7163</UL>
7164
7165<H1><A NAME="xterm_52">Patch #52 - 1997/9/29 - XFree86 3.9q</A></H1>
7166
7167This patch addresses bugs and requests reported by
7168<UL>
7169	<LI>Bob Maynard &lt;rmaynard@montana.com&gt;,
7170	<LI>Clint Olsen &lt;olsenc@ichips.intel.com&gt;,
7171	<LI>JCHANDRA@Inf.COM (JCHANDRA),
7172	<LI>Michael Schroeder &lt;Michael.Schroeder@informatik.uni-erlangen.de&gt;,
7173	<LI>Pablo Ariel Kohan &lt;pablo@memco.co.il&gt;
7174</UL>
7175
7176Some of the changes are interrelated (it was an unusually busy week).
7177<UL>
7178
7179	<LI>change the default resource value for colorMode to true, matching
7180	  the Xterm.ad file.
7181
7182	<LI>correct behavior of 'ech' control, making the default and 0
7183	  parameters erase one character rather than to the end of line
7184	  (reported by Michael Schroeder).
7185
7186	<LI>add resource boldColors, command-line options +pc and -pc and
7187	  configure-script option to specify behavior of xterm's mapping bold
7188	  colors 0 through 7 to colors 8 through 15.
7189	  (request by Pablo Ariel Kohan).
7190
7191	<LI>add resource colorAttrMode to specify whether colorULMode and
7192	  colorBDMode can override the ANSI colors
7193	  (from a problem report by Clint Olsen).
7194
7195	<LI>correct a conflict between colorULMode/colorBDMode versus ANSI
7196	  colors, where exposure events would occasionally pick up the
7197	  former (e.g., colorBD) rather than ANSI colors.  Testing the
7198	  colorAttrMode made this apparent, though it has been in the
7199	  code since 3.2A (patch #35 in Jan 1997).
7200
7201	<LI>correct two problems with the optional logging support.  On Linux
7202	  at least, the waitpid call in creat_as hangs when the logging is
7203	  toggled from the popup menu.  Also, the mktemp template has the wrong
7204	  number of X's (since X11R5!).  Fixed the waitpid problem by
7205	  exploiting the fact that the setuid behavior is reset before the
7206	  popup menus are available.
7207	  (reported by Jayachandran C.).
7208
7209	<LI>add configure script options for building with the Xaw3d and neXtaw
7210	  libraries.
7211
7212	<LI>correct CF_IMAKE_CFLAGS standalone configure script macro, so that it
7213	  will pick up $(ALLDEFINES) rather than $(STD_DEFINES).  This is
7214	  needed to make scrollbars work on Linux, since that uses narrow
7215	  prototypes.
7216	  (reported by Bob Maynard).
7217
7218	<LI>various minor updates to configure-script macros.
7219</UL>
7220
7221<H1><A NAME="xterm_51">Patch #51 - 1997/9/15 - XFree86 3.9p</A></H1>
7222
7223Most of this patch is related to the standalone configure script, though
7224there are fixes/enhancements as well:
7225<UL>
7226	<LI>add a new resource sunKeyboard, with associated command-line
7227	  option and menu-toggle that allows using a normal Sun or PC
7228	  keyboard to generated the complete DEC-style function keys
7229	  and keypad.
7230
7231	<LI>correct a reversed foreground/background test in the control
7232	  sequence that replies with the current SGR settings.
7233
7234	<LI>correct, by invoking XSync, a display problem that caused the
7235	  program to not properly update newly exposed areas when a font
7236	  change or 80/132 resize request was not completely accepted.
7237
7238	<LI>restructured autoconf macros (I made a library of all of the
7239	  macros across the complicated configure scripts I'm working on).
7240
7241	<LI>use the autoconf config.guess and config.sub scripts to better
7242	  identify the host-os.
7243
7244	<LI>improve the configure script that uses 'imake' as a fallback for
7245	  definitions.
7246
7247	<LI>correct several instances of unsigned/signed mixed expressions.
7248</UL>
7249
7250I've tested the configure script on Linux, SunOS 4.1.3, Solaris 2.5.1,
7251IRIX 5.2 and 6.2, AIX 3.2.5 and CLIX 3.1 (all but the last run properly
7252as well).
7253
7254<H1><A NAME="xterm_50">Patch #50 - 1997/8/22 - XFree86 3.9m</A></H1>
7255
7256This is a collection of small fixes, and a couple of minor enhancements:
7257<UL>
7258	<LI>plug a security hole in the implementation of Media Copy (print)
7259	  by invoking setuid just before the main loop.
7260
7261	<LI>add an ifdef'd include for &lt;sys/termio.h&gt; for HP-UX, which allows
7262	  the program to process SIGWINCH events (this is a bug in X11R6.3)
7263
7264	<LI>add state-table entries for VT52 emulation to enter/exit keypad
7265	  application mode.
7266
7267	<LI>disable the popup-menu entry for 8-bit controls when the terminal-id
7268	  is less than 200 (e.g., VT52 or VT100).
7269
7270	<LI>ensure that the popup-menu entry for 8-bit controls is updated when
7271	  the application enables/disables this mode, including the response
7272	  to a full-reset.
7273
7274	<LI>implement VT300 DECBKM feature: set interpretation of the backarrow
7275	  key to either backspace or delete.  The initial setting is via
7276	  resource; it can also be modified in the main popup menu.
7277
7278	<LI>implement VTxxx KAM (ISO AM), which allows a keyboard to be locked
7279	  (i.e., the terminal discards input).
7280
7281	<LI>implement VTxxx SRM, which is used to control local echoing of
7282	  input on the terminal.
7283
7284	<LI>add terminfo and termcap entries for xterm-8bit, a variation of
7285	  the xterm description that uses 8-bit control characters.
7286
7287	<LI>add fallback definitions for Imakefile to allow it to work on some
7288	  X11R5 systems that have no SpecialCObjectRule or ProgramTargetName
7289	  macros.
7290
7291	<LI>add .c.o and .c.i rules to standalone Makefile.in
7292
7293	<LI>correct order of -lXmu and -lXext in standalone configure script.
7294
7295	<LI>add configure script options to allow selective disabling of
7296	  active-icon, input-method and i18n code (mainly for users with X11R5
7297	  or an incomplete X11R6 configuration).
7298
7299	<LI>change menu-indices from #define's to enum values, thereby making
7300	  it work better with the ifdef's for logging and active-icon (the
7301	  X11R6.3 active-icon code is incorrectly ifdef'd; this corrects an
7302	  error introduced by incorporating that code).
7303
7304	<LI>correct minor compile errors in the configuration where active-icon
7305	  is not used.
7306
7307	<LI>add configure option to suppress echoing of long compiler commands
7308
7309	<LI>correct spelling of decTerminalID in configure script help message
7310
7311	<LI>use gcc __attribute__((unused)) to quiet warnings about unused
7312	  parameters when compiling with -W (to make it simpler to find the
7313	  real problems).
7314</UL>
7315
7316<H1><A NAME="xterm_49">Patch #49 - 1997/8/10 - XFree86 3.9k</A></H1>
7317
7318This patch implements the VT100/VT220 Media Copy (i.e., print-screen) control
7319sequences.
7320
7321<H1><A NAME="xterm_48">Patch #48 - 1997/7/26 - XFree86 3.9j</A></H1>
7322
7323This patch does the following (all but the first affect only the standalone
7324configure script):
7325<UL>
7326	<LI>minor correction to positioning of underlines for small (e.g., 5x8)
7327	  font size.
7328	<P>
7329	  The existing behavior allowed underlines to be drawn outside the
7330	  character-cell, so they weren't cleared properly under some
7331	  circumstances.
7332
7333	<LI>adds more special-case tokens to the standalone configure script's
7334	  imake-option filter (e.g., "&amp;&amp;", since a "make -n main.o" on my IRIX
7335	  system uses that shell construct).
7336
7337	<LI>adds a '--enable-logging' option for the standalone configure script.
7338
7339	<LI>adds check and ifdef's for the standalone configure script to allow
7340	  for building on platforms with X11R6, which lacks Xpoll.h (introduced
7341	  in X11R6.1).
7342</UL>
7343
7344<H1><A NAME="xterm_47">Patch #47 - 1997/7/13 - XFree86 3.9i</A></H1>
7345
7346This patch does the following
7347<UL>
7348	<LI>corrects an indexing error in the doublesize character logic
7349	  (button.c) that caused core dump (this was reported by J.  Wunsch).
7350	<LI>corrects the logic of ShowCursor when it is painting in a doublesize
7351	  cell (charproc.c).
7352	<LI>corrects, according to vttest, the behavior when switching to
7353	  doublesize characters and back again (doublechr.c).
7354	<LI>adds cbt (back_tab) to the terminfo description (this was something
7355	  that I'd overlooked as applicable to curses optimization last
7356	  summer).
7357	<LI>corrects, for the standalone xmc test, the logic for disabling xmc.
7358</UL>
7359
7360<H1><A NAME="xterm_46">Patch #46 - 1997/7/4 - XFree86 3.9h</A></H1>
7361
7362This is a patch to provide test-support for some work I'm doing on ncurses.  It
7363does not modify the normal configuration of xterm; the code is compiled if the
7364standalone configure option "--enable-xmc-glitch" is specified.
7365
7366<H1><A NAME="xterm_45">Patch #45 - 1997/7/2 - XFree86 3.9h</A></H1>
7367
7368This fixes the problem reported with xterm's cursor color versus the background
7369(the second chunk in this patch) and also removes some duplicate initialization
7370of the cursor GC's.  If the cursor color at startup is the same as the
7371background, then xterm will use the reverse GC, ignoring the setting of the
7372colorMode resource.
7373
7374<H1><A NAME="xterm_44">Patch #44 - 1997/6/22 - XFree86 3.9g</A></H1>
7375
7376This implements the first part of the VT100 doublesize characters for xterm,
7377as well as fixing a handful of bugs:
7378<UL>
7379	<LI>the doublesize character support uses the normal font (using scaled
7380	  fonts will be another patch) with blanks to simulate doublesize
7381	  characters.  This patch does most of the global changes that'll be
7382	  required.  I've hidden most of the details in macros and ifdef's so
7383	  it's easy to configure out (part of the patch is a configure option
7384	  for that purpose).
7385
7386	<LI>corrected limits in DeleteChar() function -- it's always ignored the
7387	  size of the left border and scrollbar.  I noticed this when working
7388	  on the doublesize characters since the glitch was doubled in size
7389	  (i.e., it wrapped some garbage around the right margin).
7390
7391	<LI>corrected 'memmove()' logic, for standalone builds (it referenced a
7392	  malloc wrapper from my development library).
7393
7394	<LI>add a check for HideCursor() to prevent repeated screen updates
7395	  (which can cause a spurious cursor glitch to appear, e.g., during
7396	  scrolling).  I noticed this with the 3.2A version (but only a few
7397	  weeks ago, when I started working on this patch).
7398</UL>
7399
7400<H1><A NAME="xterm_43">Patch #43 - 1997/6/10 - XFree86 3.9d</A></H1>
7401
7402Here's a fix for two problems:
7403<UL>
7404	<LI>modify handling of tgetent results in xterm and resize programs to
7405	  make them tolerant of missing termcap file, or unknown terminal name.
7406	  In this scheme, an explicit "-tn" option will succeed, overriding
7407	  the fallback list.
7408
7409	<LI>a nit in the configure script (log extra information to help diagnose
7410	  which case of the test-compile of tgetent was used).
7411</UL>
7412
7413<H1><A NAME="xterm_42">Patch #42 - 1997/6/8 - XFree86 3.2Xl</A></H1>
7414
7415Bram Moolenaar reported that the cursor color changed unexpectedly while
7416scrolling.  The cause was that it used the same GC's as the logic that draws
7417the ANSI colors.  The bug only appears if the cursorColor resource isn't set,
7418and has been present since the initial implementation early last year.  (The
7419same bug also appears in rxvt ;-).  Here's a fix.
7420
7421<H1><A NAME="xterm_41">Patch #41 - 1997/5/28 - XFree86 3.2Xl</A></H1>
7422
7423Some nits found by Darren Hiebert (missing part of install-rule, incorrect
7424assignment for --enable-color-mode option).
7425
7426<H1><A NAME="xterm_40">Patch #40 - 1997/5/26 - XFree86 3.2Xl</A></H1>
7427
7428Patch for the configure script's logic for obtaining imake predefined
7429symbols.
7430
7431<H1><A NAME="xterm_39">Patch #39 - 1997/5/24 - XFree86 3.2Xl</A></H1>
7432
7433This patch does the following:
7434<UL>
7435	<LI>integrate the 16-color change for 'xterm'
7436
7437	<LI>minor fixes/clarification of tgetent in terminfo vs termcap to
7438	  'resize'
7439</UL>
7440
7441(both changes also modify the configure script)
7442
7443<H1><A NAME="xterm_38">Patch #38 - 1997/5/22 - XFree86 3.2Xh</A></H1>
7444
7445This implements a simple configuration script with autoconf (to which I'll
7446add more options later).  It does the following:
7447<UL>
7448	<LI>configures xterm to build with X11R5 (at least on SunOS 4.1, Solaris
7449	  2.4, possibly IRIX - sorry network was down today, but I did test
7450	  an earlier version yesterday).
7451
7452	<LI>enables/disables the configuration ifdef's for ANSI color and VT52
7453	  emulation.
7454</UL>
7455It does not make tests for the things that imake does (that's another project),
7456instead it uses a hybrid of the autoconf tests for libraries and adds imake's
7457compiler options (which are necessary in some cases to get main.c to compile).
7458
7459<H1><A NAME="xterm_37">Patch #37 - 1997/5/7 - XFree86 3.9a</A></H1>
7460
7461This corrects a minor, but annoying error in the vt220 emulation: the DECUDK
7462is only supposed to be interpreted for _shifted_ function keys.
7463
7464<H1><A NAME="xterm_36">Patch #36 - 1997/1/16 - XFree86 3.2r</A></H1>
7465
7466This corrects something that I overlooked in patch #27 (21-aug-1996), which is
7467that when trimming the region to be repainted for the highlightSelection
7468resource of xterm, I still have to paint the background past the highlighted
7469region.  This only happens when I first do a selection in a window that's
7470partly off-screen, then move the window on-screen.
7471
7472<H1><A NAME="xterm_35">Patch #35 - 1997/1/7 - XFree86 3.2o</A></H1>
7473
7474This patch does the following:
7475<UL>
7476	<LI>combines the coding for foreground and background colors into a
7477	  single byte, reducing the memory required to store saved-lines in
7478	  color.  (I'll take back that byte in a following patch to use to
7479	  ensure the character-set, so there's no long-term decrease in memory
7480	  use).
7481
7482	<LI>modifies the PF1-PF4 coding in termcap/terminfo.  Because xterm is
7483	  still by default emulating vt100, the function key codes are
7484	  vt100-compatible (I overlooked this in patch #31).
7485
7486	  I also reformatted the whole terminfo file into a single-column,
7487	  for consistency.
7488
7489	<LI>adds an interim xterm-vt220 description to accommodate the old and new
7490	  styles of function-keys (though probably it'd be better to drop the
7491	  old-style altogether).
7492</UL>
7493
7494<H1><A NAME="xterm_34">Patch #34 - 1997/1/5 - XFree86 3.2o</A></H1>
7495
7496This patch does the following:
7497<UL>
7498	<LI>implement DECSTR (soft terminal reset).  The biggest diff is due to
7499	  adding another state table (note that there's only one useful state
7500	  here, but it's only 256 bytes rather than 1k as it would have been
7501	  before I reduced the size of state entries).
7502
7503	<LI>some minor tidying up (e.g., signed/unsigned use bitcpy, MODE_DECCKM,
7504	  resetColor, resetCharsets).  More is done in patch #35.
7505</UL>
7506
7507I got the description of DECSTR from a vt420 user's manual.  I'll do some
7508testing with vttest to ensure that there's nothing else to do than what was
7509documented.
7510
7511<H1><A NAME="xterm_33">Patch #33 - 1996/11/24 - XFree86 3.2</A></H1>
7512
7513This adds to the reset-fix by Matthieu Herrb &lt;Mathieu.Herrb@mipnet.fr&gt; a
7514small change to make xterm able to output 8-bit characters in VT100 mode.
7515
7516Applications that run on real VT100's don't do that anyway, and this feature
7517should be removed sometime after finishing off the VT220 emulation (VT220's can
7518do 8-bit characters).  That would be a good time to change the default
7519terminal-id to 220.
7520
7521<H1><A NAME="xterm_32">Patch #32 - 1996/11/21 - XFree86 3.2</A></H1>
7522
7523This implements the REP (repeat) control for xterm.  That isn't part of the DEC
7524VTxxx series, but is defined in ISO 6429.  (Note that the base xterm terminal
7525description is <EM>not</EM> changed -- I added a variant, "xterm-rep").
7526
7527<H1><A NAME="xterm_31">Patch #31 - 1996/11/16 - XFree86 3.2</A></H1>
7528
7529This implements vt52 emulation in xterm (ifdef'd so it can be removed).
7530I've been using it for testing for the past month or so.
7531
7532<H1><A NAME="xterm_30">Patch #30 - 1996/11/16 - XFree86 3.2</A></H1>
7533
7534From bug-report by &lt;auroux@clipper.ens.fr&gt; (Denis Auroux), missing reset to
7535ground state.  I checked through the rest of <EM>that</EM> table and found another,
7536in the unimplemented MC (screen print).
7537
7538<H1><A NAME="xterm_29">Patch #29 - 1996/9/15 - XFree86 3.1.2Gb</A></H1>
7539
7540This patch does the following:
7541<UL>
7542	<LI>corrects the restoration of color for bold/underline color mode
7543
7544	<LI>adds a resource 'decTerminalID' to control the reporting level of
7545	  xterm (e.g., VT100, VT220).
7546
7547	<LI>uses the new resource to implement/correct the DA1, DA2 and
7548	  DECRPTUI reports.
7549
7550	<LI>change valid-response code in DECRQSS from 0 to 1 (the manual says 0,
7551	  but the VT420 terminal I've been testing on says 1).
7552</UL>
7553
7554All of these changes are based on vttest 2.6
7555<P>
7556(Most of the volume in the patch is to add 2 more state tables for parsing
7557the 2nd/3rd device-attribute controls).
7558
7559<H1><A NAME="xterm_28">Patch #28 - 1996/8/31 - XFree86 3.1.2F</A></H1>
7560
7561This patch corrects the following reported by Roland Rosenfeld
7562&lt;roland@spinnaker.rhein.de&gt;:
7563<UL>
7564	<LI>handle SGR 22, 24 and 25 in combination with colorUL and colorBD
7565	  resources.  Also noted &amp; fixed reset of colored underline/bold
7566	  with SGR 0.
7567
7568	<LI>a typo in the termcap (missing '['), from 3.1.2Dj (my error)
7569</UL>
7570
7571Roland also complained that he couldn't use box characters with
7572<PRE>
7573	-adobe-courier-bold-r-normal--12-120-75-75-m-70-iso8859-1
7574</PRE>
7575but that's a known xterm limitation (the box characters must be part of the
7576font, in the first 32 locations).
7577
7578<H1><A NAME="xterm_27">Patch #27 - 1996/8/21 - XFree86 3.1.2Ek</A></H1>
7579
7580This patch fixes one of my long-term gripes:  xterm's selection doesn't clearly
7581show what's being selected (as per David's request, it's controlled by a
7582resource, which defaults to the older behavior).
7583
7584<H1><A NAME="xterm_26">Patch #26 - 1996/8/20 - XFree86 3.1.2Ei</A></H1>
7585
7586Here's a patch to fix a problem with xterm's cut/paste and another to modify
7587the appearance of the highlighting while selecting.  (The changes are
7588independent, so you can see if the change to screen.c is desirable).
7589
7590<H1><A NAME="xterm_25">Patch #25 - 1996/8/18 - XFree86 3.1.2Ei</A></H1>
7591
7592Here's a correction for two minor bugs that I picked up in testing, plus
7593some lint (from Solaris 2.5) where NULL was used incorrectly:
7594<UL>
7595	<LI>make the second alternate font the same as the first (that's what
7596	  vt420 and dtterm do)
7597
7598	<LI>corrected DECSCL report when DECSCL hasn't been set (i.e., don't
7599	  return a '60').
7600</UL>
7601
7602<H1><A NAME="xterm_24">Patch #24 - 1996/8/11 - XFree86 3.1.2Ee</A></H1>
7603
7604This patch does several things.  In effect, xterm can (I think) do a reasonably
7605good job of emulating vt220 and vt320 terminals (as well as it was doing
7606vt100, at any rate ;-).
7607<P>
7608It does NOT do:
7609<UL>
7610	<LI>soft fonts
7611
7612	<LI>rigel or sixel graphics
7613</UL>
7614<P>
7615Anyway, I:
7616<UL>
7617
7618	<LI>added ECH, CPL, CNL, SU, SD, CBT, CHT controls
7619
7620	<LI>added popup-menu for switching between DEC and Sun function keys.
7621	  (corrected alignment err wrt logging entry at that point).
7622
7623	<LI>make xterm recognize both 8-bit and 7-bit controls (including
7624	  popup menu for switching modes).
7625
7626	<LI>add user-definable function keys (aka DECUDK)
7627
7628	<LI>support concealed text
7629
7630	<LI>support protected text (both ISO compatible and DEC compatible -
7631	  that's not the same thing, btw), with SPA, EPA, DECSCA, DECSED,
7632	  DECSEL controls.
7633
7634	<LI>implement DECSCL.
7635</UL>
7636<P>
7637I'll be continuing to test this patch for a while, but don't expect to add any
7638new functionality (it passes all of the current tests I've built in vttest, but
7639I need to make more tests)..
7640
7641<H1><A NAME="xterm_23">Patch #23 - 1996/7/31 - XFree86 3.1.2Ec</A></H1>
7642
7643This removes the blinking cursor I added last week (for performance reasons).
7644Time-permitting, I'll revisit this after 3.2 is released (there <EM>will</EM> be more
7645work after XFree86 3.2, I assume).
7646
7647<H1><A NAME="xterm_22">Patch #22 - 1996/7/26 - XFree86 3.1.2Ec</A></H1>
7648
7649I looked more closely at my "double-negative" and realized that I had been
7650confused by the default color scheme (black on white) in combination with
7651reverse video.  However, I did see that the original_fg and original_bg data
7652weren't really used - so I removed that logic.
7653<P>
7654Also:
7655<UL>
7656	<LI>during initialization, check if ANSI colors are set with non fg/bg
7657	  values, disable color mode if not.  This makes xterm tolerant of
7658	  applications that allocate the whole color map.
7659
7660	<LI>implemented blinking cursor (default is <EM>off</EM>)
7661</UL>
7662
7663<H1><A NAME="xterm_21">Patch #21 - 1996/7/24 - XFree86 3.1.2Ec</A></H1>
7664
7665This patch does the following:
7666<UL>
7667	<LI>fixes some minor typography in the control-sequences documentation
7668	  (it didn't occur to me til I'd sent the last patch that I could use
7669	  ghostview for previewing the troff output ;-)
7670
7671	<LI>adjusts the shell's background color in ReverseVideo so that flicker
7672	  in resizing is reduced
7673
7674	<LI>adds an ifdef OPT_ISO_COLORS to allow configuring xterm without
7675	  the ISO color support (saves a lot of memory)
7676
7677	<LI>used that ifdef to isolate/modify logic so that if the user doesn't
7678	  have the colorMode enabled, then ISO color support is disabled (saving
7679	  memory).
7680	<P>
7681	  (If anyone needs numbers, I had savedLines set to 2000, and found
7682	  a reduction from ~700k to ~400k of allocated memory, according to
7683	  Purify).
7684</UL>
7685
7686<H1><A NAME="xterm_20">Patch #20 - 1996/7/24 - XFree86 3.1.2Ec</A></H1>
7687
7688This documents the changes in control sequences for window operations that
7689I added in my previous patch.  I'm testing another patch that allows the
7690user to use less memory if colors aren't needed.
7691
7692<H1><A NAME="xterm_19">Patch #19 - 1996/7/21 - XFree86 3.1.2Ec</A></H1>
7693
7694This patch does the following:
7695<UL>
7696	<LI>fixes the core dump that I reported on IRIX 5.2 (in main.c)
7697	<P>
7698	  (it's worth noting that this bug exists in X11R6.1, so I'd like
7699	  to assume that someone's already submitted a fix to X Consortium...)
7700
7701	<LI>change the interpretation of zero rows or columns in a resize-window
7702	  request to use the root window's size (looking more carefully at
7703	  dtterm, that seems to be what it does).
7704
7705	<LI>change some memmove calls to memcpy for slightly better performance.
7706	  (also, a couple of memset calls to bzero - Quantify says bzero runs
7707	  20% faster, I assume because there's one less argument).
7708
7709	<LI>interpret character sets 1 and 2 (so that vttest gives a reasonable
7710	  result) Both rxvt and dtterm do something equivalent.
7711
7712	<LI>fix a minor memory leak in the logic that retrieves the window or
7713	  icon names (Purify found this for me while I ran vttest).
7714</UL>
7715
7716<H1><A NAME="xterm_18">Patch #18 - 1996/7/18 - XFree86 3.1.2Ec</A></H1>
7717
7718This implements the following:
7719<UL>
7720	<LI>escape sequences that act like the CDE dtterm's window operations
7721	  (though I have implemented the default width and height -- I've seen
7722	  a rather buggy dtterm running that seems to treat width=0 or height=0
7723	  literally -- maybe that's a feature, not a bug?)
7724
7725	<LI>minor tweak to the screen-repainting when resizing (I still cannot
7726	  entirely get rid of flicker).
7727
7728	<LI>still more fixes to terminfo &amp; termcap (I corrected my error for
7729	  the hpa code and added some other stuff by comparing to ncurses'
7730	  description and rxvt's).
7731
7732	<LI>a tweak to the patch by Michael Rohleder for the color translation
7733
7734	<LI>re-order attribute codes to allow later implementation of protected
7735	  fields (dtterm supposedly does this; it's probably more useful than
7736	  blinking or invisible text -- that uses up all of the available bits
7737	  without changing the attribute scheme radically).
7738</UL>
7739
7740<H1><A NAME="xterm_17">Patch #17 - 1996/7/2 - XFree86 3.1.2Eb</A></H1>
7741
7742This patch implements for xterm several minor features from ISO 6429 which are
7743useful for terminfo applications.  The HPA and VPA control sequences allow
7744cursor movement along a row or column, cutting down a little on the characters
7745transmitted.  The other codes allow resetting specific graphic rendition
7746attributes without modifying the other attributes.
7747
7748(now if someone just had time to implement blinking cursors...)
7749
7750<H1><A NAME="xterm_16">Patch #16 - 1996/6/25 - XFree86 3.1.2Ea</A></H1>
7751
7752Adam Tla/lka &lt;atlka@pg.gda.pl&gt; told me a couple of weeks ago that I'd missed
7753some of the background coloring in xterm.  I investigated, and found that while
7754I'd picked up on the clear-to-bottom and clear-to-end-of-line operations, I'd
7755overlooked the insert/delete lines.  Just so I wouldn't overlook any more of
7756these, I updated a copy of vttest to test ISO colors and bce (background color
7757erase).  This patch introduces a new function, ClearCurBackground, whose calls
7758replace the direct XClearArea calls that I'd overlooked.
7759
7760(There's also a few compiler warnings fixed, etc ;-)
7761
7762<H1><A NAME="xterm_15">Patch #15 - 1996/5/29 - XFree86 3.1.2E</A></H1>
7763
7764This fixes the problem reported by David Dawes, by making the 50msec select
7765timeout for the Xaw3d arrow scrollbar a resource.  (I made it a boolean for a
7766variety of reasons -- to make it a number, you'd need an additional resource,
7767to avoid breaking the logic).
7768
7769<H1><A NAME="xterm_14">Patch #14 - 1996/5/12 - XFree86 3.1.2Dj</A></H1>
7770
7771This patch brings the termcap and terminfo descriptions for xterm up to date.
7772I made the following changes:
7773<UL>
7774	<LI>reformatted the terminfo description in a single-column (this is ok
7775	  for terminfo, and will simplify future patches -- can't do that for
7776	  termcap, since it would impact buffer requirements on some systems).
7777
7778	<LI>omitted obsolete features in termcap to save a little space (bs, pt)
7779
7780	<LI>added color capabilities to termcap (ut, Co, NC, op, AB, AF)
7781
7782	<LI>corrected some capabilities (vi, ve)
7783
7784	<LI>added 'st' (set tab)
7785
7786	<LI>reduced function keys in termcap for 'xterm' to 12 because color
7787	  capabilities makes that description larger than 1023 characters.
7788
7789	<LI>created new termcap name 'xtermm' (monochrome) to match the terminfo
7790	  list, and make that description have 20 function keys.
7791
7792	<LI>added corresponding color capabilities to terminfo (bce, colors,
7793	  pairs, op, ncv, setab, setaf)
7794
7795	<LI>corrected corresponding capabilities in terminfo (civis, cnorm,
7796	  rmcup, smcup)
7797
7798	<LI>added capabilities (el1, hts)
7799
7800	<LI>in both, corrected home/end keys to match the code correction made
7801	  by Thomas Mueller in 3.1.2Bk
7802
7803	  <P>=&gt; (I'm still considering modifying the code &amp; description to match
7804	      the rxvt program).
7805</UL>
7806
7807<H1><A NAME="xterm_13">Patch #13 - 1996/4/23 - XFree86 3.1.2Df</A></H1>
7808
7809This corrects my earlier changes for colors - the inner border of the xterm was
7810getting painted with the wrong color, since I'd moved the call to set the
7811background into the logic that tracks SGR information.
7812
7813<H1><A NAME="xterm_12">Patch #12 - 1996/3/16 - XFree86 3.1.2Dc</A></H1>
7814
7815This corrects a memory leak in xterm that happens whenever one switches fonts.
7816
7817<H1><A NAME="xterm_11">Patch #11 - 1996/3/5 - XFree86 3.1.2Db</A></H1>
7818
7819This patch corrects the behavior of the ANSI colors in xterm when reverse
7820video is used, as well as some other lesser sins:
7821<UL>
7822	<LI>button.c
7823<UL>
7824		<LI>(compiler warnings: shadowing of 'time', redundant cast)
7825</UL>
7826
7827	<LI>charproc.c
7828<UL>
7829		<LI>renamed screen.colors[] array to screen.Acolors[] to more
7830		easily distinguish the non-ANSI colors from the ANSI colors.
7831
7832		<LI>moved logic of SGR_Save() into VTInitialize, getting rid of
7833		local private variables original_fg and original_bg.
7834
7835		<LI>moved some logic into getXtermForeground and getXtermBackground
7836		from SGR_Foreground, SGR_Background, etc.
7837
7838		<LI>corrected misleading 'row' to 'col' in case for CUF, CUB
7839		sequences.
7840</UL>
7841
7842	<LI>ctlseqs.ms
7843	<LI>xterm.man
7844<UL>
7845		<LI>(correct a misconception which I'd added that the color0
7846		through color6 resource values apply to non-ANSI colors)
7847</UL>
7848
7849	<LI>ptyx.h
7850<UL>
7851		<LI>added original_fg, original_bg to TScreen structure.
7852</UL>
7853
7854	<LI>scrollbar.c
7855<UL>
7856		<LI>(compiler warnings: redundant cast)
7857</UL>
7858
7859	<LI>util.c
7860<UL>
7861		<LI>new functions getXtermForeground and getXtermBackground replace
7862		the macros GET_FG and GET_BG, with the added functionality of
7863		checking for the reverse-video status of xterm.
7864
7865		<LI>in ReverseVideo, swap the SGR foreground and background colors
7866		also.
7867</UL>
7868</UL>
7869
7870<H1><A NAME="xterm_10">Patch #10 - 1996/2/14 - XFree86 3.1.2Cd</A></H1>
7871
7872I observed an occasional glitch in the xterm's color behavior; a clear to end
7873of line would get a color that had been used in a program that supposedly reset
7874colors.  I traced this down to the way xterm was modifying colors of GC's on
7875the fly; it didn't restore the original color of the GC, even though it would
7876later be used in functions (such as ClearRight) that assumed (my error) that
7877the GC would have the current foreground or background color.
7878<P>
7879I fixed this by resetting the GC's colors with a new function 'resetXtermGC()',
7880and direct calls on SGR_Foreground/SGR_Background, as appropriate and using a
7881new function 'updatedXtermGC()' to encapsulate the logic that modifies the GC's
7882color.  (I also removed some commented-out code that was trying to do this --
7883the problem was a little more obscure).
7884
7885<H1><A NAME="xterm_09">Patch #9 - 1996/2/10 - XFree86 3.1.2Cb</A></H1>
7886
7887This patch fixes the remaining problems that I had making xterm run with x11r5,
7888as well as a couple of other bugs.  It follows my patch from yesterday, that
7889added ifdef's for some of the input-method resources.
7890<UL>
7891	<LI>corrected ifdef's that suppress the input-method code (doesn't
7892	  exist in my x11r5, and xterm works adequately without it).
7893
7894	<LI>corrected fallback definition for 'Select()' macro (oops: I'd
7895	  copied the wrong text...)
7896
7897	<LI>moved the declarations for the fd_set variables to data.[ch]
7898
7899	<LI>corrected an ifdef in resize.c (sunos 4.x doesn't have termcap.h)
7900
7901	<LI>corrected (in main.c) some unused/orphaned variables.
7902</UL>
7903
7904<H1><A NAME="xterm_08">Patch #8 - 1996/2/9 - XFree86 3.1.2Cb</A></H1>
7905
7906This is mostly a documentation patch for xterm.  It describes the color control
7907sequences in more detail, and documents some other features of xterm that
7908aren't described elsewhere.
7909<P>
7910I've also added a couple of ifdef's to fix (part of) the problem that I'm
7911working on (making the program work properly on x11r5, where I'm doing memory
7912testing -- I have a "good" version from mid-January, but my resync version
7913doesn't work properly on x11r5).  I'm not done with <EM>that</EM> yet.
7914
7915<H1><A NAME="xterm_07">Patch #7 - 1996/1/28 - XFree86 3.1.2n</A></H1>
7916
7917I did a (clean) build of 3.1.2n on Linux 1.2.13 (ELF).  I've got an S3 card.
7918<P>
7919This fixes the following in the 3.1.2n xterm:
7920<UL>
7921	<LI>initialize cur_foreground, cur_background in charproc.c (Purify
7922	  told me they weren't initialized).
7923
7924	<LI>add interpretation of codes 39, 49, to reset background and
7925	  foreground to default value (I'm told that ISO 6429 does this; but I
7926	  don't have a written reference -- yet -- can anyone help here?).
7927	  Anyway, rxvt does it, and it'll solve my remaining color management
7928	  problems.
7929
7930	<LI>shadowing of 'time' in menu.c
7931
7932	<LI>'Cardinal' vs 'int' in scrollbar.c
7933
7934	<LI>several changes to permit compile with X11R5 (the system that I've
7935	  got Purify on won't be upgraded to X11R6 for a long time).
7936</UL>
7937<P>
7938I built this version (with a minor nit that I'll patch soon) on SunOS 4.1.3 so
7939that I can test it some more with Purify.
7940<P>
7941<EM>btw</EM>:
7942the changes made in Xpoll.h won't work on some older systems, because
7943	fd_set isn't a defined type (I've got one machine at least that this
7944	applies to).
7945
7946<H1><A NAME="xterm_06">Patch #6 - 1996/1/8</A></H1>
7947
7948This patch does all of the SGR foreground/background fixes (i.e., clearing the
7949screen after an SGR color is set causes that color to be used in the foreground
7950and/or background).  If the FG_COLOR and/or BG_COLOR flags aren't set, then the
7951xterm foreground and background default to the window's values.  This usage is
7952consistent with various types of hardware (especially the IBM PC), and is also
7953used in rxvt.
7954<UL>
7955	<LI>charproc.c:
7956<UL>
7957		<LI>add/use new macros GET_FG, GET_BG - n/c.
7958
7959		<LI>add/use new functions SGR_Foreground() and SGR_Background()
7960		  to set corresponding colors in GC's, and to retain sense of
7961		  "original" colors.
7962
7963		  <P>
7964		  =&gt; This makes redundant some of the corresponding logic
7965		     in HideCursor to set the foreground and background,
7966		     but I left it in since it <EM>may</EM> be fixing an unrelated
7967		     requirement.
7968
7969		<LI>set GC's in LoadNewFont() according to whether the SGR fg/bg
7970		  colors are active.
7971
7972		  <P>
7973		  =&gt; This fixes some glitches in the accompanying resize,
7974		     that leaves parts of the window in the original
7975		     background color.
7976</UL>
7977
7978	<LI>screen.c:
7979<UL>
7980		<LI>modified ClearBufRows() to use the SGR fg/bg colors if
7981		  they're set.
7982
7983		<LI>added function ScrnClearLines(), used this to replace
7984		  portions of ScrnInsertLine() and ScrnDeleteLine().
7985		  The new function uses the SGR fg/bg colors if they're
7986		  set.
7987
7988		  <P>
7989		  =&gt; Otherwise, selection after an index or reverse index will
7990		     paint the wrong colors.
7991
7992		<LI>modified ScrnDeleteChar() and ScrnInsertChar()
7993		  to use SGR fg/bg colors.
7994</UL>
7995
7996	<LI>util.c:
7997<UL>
7998		<LI>modified ClearRight() so that if either of the SGR fg/bg
7999		  colors is set, we don't bzero the attributes and color
8000		  arrays, but instead fill them with the appropriate codes.
8001
8002		<LI>modified ClearLeft to use SGR fg/bg colors.
8003</UL>
8004</UL>
8005
8006<H1><A NAME="xterm_05">Patch #5 - 1996/1/7</A></H1>
8007
8008This patch modifies the object code, by replacing indexing expressions with
8009temporary variables with the full indexing expression.  At first glance, this
8010seems inefficient (it did to me ;-), until remembering comments made in the
8011compilers newsgroups that trying to "help" the compiler doesn't really work
8012that well.  A good optimizing compiler can do a better job than the programmer
8013can.  (There's a moral in the use of 'register' variables also, but I won't fix
8014those...).
8015<P>
8016Anyway, the revised code generates a smaller object...
8017<UL>
8018<LI>charproc.c:
8019<UL>
8020<LI>recode index expressions in ShowCursor() and HideCursor()
8021		  using SCRN_BUF_xxxxS macros - changes object.
8022
8023<LI>replace constant '4' by MAX_PTRS - n/c.
8024</UL>
8025
8026<LI>ptyx.h:
8027<UL>
8028<LI>defined the SCRN_BUF_xxxxS macros in terms of BUF_xxxxS
8029		  macros, to pick up references to ScrnBuf data directly, and
8030		  added MAX_PTRS symbol to pick up those '4' constants strewn
8031		  about the code - n/c.
8032</UL>
8033
8034<LI>screen.c:
8035<UL>
8036<LI>recode index expressions in ScreenWrite() using
8037		  SCRN_BUF_xxxxS macros - changes object.
8038
8039<LI>replace constant '4' by MAX_PTRS - n/c.
8040
8041<LI>use macros BUF_CHARS, BUF_ATTRS - n/c.
8042
8043<LI>cast calloc to 'Char *' to fix compiler warning on IRIX - n/c
8044</UL>
8045
8046<LI>scrollbar.c:
8047<UL>
8048<LI>replace constant '4' by MAX_PTRS - n/c.
8049
8050<LI>cast calloc to 'Char *' to fix compiler warning on IRIX - n/c
8051</UL>
8052</UL>
8053
8054<H1><A NAME="xterm_04">Patch #4 - 1996/1/7</A></H1>
8055When setting up for this phase, I saw that you'd corrected the bug that I found
8056in ClearLeft.  I decided to make this series of patches anyway, since
8057readability never hurt (and there's the potential for finding another bug while
8058reviewing this set).
8059<UL>
8060<LI>button.c:
8061<UL>
8062<LI>use SCRN_BUF_xxxxS macros - n/c
8063</UL>
8064<LI>charproc.c:
8065<UL>
8066<LI>use SCRN_BUF_xxxxS macros - n/c
8067</UL>
8068<LI>ptyx.h:
8069<UL>
8070<LI>added four macros: SCRN_BUF_CHARS, SCRN_BUF_ATTRS,
8071		  SCRN_BUF_FORES, SCRN_BUF_BACKS to represent the four
8072		  arrays that are derived from screen-&gt;buf.
8073</UL>
8074<LI>screen.c:
8075<UL>
8076<LI>use SCRN_BUF_xxxxS macros - n/c
8077</UL>
8078<LI>util.c:
8079<UL>
8080<LI>use SCRN_BUF_xxxxS macros - n/c
8081</UL>
8082</UL>
8083<H1><A NAME="xterm_03">Patch #3 - 1996/1/7</A></H1>
8084
8085This is my third (and final cleanup) patch for xterm.  It gets rid of the
8086unused stuff, and converts several functions to static (thereby reducing their
8087scope).
8088<P>
8089At this point, the only compile warnings I've got (on Linux) are those about
8090the select arguments (int vs fd_set type), and a missing declaration for
8091waitpid.  Those both are hard to get right without autoconfigure.
8092<P>
8093The next patches will address the functional changes...
8094<UL>
8095<LI>Tekproc.c:
8096<UL>
8097<LI>changed several functions to 'static' that aren't used
8098outside this module -- changes object
8099</UL>
8100<LI>charproc.c:
8101<UL>
8102<LI>changed several functions to 'static' that aren't used
8103outside this module -- changes object
8104<LI>deleted unused function unparsefputs -- changes object.
8105</UL>
8106<LI>main.c:
8107<UL>
8108<LI>changed several functions to 'static' that aren't used
8109outside this module -- changes object
8110<LI>ifdef'd out unused function 'consolepr()' -- changes object
8111<LI>removed unused variable 'dummy_tio' -- changes object
8112<LI>moved variable 'discipline' to quiet unused-warning -- changes object
8113</UL>
8114<LI>main.h:
8115<UL>
8116<LI>deleted unused definition of DEFBORDERWIDTH - n/c
8117</UL>
8118<LI>misc.c:
8119<UL>
8120<LI>changed several functions to 'static' that aren't used
8121outside this module -- changes object
8122<LI>provide dummy return statements for xerror and xioerror to
8123quiet compiler warnings -- changes object
8124</UL>
8125<LI>ptyx.h:
8126<UL>
8127<LI>change sbuf_address and abuf_address to 'Char *' - n/c
8128</UL>
8129<LI>resize.c:
8130<UL>
8131<LI>changed several functions to 'static' that aren't used outside this module
8132-- changes object
8133</UL>
8134<LI>screen.c:
8135<UL>
8136<LI>remove unnecessary 'Char **' casts - n/c
8137</UL>
8138<LI>util.c:
8139<UL>
8140<LI>changed several functions to 'static' that aren't used outside this module
8141-- changes object
8142</UL>
8143</UL>
8144<H1><A NAME="xterm_02">Patch #2 - 1996/1/7</A></H1>
8145This is my second patch to xterm.  It corrects most of the gcc warnings (except
8146for some that are due to X header files ;-).  I compared objects to keep track
8147of the changes that don't affect the object code (n/c) versus those that do.
8148<P>
8149At this point, I'm compiling (fairly) clean with gcc options
8150<PRE>
8151	-Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wnested-externs
8152</PRE>
8153(I also compiled with -Wshadow, but while that found some things that I wanted
8154to find, there's far too many warnings from the X headers to be usable in this
8155context).
8156<P>
8157The changes:
8158<UL>
8159<LI>Tekproc.c:
8160<UL>
8161<LI>parenthesized expression to avoid gcc warning -- n/c.
8162
8163<LI>corrected nested-extern declaration for Bool
8164		  waiting_for_initial_map; ourTopLevelShellArgs, and
8165		  number_ourTopLevelShellArgs - n/c
8166
8167</UL>
8168<LI>charproc.c:
8169<UL>
8170<LI>corrected potentially-unintialized variables 'scstype', 'xim',
8171		  and 'input_style' -- changes object.
8172
8173<LI>adjusted logic of VTparse so that gcc won't warn about setjmp
8174		  clobbering parsestate -- changes object.
8175
8176<LI>corrected initialization of 'scstype', which could have been
8177		  clobbered by setjmp/longjmp - changes object.
8178
8179<LI>corrected nested-extern declaration of 'term', 'ProgramName'
8180		  - n/c
8181</UL>
8182
8183<LI>cursor.c:
8184<UL>
8185<LI>corrected nested-extern declaration of 'term' -- n/c
8186
8187<LI>renamed 'term' parameters to avoid gcc -Wshadow warning - n/c
8188</UL>
8189
8190<LI>input.c:
8191<UL>
8192<LI>change interface of StringInput to assume size_t (i.e.,
8193		  unsigned) nbytes -- changes object.
8194
8195<LI>change interface of funcvalue, and sunfuncvalue to use
8196		  'KeySym' type instead of 'int' - changes object.
8197</UL>
8198
8199<LI>main.c:
8200<UL>
8201<LI>moved definitions of SIGNAL_T, SIGNAL_RETURN to proto.h - n/c
8202
8203<LI>corrected missing params of 'do_hangup()' -- changes object
8204		  (note: the missing params were not used).
8205
8206<LI>corrected missing param of 'Error()' -- changes object
8207
8208<LI>corrected nested-extern 'environ' - n/c
8209
8210<LI>adjusted assignments to 'tty_got_hung' and 'no_dev_tty' so
8211		  that gcc can see they won't be clobbered by the longjmp -
8212		  changes object.
8213
8214<LI>use Size_t type - n/c.
8215</UL>
8216
8217<LI>menu.c:
8218<UL>
8219<LI>removed redundant prototype for 'do_hangup()' -- n/c.
8220
8221<LI>renamed 'time' parameters to avoid gcc -Wshadow warning - n/c
8222</UL>
8223
8224<LI>menu.h:
8225<UL>
8226<LI>renamed 'time' parameters to avoid gcc -Wshadow warning - n/c
8227</UL>
8228
8229<LI>misc.c:
8230<UL>
8231<LI>corrected definition of 'HandleFocusChange()' -- changes
8232		  object
8233
8234<LI>cast parameters in call to 'TekExpose()' -- n/c
8235
8236<LI>corrected nested-extern declarations of 'term', 'toplevel',
8237		  ProgramName, and 'environ' -- n/c.
8238
8239<LI>use Size_t type - n/c.
8240</UL>
8241
8242<LI>proto.h:
8243<UL>
8244<LI>moved definition of SIGNAL_T (and SIGNAL_RETURN) here from
8245		  main.c, resize.c to allow use of this symbol in prototypes
8246		  (mostly in xterm.h).
8247
8248<LI>added definition 'Size_t' to use as corrected type for
8249		  strncpy, malloc sizes - n/c.
8250</UL>
8251
8252<LI>resize.c:
8253<UL>
8254<LI>moved SIGNAL_T definition to proto.h -- n/c.
8255
8256<LI>use Size_t type - n/c.
8257</UL>
8258
8259<LI>screen.c:
8260<UL>
8261<LI>use Size_t type - n/c.
8262</UL>
8263
8264<LI>tabs.c:
8265<UL>
8266<LI>corrected nested-extern declaration of 'term' -- n/c
8267</UL>
8268
8269<LI>util.c:
8270<UL>
8271<LI>corrected/supplied parameters to 'TekExpose()' -- changes
8272		  object (note:  'TekExpose()' doesn't use its parameters).
8273
8274<LI>corrected nested-extern declaration of
8275		  'waiting_for_initial_map' -- n/c.
8276
8277<LI>renamed 'term' parameters to avoid gcc -Wshadow warning - n/c
8278</UL>
8279
8280<LI>xterm.h:
8281<UL>
8282<LI>prototype 'do_hangup()', 'HandleFocusChange()',
8283		  'TekExpose()', 'Error()', 'Exit()' - forces changes in
8284		  various places.
8285
8286<LI>adjusted prototypes that pass 'Boolean' arguments to use
8287		  'int' (this is the "correct" ANSI approach to extended
8288		  compiles; it's worth mentioning that gcc doesn't meet the
8289		  ANSI spec here).  I used gcc -Wconversion to find these, but
8290		  there's a lot of unrelated warnings that are due to setting
8291		  NARROWPROTO in the config - n/c.
8292
8293<LI>renamed 'term' parameters to avoid gcc -Wshadow warning - n/c
8294</UL>
8295</UL>
8296<H1><A NAME="xterm_01">Patch #1 - 1996/1/6</A></H1>
8297This is my first cleanup patch for xterm.  It addresses all of the gcc warnings
8298for -Wall, -Wmissing-prototypes and -Wstrict-prototypes that I can change
8299without modifying the object code.  (I'm compiling this with gcc 2.7.0 for an
8300aout target, which makes it simple to compare objects.  When I do ELF-only,
8301I've got a tool that compares that sort of thing as well).
8302<P>
8303Briefly, this patch adds (and uses) two header files in the xterm directory:
8304<PRE>
8305	proto.h
8306	xterm.h
8307</PRE>
8308I expect this to be the biggest patch by far.  However (barring a misplaced
8309prototype), it shouldn't break anything, since the intent of the patch is to
8310provide missing declarations.
8311</BODY>
8312</HTML>
8313