MANIFEST | 2 Makefile.in | 7 THANKS | 3 Tekproc.c | 4 XTerm.ad | 5 button.c | 53 +++--- cachedGCs.c | 5 charproc.c | 216 +++++++++++++++---------- ctlseqs.ms | 8 ctlseqs.txt | 5 debian/changelog | 12 - debian/local/xterm.faq.html | 193 ++++++++++++++++++---- debian/patches/900_debian_xterm.diff | 14 - debian/patches/902_windowops.diff | 2 debian/patches/904_fontops.diff | 2 input.c | 14 - linedata.c | 6 main.c | 47 ++--- menu.c | 297 +++++++++++++++++++++++++++++------ menu.h | 24 ++ misc.c | 91 +++++----- package/debian/changelog | 6 package/xterm.spec | 4 plink.sh | 4 print.c | 10 - ptydata.c | 12 - ptyx.h | 22 ++ screen.c | 52 +++++- scrollbar.c | 28 ++- trace.c | 20 +- util.c | 12 - version.h | 4 xterm.h | 14 + xterm.log.html | 45 +++++ xterm.man | 64 +++++++ 35 files changed, 952 insertions(+), 355 deletions(-)
New commits: commit 95e362b0735b15560fdf94365c94907f366d837e Author: Julien Cristau <jcris...@debian.org> Date: Thu Feb 10 18:48:45 2011 +0100 Upload to unstable diff --git a/debian/changelog b/debian/changelog index 48cb3ad..5def055 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -xterm (268-1) UNRELEASED; urgency=low +xterm (268-1) unstable; urgency=low [ Sven Joachim ] * Prefer lynx-cur over lynx in Build-Depends. @@ -19,7 +19,7 @@ xterm (268-1) UNRELEASED; urgency=low Options menu. This also removes a special case added in patch #217 which limited the effect of the reverseVideo resource (closes: #603808) - -- Julien Cristau <jcris...@debian.org> Mon, 22 Nov 2010 19:06:50 +0100 + -- Julien Cristau <jcris...@debian.org> Thu, 10 Feb 2011 18:48:37 +0100 xterm (266-1) unstable; urgency=low commit df445f38b14ca754f0bd81bee419ee36709a3905 Author: Julien Cristau <jcris...@debian.org> Date: Thu Feb 10 18:48:14 2011 +0100 Update copy of XTerm FAQ to revision 1.167 (dated 2010/11/25) diff --git a/debian/changelog b/debian/changelog index abdba13..48cb3ad 100644 --- a/debian/changelog +++ b/debian/changelog @@ -10,7 +10,7 @@ xterm (268-1) UNRELEASED; urgency=low care of that. [ Julien Cristau ] - * Update copy of XTerm FAQ to revision 1.158 (dated 2010/11/10) + * Update copy of XTerm FAQ to revision 1.167 (dated 2010/11/25) * New upstream release (267) + add copy-selection action (request by Timo Juhani Lindfors, closes: #588785 diff --git a/debian/local/xterm.faq.html b/debian/local/xterm.faq.html index 2838893..d2fa477 100644 --- a/debian/local/xterm.faq.html +++ b/debian/local/xterm.faq.html @@ -20,11 +20,11 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * ***************************************************************************** - $XTermId: xterm.faq.html,v 1.158 2010/11/10 10:28:18 tom Exp $ + $XTermId: xterm.faq.html,v 1.167 2010/11/25 14:10:03 tom Exp $ --> <HTML> <HEAD> -<TITLE>XTERM – Frequently Asked Questions (FAQ)</TITLE> +<TITLE>XTERM - Frequently Asked Questions (FAQ)</TITLE> <LINK REV=MADE HREF="mailto:dic...@invisible-island.net"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </HEAD> @@ -42,6 +42,7 @@ is the latest version of this file. <LI><A HREF="#what_platforms">What platforms does it run on?</A> <LI><A HREF="#latest_version">What is the latest version?</A> <LI><A HREF="#other_versions">What versions are available?</A> +<LI><A HREF="#compare_versions">Comparing versions, by counting controls</A> <LI><A HREF="#how_do_i">How do I ...</A> <LI><A HREF="#frequent_problems">Frequent problems</A> <LI><A HREF="#known_bugs">Known Bugs in XTERM</A> @@ -284,30 +285,154 @@ include (I am aware of a few others, such as <STRONG>xcterm</STRONG>, but have not seen a working version of these). + +<h2><A name="compare_versions">Comparing versions, by counting controls</a></h2> +<p> +Several of these programs are claimed (either by their developers, +or their users) to emulate "most" of xterm. +To me, "most" would be something quantifiable, e.g., 80 percent. +To satisfy my curiousity, I wrote a script to extract the control +sequence information from <a href="#ctlseqs_ms">ctlseqs.txt</a>. +This counts each control sequence, as well as the variations such as +setting bold, color, inverse video. +Then I (laboriously) inspected these terminal implementations: +<ul> +<li>xterm patch #266 ("xterm-new") +<li>X11R6.3 xterm (xterm-r6) +<li>DEC vt220 +<li>DEC vt102 +<li>rxvt 2.7.10 +<li>rxvt-unicode 9.09 (urxvt) +<li>konsole 2.5.3 +<li>VTE 0.25.91 (vte), used in GNOME-Terminal and kindred. +</ul> +<p> +As of mid-November 2010, these are the latest implementations. +I included data for the vt220 and vt102 to be able to contrast the +various terminal <em>emulators</em> against those as well as xterm. + +There are: +<ul> +<li>498 control sequences listed in the corresponding file +for xterm patch #266. +<li>192 of those are "primary", e.g., disregarding +parameters such as those distinguishing bold from color. +<li>37 of the primary control sequences have secondary sequences. +</ul> +For each control, there are three possibilities: +<ol> +<li>"yes" — the terminal implements it, matching xterm. +If xterm implements it, and it is a feature of vt220 or vt102, +then in turn xterm's behavior must match vt220 or vt102. +<li>"partial" — the terminal implements it, but its behavior does not match the +reference noted above. +<li>"no" — the terminal does not implement the control. +</ol> +<p> +The control sequences document lists a few controls which xterm +does not (completely) implement, e.g., +<ul> +<li>key-repeat +<li>enabling LEDs other than scroll-lock +</ul> +None of the other terminal emulators implements those either. +<br> +<table border="1" summary="Comparing against the control sequences document"> +<caption>Comparing against the control sequences document</caption> +<colgroup><col width="15%"><col width="15%"><col width="15%"><col width="35%"></colgroup> +<tr> +<th>yes</th> +<th>partial</th> +<th>no</th> +<th>program</th> +</tr> +<tr><td>488</td><td>4</td><td>6</td><td>xterm-new</td></tr> +<tr><td>154</td><td>6</td><td>338</td><td>xterm-r6</td></tr> +<tr><td>188</td><td>5</td><td>305</td><td>vt220</td></tr> +<tr><td>104</td><td>0</td><td>394</td><td>vt102</td></tr> +<tr><td>204</td><td>3</td><td>291</td><td>rxvt</td></tr> +<tr><td>219</td><td>3</td><td>276</td><td>urxvt</td></tr> +<tr><td>191</td><td>2</td><td>305</td><td>putty</td></tr> +<tr><td>170</td><td>3</td><td>325</td><td>konsole</td></tr> +<tr><td>184</td><td>6</td><td>308</td><td>vte</td></tr> +</table> +<p> +Modern xterm implements 188 primary controls. +In this table, konsole ranks last because it does not support vt52 emulation. +Aside from that, the various emulators implement much the same features +from xterm. +None implements as many as half of xterm's controls. +<table border="1" summary="Comparing against xterm"> +<caption>Comparing against xterm</caption> +<colgroup><col width="15%"><col width="15%"><col width="15%"><col width="35%"></colgroup> +<tr> +<th>yes</th> +<th>partial</th> +<th>no</th> +<th>program</th> +</tr> +<tr><td>488</td><td>0</td><td>0</td><td>xterm-new</td></tr> +<tr><td>154</td><td>6</td><td>328</td><td>xterm-r6</td></tr> +<tr><td>182</td><td>2</td><td>304</td><td>vt220</td></tr> +<tr><td>98</td><td>0</td><td>390</td><td>vt102</td></tr> +<tr><td>204</td><td>3</td><td>281</td><td>rxvt</td></tr> +<tr><td>219</td><td>3</td><td>266</td><td>urxvt</td></tr> +<tr><td>189</td><td>2</td><td>297</td><td>putty</td></tr> +<tr><td>170</td><td>3</td><td>315</td><td>konsole</td></tr> +<tr><td>184</td><td>6</td><td>298</td><td>vte</td></tr> +</table> +<p> +DEC VT220 implements 96 primary controls. +Modern xterm (as documented), implements most of the VT220. +VTE implements fewer than half. +The others are a little better. +None of the others could be used as a real VT220. +<table border="1" summary="Comparing against vt220"> +<caption>Comparing against vt220</caption> +<colgroup><col width="15%"><col width="15%"><col width="15%"><col width="35%"></colgroup> +<tr> +<th>yes</th> +<th>partial</th> +<th>no</th> +<th>program</th> +</tr> +<tr><td>182</td><td>0</td><td>6</td><td>xterm-new</td></tr> +<tr><td>78</td><td>6</td><td>104</td><td>xterm-r6</td></tr> +<tr><td>188</td><td>0</td><td>0</td><td>vt220</td></tr> +<tr><td>104</td><td>0</td><td>84</td><td>vt102</td></tr> +<tr><td>101</td><td>3</td><td>84</td><td>rxvt</td></tr> +<tr><td>106</td><td>3</td><td>79</td><td>urxvt</td></tr> +<tr><td>107</td><td>2</td><td>79</td><td>putty</td></tr> +<tr><td>100</td><td>3</td><td>85</td><td>konsole</td></tr> +<tr><td>88</td><td>6</td><td>94</td><td>vte</td></tr> +</table> +<p> +DEC VT102 (the actual flavor used for "vt100" in most cases), +implements 68 primary controls. +Again, VTE fares worst, and the others a little better. +<table border="1" summary="Comparing against vt102"> +<caption>Comparing against vt102</caption> +<colgroup><col width="15%"><col width="15%"><col width="15%"><col width="35%"></colgroup> +<tr> +<th>yes</th> +<th>partial</th> +<th>no</th> +<th>program</th> +</tr> +<tr><td>98</td><td>0</td><td>6</td><td>xterm-new</td></tr> +<tr><td>70</td><td>6</td><td>28</td><td>xterm-r6</td></tr> +<tr><td>104</td><td>0</td><td>0</td><td>vt220</td></tr> +<tr><td>104</td><td>0</td><td>0</td><td>vt102</td></tr> +<tr><td>79</td><td>2</td><td>23</td><td>rxvt</td></tr> +<tr><td>81</td><td>2</td><td>21</td><td>urxvt</td></tr> +<tr><td>86</td><td>2</td><td>16</td><td>putty</td></tr> +<tr><td>85</td><td>3</td><td>16</td><td>konsole</td></tr> +<tr><td>60</td><td>1</td><td>43</td><td>vte</td></tr> +</table> <p> -There were for some time two versions of XFree86 xterm. Starting with my -<a href="xterm.log.html#xterm_88">patch 88</a>, -there were the stable (beta) and unstable (alpha) versions, which currently -are XFree86 3.3.6 and XFree86 4.x, respectively. -I made only critical changes to the stable version since -patch 88; -ongoing development (including all non-critical fixes) -was focused on the "unstable". -<p> -XFree86 4.0 should have incorporated my -<a href="xterm.log.html#xterm_131">patch 131</a>, -but it was overlooked at the last moment -(though it was listed in the ChangeLog, the patch itself was not applied). -Unfortunately, the patch 130 version which was released -renders colors incorrectly on most platforms, in particular FreeBSD. -Ironically, the change in -<a href="xterm.log.html#xterm_129">patch 129</a> -which introduced this bug -was designed to work around a bug which I have seen only running with FreeBSD. -To compound the irony, -there was some resistance at the time -(2000/4/5) by that organization to incorporating the fix -because it might be confused with the 4.0 release version. +In summary, none of the other terminal emulators emulates "most" of xterm. +Instead, they implement the most commonly-used control sequences, +and there are differences between them. <h2><A NAME="how_do_i">How do I ...</A></h2> Not really problems, but frequently asked questions (the point of this, @@ -444,7 +569,7 @@ Here is one from Bruce Momjian <r...@candle.pha.pa.us> for a VT220: <!--{{atr2html--><p style="font-family: monospace; font-size: 10pt;"> xterm <font color="#008080">$XTERMFLAGS</font> +rw +sb +ls <font color="#008080">$@</font> -tm <font color="#800080">'erase ^? intr ^c'</font> \<br> - -name vt220 -title vt220 -tn xterm-220 <font color="#800080">"$@"</font> &amp;<br> + -name vt220 -title vt220 -tn xterm-220 <font color="#800080">"$@"</font> &<br> <!--atr2html}}--></p> with the corresponding resources: <p> @@ -987,7 +1112,7 @@ Hemant Shah <s...@typhoon.xnet.com>): current_title=$(xprop -id $WINDOWID | grep WM_NAME | cut -d= -f2) </code></PRE> Here's another source of information: -<a href="http://cns.georgetown.edu/~ric/howto/Xterm-Title/">Xterm-Title HowTo</a> +<a href="http://web.archive.org/web/*/http%3A//cns.georgetown.edu/~ric/howto/Xterm-Title/">Xterm-Title HowTo</a> <h3><A NAME="how2_blink">How do I make the cursor blink?</A></h3> Standard xterm does not implement a blinking cursor. @@ -1506,7 +1631,7 @@ which would not affect the home/end keys. which I tested with xterm-88c, xterm-149 and xterm-158, using $TERM set to xterm-debian: <!--{{atr2html--><p style="font-family: monospace; font-size: 10pt;"> -<font color="#800000">! $Id: xterm.faq.html,v 1.158 2010/11/10 10:28:18 tom Exp $<br> +<font color="#800000">! $Id: xterm.faq.html,v 1.167 2010/11/25 14:10:03 tom Exp $<br> </font><font color="#800000">! Settings to make xterm-88c work as expected for Debian.<br> </font><font color="#800000">!<br> </font><font color="#800000">! Patch #88 was the basis for XFree86 3.3.1 xterm. There were a few additions<br> @@ -1905,8 +2030,8 @@ this procedure adds these capabilities to the "xterm" terminfo definition on HP-UX 10.20: <!--{{atr2html--><p style="font-family: monospace; font-size: 10pt;"> cp /usr/lib/terminfo/x/xterm /usr/lib/terminfo/x/xterm.orig<br> - untic xterm &gt; /tmp/xterm.src<br> - <strong><font color="#000080">echo</font></strong> <font color="#800080">" smcup=</font><strong><font color="#800000">\</font></strong><font color="#800080">E7</font><strong><font color="#800000">\</font></strong><font color="#800080">E[?47h, rmcup=</font><strong><font color="#800000">\</font></strong><font color="#800080">E[2J</font><strong><font color="#800000">\</font></strong><font color="#800080">E[?47l</font><strong><font color="#800000">\</font></strong><font color="#800080">E8,"</font> &gt;&gt; /tmp/xterm.src<br> + untic xterm > /tmp/xterm.src<br> + <strong><font color="#000080">echo</font></strong> <font color="#800080">" smcup=</font><strong><font color="#800000">\</font></strong><font color="#800080">E7</font><strong><font color="#800000">\</font></strong><font color="#800080">E[?47h, rmcup=</font><strong><font color="#800000">\</font></strong><font color="#800080">E[2J</font><strong><font color="#800000">\</font></strong><font color="#800080">E[?47l</font><strong><font color="#800000">\</font></strong><font color="#800080">E8,"</font> >> /tmp/xterm.src<br> tic /tmp/xterm.src<br> <!--atr2html}}--></p> <p> @@ -2140,7 +2265,7 @@ This works reasonably well for environments where you have different versions of xterm, e.g., <!--{{atr2html--><p style="font-family: monospace; font-size: 10pt;"> <strong><font color="#000080">XTerm</font></strong>*<strong><font color="#000080">VT100</font></strong>.<font color="#008080">translations</font>:<font color="#800080"> #override \n\<br> - &lt;Key&gt;Delete: string(</font><strong><font color="#008080">0x7f</font></strong><font color="#800080">)</font><br> + <Key>Delete: string(</font><strong><font color="#008080">0x7f</font></strong><font color="#800080">)</font><br> <!--atr2html}}--></p> I do not do that either, because it is not flexible. Not all programs use the same sense of @@ -2857,7 +2982,7 @@ X server to hang. (I was able to do this with both Lesstif and Motif libraries). Given that, I decided to restructure the menus entirely, making a toolbar which could support at compile-time either widget set. -<LI><a href="http://www.fh-wilhelmshaven.de/~akcaagaa/index_mxterm.html">mxterm</a> +<LI><a href="http://web.archive.org/web/*/http%3A//www.fh-wilhelmshaven.de/~akcaagaa/index_mxterm.html">mxterm</a> This is a different reworking of the Motif widget patch, using a 1993 version (ignoring the more recent 1994 patches noted above). However, it appears to have the same technical defect that I noted above. @@ -3012,13 +3137,13 @@ with a few ifdef's changed. <p> That is, it was. The name was later appropriated by a different -<a href="http://oss.software.ibm.com/linux/projects/iterm/">program</a>, +<a href="http://web.archive.org/web/*/http%3A//oss.software.ibm.com/linux/projects/iterm/">program</a>, which also uses the name <code>iterm</code>. Like gnome-terminal, iterm aims to be an xterm-emulator rather than a VT102- or VT220-emulator. <p> -An earlier <a href="http://www.openi18n.org">attempt</a> by the same author +An earlier <a href="http://web.archive.org/web/*/http%3A//www.openi18n.org">attempt</a> by the same author (the "CSI-xterm") incorporates some of the changes I made for XFree86 xterm via cut and paste commit 7877e8665a92af3f786944e60566c67fdf478c51 Author: Julien Cristau <jcris...@debian.org> Date: Thu Feb 10 18:42:39 2011 +0100 Refresh patches diff --git a/debian/patches/900_debian_xterm.diff b/debian/patches/900_debian_xterm.diff index c64ceca..f8f3c9f 100644 --- a/debian/patches/900_debian_xterm.diff +++ b/debian/patches/900_debian_xterm.diff @@ -25,7 +25,7 @@ Index: xterm/termcap =================================================================== --- xterm.orig/termcap +++ xterm/termcap -@@ -71,6 +71,14 @@ +@@ -71,6 +71,14 @@ xb|xterm-basic|modern xterm common:\ :so=\E[7m:sr=\EM:st=\EH:te=\E[?1049l:ti=\E[?1049h:\ :ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[?12l\E[?25h:vi=\E[?25l:vs=\E[?12;25h: @@ -40,7 +40,7 @@ Index: xterm/termcap # The xterm-new description has all of the features, but is not completely # compatible with vt220. If you are using a Sun or PC keyboard, set the # sunKeyboard resource to true: -@@ -233,5 +241,6 @@ +@@ -233,5 +241,6 @@ x0|xterm-xfree86|xterm terminal emulator # is widely used for a variety of incompatible terminal emulations including # color_xterm and rxvt. v0|xterm|X11 terminal emulator:\ @@ -52,7 +52,7 @@ Index: xterm/terminfo =================================================================== --- xterm.orig/terminfo +++ xterm/terminfo -@@ -955,6 +955,13 @@ +@@ -955,6 +955,13 @@ xterm-basic|modern xterm terminal emulat u8=\E[?1;2c, u9=\E[c, vpa=\E[%i%p1%dd, @@ -66,7 +66,7 @@ Index: xterm/terminfo # # The xterm-new description has all of the features, but is not completely # compatible with vt220. If you are using a Sun or PC keyboard, set the -@@ -1393,7 +1400,7 @@ +@@ -1393,7 +1400,7 @@ xterm-16color|xterm with 16 colors, setaf=\E[%?%p1%{8}%<%t%p1%{30}%+%e%p1%{82}%+%;%dm, setb=%p1%{8}%/%{6}%*%{4}%+\E[%d%p1%{8}%m%Pa%?%ga%{1}%=%t4%e%ga%{3}%=%t6%e%ga%{4}%=%t1%e%ga%{6}%=%t3%e%ga%d%;m, setf=%p1%{8}%/%{6}%*%{3}%+\E[%d%p1%{8}%m%Pa%?%ga%{1}%=%t4%e%ga%{3}%=%t6%e%ga%{4}%=%t1%e%ga%{6}%=%t3%e%ga%d%;m, @@ -75,7 +75,7 @@ Index: xterm/terminfo # # This uses RGB values 0..1000 # -@@ -1408,7 +1415,7 @@ +@@ -1408,7 +1415,7 @@ xterm-256color|xterm with 256 colors, setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m, setb@, setf@, @@ -84,7 +84,7 @@ Index: xterm/terminfo xterm-88color|xterm with 88 colors, colors#88, pairs#7744, -@@ -1935,5 +1942,6 @@ +@@ -1935,5 +1942,6 @@ xterm-r5|xterm R5 version, # is widely used for a variety of incompatible terminal emulations including # color_xterm and rxvt. xterm|X11 terminal emulator, @@ -96,7 +96,7 @@ Index: xterm/XTerm.ad =================================================================== --- xterm.orig/XTerm.ad +++ xterm/XTerm.ad -@@ -154,6 +154,10 @@ +@@ -155,6 +155,10 @@ *tek4014*font3: 6x13 *tek4014*fontSmall: 6x10 diff --git a/debian/patches/902_windowops.diff b/debian/patches/902_windowops.diff index 0681ce6..c2e8a2d 100644 --- a/debian/patches/902_windowops.diff +++ b/debian/patches/902_windowops.diff @@ -2,7 +2,7 @@ Index: xterm/xterm.man =================================================================== --- xterm.orig/xterm.man +++ xterm/xterm.man -@@ -2165,8 +2165,9 @@ +@@ -2173,8 +2173,9 @@ This is a comma-separated list of names, from \fIdtterm\fP the operation number). The default value is .RS diff --git a/debian/patches/904_fontops.diff b/debian/patches/904_fontops.diff index c71bd84..5042269 100644 --- a/debian/patches/904_fontops.diff +++ b/debian/patches/904_fontops.diff @@ -2,7 +2,7 @@ Index: xterm/xterm.man =================================================================== --- xterm.orig/xterm.man +++ xterm/xterm.man -@@ -1515,7 +1515,7 @@ +@@ -1523,7 +1523,7 @@ The default is \*(``true.\*('' .TP .B "allowFontOps (\fPclass\fB AllowFontOps)" Specifies whether control sequences that set/query the font should be allowed. commit 4938b5a4442af93c2675ce2a53473aef9b92abcc Author: Julien Cristau <jcris...@debian.org> Date: Thu Feb 10 18:37:30 2011 +0100 Update changelog diff --git a/debian/changelog b/debian/changelog index 7ef4bef..abdba13 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -xterm (267-1) UNRELEASED; urgency=low +xterm (268-1) UNRELEASED; urgency=low [ Sven Joachim ] * Prefer lynx-cur over lynx in Build-Depends. @@ -11,9 +11,13 @@ xterm (267-1) UNRELEASED; urgency=low [ Julien Cristau ] * Update copy of XTerm FAQ to revision 1.158 (dated 2010/11/10) - * New upstream release + * New upstream release (267) + add copy-selection action (request by Timo Juhani Lindfors, closes: #588785 + * New upstream release (268) + + fix an inconsistency of the "Enable Reverse Video" checkbox in the VT + Options menu. This also removes a special case added in patch #217 + which limited the effect of the reverseVideo resource (closes: #603808) -- Julien Cristau <jcris...@debian.org> Mon, 22 Nov 2010 19:06:50 +0100 commit 17adfe97bdb9be5917b071c96bd968c2dee765b9 Author: Julien Cristau <jcris...@debian.org> Date: Thu Feb 10 18:34:29 2011 +0100 Imported Upstream version 268 diff --git a/MANIFEST b/MANIFEST index c5e1d32..3b01936 100644 --- a/MANIFEST +++ b/MANIFEST @@ -1,4 +1,4 @@ -MANIFEST for xterm-267, version xterm-267 +MANIFEST for xterm-268, version xterm-268 -------------------------------------------------------------------------------- MANIFEST this file 256colres.h resource-definitions for 256-color mode diff --git a/Makefile.in b/Makefile.in index 4d59cb1..2a6a265 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,4 +1,4 @@ -## $XTermId: Makefile.in,v 1.173 2010/11/13 12:52:34 tom Exp $ +## $XTermId: Makefile.in,v 1.174 2010/11/24 11:21:01 tom Exp $ # ----------------------------------------------------------------------------- # this file is part of xterm # @@ -360,6 +360,7 @@ maintainer-clean : realclean terminfo.out : terminfo ; tic -a -I -1 terminfo >$@ termcap.out : termcap ; tic -a -C -U termcap >$@ ################################################################################ +docs-ctlseqs \ docs :: ctlseqs.html \ ctlseqs.pdf \ ctlseqs.ps \ @@ -369,6 +370,7 @@ ctlseqs.pdf : ctlseqs.ps ctlseqs.ps : ctlseqs.ms ctlseqs.txt : ctlseqs.ms ################################################################################ +docs-resize \ docs :: resize.html \ resize.pdf \ resize.ps \ @@ -378,6 +380,7 @@ resize.pdf : resize.ps resize.ps : resize.$(manext) resize.txt : resize.$(manext) ################################################################################ +docs-xterm \ docs :: xterm.html \ xterm.pdf \ xterm.ps \ @@ -387,6 +390,7 @@ xterm.pdf : xterm.ps xterm.ps : xterm.$(manext) xterm.txt : xterm.$(manext) ################################################################################ +docs-uxterm \ docs :: uxterm.html \ uxterm.pdf \ uxterm.ps \ @@ -396,6 +400,7 @@ uxterm.pdf : uxterm.ps uxterm.ps : uxterm.$(manext) uxterm.txt : uxterm.$(manext) ################################################################################ +docs-koi8rxterm \ docs :: koi8rxterm.html \ koi8rxterm.pdf \ koi8rxterm.ps \ diff --git a/THANKS b/THANKS index 424dfa2..02cc710 100644 --- a/THANKS +++ b/THANKS @@ -1,4 +1,4 @@ --- $XTermId: THANKS,v 1.2 2010/10/24 17:46:47 tom Exp $ +-- $XTermId: THANKS,v 1.3 2011/01/22 13:22:37 tom Exp $ -- vile:txtmode fk=8bit There's no AUTHORS file in this distribution; it would be redundant since I (Thomas E. Dickey) have done more than 80% of the work on xterm since 1996. @@ -40,6 +40,7 @@ Chuck Blake D Roland Walker Daniel Colascione Daniel Jacobowitz +Dave Simmons David Dawes David Krause David Madore diff --git a/Tekproc.c b/Tekproc.c index a7bcf8f..d124394 100644 --- a/Tekproc.c +++ b/Tekproc.c @@ -1,4 +1,4 @@ -/* $XTermId: Tekproc.c,v 1.184 2010/10/14 08:07:03 tom Exp $ */ +/* $XTermId: Tekproc.c,v 1.185 2011/01/20 10:50:19 tom Exp $ */ /* * @@ -1538,7 +1538,7 @@ TekRealize(Widget gw, XtWindow(tw) = TWindow(tekscr) = XCreateWindow(XtDisplay(tw), - XtWindow(SHELL_OF(tw)), + VShellWindow(tw), tw->core.x, tw->core.y, tw->core.width, tw->core.height, BorderWidth(tw), diff --git a/XTerm.ad b/XTerm.ad index 975f7cd..dd99d9f 100644 --- a/XTerm.ad +++ b/XTerm.ad @@ -1,8 +1,8 @@ -! $XTermId: XTerm.ad,v 1.93 2010/06/15 10:55:59 tom Exp $ +! $XTermId: XTerm.ad,v 1.94 2011/01/19 22:05:58 tom Exp $ ! ----------------------------------------------------------------------------- ! this file is part of xterm ! -! Copyright 1996-2009,2010 by Thomas E. Dickey +! Copyright 1996-2010,2011 by Thomas E. Dickey ! ! All Rights Reserved ! @@ -43,6 +43,7 @@ *mainMenu.Label: Main Options *mainMenu*toolbar*Label: Toolbar +*mainMenu*fullscreen*Label: Full Screen *mainMenu*securekbd*Label: Secure Keyboard *mainMenu*allowsends*Label: Allow SendEvents *mainMenu*redraw*Label: Redraw Window diff --git a/button.c b/button.c index fee5681..b0c3c95 100644 --- a/button.c +++ b/button.c @@ -1,7 +1,7 @@ -/* $XTermId: button.c,v 1.391 2010/11/11 11:50:13 tom Exp $ */ +/* $XTermId: button.c,v 1.395 2011/02/09 10:15:46 tom Exp $ */ /* - * Copyright 1999-2009,2010 by Thomas E. Dickey + * Copyright 1999-2010,2011 by Thomas E. Dickey * * All Rights Reserved * @@ -1261,8 +1261,7 @@ xtermUtf8ToTextList(XtermWidget xw, (void) UTF8toLatin1(screen, data, size, &size); new_size += size + 1; } - new_text_list = - (char **) XtMalloc((Cardinal) sizeof(char *) * (unsigned) *text_list_count); + new_text_list = TypeXtMallocN(char *, *text_list_count); new_text_list[0] = tmp = XtMalloc((Cardinal) new_size); for (i = 0; i < (*text_list_count); ++i) { data = (Char *) (*text_list)[i]; @@ -1342,8 +1341,7 @@ overrideTargets(Widget w, String value, Atom ** resultp) if (copied[n] == ',') ++count; } - result = (Atom *) XtMalloc(((2 * count) + 1) - * (Cardinal) sizeof(Atom)); + result = TypeXtMallocN(Atom, (2 * count) + 1); if (result == NULL) { TRACE(("Couldn't allocate selection types\n")); } else { @@ -1355,7 +1353,7 @@ overrideTargets(Widget w, String value, Atom ** resultp) size_t len = strlen(listp); if (len == 0) { - ; + /* EMPTY */ ; } #if OPT_WIDE_CHARS else if (sameItem(listp, "UTF8")) { @@ -1403,7 +1401,7 @@ allocUtf8Targets(Widget w, TScreen * screen) Atom *result; if (!overrideTargets(w, screen->utf8_select_types, &result)) { - result = (Atom *) XtMalloc((Cardinal) (5 * sizeof(Atom))); + result = TypeXtMallocN(Atom, 5); if (result == NULL) { TRACE(("Couldn't allocate utf-8 selection targets\n")); } else { @@ -1437,7 +1435,7 @@ alloc8bitTargets(Widget w, TScreen * screen) Atom *result = 0; if (!overrideTargets(w, screen->eightbit_select_types, &result)) { - result = (Atom *) XtMalloc((Cardinal) (5 * sizeof(Atom))); + result = TypeXtMallocN(Atom, 5); if (result == NULL) { TRACE(("Couldn't allocate 8bit selection targets\n")); } else { @@ -1682,7 +1680,7 @@ xtermGetSelection(Widget w, if (num_params) { /* 'list' is freed in SelectionReceived */ - list = XtNew(struct _SelectionList); + list = TypeXtMalloc(struct _SelectionList); if (list != 0) { list->params = params; list->count = num_params; @@ -1984,7 +1982,7 @@ SelectionReceived(Widget w, #if OPT_PASTE64 if (screen->base64_paste) { - ; + /* EMPTY */ ; } else #endif #if OPT_READLINE @@ -3633,10 +3631,10 @@ ConvertSelection(Widget w, Atom *my_targets = _SelectionTargets(w); TRACE(("XmuConvertStandardSelection - success\n")); - std_targets = (Atom *) (std_return); + std_targets = (Atom *) (void *) (std_return); *length = std_length + 6; - targetP = (Atom *) XtMalloc((Cardinal) (sizeof(Atom) * (*length))); + targetP = TypeXtMallocN(Atom, *length); allocP = targetP; *value = (XtPointer) targetP; @@ -3821,7 +3819,7 @@ _OwnSelection(XtermWidget xw, if (count > screen->sel_atoms_size) { XtFree((char *) atoms); - atoms = (Atom *) XtMalloc((Cardinal) (count * sizeof(Atom))); + atoms = TypeXtMallocN(Atom, count); screen->selection_atoms = atoms; screen->sel_atoms_size = count; } @@ -4046,8 +4044,7 @@ SaveText(TScreen * screen, */ /* Position: 32 - 255. */ - -static Char +static int BtnCode(XButtonEvent * event, int button) { int result = (int) (32 + (KeyState(event->state) << 2)); @@ -4061,7 +4058,21 @@ BtnCode(XButtonEvent * event, int button) result += 32; result += button; } - return CharOf(result); + return result; +} + +static unsigned +EmitButtonCode(TScreen * screen, Char * line, unsigned count, XButtonEvent * event) +{ + int value = BtnCode(event, screen->mouse_button); + + if (!screen->ext_mode_mouse || value < 128) { + line[count++] = CharOf(value); + } else { + line[count++] = CharOf(0xC0 + (value >> 6)); + line[count++] = CharOf(0x80 + (value & 0x3F)); + } + return count; } static void @@ -4127,7 +4138,8 @@ EditorButton(XtermWidget xw, XButtonEvent * event) /* Button-Motion events */ switch (event->type) { case ButtonPress: - line[count++] = BtnCode(event, screen->mouse_button = button); + screen->mouse_button = button; + count = EmitButtonCode(screen, line, count, event); break; case ButtonRelease: /* @@ -4137,7 +4149,8 @@ EditorButton(XtermWidget xw, XButtonEvent * event) */ if (button < 3) button = -1; - line[count++] = BtnCode(event, screen->mouse_button = button); + screen->mouse_button = button; + count = EmitButtonCode(screen, line, count, event); break; case MotionNotify: /* BTN_EVENT_MOUSE and ANY_EVENT_MOUSE modes send motion @@ -4147,7 +4160,7 @@ EditorButton(XtermWidget xw, XButtonEvent * event) && (col == screen->mouse_col)) { changed = False; } else { - line[count++] = BtnCode(event, screen->mouse_button); + count = EmitButtonCode(screen, line, count, event); } break; default: diff --git a/cachedGCs.c b/cachedGCs.c index 3b56082..aca07aa 100644 --- a/cachedGCs.c +++ b/cachedGCs.c @@ -1,8 +1,8 @@ -/* $XTermId: cachedGCs.c,v 1.59 2010/04/15 00:00:17 tom Exp $ */ +/* $XTermId: cachedGCs.c,v 1.60 2011/02/09 10:11:44 tom Exp $ */ /************************************************************ -Copyright 2007-2009,2010 by Thomas E. Dickey +Copyright 2007-2010,2011 by Thomas E. Dickey All Rights Reserved @@ -513,6 +513,7 @@ setCgsFont(XtermWidget xw, VTwin * cgsWin, CgsEnum cgsId, XTermFonts * font) NEXT(font) = font; me->mask |= GCFont; } else { + /* EMPTY */ TRACE2(("...NOT updated font for %s\n", traceCgsEnum(cgsId))); } diff --git a/charproc.c b/charproc.c index 098e472..d11a221 100644 --- a/charproc.c +++ b/charproc.c @@ -1,58 +1,58 @@ -/* $XTermId: charproc.c,v 1.1091 2010/11/11 11:41:26 tom Exp $ */ +/* $XTermId: charproc.c,v 1.1100 2011/02/09 10:15:36 tom Exp $ */ /* - -Copyright 1999-2009,2010 by Thomas E. Dickey - - All Rights Reserved - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -Except as contained in this notice, the name(s) of the above copyright -holders shall not be used in advertising or otherwise to promote the -sale, use or other dealings in this Software without prior written -authorization. - -Copyright 1988 The Open Group - -Permission to use, copy, modify, distribute, and sell this software and its -documentation for any purpose is hereby granted without fee, provided that -the above copyright notice appear in all copies and that both that -copyright notice and this permission notice appear in supporting -documentation. - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -Except as contained in this notice, the name of The Open Group shall not be -used in advertising or otherwise to promote the sale, use or other dealings -in this Software without prior written authorization from The Open Group. - -*/ + * Copyright 1999-2010,2011 by Thomas E. Dickey + * + * All Rights Reserved + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY + * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * Except as contained in this notice, the name(s) of the above copyright + * holders shall not be used in advertising or otherwise to promote the + * sale, use or other dealings in this Software without prior written + * authorization. + * + * + * Copyright 1988 The Open Group + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation. + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * Except as contained in this notice, the name of The Open Group shall not be + * used in advertising or otherwise to promote the sale, use or other dealings + * in this Software without prior written authorization from The Open Group. + * + */ /* * Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. * @@ -225,6 +225,11 @@ static char defaultTranslations[] = Shift <KeyPress> Select:select-cursor-start() select-cursor-end(SELECT, CUT_BUFFER0) \n\ Shift <KeyPress> Insert:insert-selection(SELECT, CUT_BUFFER0) \n\ " +#if OPT_MAXIMIZE +"\ + Alt <Key>Return:fullscreen() \n\ +" +#endif #if OPT_SCROLL_LOCK "\ <KeyRelease> Scroll_Lock:scroll-lock() \n\ @@ -374,6 +379,7 @@ static XtActionsRec actionsList[] = { #endif #if OPT_MAXIMIZE { "deiconify", HandleDeIconify }, + { "fullscreen", HandleFullscreen }, { "iconify", HandleIconify }, { "maximize", HandleMaximize }, { "restore", HandleRestoreSize }, @@ -865,6 +871,9 @@ xtermAddInput(Widget w) #if OPT_DABBREV { "dabbrev-expand", HandleDabbrevExpand }, #endif +#if OPT_MAXIMIZE + { "fullscreen", HandleFullscreen }, +#endif #if OPT_SCROLL_LOCK { "scroll-lock", HandleScrollLock }, #endif @@ -4061,6 +4070,7 @@ SetCursorBlink(TScreen * screen, Bool enable) if (DoStartBlinking(screen)) { StartBlinking(screen); } else { + /* EMPTY */ #if !OPT_BLINK_TEXT StopBlinking(screen); #endif @@ -4152,7 +4162,7 @@ dpmodes(XtermWidget xw, BitFunc func) * Setting DECANM should have no effect, since this function * cannot be reached from vt52 mode. */ - ; + /* EMPTY */ ; } #if OPT_VT52_MODE else if (screen->terminal_id >= 100) { /* VT52 */ @@ -4842,7 +4852,7 @@ get_icon_label(XtermWidget xw) XTextProperty text; char *result = 0; - if (XGetWMIconName(TScreenOf(xw)->display, VShellWindow, &text)) { + if (XGetWMIconName(TScreenOf(xw)->display, VShellWindow(xw), &text)) { result = property_to_string(xw, &text); } return result; @@ -4854,7 +4864,7 @@ get_window_label(XtermWidget xw) XTextProperty text; char *result = 0; - if (XGetWMName(TScreenOf(xw)->display, VShellWindow, &text)) { + if (XGetWMName(TScreenOf(xw)->display, VShellWindow(xw), &text)) { result = property_to_string(xw, &text); } return result; @@ -4912,7 +4922,7 @@ window_ops(XtermWidget xw) if (AllowWindowOps(xw, ewRestoreWin)) { TRACE(("...de-iconify window\n")); XMapWindow(screen->display, - VShellWindow); + VShellWindow(xw)); } break; @@ -4920,7 +4930,7 @@ window_ops(XtermWidget xw) if (AllowWindowOps(xw, ewMinimizeWin)) { TRACE(("...iconify window\n")); XIconifyWindow(screen->display, - VShellWindow, + VShellWindow(xw), -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1pnafw-0000vs...@alioth.debian.org