INSTALL | 97 Imakefile | 32 MANIFEST | 42 Makefile.in | 187 THANKS | 12 Tekproc.c | 7 VTPrsTbl.c | 110 VTparse.def | 10 VTparse.h | 16 aclocal.m4 | 1336 - button.c | 226 charproc.c | 2579 +- config.guess | 202 config.sub | 112 configure |12266 ++++++---- configure.in | 233 ctlseqs.ms | 311 ctlseqs.txt | 527 cursor.c | 166 data.h | 6 debian/changelog | 40 debian/local/xterm.faq.html | 419 debian/patches/100_fix_crash_with_tektronix_mode.diff | 74 debian/patches/101_670638.diff | 141 debian/patches/102_MdFlag.diff | 19 debian/patches/103_nullptr.diff | 28 debian/patches/900_debian_xterm.diff | 10 debian/patches/902_windowops.diff | 4 debian/patches/904_fontops.diff | 8 debian/patches/series | 4 debian/rules | 3 debian/xterm.install | 1 dev/null |binary df-install.in | 19 doublechr.c | 44 error.h | 5 fontutils.c | 68 icons/filled-xterm.png |binary icons/filled-xterm.svg | 680 icons/filled-xterm.xpms | 694 icons/filled-xterm_16x16.xpm | 129 icons/filled-xterm_32x32.xpm | 260 icons/filled-xterm_48x48.xpm | 297 icons/make-xpms | 26 icons/mini.xterm.svg | 128 icons/mini.xterm.xpms | 553 icons/mini.xterm_16x16.png |binary icons/mini.xterm_16x16.xpm | 103 icons/mini.xterm_256x256.png |binary icons/mini.xterm_32x32.png |binary icons/mini.xterm_32x32.xpm | 178 icons/mini.xterm_48x48.png |binary icons/mini.xterm_48x48.xpm | 264 icons/terminal_48x48.svg | 643 icons/terminal_48x48.xpm | 53 icons/xterm-color.png |binary icons/xterm-color.svg | 792 icons/xterm-color.xpms | 263 icons/xterm-color_16x16.xpm | 99 icons/xterm-color_32x32.xpm | 123 icons/xterm-color_48x48.xpm | 4 icons/xterm.png |binary icons/xterm.svg | 652 icons/xterm.xpms | 119 icons/xterm_16x16.xpm | 21 icons/xterm_32x32.xpm | 126 icons/xterm_48x48.xpm | 100 input.c | 349 koi8rxterm.man | 39 linedata.c | 5 main.c | 263 main.h | 16 menu.c | 170 menu.h | 11 minstall.in | 39 misc.c | 1027 os2main.c | 2227 - package/debian/changelog | 89 package/debian/rules | 10 package/debian/xterm-dev.menu | 14 package/debian/xterm-xres.sed | 3 package/freebsd/Makefile | 98 package/freebsd/pkg-descr | 10 package/freebsd/pkg-message | 10 package/freebsd/pkg-plist | 22 package/xterm.spec | 59 precompose.c | 7 print.c | 55 proto.h | 62 ptydata.c | 12 ptyx.h | 213 resize.c | 281 resize.man | 169 screen.c | 327 scrollback.c | 16 scrollbar.c | 97 tabs.c | 17 termcap | 14 terminfo | 14 trace.c | 120 trace.h | 21 util.c | 917 uxterm.desktop | 5 uxterm.man | 37 version.c | 74 version.h | 17 vttests/256colors2.pl | 116 vttests/88colors2.pl | 108 vttests/query-color.pl | 168 wcwidth.c | 148 xcharmouse.h | 8 xstrings.c | 196 xstrings.h | 5 xterm.desktop | 5 xterm.h | 168 xterm.log.html |20418 ++++++++++-------- xterm.man | 1292 - xterm_io.h | 96 xtermcfg.hin | 33 xutf8.c | 20 120 files changed, 34331 insertions(+), 21057 deletions(-)
New commits: commit d0a6f112a6fad7850397d61020f3599a5eabfc77 Author: Sven Joachim <svenj...@gmx.de> Date: Thu May 23 20:37:46 2013 +0200 Update copy of XTerm FAQ to revision 1.229 (dated 2013/05/18) diff --git a/debian/changelog b/debian/changelog index 30680dc..a85d05f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,7 @@ xterm (292-1) UNRELEASED; urgency=low * New upstream release. * Refresh 904_fontops.diff. + * Update copy of XTerm FAQ to revision 1.229 (dated 2013/05/18). -- Sven Joachim <svenj...@gmx.de> Thu, 23 May 2013 20:04:08 +0200 diff --git a/debian/local/xterm.faq.html b/debian/local/xterm.faq.html index 3f99d17..9bc1825 100644 --- a/debian/local/xterm.faq.html +++ b/debian/local/xterm.faq.html @@ -1,4 +1,3 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <!-- ***************************************************************************** * Copyright 1997-2012,2013 by Thomas E. Dickey * @@ -20,8 +19,9 @@ * 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.221 2013/01/26 15:21:27 tom Exp $ + $XTermId: xterm.faq.html,v 1.229 2013/05/18 00:50:50 tom Exp $ --> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> @@ -32,20 +32,24 @@ <link rev="MADE" href="mailto:dic...@invisible-island.net"> <meta http-equiv="Content-Type" content= "text/html; charset=us-ascii"> - <link rel="SHORTCUT ICON" href="images/mini.xterm_48.ico" type= + <link rel="SHORTCUT ICON" href="/img/icons/xterm.ico" type= "image/x-icon"> + <link rel="stylesheet" href="/css/simplestyle.css" type= + "text/css"> </head> <body> <hr> - <a href= + + <p><a href= "http://invisible-island.net/">http://invisible-island.net/</a><a href="http://invisible-island.net/xterm/">xterm/</a><br> - Copyright © 1997-2012,2013 by Thomas E. Dickey + Copyright © 1997-2012,2013 by Thomas E. Dickey</p> <hr> - <a href= + + <p><a href= "http://invisible-island.net/xterm/xterm.faq.html">Here</a> is - the latest version of this file. + the latest version of this file.</p> <h2 id="contents-id"><a name="contents" id= "contents">Contents</a></h2> @@ -112,7 +116,7 @@ <p>From the manual page:</p> <blockquote> - The xterm program is a terminal emulator for the X Window + <p>The xterm program is a terminal emulator for the X Window System. It provides DEC VT102/VT220 and selected features from higher-level terminals such as VT320/VT420/VT520 (VTxxx). It also provides Tektronix 4014 emulation for programs that cannot @@ -120,7 +124,7 @@ system supports terminal resizing capabilities (for example, the SIGWINCH signal in systems derived from 4.3bsd), xterm will use the facilities to notify programs running in the window - whenever it is resized. + whenever it is resized.</p> </blockquote> <p>That is, xterm (pronounced "<em>eks</em>-xterm") is a @@ -155,7 +159,7 @@ Email from Jim Gettys provides some background:</p> <blockquote> - Cast of thousands... + <p>Cast of thousands...</p> <p>To give a bit of history, xterm predates X!</p> @@ -188,9 +192,9 @@ <p>Email from Doug Mink provides more background:</p> <blockquote> - I was checking out the newly revised AltaVista search engine to - see what was on the net about xterm, and I found your pages. I - can add to the FAQ in that I was the "guy at the Smithsonian + <p>I was checking out the newly revised AltaVista search engine + to see what was on the net about xterm, and I found your pages. + I can add to the FAQ in that I was the "guy at the Smithsonian Astrophysical Observatory" Jim Gettys refers to. I am listed at the end of the man page under authors. What happened was that I was hired by SAO (after leaving the research staff at MIT) in @@ -225,7 +229,7 @@ of operation, anyway. While I wrote the emulator so that my software would work on it, it was tested by the X group against a BBN graphics package, the name of which slips my mind right - now. + now.</p> <p>Anyway, 15 years later, I am still using xterm and some of the same mapping software I wrote the emulator for. And I am @@ -1691,14 +1695,14 @@ vmsterm:</p> <blockquote> - This script is for people who wish to connect from a Linux or - Unix computer to a VMS computer using telnet and get a good + <p>This script is for people who wish to connect from a Linux + or Unix computer to a VMS computer using telnet and get a good VT100 or VT220 emulation. The key mappings have been specifically designed to emulate the VT terminal auxiliary numeric keypad, so that you can use VMS EDT and TPU editors, as well as the many VMS applications use keys PF1 to PF4. The script should work with any recent version of Xterm using a - standard extended IBM PC keyboard or a Sun keyboard. + standard extended IBM PC keyboard or a Sun keyboard.</p> <p>About the keymappings. First the auxiliary numeric keypad. My prime objective with these mappings was to produce a setup @@ -2788,7 +2792,7 @@ current_title=$(xprop -id $WINDOWID | grep WM_NAME | cut -d= -f2) around 2000 is the core of the problem:</p> <blockquote> - ISO10646-1, ISO8859-1, ISO8859-2, ISO8859-3, ISO8859-4, + <p>ISO10646-1, ISO8859-1, ISO8859-2, ISO8859-3, ISO8859-4, ISO8859-5, ISO8859-6, ISO8859-7, ISO8859-8, ISO8859-9, ISO8859-10, ISO8859-11, ISO8859-13, ISO8859-14, ISO8859-15, ISO8859-16, JISX0201.1976-0, TIS620-0, GB2312.1980-0, @@ -2797,7 +2801,7 @@ current_title=$(xprop -id $WINDOWID | grep WM_NAME | cut -d= -f2) IBM-CP1133, MULELAO-1, VISCII1.1-1, TCVN-5712, GEORGIAN-ACADEMY, GEORGIAN-PS, ISO8859-9E, MICROSOFT-CP1251, MICROSOFT-CP1255, MICROSOFT-CP1256, BIG5-0, BIG5-E0, BIG5-E1, - ISO10646-1, ISO10646-1 + ISO10646-1, ISO10646-1</p> </blockquote> <p>However, xterm is going to use only the characters shown in @@ -3313,10 +3317,12 @@ current_title=$(xprop -id $WINDOWID | grep WM_NAME | cut -d= -f2) resources are redundant, so that is not a problem either).</p> </li> - </ul><a href= + </ul> + + <p><a href= "http://invisible-island.net/xterm/XTerm-debian-88c">Here is a resource file</a> which I tested with xterm-88c, xterm-149 and - xterm-158, using $TERM set to xterm-debian: <!--{{atr2html--> + xterm-158, using $TERM set to xterm-debian: <!--{{atr2html--></p> <p style="font-family: monospace; font-size: 10pt;"><font color= "#800000">! $Id: xterm.faq.html,v 1.169 2012/02/05 11:58:56 @@ -3458,6 +3464,11 @@ current_title=$(xprop -id $WINDOWID | grep WM_NAME | cut -d= -f2) <h4 id="xterm_terminfo-id"><a name="xterm_terminfo" id= "xterm_terminfo">What $TERM should I use?</a></h4> + <p><strong>XTerm</strong> provides in its sources both <a href= + "terminfo.html">terminfo</a> and termcap files. They are designed + to allow scripting to override the most common choices, e.g., the + backspace key.</p> + <p>The <code>xterm-color</code> value for $TERM is a bad choice for modern xterm because it is commonly used for a terminfo entry which happens to not support <code>bce</code>. Complicating @@ -3618,9 +3629,9 @@ current_title=$(xprop -id $WINDOWID | grep WM_NAME | cut -d= -f2) vt100 colors":</p> <blockquote> - <a href="images/contrast.jpg"><img width="450" src= + <p><a href="images/contrast.jpg"><img width="450" src= "images/contrast.jpg" alt= - "Contrasting blue in terminal emulators"></a> + "Contrasting blue in terminal emulators"></a></p> </blockquote>Of course, anyone <em>developing</em> a terminal emulator already knew that <a href= "../ncurses/ncurses.faq.html#vt100_color">vt100's never did do @@ -3786,8 +3797,8 @@ current_title=$(xprop -id $WINDOWID | grep WM_NAME | cut -d= -f2) mentioned in the terminfo manpage:</p> <blockquote> - Terminals which ignore a line-feed immediately after an am - wrap, such as the Concept and vt100, should indicate xenl. + <p>Terminals which ignore a line-feed immediately after an am + wrap, such as the Concept and vt100, should indicate xenl.</p> </blockquote> <p>When the terminal reaches the right margin, it is in a special @@ -4534,7 +4545,9 @@ current_title=$(xprop -id $WINDOWID | grep WM_NAME | cut -d= -f2) <li>certain types of key translations cause a core dump because the program does not check the event class before attempting to use events.</li> - </ul>(These bugs are also present in the X11R5 version). + </ul> + + <p>(These bugs are also present in the X11R5 version).</p> <p id="xterm-xorg">Update 2004/04/08:<br> Complicating this discussion is the "X.Org" xterm (from 2004). @@ -4711,14 +4724,14 @@ current_title=$(xprop -id $WINDOWID | grep WM_NAME | cut -d= -f2) <p>The documentation for GNOME terminal asserts:</p> <blockquote> - GNOME Terminal emulates the xterm application developed by the - X Consortium. In turn, the xterm application emulates the DEC - VT102 terminal and also supports the DEC VT220 escape + <p>GNOME Terminal emulates the xterm application developed by + the X Consortium. In turn, the xterm application emulates the + DEC VT102 terminal and also supports the DEC VT220 escape sequences. An escape sequence is a series of characters that starts with the Esc character. GNOME Terminal accepts all of the escape sequences that the VT102 and VT220 terminals use for functions such as to position the cursor and to clear the - screen. + screen.</p> </blockquote> <p>That sounds fine, except that it is both inaccurate and @@ -4770,8 +4783,9 @@ current_title=$(xprop -id $WINDOWID | grep WM_NAME | cut -d= -f2) <p>VTE's README file asserts</p> <blockquote> - VTE supports Unicode and character set conversion, as well as - emulating any terminal known to the system's terminfo database. + <p>VTE supports Unicode and character set conversion, as well + as emulating any terminal known to the system's terminfo + database.</p> </blockquote> <p>The latter part of that ("emulating any terminal") is @@ -4921,11 +4935,11 @@ current_title=$(xprop -id $WINDOWID | grep WM_NAME | cut -d= -f2) handbook illustrates the problem:</p> <blockquote> - After a decade, Konsole is the first rewrite from the ground + <p>After a decade, Konsole is the first rewrite from the ground up. While xterm has definitely been hacked to death (its README begins with the words Abandon All Hope, Ye Who Enter Here), Konsole offers a fresh start using contemporary technologies - and understanding of X. + and understanding of X.</p> </blockquote> <p>The problem:</p> @@ -5082,12 +5096,12 @@ current_title=$(xprop -id $WINDOWID | grep WM_NAME | cut -d= -f2) comment:</p> <blockquote> - rxvt, version 2.6.2, is a colour vt102 terminal emulator + <p>rxvt, version 2.6.2, is a colour vt102 terminal emulator intended as an xterm(1) replacement for users who do not require features such as Tektronix 4014 emulation and toolkit-style configurability. As a result, rxvt uses much less swap space -- a significant advantage on a machine serving many - X sessions. + X sessions.</p> </blockquote> <p>How much is <em>much less</em>? Perhaps not as much as one @@ -5108,10 +5122,10 @@ current_title=$(xprop -id $WINDOWID | grep WM_NAME | cut -d= -f2) <p>This comment was topical in December 2001:</p> <blockquote> - Compared with something like GNOME Terminal, which takes 2-3 + <p>Compared with something like GNOME Terminal, which takes 2-3 times, or KDE konsole, which takes 15-20 times as much memory to run, xterm and rxvt memory requirements are - indistinguishable to the normal user. + indistinguishable to the normal user.</p> </blockquote> <p>In June 2010, the numbers have changed somewhat. Here is a commit 9153146f890fb61a8d65cc715fc4e2137486865f Author: Sven Joachim <svenj...@gmx.de> Date: Thu May 23 20:04:51 2013 +0200 Refresh 904_fontops.diff diff --git a/debian/changelog b/debian/changelog index 56a9f84..30680dc 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,7 @@ xterm (292-1) UNRELEASED; urgency=low * New upstream release. + * Refresh 904_fontops.diff. -- Sven Joachim <svenj...@gmx.de> Thu, 23 May 2013 20:04:08 +0200 diff --git a/debian/patches/904_fontops.diff b/debian/patches/904_fontops.diff index a574f09..5af2db9 100644 --- a/debian/patches/904_fontops.diff +++ b/debian/patches/904_fontops.diff @@ -8,6 +8,6 @@ Index: xterm/xterm.man Specifies whether control sequences that set/query the font should be allowed. -The default is \*(``true\*(''. +The default is \*(``false\*(''. - .TP 8 - .B "allowScrollLock (\fPclass\fB AllowScrollLock)" - Specifies whether control sequences that set/query + .TP 5 + .B "allowPasteControls (\fPclass\fB AllowPasteControls)" + If true, allow control characters such as BEL and CAN to be pasted. commit ed96ee7effff2e013b54237e3f5ee6ec5248e227 Author: Sven Joachim <svenj...@gmx.de> Date: Thu May 23 20:04:20 2013 +0200 New upstream release diff --git a/debian/changelog b/debian/changelog index 760855f..56a9f84 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +xterm (292-1) UNRELEASED; urgency=low + + * New upstream release. + + -- Sven Joachim <svenj...@gmx.de> Thu, 23 May 2013 20:04:08 +0200 + xterm (290-1) experimental; urgency=low * New upstream release commit 02fcb7e21166059a85543800bd548b33131003c3 Author: Sven Joachim <svenj...@gmx.de> Date: Thu May 23 19:43:20 2013 +0200 Imported Upstream version 292 diff --git a/INSTALL b/INSTALL index 13a18f0..1918578 100644 --- a/INSTALL +++ b/INSTALL @@ -1,4 +1,4 @@ --- $XTermId: INSTALL,v 1.142 2013/02/03 19:36:47 tom Exp $ +-- $XTermId: INSTALL,v 1.143 2013/04/17 09:13:09 tom Exp $ ------------------------------------------------------------------------------- -- Copyright 1997-2012,2013 by Thomas E. Dickey -- @@ -240,6 +240,12 @@ The options (in alphabetic order): (The same ifdef controls the metaSendsEscape support). + --disable-openpty disable openpty, prefer other interfaces + + Do not check for, or use openpty(). Instead, use other interfaces such + as posix_openpt(). Modern (sic) BSD systems should have a workable + openpty() interface. Older systems may not. + --disable-paste64 disable support for bracketed paste mode Do not compile-in code to support experimental bracketed paste mode, diff --git a/MANIFEST b/MANIFEST index dad1577..0ea4ed9 100644 --- a/MANIFEST +++ b/MANIFEST @@ -1,4 +1,4 @@ -MANIFEST for xterm-291, version xterm-291 +MANIFEST for xterm-292, version xterm-292 -------------------------------------------------------------------------------- MANIFEST this file 256colres.h resource-definitions for 256-color mode diff --git a/aclocal.m4 b/aclocal.m4 index e3e176b..f1ca69f 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,4 +1,4 @@ -dnl $XTermId: aclocal.m4,v 1.360 2013/02/03 19:30:21 tom Exp $ +dnl $XTermId: aclocal.m4,v 1.362 2013/04/17 09:33:50 tom Exp $ dnl dnl --------------------------------------------------------------------------- dnl @@ -58,7 +58,7 @@ AC_DEFUN([AM_LANGINFO_CODESET], fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_ACVERSION_CHECK version: 3 updated: 2012/10/03 18:39:53 +dnl CF_ACVERSION_CHECK version: 4 updated: 2013/03/04 19:52:56 dnl ------------------ dnl Conditionally generate script according to whether we're using a given autoconf. dnl @@ -67,6 +67,7 @@ dnl $2 = code to use if AC_ACVERSION is at least as high as $1. dnl $3 = code to use if AC_ACVERSION is older than $1. define([CF_ACVERSION_CHECK], [ +ifdef([AC_ACVERSION], ,[m4_copy([m4_PACKAGE_VERSION],[AC_ACVERSION])])dnl ifdef([m4_version_compare], [m4_if(m4_version_compare(m4_defn([AC_ACVERSION]), [$1]), -1, [$3], [$2])], [CF_ACVERSION_COMPARE( @@ -552,7 +553,7 @@ AC_DEFUN([CF_ERRNO], CF_CHECK_ERRNO(errno) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_FUNC_GRANTPT version: 9 updated: 2012/10/04 05:24:07 +dnl CF_FUNC_GRANTPT version: 10 updated: 2013/04/17 05:31:24 dnl --------------- dnl Check for grantpt versus openpty, as well as functions that "should" be dnl available if grantpt is available. @@ -664,9 +665,10 @@ dnl If we found grantpt, but no features, e.g., for streams or if we are not dnl able to use tcsetattr, then give openpty a try. In particular, Darwin 10.7 dnl has a more functional openpty than posix_openpt. dnl -dnl There is no configure run-test for openpty, since its implementations do -dnl not always run properly as a non-root user. -if test "x$ac_cv_func_grantpt" != "xyes" || test -z "$cf_grantpt_opts" ; then +dnl There is no configure run-test for openpty, since older implementations do +dnl not always run properly as a non-root user. For that reason, we also allow +dnl the configure script to suppress this check entirely with $disable_openpty. +if test "x$disable_openpty" != "xyes" || test -z "$cf_grantpt_opts" ; then AC_CHECK_LIB(util, openpty, [cf_have_openpty=yes],[cf_have_openpty=no]) if test "$cf_have_openpty" = yes ; then ac_cv_func_grantpt=no @@ -683,6 +685,7 @@ fi dnl If we did not settle on using openpty, fill in the definitions for grantpt. if test "x$ac_cv_func_grantpt" != xno then + CF_VERBOSE(will rely upon grantpt) AC_DEFINE(HAVE_WORKING_GRANTPT,1,[Define to 1 if the grantpt function seems to work]) for cf_feature in $cf_grantpt_opts do @@ -693,6 +696,8 @@ then elif test "x$cf_have_openpty" = xno then CF_VERBOSE(will rely upon BSD-pseudoterminals) +else + CF_VERBOSE(will rely upon openpty) fi ])dnl dnl --------------------------------------------------------------------------- @@ -1285,7 +1290,7 @@ AC_TRY_LINK([ [cf_cv_input_method=no])]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_INTEL_COMPILER version: 4 updated: 2010/05/26 05:38:42 +dnl CF_INTEL_COMPILER version: 5 updated: 2013/02/10 10:41:05 dnl ----------------- dnl Check if the given compiler is really the Intel compiler for Linux. It dnl tries to imitate gcc, but does not return an error when it finds a mismatch @@ -1299,6 +1304,7 @@ dnl $1 = GCC (default) or GXX dnl $2 = INTEL_COMPILER (default) or INTEL_CPLUSPLUS dnl $3 = CFLAGS (default) or CXXFLAGS AC_DEFUN([CF_INTEL_COMPILER],[ +AC_REQUIRE([AC_CANONICAL_HOST]) ifelse([$2],,INTEL_COMPILER,[$2])=no if test "$ifelse([$1],,[$1],GCC)" = yes ; then @@ -3203,7 +3209,7 @@ esac AC_MSG_RESULT($ICON_NAME) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_WITH_ICON_THEME version: 8 updated: 2012/08/07 20:14:58 +dnl CF_WITH_ICON_THEME version: 9 updated: 2013/04/17 05:31:24 dnl ------------------ dnl If asked, check for prerequisites and setup symbols to permit installing dnl one or more application icons in the Red Hat icon-theme directory @@ -3252,7 +3258,7 @@ if test "x$ICON_THEME" = xno then if test "x$ICONDIR" != xno then - AC_MSG_WARN(ignoring icondir without theme) + CF_VERBOSE(ignoring icondir without theme) no_icondir="#" fi else @@ -3670,7 +3676,7 @@ then fi ]) dnl --------------------------------------------------------------------------- -dnl CF_XOPEN_SOURCE version: 42 updated: 2012/01/07 08:26:49 +dnl CF_XOPEN_SOURCE version: 43 updated: 2013/02/10 10:41:05 dnl --------------- dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions, dnl or adapt to the vendor's definitions to get equivalent functionality, @@ -3680,6 +3686,7 @@ dnl Parameters: dnl $1 is the nominal value for _XOPEN_SOURCE dnl $2 is the nominal value for _POSIX_C_SOURCE AC_DEFUN([CF_XOPEN_SOURCE],[ +AC_REQUIRE([AC_CANONICAL_HOST]) cf_XOPEN_SOURCE=ifelse([$1],,500,[$1]) cf_POSIX_C_SOURCE=ifelse([$2],,199506L,[$2]) diff --git a/button.c b/button.c index 98e9ecb..91b9811 100644 --- a/button.c +++ b/button.c @@ -1,4 +1,4 @@ -/* $XTermId: button.c,v 1.451 2013/02/06 09:56:15 tom Exp $ */ +/* $XTermId: button.c,v 1.454 2013/04/25 01:05:41 Taketo.Kabe Exp $ */ /* * Copyright 1999-2012,2013 by Thomas E. Dickey @@ -1963,6 +1963,50 @@ _WriteKey(TScreen * screen, const Char * in) } #endif /* OPT_READLINE */ +/* + * Unless enabled by the user, strip control characters other than formatting. + */ +static size_t +removeControls(XtermWidget xw, char *value) +{ + TScreen *screen = TScreenOf(xw); + size_t dst = 0; + size_t src = 0; + + if (screen->allowPasteControls) { + dst = strlen(value); + } else { + while ((value[dst] = value[src]) != '\0') { + int ch = CharOf(value[src++]); + if (ch < 32) { + switch (ch) { + case '\b': + case '\t': + case '\n': + case '\r': + ++dst; + break; + default: + continue; + } + } +#if OPT_WIDE_CHARS + else if (screen->utf8_inparse) + ++dst; +#endif +#if OPT_C1_PRINT || OPT_WIDE_CHARS + else if (screen->c1_printable) + ++dst; +#endif + else if (ch >= 128 && ch < 160) + continue; + else + ++dst; + } + } + return dst; +} + /* SelectionReceived: stuff received selection text into pty */ /* ARGSUSED */ @@ -2068,7 +2112,7 @@ SelectionReceived(Widget w, } #endif for (i = 0; i < text_list_count; i++) { - size_t len = strlen(text_list[i]); + size_t len = removeControls(xw, text_list[i]); if (screen->selectToBuffer) { size_t have = (screen->internal_select ? strlen(screen->internal_select) @@ -2839,7 +2883,6 @@ class_of(LineData * ld, CELL * cell) temp.col /= 2; } #endif - assert(temp.col < (int) ld->lineSize); return CharacterClass((int) (ld->charData[temp.col])); } @@ -2875,6 +2918,10 @@ okPosition(TScreen * screen, result = False; } } + if (cell->col > screen->max_col) { + /* Clicked on rightmost edge of the screen. Clamp to max_col */ + cell->col = screen->max_col; + } return result; } @@ -3301,6 +3348,13 @@ ComputeSelect(XtermWidget xw, screen->endSel.col = 0; NextRow(endSel); } + /* Clicking on right edge will make endSel.col == screen->max_col, + * so clamp it. Otherwise XTERM_CELL and friends will fail assertion + */ + if (screen->endSel.col > screen->max_col) { + screen->endSel.col = screen->max_col; + TRACE(("Select_WORD endSel.col clamped to %d\n", screen->endSel.col)); + } } #if OPT_WIDE_CHARS if (screen->endSel.col diff --git a/charproc.c b/charproc.c index 63ef021..a95f2f6 100644 --- a/charproc.c +++ b/charproc.c @@ -1,4 +1,4 @@ -/* $XTermId: charproc.c,v 1.1283 2013/02/05 01:47:58 tom Exp $ */ +/* $XTermId: charproc.c,v 1.1287 2013/04/24 09:07:06 tom Exp $ */ /* * Copyright 1999-2012,2013 by Thomas E. Dickey @@ -390,6 +390,8 @@ static XtActionsRec actionsList[] = { static XtResource xterm_resources[] = { + Bres(XtNallowPasteControls, XtCAllowPasteControls, + screen.allowPasteControls, False), Bres(XtNallowSendEvents, XtCAllowSendEvents, screen.allowSendEvent0, False), Bres(XtNallowColorOps, XtCAllowColorOps, screen.allowColorOp0, DEF_ALLOW_COLOR), Bres(XtNallowFontOps, XtCAllowFontOps, screen.allowFontOp0, DEF_ALLOW_FONT), @@ -407,7 +409,7 @@ static XtResource xterm_resources[] = Bres(XtNautoWrap, XtCAutoWrap, misc.autoWrap, True), Bres(XtNawaitInput, XtCAwaitInput, screen.awaitInput, False), Bres(XtNfreeBoldBox, XtCFreeBoldBox, screen.free_bold_box, False), - Bres(XtNbackarrowKey, XtCBackarrowKey, screen.backarrow_key, DEF_BACKARO_DEL), + Bres(XtNbackarrowKey, XtCBackarrowKey, screen.backarrow_key, DEF_BACKARO_BS), Bres(XtNbellIsUrgent, XtCBellIsUrgent, screen.bellIsUrgent, False), Bres(XtNbellOnReset, XtCBellOnReset, screen.bellOnReset, True), Bres(XtNboldMode, XtCBoldMode, screen.bold_mode, True), @@ -7427,6 +7429,7 @@ VTInitialize(Widget wrequest, init_Bres(screen.alt_sends_esc); init_Bres(screen.meta_sends_esc); + init_Bres(screen.allowPasteControls); init_Bres(screen.allowSendEvent0); init_Bres(screen.allowColorOp0); init_Bres(screen.allowFontOp0); @@ -8011,8 +8014,8 @@ VTDestroy(Widget w GCC_UNUSED) XtDestroyWidget(screen->scrollWidget); } #if OPT_FIFO_LINES - while (screen->saved_fifo-- > 0) { - deleteScrollback(screen, 0); + while (screen->saved_fifo > 0) { + deleteScrollback(screen); } #endif while (screen->save_title != 0) { diff --git a/configure b/configure index 4ef1f1b..613bd90 100755 --- a/configure +++ b/configure @@ -702,6 +702,7 @@ Compile/Install Options: --with-desktop-category=XXX one or more desktop catgories or auto --with-reference=XXX program to use as permissions-reference --with-xterm-symlink=XXX make symbolic link to installed xterm + --disable-openpty disable openpty, prefer other interfaces --disable-setuid disable setuid in xterm, do not install setuid/setgid --disable-setgid disable setgid in xterm, do not install setuid/setgid --with-setuid=XXX use the given setuid user @@ -717,7 +718,7 @@ Compile/Install Options: --enable-narrowproto enable narrow prototypes for X libraries --disable-imake disable use of imake for definitions Terminal Configuration: - --with-terminal-id=V set default decTerminalID (default: vt100) + --with-terminal-id=V set default decTerminalID (default: vt420) --with-terminal-type=T set default $TERM (default: xterm) --enable-backarrow-key set default backarrowKey resource (default: true) --enable-backarrow-is-erase set default backarrowKeyIsErase resource (default: false) @@ -984,7 +985,7 @@ if test -z "$CONFIG_SITE"; then fi for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then - { echo "$as_me:987: loading site script $ac_site_file" >&5 + { echo "$as_me:988: loading site script $ac_site_file" >&5 echo "$as_me: loading site script $ac_site_file" >&6;} cat "$ac_site_file" >&5 . "$ac_site_file" @@ -995,7 +996,7 @@ if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special # files actually), so we avoid doing that. if test -f "$cache_file"; then - { echo "$as_me:998: loading cache $cache_file" >&5 + { echo "$as_me:999: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . $cache_file;; @@ -1003,7 +1004,7 @@ echo "$as_me: loading cache $cache_file" >&6;} esac fi else - { echo "$as_me:1006: creating cache $cache_file" >&5 + { echo "$as_me:1007: creating cache $cache_file" >&5 echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi @@ -1019,21 +1020,21 @@ for ac_var in `(set) 2>&1 | eval ac_new_val="\$ac_env_${ac_var}_value" case $ac_old_set,$ac_new_set in set,) - { echo "$as_me:1022: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 + { echo "$as_me:1023: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) - { echo "$as_me:1026: error: \`$ac_var' was not set in the previous run" >&5 + { echo "$as_me:1027: error: \`$ac_var' was not set in the previous run" >&5 echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then - { echo "$as_me:1032: error: \`$ac_var' has changed since the previous run:" >&5 + { echo "$as_me:1033: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - { echo "$as_me:1034: former value: $ac_old_val" >&5 + { echo "$as_me:1035: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} - { echo "$as_me:1036: current value: $ac_new_val" >&5 + { echo "$as_me:1037: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} ac_cache_corrupted=: fi;; @@ -1052,9 +1053,9 @@ echo "$as_me: current value: $ac_new_val" >&2;} fi done if $ac_cache_corrupted; then - { echo "$as_me:1055: error: changes in the environment can compromise the build" >&5 + { echo "$as_me:1056: error: changes in the environment can compromise the build" >&5 echo "$as_me: error: changes in the environment can compromise the build" >&2;} - { { echo "$as_me:1057: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 + { { echo "$as_me:1058: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } fi @@ -1075,10 +1076,10 @@ esac echo "#! $SHELL" >conftest.sh echo "exit 0" >>conftest.sh chmod +x conftest.sh -if { (echo "$as_me:1078: PATH=\".;.\"; conftest.sh") >&5 +if { (echo "$as_me:1079: PATH=\".;.\"; conftest.sh") >&5 (PATH=".;."; conftest.sh) 2>&5 ac_status=$? - echo "$as_me:1081: \$? = $ac_status" >&5 + echo "$as_me:1082: \$? = $ac_status" >&5 (exit $ac_status); }; then ac_path_separator=';' else @@ -1106,7 +1107,7 @@ for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do fi done if test -z "$ac_aux_dir"; then - { { echo "$as_me:1109: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 + { { echo "$as_me:1110: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} { (exit 1); exit 1; }; } fi @@ -1116,11 +1117,11 @@ ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. # Make sure we can run config.sub. $ac_config_sub sun4 >/dev/null 2>&1 || - { { echo "$as_me:1119: error: cannot run $ac_config_sub" >&5 + { { echo "$as_me:1120: error: cannot run $ac_config_sub" >&5 echo "$as_me: error: cannot run $ac_config_sub" >&2;} { (exit 1); exit 1; }; } -echo "$as_me:1123: checking build system type" >&5 +echo "$as_me:1124: checking build system type" >&5 echo $ECHO_N "checking build system type... $ECHO_C" >&6 if test "${ac_cv_build+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -1129,16 +1130,16 @@ else test -z "$ac_cv_build_alias" && ac_cv_build_alias=`$ac_config_guess` test -z "$ac_cv_build_alias" && - { { echo "$as_me:1132: error: cannot guess build type; you must specify one" >&5 + { { echo "$as_me:1133: error: cannot guess build type; you must specify one" >&5 echo "$as_me: error: cannot guess build type; you must specify one" >&2;} { (exit 1); exit 1; }; } ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || - { { echo "$as_me:1136: error: $ac_config_sub $ac_cv_build_alias failed." >&5 + { { echo "$as_me:1137: error: $ac_config_sub $ac_cv_build_alias failed." >&5 echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed." >&2;} { (exit 1); exit 1; }; } fi -echo "$as_me:1141: result: $ac_cv_build" >&5 +echo "$as_me:1142: result: $ac_cv_build" >&5 echo "${ECHO_T}$ac_cv_build" >&6 build=$ac_cv_build build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` @@ -1146,7 +1147,7 @@ build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` if test -f $srcdir/config.guess || test -f $ac_aux_dir/config.guess ; then - echo "$as_me:1149: checking host system type" >&5 + echo "$as_me:1150: checking host system type" >&5 echo $ECHO_N "checking host system type... $ECHO_C" >&6 if test "${ac_cv_host+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -1155,12 +1156,12 @@ else test -z "$ac_cv_host_alias" && ac_cv_host_alias=$ac_cv_build_alias ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || - { { echo "$as_me:1158: error: $ac_config_sub $ac_cv_host_alias failed" >&5 + { { echo "$as_me:1159: error: $ac_config_sub $ac_cv_host_alias failed" >&5 echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} { (exit 1); exit 1; }; } fi -echo "$as_me:1163: result: $ac_cv_host" >&5 +echo "$as_me:1164: result: $ac_cv_host" >&5 echo "${ECHO_T}$ac_cv_host" >&6 host=$ac_cv_host host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` @@ -1186,13 +1187,13 @@ else fi test -z "$system_name" && system_name="$cf_cv_system_name" -test -n "$cf_cv_system_name" && echo "$as_me:1189: result: Configuring for $cf_cv_system_name" >&5 +test -n "$cf_cv_system_name" && echo "$as_me:1190: result: Configuring for $cf_cv_system_name" >&5 echo "${ECHO_T}Configuring for $cf_cv_system_name" >&6 if test ".$system_name" != ".$cf_cv_system_name" ; then - echo "$as_me:1193: result: Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&5 + echo "$as_me:1194: result: Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&5 echo "${ECHO_T}Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&6 - { { echo "$as_me:1195: error: \"Please remove config.cache and try again.\"" >&5 + { { echo "$as_me:1196: error: \"Please remove config.cache and try again.\"" >&5 echo "$as_me: error: \"Please remove config.cache and try again.\"" >&2;} { (exit 1); exit 1; }; } fi @@ -1217,7 +1218,7 @@ ac_main_return=return if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 -echo "$as_me:1220: checking for $ac_word" >&5 +echo "$as_me:1221: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -1232,7 +1233,7 @@ for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_CC="${ac_tool_prefix}gcc" -echo "$as_me:1235: found $ac_dir/$ac_word" >&5 +echo "$as_me:1236: found $ac_dir/$ac_word" >&5 break done @@ -1240,10 +1241,10 @@ fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:1243: result: $CC" >&5 + echo "$as_me:1244: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else - echo "$as_me:1246: result: no" >&5 + echo "$as_me:1247: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -1252,7 +1253,7 @@ if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 -echo "$as_me:1255: checking for $ac_word" >&5 +echo "$as_me:1256: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -1267,7 +1268,7 @@ for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue -- 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/e1ufblo-0007nc...@vasks.debian.org