xterm: Changes to 'debian-experimental'
INSTALL | 20
MANIFEST | 2
Makefile.in | 9
VTPrsTbl.c | 20
VTparse.h | 7
aclocal.m4 | 128 -
charproc.c | 100
configure | 4084 ++++++++++++++++++++------------------
configure.in | 24
ctlseqs.ms | 38
ctlseqs.txt | 30
debian/changelog | 7
debian/patches/902_windowops.diff | 2
debian/patches/904_fontops.diff | 4
fontutils.c | 63
input.c | 10
menu.c | 6
minstall.in | 5
misc.c | 29
package/debian/changelog | 6
package/debian/copyright | 2
package/freebsd/Makefile | 2
package/xterm.spec | 4
ptyx.h | 7
screen.c | 20
trace.c | 6
trace.h | 8
util.c | 165 +
version.h | 8
vttests/resize.pl | 2
xterm.h | 19
xterm.log.html | 111 +
xterm.man | 140 +
xtermcfg.hin | 6
34 files changed, 2974 insertions(+), 2120 deletions(-)
New commits:
commit 24795f683a85ce204db914e246c7d52aa0a2f7ca
Author: Sven Joachim <svenjoac@gmx.de>
Date: Wed Mar 4 17:23:48 2015 +0100
Refresh Debian patches
diff --git a/debian/changelog b/debian/changelog
index 6b01d53..2e0cf88 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,7 @@
xterm (315-1) UNRELEASED; urgency=low
* New upstream release.
+ * Refresh Debian patches.
-- Sven Joachim <svenjoac@gmx.de> Wed, 04 Mar 2015 17:09:50 +0100
diff --git a/debian/patches/902_windowops.diff b/debian/patches/902_windowops.diff
index 630f116..f2cfe3e 100644
--- a/debian/patches/902_windowops.diff
+++ b/debian/patches/902_windowops.diff
@@ -4,7 +4,7 @@
--- a/xterm.man
+++ b/xterm.man
-@@ -2543,8 +2543,9 @@ This is a comma-separated list of names,
+@@ -2648,8 +2648,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 4a0b58c..fbf732b 100644
--- a/debian/patches/904_fontops.diff
+++ b/debian/patches/904_fontops.diff
@@ -4,12 +4,12 @@
--- a/xterm.man
+++ b/xterm.man
-@@ -1814,7 +1814,7 @@ The default is \*(``true\*(''.
+@@ -1899,7 +1899,7 @@ The default is \*(``true\*(''.
.TP
.B "allowFontOps (\fPclass\fB AllowFontOps)"
Specifies whether control sequences that set/query the font should be allowed.
-The default is \*(``true\*(''.
+The default is \*(``false\*(''.
- .TP 5
+ .TP 8
.B "allowPasteControls (\fPclass\fB AllowPasteControls)"
If true, allow control characters such as BEL and CAN to be pasted.
commit d31a080d05446990a78b59c19be409c6cb2c536b
Author: Sven Joachim <svenjoac@gmx.de>
Date: Wed Mar 4 17:11:18 2015 +0100
New upstream release
diff --git a/debian/changelog b/debian/changelog
index b4940a7..6b01d53 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+xterm (315-1) UNRELEASED; urgency=low
+
+ * New upstream release.
+
+ -- Sven Joachim <svenjoac@gmx.de> Wed, 04 Mar 2015 17:09:50 +0100
+
xterm (314-1) experimental; urgency=low
* New upstream release.
commit 281b51a36eb78b1c42f8c82f30b323d4cc15c72c
Author: Sven Joachim <svenjoac@gmx.de>
Date: Wed Mar 4 17:00:29 2015 +0100
Imported Upstream version 315
diff --git a/INSTALL b/INSTALL
index ed0ff37..1b6def9 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,6 +1,6 @@
--- $XTermId: INSTALL,v 1.154 2014/12/22 10:16:18 tom Exp $
+-- $XTermId: INSTALL,v 1.156 2015/02/11 10:17:08 tom Exp $
-------------------------------------------------------------------------------
--- Copyright 1997-2013,2014 by Thomas E. Dickey
+-- Copyright 1997-2014,2015 by Thomas E. Dickey
--
-- All Rights Reserved
--
@@ -392,6 +392,18 @@ The options (in alphabetic order):
appear to freeze. This workaround makes xterm ignore the strings,
and is compiled-in by default for Linux.
+ --enable-builtin-xpms allow broken Linux OSC-strings],
+
+ Compile-in X pixmap data for these icons:
+ filled-xterm
+ mini.xterm
+ xterm-color
+ xterm
+ at these sizes
+ 16x16
+ 32x32
+ 48x48
+
--enable-dabbrev enable dynamic-abbreviation support
Compile-in support for "dabbrev-expand()" action and related key
@@ -432,6 +444,10 @@ The options (in alphabetic order):
Compile-in code to support HP-style function keys.
+ --enable-initial-erase set default ptyInitialErase resource (default: false)
+
+ This sets the default resource value, which is shown in the manpage.
+
--enable-load-vt-fonts enable load-vt-fonts() action
Compile-in code that allows user to define load different VT-font
diff --git a/MANIFEST b/MANIFEST
index e135d9e..c9694e3 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -1,4 +1,4 @@
-MANIFEST for xterm-314, version xterm-314
+MANIFEST for xterm-315, version xterm-315
--------------------------------------------------------------------------------
MANIFEST this file
256colres.h resource-definitions for 256-color mode
diff --git a/Makefile.in b/Makefile.in
index f4198a8..5064a12 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,8 +1,8 @@
-## $XTermId: Makefile.in,v 1.233 2014/12/22 22:36:43 tom Exp $
+## $XTermId: Makefile.in,v 1.234 2015/02/12 09:31:30 tom Exp $
# -----------------------------------------------------------------------------
# this file is part of xterm
#
-# Copyright 1997-2013,2014 by Thomas E. Dickey
+# Copyright 1997-2014,2015 by Thomas E. Dickey
#
# All Rights Reserved
#
@@ -507,13 +507,16 @@ distclean :: clean
distclean \
docs-clean ::
- -$(RM) *.ps *.pdf *.png man2html.tmp
+ -$(RM) *.ps *.pdf *.png
-$(SHELL) -c 'for p in xterm resize uxterm koi8rxterm; \
do \
$(RM) $$p.html $$p.$(manext) $$p.txt; \
done'
-$(RM) ctlseqs.html ctlseqs.$(manext)
+distclean ::
+ -$(RM) man2html.tmp
+
realclean : distclean
-$(RM) tags TAGS
diff --git a/VTPrsTbl.c b/VTPrsTbl.c
index 41e7901..f9868c4 100644
--- a/VTPrsTbl.c
+++ b/VTPrsTbl.c
@@ -1,7 +1,7 @@
-/* $XTermId: VTPrsTbl.c,v 1.79 2014/05/02 23:32:27 tom Exp $ */
+/* $XTermId: VTPrsTbl.c,v 1.81 2015/02/16 01:51:51 tom Exp $ */
/*
- * Copyright 1999-2013,2014 by Thomas E. Dickey
+ * Copyright 1999-2014,2015 by Thomas E. Dickey
*
* All Rights Reserved
*
@@ -61,8 +61,14 @@
#endif
#if !OPT_DEC_LOCATOR
-#undef CASE_CSI_TICK_STATE
-#define CASE_CSI_TICK_STATE CASE_CSI_IGNORE
+#undef CASE_DECEFR
+#define CASE_DECEFR CASE_CSI_IGNORE
+#undef CASE_DECELR
+#define CASE_DECELR CASE_CSI_IGNORE
+#undef CASE_DECSLE
+#define CASE_DECSLE CASE_CSI_IGNORE
+#undef CASE_DECRQLP
+#define CASE_DECRQLP CASE_CSI_IGNORE
#endif
#if !OPT_WIDE_CHARS
@@ -454,7 +460,7 @@ CASE_CSI_EX_STATE,
CASE_CSI_QUOTE_STATE,
CASE_CSI_IGNORE,
/* $ % & ' */
-CASE_CSI_IGNORE,
+CASE_CSI_DOLLAR_STATE,
CASE_CSI_IGNORE,
CASE_CSI_IGNORE,
CASE_CSI_TICK_STATE,
@@ -614,7 +620,7 @@ CASE_CSI_EX_STATE,
CASE_CSI_QUOTE_STATE,
CASE_CSI_IGNORE,
/* currency yen brokenbar section */
-CASE_CSI_IGNORE,
+CASE_CSI_DOLLAR_STATE,
CASE_CSI_IGNORE,
CASE_CSI_IGNORE,
CASE_CSI_TICK_STATE,
@@ -2028,7 +2034,6 @@ CASE_IGNORE,
};
#endif
-#if OPT_DEC_LOCATOR
Const PARSE_T csi_tick_table[] = /* CSI ... ' */
{
/* NUL SOH STX ETX */
@@ -2352,7 +2357,6 @@ CASE_DECIC,
CASE_DECDC,
CASE_IGNORE,
};
-#endif /* OPT_DEC_LOCATOR */
#if OPT_DEC_RECTOPS
Const PARSE_T csi_dollar_table[] = /* CSI ... $ */
diff --git a/VTparse.h b/VTparse.h
index f49a805..7f9170e 100644
--- a/VTparse.h
+++ b/VTparse.h
@@ -1,7 +1,7 @@
-/* $XTermId: VTparse.h,v 1.64 2014/04/25 21:37:35 tom Exp $ */
+/* $XTermId: VTparse.h,v 1.65 2015/02/16 00:10:39 tom Exp $ */
/*
- * Copyright 2002-2013,2014 by Thomas E. Dickey
+ * Copyright 2002-2014,2015 by Thomas E. Dickey
*
* All Rights Reserved
*
@@ -88,10 +88,7 @@ extern Const PARSE_T scs96table[];
extern Const PARSE_T scstable[];
extern Const PARSE_T sos_table[];
extern Const PARSE_T csi_dec_dollar_table[];
-
-#if OPT_DEC_LOCATOR
extern Const PARSE_T csi_tick_table[];
-#endif /* OPT_DEC_LOCATOR */
#if OPT_DEC_RECTOPS
extern Const PARSE_T csi_dollar_table[];
diff --git a/aclocal.m4 b/aclocal.m4
index 07d7633..4d808cd 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,8 +1,8 @@
-dnl $XTermId: aclocal.m4,v 1.385 2014/12/22 21:38:37 tom Exp $
+dnl $XTermId: aclocal.m4,v 1.402 2015/03/02 23:51:14 tom Exp $
dnl
dnl ---------------------------------------------------------------------------
dnl
-dnl Copyright 1997-2013,2014 by Thomas E. Dickey
+dnl Copyright 1997-2014,2015 by Thomas E. Dickey
dnl
dnl All Rights Reserved
dnl
@@ -536,7 +536,7 @@ if test "$cf_disable_rpath_hack" = no ; then
fi
])
dnl ---------------------------------------------------------------------------
-dnl CF_ENABLE_NARROWPROTO version: 3 updated: 2006/02/12 17:46:00
+dnl CF_ENABLE_NARROWPROTO version: 4 updated: 2015/03/02 18:49:48
dnl ---------------------
dnl If this is not set properly, Xaw's scrollbars will not work.
dnl The so-called "modular" configuration for X.org omits most of the
@@ -547,7 +547,7 @@ AC_DEFUN([CF_ENABLE_NARROWPROTO],
AC_MSG_CHECKING(if you want narrow prototypes for X libraries)
case `$ac_config_guess` in #(vi
-*cygwin*|*freebsd*|*gnu*|*irix5*|*irix6*|*linux-gnu*|*netbsd*|*openbsd*|*qnx*|*sco*|*sgi*) #(vi
+*freebsd*|*gnu*|*irix5*|*irix6*|*linux-gnu*|*netbsd*|*openbsd*|*qnx*|*sco*|*sgi*) #(vi
cf_default_narrowproto=yes
;;
*)
@@ -3006,7 +3006,7 @@ AC_MSG_RESULT($APP_CLASS)
AC_SUBST(APP_CLASS)
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_WITH_APP_DEFAULTS version: 5 updated: 2012/10/04 04:29:52
+dnl CF_WITH_APP_DEFAULTS version: 6 updated: 2015/01/02 09:05:50
dnl --------------------
dnl Handle configure option "--with-app-defaults", setting these shell
dnl variables:
@@ -3033,6 +3033,9 @@ dnl 32-bit:
dnl /usr/X11/etc/X11/app-defaults
dnl /usr/X11/share/X11/app-defaults
dnl /usr/X11/lib/X11/app-defaults
+dnl OSX uses
+dnl /opt/local/share/X11/app-defaults (MacPorts)
+dnl /opt/X11/share/X11/app-defaults (non-ports)
dnl 64-bit:
dnl /usr/X11/etc/X11/app-defaults
dnl /usr/X11/share/X11/app-defaults (I mkdir'd this)
@@ -3051,6 +3054,8 @@ if test "x[$]APPSDIR" = xauto
then
APPSDIR='${exec_prefix}/lib/X11/app-defaults'
for cf_path in \
+ /opt/local/share/X11/app-defaults \
+ /opt/X11/share/X11/app-defaults \
/usr/share/X11/app-defaults \
/usr/X11/share/X11/app-defaults \
/usr/X11/lib/X11/app-defaults \
@@ -3539,7 +3544,7 @@ else
fi
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_WITH_MAN2HTML version: 1 updated: 2014/12/22 05:08:33
+dnl CF_WITH_MAN2HTML version: 2 updated: 2015/02/15 12:45:44
dnl ----------------
dnl Check for man2html and groff. Optionally prefer man2html over groff.
dnl Generate a shell script which hides the differences between the two.
@@ -3554,60 +3559,123 @@ AC_MSG_CHECKING(for program to convert manpage to html)
AC_ARG_WITH(man2html,
[ --with-man2html=XXX use XXX rather than groff],
[cf_man2html=$withval],
- [cf_man2html=no])
+ [cf_man2html=$GROFF_PATH])
+
+cf_with_groff=no
case $cf_man2html in #(vi
yes) #(vi
AC_MSG_RESULT(man2html)
AC_PATH_PROG(cf_man2html,man2html,no)
- cf_use_man2html=yes
;;
-no) #(vi
+no|groff|*/groff*) #(vi
+ cf_with_groff=yes
cf_man2html=$GROFF_PATH
AC_MSG_RESULT($cf_man2html)
- cf_use_man2html=no
;;
*)
AC_MSG_RESULT($cf_man2html)
- cf_use_man2html=yes
;;
esac
MAN2HTML_TEMP="man2html.tmp"
cat >$MAN2HTML_TEMP <<CF_EOF
-#!${SHELL}
+#!/bin/sh
# Temporary script generated by CF_WITH_MAN2HTML
# Convert inputs to html, sending result to standard output.
-
+#
+# Parameters:
+# $1 = rootname of file to convert
+# $2 = suffix of file to convert, e.g., "1"
+# $3 = macros to use, e.g., "man"
+#
ROOT=\[$]1
TYPE=\[$]2
MACS=\[$]3
+unset LANG
+unset LC_ALL
+unset LC_CTYPE
+unset LANGUAGE
GROFF_NO_SGR=stupid
export GROFF_NO_SGR
CF_EOF
-if test "x$cf_use_man2html" = xyes
+if test "x$cf_with_groff" = xyes
then
+ MAN2HTML_NOTE="$GROFF_NOTE"
+ MAN2HTML_PATH="$GROFF_PATH"
+ cat >>$MAN2HTML_TEMP <<CF_EOF
+/bin/sh -c "tbl \${ROOT}.\${TYPE} | $GROFF_PATH -P -o0 -I\${ROOT}_ -Thtml -\${MACS}"
+CF_EOF
+else
MAN2HTML_NOTE=""
CF_PATH_SYNTAX(cf_man2html)
- cat >>$MAN2HTML_TEMP <<-CF_EOF
- tbl \${ROOT}.\${TYPE} | nroff -\${MACS} | $cf_man2html
+ MAN2HTML_PATH="$cf_man2html"
+ AC_MSG_CHECKING(for $cf_man2html top/bottom margins)
+
+ # for this example, expect 3 lines of content, the remainder is head/foot
+ cat >conftest.in <<CF_EOF
+.TH HEAD1 HEAD2 HEAD3 HEAD4 HEAD5
+.SH SECTION
+MARKER
CF_EOF
-elif test "x$GROFF_PATH" != "xno"
-then
- MAN2HTML_NOTE=""
- cat >>$MAN2HTML_TEMP <<-CF_EOF
- tbl \${ROOT}.\${TYPE} | $GROFF_PATH -P -o0 -I\${ROOT}_ -Thtml -\${MACS}
+
+ LC_ALL=C LC_CTYPE=C LANG=C LANGUAGE=C nroff -man conftest.in >conftest.out
+
+ cf_man2html_1st=`fgrep -n MARKER conftest.out |sed -e 's/^[[^0-9]]*://' -e 's/:.*//'`
+ cf_man2html_top=`expr $cf_man2html_1st - 2`
+ cf_man2html_bot=`wc -l conftest.out |sed -e 's/[[^0-9]]//g'`
+ cf_man2html_bot=`expr $cf_man2html_bot - 2 - $cf_man2html_top`
+ cf_man2html_top_bot="-topm=$cf_man2html_top -botm=$cf_man2html_bot"
+
+ AC_MSG_RESULT($cf_man2html_top_bot)
+
+ AC_MSG_CHECKING(for pagesize to use)
+ for cf_block in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ do
+ cat >>conftest.in <<CF_EOF
+.nf
+0
+1
+2
+3
+4
+5
+6
+7
+8
+9
+CF_EOF
+ done
+
+ LC_ALL=C LC_CTYPE=C LANG=C LANGUAGE=C nroff -man conftest.in >conftest.out
+ cf_man2html_page=`fgrep -n HEAD1 conftest.out |tail -n 1 |sed -e 's/^[[^0-9]]*://' -e 's/:.*//'`
+ test -z "$cf_man2html_page" && cf_man2html_page=99999
+ test "$cf_man2html_page" -gt 100 && cf_man2html_page=99999
+
+ rm -rf conftest*
+ AC_MSG_RESULT($cf_man2html_page)
+
+ cat >>$MAN2HTML_TEMP <<CF_EOF
+: \${MAN2HTML_PATH=$MAN2HTML_PATH}
+MAN2HTML_OPTS="\$MAN2HTML_OPTS -index -title="\$ROOT\(\$TYPE\)" -compress -pgsize $cf_man2html_page"
+case \${TYPE} in #(vi
+ms) #(vi
+ tbl \${ROOT}.\${TYPE} | nroff -\${MACS} | \$MAN2HTML_PATH -topm=0 -botm=0 \$MAN2HTML_OPTS
+ ;;
+*)
+ tbl \${ROOT}.\${TYPE} | nroff -\${MACS} | \$MAN2HTML_PATH $cf_man2html_top_bot \$MAN2HTML_OPTS
+ ;;
+esac
CF_EOF
-else
- MAN2HTML_NOTE="#"
fi
chmod 700 $MAN2HTML_TEMP
AC_SUBST(MAN2HTML_NOTE)
+AC_SUBST(MAN2HTML_PATH)
AC_SUBST(MAN2HTML_TEMP)
])dnl
dnl ---------------------------------------------------------------------------
@@ -3766,6 +3834,20 @@ AC_DEFINE_UNQUOTED($1,[$]$2,$3)
AC_SUBST($2)
])
dnl ---------------------------------------------------------------------------
+dnl CF_XINERAMA version: 2 updated: 2015/02/15 15:18:41
+dnl -----------
+AC_DEFUN([CF_XINERAMA],[
+CF_TRY_PKG_CONFIG(xinerama,[
+ AC_DEFINE(HAVE_X11_EXTENSIONS_XINERAMA_H)],[
+ AC_CHECK_LIB(Xinerama,XineramaQueryScreens,
+ [CF_ADD_LIB(Xinerama)
+ AC_CHECK_HEADERS( \
+ X11/extensions/Xinerama.h \
+ )
+ ])
+ ])
+])dnl
+dnl ---------------------------------------------------------------------------
dnl CF_XKB_BELL_EXT version: 4 updated: 2012/10/04 20:12:20
dnl ---------------
dnl Check for XKB bell extension
diff --git a/charproc.c b/charproc.c
index 4e66fa8..50c61b0 100644
--- a/charproc.c
+++ b/charproc.c
@@ -1,7 +1,7 @@
-/* $XTermId: charproc.c,v 1.1393 2014/12/28 22:12:39 tom Exp $ */
+/* $XTermId: charproc.c,v 1.1407 2015/03/02 11:46:32 tom Exp $ */
/*
- * Copyright 1999-2013,2014 by Thomas E. Dickey
+ * Copyright 1999-2014,2015 by Thomas E. Dickey
*
* All Rights Reserved
*
@@ -2711,7 +2711,6 @@ doparsing(XtermWidget xw, unsigned c, struct ParseState *sp)
reply.a_param[count++] = 3; /* ReGIS graphics */
}
#endif
- reply.a_param[count++] = 6; /* selective-erase */
#if OPT_SIXEL_GRAPHICS
if (screen->terminal_id == 240 ||
screen->terminal_id == 241 ||
@@ -3204,7 +3203,7 @@ doparsing(XtermWidget xw, unsigned c, struct ParseState *sp)
reply.a_radix[count] = 16; /* no data */
reply.a_param[count++] = 0; /* no space for macros */
reply.a_inters = '*';
- reply.a_final = '{';
+ reply.a_final = L_CURL;
}
break;
case 63:
@@ -3322,8 +3321,10 @@ doparsing(XtermWidget xw, unsigned c, struct ParseState *sp)
dpmodes(xw, bitset);
ResetState(sp);
#if OPT_TEK4014
- if (TEK4014_ACTIVE(xw))
+ if (TEK4014_ACTIVE(xw)) {
+ TRACE(("Tek4014 is now active...\n"));
return False;
+ }
#endif
break;
@@ -3558,6 +3559,8 @@ doparsing(XtermWidget xw, unsigned c, struct ParseState *sp)
*/
if (GetParam(0) >= 61
&& GetParam(0) <= 60 + (screen->terminal_id / 100)) {
+ int new_vtXX_level = GetParam(0) - 60;
+ int case_value = zero_if_default(1);
/*
* VT300, VT420, VT520 manuals claim that DECSCL does a
* hard reset (RIS). VT220 manual states that it is a soft
@@ -3566,9 +3569,9 @@ doparsing(XtermWidget xw, unsigned c, struct ParseState *sp)
*/
ReallyReset(xw, False, False);
init_parser(xw, sp);
- screen->vtXX_level = GetParam(0) - 60;
- if (GetParam(0) > 61) {
- switch (zero_if_default(1)) {
+ screen->vtXX_level = new_vtXX_level;
+ if (new_vtXX_level > 1) {
+ switch (case_value) {
case 1:
show_8bit_control(False);
break;
@@ -3770,8 +3773,7 @@ doparsing(XtermWidget xw, unsigned c, struct ParseState *sp)
case CASE_DECDC:
TRACE(("CASE_DC - delete column\n"));
- if (screen->vtXX_level >= 4
- && IsLeftRightMode(xw)) {
+ if (screen->vtXX_level >= 4) {
xtermColScroll(xw, one_if_default(0), True, screen->cur_col);
}
ResetState(sp);
@@ -3779,8 +3781,7 @@ doparsing(XtermWidget xw, unsigned c, struct ParseState *sp)
case CASE_DECIC:
TRACE(("CASE_IC - insert column\n"));
- if (screen->vtXX_level >= 4
- && IsLeftRightMode(xw)) {
+ if (screen->vtXX_level >= 4) {
xtermColScroll(xw, one_if_default(0), False, screen->cur_col);
}
ResetState(sp);
@@ -3869,12 +3870,12 @@ doparsing(XtermWidget xw, unsigned c, struct ParseState *sp)
sp->parsestate = csi_ex_table;
break;
-#if OPT_DEC_LOCATOR
case CASE_CSI_TICK_STATE:
/* csi tick (') */
sp->parsestate = csi_tick_table;
break;
+#if OPT_DEC_LOCATOR
case CASE_DECEFR:
TRACE(("CASE_DECEFR - Enable Filter Rectangle\n"));
if (screen->send_mouse_pos == DEC_LOCATOR) {
@@ -5000,7 +5001,11 @@ dotext(XtermWidget xw,
}
width_here -= last_chomp;
if (chars_chomped > 0) {
- need_wrap = True;
+ if (!(xw->flags & WRAPAROUND)) {
+ buf[chars_chomped + offset - 1] = buf[len - 1];
+ } else {
+ need_wrap = True;
+ }
}
} else if (width_here == width_available) {
need_wrap = True;
@@ -5387,6 +5392,7 @@ dpmodes(XtermWidget xw, BitFunc func)
if (IsSM() && !(screen->inhibit & I_TEK)) {
FlushLog(xw);
TEK4014_ACTIVE(xw) = True;
+ TRACE(("Tek4014 is now active...\n"));
update_vttekmode();
}
break;
@@ -6551,7 +6557,10 @@ window_ops(XtermWidget xw)
case ewGetScreenSizeChars: /* Report the screen's size, in characters */
if (AllowWindowOps(xw, ewGetScreenSizeChars)) {
TRACE(("...get screen size in characters\n"));
- (void) QueryMaximize(xw, &root_height, &root_width);
+ TRACE(("...using font size %dx%d\n",
+ FontHeight(screen),
+ FontWidth(screen)));
+ (void) QueryMaximize(xw, &root_width, &root_height);
init_reply(ANSI_CSI);
reply.a_pintro = 0;
reply.a_nparam = 3;
@@ -7834,7 +7843,7 @@ VTInitialize(Widget wrequest,
init_Bres(screen.old_fkeys);
wnew->screen.old_fkeys0 = wnew->screen.old_fkeys;
- init_Bres(screen.delete_is_del);
+ init_Mres(screen.delete_is_del);
initializeKeyboardType(wnew);
#ifdef ALLOWLOGGING
init_Bres(misc.logInhibit);
@@ -8221,7 +8230,7 @@ VTInitialize(Widget wrequest,
init_Tres(HIGHLIGHT_BG);
init_Tres(HIGHLIGHT_FG);
init_Bres(screen.hilite_reverse);
- init_Bres(screen.hilite_color);
+ init_Mres(screen.hilite_color);
if (TScreenOf(wnew)->hilite_color == Maybe) {
TScreenOf(wnew)->hilite_color = False;
#if OPT_COLOR_RES
@@ -9028,8 +9037,8 @@ VTRealize(Widget w,
TScreen *screen = TScreenOf(xw);
const VTFontNames *myfont;
- unsigned width, height;
- int xpos, ypos, pr;
+ struct Xinerama_geometry pos;
+ int pr;
Atom pid_atom;
int i;
@@ -9113,22 +9122,21 @@ VTRealize(Widget w,
}
/* set defaults */
- xpos = 1;
- ypos = 1;
- width = 80;
- height = 24;
+ pos.x = 1;
+ pos.y = 1;
+ pos.w = 80;
+ pos.h = 24;
TRACE(("parsing geo_metry %s\n", NonNull(xw->misc.geo_metry)));
- pr = XParseGeometry(xw->misc.geo_metry, &xpos, &ypos,
- &width, &height);
- TRACE(("... position %d,%d size %dx%d\n", ypos, xpos, height, width));
+ pr = XParseXineramaGeometry(screen->display, xw->misc.geo_metry, &pos);
+ TRACE(("... position %d,%d size %dx%d\n", pos.y, pos.x, pos.h, pos.w));
- set_max_col(screen, (int) (width - 1)); /* units in character cells */
- set_max_row(screen, (int) (height - 1)); /* units in character cells */
+ set_max_col(screen, (int) (pos.w - 1)); /* units in character cells */
+ set_max_row(screen, (int) (pos.h - 1)); /* units in character cells */
xtermUpdateFontInfo(xw, False);
- width = screen->fullVwin.fullwidth;
- height = screen->fullVwin.fullheight;
+ pos.w = screen->fullVwin.fullwidth;
+ pos.h = screen->fullVwin.fullheight;
TRACE(("... border widget %d parent %d shell %d\n",
BorderWidth(xw),
@@ -9136,15 +9144,17 @@ VTRealize(Widget w,
BorderWidth(SHELL_OF(xw))));
if ((pr & XValue) && (XNegative & pr)) {
- xpos += (DisplayWidth(screen->display, DefaultScreen(screen->display))
- - (int) width
- - (BorderWidth(XtParent(xw)) * 2));
+ pos.x = (Position) (pos.x + (pos.scr_w
+ - (int) pos.w
+ - (BorderWidth(XtParent(xw)) * 2)));
}
if ((pr & YValue) && (YNegative & pr)) {
- ypos += (DisplayHeight(screen->display, DefaultScreen(screen->display))
- - (int) height
- - (BorderWidth(XtParent(xw)) * 2));
+ pos.y = (Position) (pos.y + (pos.scr_h
+ - (int) pos.h
+ - (BorderWidth(XtParent(xw)) * 2)));
}
+ pos.x = (Position) (pos.x + pos.scr_x);
+ pos.y = (Position) (pos.y + pos.scr_y);
/* set up size hints for window manager; min 1 char by 1 char */
getXtermSizeHints(xw);
@@ -9153,8 +9163,8 @@ VTRealize(Widget w,
+ BorderWidth(screen->scrollWidget))
: 0));
- xw->hints.x = xpos;
- xw->hints.y = ypos;
+ xw->hints.x = pos.x;
+ xw->hints.y = pos.y;
#if OPT_MAXIMIZE
/* assure single-increment resize for fullscreen */
if (term->work.ewmh[0].mode) {
@@ -9198,7 +9208,7 @@ VTRealize(Widget w,
* is for the vt100 widget. They are not the same size.
*/
(void) REQ_RESIZE((Widget) xw,
- (Dimension) width, (Dimension) height,
+ (Dimension) pos.w, (Dimension) pos.h,
&xw->core.width, &xw->core.height);
/* XXX This is bogus. We are parsing geometries too late. This
@@ -10438,13 +10448,15 @@ StopBlinking(TScreen *screen)
Bool
LineHasBlinking(TScreen *screen, CLineData *ld)
{
- int col;
Bool result = False;
+ if (ld != 0) {
+ int col;
- for (col = 0; col < MaxCols(screen); ++col) {
- if (ld->attribs[col] & BLINK) {
- result = True;
- break;
+ for (col = 0; col < MaxCols(screen); ++col) {
+ if (ld->attribs[col] & BLINK) {
+ result = True;
+ break;
+ }
}
}
return result;
diff --git a/configure b/configure
index f61b3a5..9ab06f9 100755
--- a/configure
+++ b/configure
@@ -682,15 +682,14 @@ if test -n "$ac_init_help"; then
cat <<\EOF
-Optional Packages:
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
-
Optional Features:
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --with-man2html=XXX use XXX rather than groff
+Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+
Compile/Install Options:
--disable-full-tgetent disable check for full tgetent function
--with-app-class=XXX override X applications class (default XTerm)
@@ -720,12 +719,14 @@ Compile/Install Options:
--with-XawPlus link with Athena-Plus library
--enable-narrowproto enable narrow prototypes for X libraries
--disable-imake disable use of imake for definitions
+ --with-man2html=XXX use XXX rather than groff
Terminal Configuration:
--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)
--enable-delete-is-del set default deleteIsDEL resource (default: maybe)
+ --enable-initial-erase set default ptyInitialErase resource (default: maybe)
--enable-alt-sends-esc set default altSendsEscape resource (default: no)
--enable-meta-sends-esc set default metaSendsEscape resource (default: no)
--with-own-terminfo=P set default $TERMINFO (default: from environment)
@@ -738,6 +739,7 @@ Optional Features:
--disable-blink-cursor disable support for blinking cursor
--enable-broken-osc allow broken Linux OSC-strings
--disable-broken-st disallow broken string-terminators
+ --enable-builtin-xpms compile-in icon data
--disable-c1-print disallow -k8 option for printable 128-159
--disable-bold-color disable PC-style mapping of bold colors
--disable-color-class disable separate color class resources
@@ -991,7 +993,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:994: loading site script $ac_site_file" >&5
+ { echo "$as_me:996: 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"
@@ -1002,7 +1004,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:1005: loading cache $cache_file" >&5
+ { echo "$as_me:1007: loading cache $cache_file" >&5
echo "$as_me: loading cache $cache_file" >&6;}
case $cache_file in
[\\/]* | ?:[\\/]* ) . $cache_file;;
@@ -1010,7 +1012,7 @@ echo "$as_me: loading cache $cache_file" >&6;}
esac
fi
else
- { echo "$as_me:1013: creating cache $cache_file" >&5
+ { echo "$as_me:1015: creating cache $cache_file" >&5
echo "$as_me: creating cache $cache_file" >&6;}
>$cache_file
fi
@@ -1026,21 +1028,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:1029: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+ { echo "$as_me:1031: 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:1033: error: \`$ac_var' was not set in the previous run" >&5
+ { echo "$as_me:1035: 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:1039: error: \`$ac_var' has changed since the previous run:" >&5
+ { echo "$as_me:1041: 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:1041: former value: $ac_old_val" >&5
+ { echo "$as_me:1043: former value: $ac_old_val" >&5
echo "$as_me: former value: $ac_old_val" >&2;}
- { echo "$as_me:1043: current value: $ac_new_val" >&5
+ { echo "$as_me:1045: current value: $ac_new_val" >&5
echo "$as_me: current value: $ac_new_val" >&2;}
ac_cache_corrupted=:
fi;;
@@ -1059,9 +1061,9 @@ echo "$as_me: current value: $ac_new_val" >&2;}
fi
done
if $ac_cache_corrupted; then
- { echo "$as_me:1062: error: changes in the environment can compromise the build" >&5
+ { echo "$as_me:1064: 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:1064: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+ { { echo "$as_me:1066: 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
@@ -1082,10 +1084,10 @@ esac
echo "#! $SHELL" >conftest.sh
echo "exit 0" >>conftest.sh
chmod +x conftest.sh
-if { (echo "$as_me:1085: PATH=\".;.\"; conftest.sh") >&5
+if { (echo "$as_me:1087: PATH=\".;.\"; conftest.sh") >&5
(PATH=".;."; conftest.sh) 2>&5
ac_status=$?
- echo "$as_me:1088: \$? = $ac_status" >&5
+ echo "$as_me:1090: \$? = $ac_status" >&5
(exit $ac_status); }; then
ac_path_separator=';'
else
@@ -1113,7 +1115,7 @@ for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
fi
done
if test -z "$ac_aux_dir"; then
- { { echo "$as_me:1116: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
+ { { echo "$as_me:1118: 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
@@ -1123,11 +1125,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:1126: error: cannot run $ac_config_sub" >&5
+ { { echo "$as_me:1128: error: cannot run $ac_config_sub" >&5
echo "$as_me: error: cannot run $ac_config_sub" >&2;}
{ (exit 1); exit 1; }; }
-echo "$as_me:1130: checking build system type" >&5
+echo "$as_me:1132: 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
@@ -1136,16 +1138,16 @@ else
test -z "$ac_cv_build_alias" &&
ac_cv_build_alias=`$ac_config_guess`
test -z "$ac_cv_build_alias" &&
- { { echo "$as_me:1139: error: cannot guess build type; you must specify one" >&5
+ { { echo "$as_me:1141: 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:1143: error: $ac_config_sub $ac_cv_build_alias failed." >&5
+ { { echo "$as_me:1145: 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:1148: result: $ac_cv_build" >&5
+echo "$as_me:1150: 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/'`
@@ -1153,7 +1155,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:1156: checking host system type" >&5
+ echo "$as_me:1158: 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
@@ -1162,12 +1164,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:1165: error: $ac_config_sub $ac_cv_host_alias failed" >&5
+ { { echo "$as_me:1167: 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:1170: result: $ac_cv_host" >&5
+echo "$as_me:1172: 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/'`
@@ -1193,13 +1195,13 @@ else
fi
test -z "$system_name" && system_name="$cf_cv_system_name"
-test -n "$cf_cv_system_name" && echo "$as_me:1196: result: Configuring for $cf_cv_system_name" >&5
+test -n "$cf_cv_system_name" && echo "$as_me:1198: 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:1200: result: Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&5
+ echo "$as_me:1202: 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:1202: error: \"Please remove config.cache and try again.\"" >&5
+ { { echo "$as_me:1204: 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
@@ -1224,7 +1226,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:1227: checking for $ac_word" >&5
+echo "$as_me:1229: checking for $ac_word" >&5
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_prog_CC+set}" = set; then
Reply to: