[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: