xterm: Changes to 'debian-unstable'
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 <jcristau@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 <jcristau@debian.org> Mon, 22 Nov 2010 19:06:50 +0100
+ -- Julien Cristau <jcristau@debian.org> Thu, 10 Feb 2011 18:48:37 +0100
xterm (266-1) unstable; urgency=low
commit df445f38b14ca754f0bd81bee419ee36709a3905
Author: Julien Cristau <jcristau@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:dickey@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 <root@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 <shah@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 <jcristau@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 <jcristau@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 <jcristau@debian.org> Mon, 22 Nov 2010 19:06:50 +0100
commit 17adfe97bdb9be5917b071c96bd968c2dee765b9
Author: Julien Cristau <jcristau@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),
Reply to: