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

xterm: Changes to 'debian-unstable'



 INSTALL                   |   23 +-
 KOI8RXTerm.ad             |   20 +
 MANIFEST                  |    6 
 Makefile.in               |   36 ++-
 VTparse.def               |    6 
 XTerm.ad                  |    4 
 button.c                  |   39 ++-
 charproc.c                |  116 +++++++----
 configure                 |  169 +++++++++++-----
 configure.in              |   23 +-
 ctlseqs.ms                |   25 +-
 ctlseqs.txt               |   16 +
 debian/changelog          |   17 +
 debian/control            |    2 
 debian/local/KOI8RXTerm   |   20 -
 debian/local/koi8rxterm   |   85 --------
 debian/local/koi8rxterm.1 |   97 ---------
 debian/local/uxterm.1     |   91 --------
 debian/rules              |    7 
 doublechr.c               |  139 ++++++++-----
 fontutils.c               |   84 ++------
 fontutils.h               |   11 -
 gen-pc-fkeys.pl           |   50 +++-
 input.c                   |   64 ++++--
 koi8rxterm                |   84 ++++++++
 koi8rxterm.man            |   97 +++++++++
 main.c                    |   15 -
 main.h                    |    6 
 menu.c                    |  255 +++++++++++++++++++------
 menu.h                    |    6 
 misc.c                    |  108 +++++++++-
 os2main.c                 |   15 -
 ptyx.h                    |  123 ++++++------
 resize.c                  |   14 -
 screen.c                  |  172 ++++++++++------
 termcap                   |   26 +-
 terminfo                  |  321 +++++++++++++++++++++++++++++--
 trace.c                   |   32 ++-
 trace.h                   |   11 -
 util.c                    |  468 ++++++++++++++++++++++++++++++++--------------
 uxterm                    |   12 -
 uxterm.desktop            |    4 
 uxterm.man                |   91 ++++++++
 version.h                 |    4 
 vttests/tcapquery.pl      |   98 +++++++--
 xterm.desktop             |    4 
 xterm.h                   |   29 ++
 xterm.log.html            |  119 +++++++++++
 xterm.man                 |  110 ++++++++++
 xtermcap.c                |  288 +++++++++++++++++-----------
 xtermcap.h                |   13 +
 xtermcfg.hin              |    3 
 52 files changed, 2519 insertions(+), 1159 deletions(-)

New commits:
commit 7335a3354ab9fec865c40a8e303d4bee863d2622
Author: Julien Cristau <jcristau@debian.org>
Date:   Wed Jan 2 22:39:31 2008 +0100

    Bump Standards-Version, prepare changelog for upload.

diff --git a/debian/changelog b/debian/changelog
index 0ed6116..ce5672b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-xterm (230-1) UNRELEASED; urgency=low
+xterm (230-1) unstable; urgency=low
 
   * New upstream release.
     + do not treat Unicode BIDI control characters as combining characters
@@ -11,8 +11,9 @@ xterm (230-1) UNRELEASED; urgency=low
       narrow-character locale (closes: #449227)
   * koi8rxterm, its manpage and app-defaults file, and the uxterm manpage are
     now upstream, so remove our versions.
+  * Bump Standards-Version to 3.7.3 (no changes).
 
- -- Julien Cristau <jcristau@debian.org>  Wed, 02 Jan 2008 22:15:47 +0100
+ -- Julien Cristau <jcristau@debian.org>  Wed, 02 Jan 2008 22:17:12 +0100
 
 xterm (229-1) unstable; urgency=low
 
diff --git a/debian/control b/debian/control
index a920812..64c5ec9 100644
--- a/debian/control
+++ b/debian/control
@@ -3,7 +3,7 @@ Section: x11
 Priority: optional
 Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
 Uploaders: David Martínez Moreno <ender@debian.org>, David Nusinow <dnusinow@debian.org>, Julien Cristau <jcristau@debian.org>
-Standards-Version: 3.7.2
+Standards-Version: 3.7.3
 Build-Depends: libncurses5-dev | libncurses-dev, libxft-dev (>> 2.1.2), libxrender-dev (>> 1:0.9.0), libxaw7-dev, debhelper (>= 4.1.16), quilt, lynx
 
 # Reasons for Build-Depends:

commit 8ca53b3b5fdf1435d32f511a6098e478a0f11fdd
Author: Julien Cristau <jcristau@debian.org>
Date:   Wed Jan 2 22:17:00 2008 +0100

    Mention koi8rxterm and uxterm.1 upstream integration in the changelog.

diff --git a/debian/changelog b/debian/changelog
index 2e55a61..0ed6116 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -9,8 +9,10 @@ xterm (230-1) UNRELEASED; urgency=low
       (closes: #456236)
     + fix an ifdef in logic for selecting regular expressions while in a
       narrow-character locale (closes: #449227)
+  * koi8rxterm, its manpage and app-defaults file, and the uxterm manpage are
+    now upstream, so remove our versions.
 
- -- Julien Cristau <jcristau@debian.org>  Wed, 02 Jan 2008 20:07:29 +0100
+ -- Julien Cristau <jcristau@debian.org>  Wed, 02 Jan 2008 22:15:47 +0100
 
 xterm (229-1) unstable; urgency=low
 

commit 5a82b9dc4db7ca40206414c99636909990cac623
Author: Julien Cristau <jcristau@debian.org>
Date:   Wed Jan 2 22:09:49 2008 +0100

    Install koi8rxterm's app-defaults file.

diff --git a/Makefile.in b/Makefile.in
index ff90a4a..35dce70 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -221,6 +221,9 @@ install-full :: $(MANDIR)
 @no_appsdir@	@echo installing $(APPSDIR)/UXTerm
 @no_appsdir@	@sed -e s/XTerm/$(CLASS)/ $(srcdir)/UXTerm.ad >XTerm.tmp
 @no_appsdir@	@$(INSTALL_DATA) XTerm.tmp $(APPSDIR)/UXTerm
+@no_appsdir@	@echo installing $(APPSDIR)/KOI8RXTerm
+@no_appsdir@	@sed -e s/XTerm/$(CLASS)/ $(srcdir)/KOI8RXTerm.ad >XTerm.tmp
+@no_appsdir@	@$(INSTALL_DATA) XTerm.tmp $(APPSDIR)/KOI8RXTerm
 @no_appsdir@	@rm -f XTerm.tmp
 @no_icondir@	@echo "... installed app-defaults"
 

commit 82c5e59d25b08aa20f73119deb7d18ab9e473471
Author: Julien Cristau <jcristau@debian.org>
Date:   Wed Jan 2 22:09:29 2008 +0100

    Update changelog for xterm 230.

diff --git a/debian/changelog b/debian/changelog
index 13f3ec1..2e55a61 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,17 @@
+xterm (230-1) UNRELEASED; urgency=low
+
+  * New upstream release.
+    + do not treat Unicode BIDI control characters as combining characters
+      (closes: #457634)
+    + correct width-calculation used for adjusting proportional fonts, to work
+      with wide-characters (closes: #441354)
+    + make missing double-width glyphs display as double-width
+      (closes: #456236)
+    + fix an ifdef in logic for selecting regular expressions while in a
+      narrow-character locale (closes: #449227)
+
+ -- Julien Cristau <jcristau@debian.org>  Wed, 02 Jan 2008 20:07:29 +0100
+
 xterm (229-1) unstable; urgency=low
 
   * Fix typo in uxterm(1) (LP: #128136).

commit a0dade86d4e4611a252f805c4c2c0173a11f9dae
Author: Julien Cristau <jcristau@debian.org>
Date:   Wed Jan 2 20:06:13 2008 +0100

    Remove files integrated upstream.
    
    Our koi8rxterm script, its manpage and app-defaults file, and the uxterm
    manpage are now upstream.  Remove our copies, and don't install them.

diff --git a/debian/local/KOI8RXTerm b/debian/local/KOI8RXTerm
deleted file mode 100644
index f38ab89..0000000
--- a/debian/local/KOI8RXTerm
+++ /dev/null
@@ -1,20 +0,0 @@
-! $Id$
-
-! This is based on the UXTerm app-defaults file by Thomas Dickey.
-
-! Use
-!	xterm -class KOI8RXTerm
-! to set resources for KOI8-R mode with corresponding fonts.
-
-#include "XTerm-color"
-
-*fontMenu.Label:  KOI8-R Fonts
-*VT100*allowC1Printable:	true
-
-! Use Cyrillic instead of Latin fonts.
-*VT100.font:	-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-koi8-r
-*VT100.font2:	-misc-fixed-medium-r-normal--8-80-75-75-c-50-koi8-r
-*VT100.font3:	-misc-fixed-medium-r-normal--14-130-75-75-c-70-koi8-r
-*VT100.font4:	-misc-fixed-medium-r-normal--13-120-75-75-c-80-koi8-r
-*VT100.font5:	-misc-fixed-medium-r-normal--18-120-100-100-c-90-koi8-r
-*VT100.font6:	-misc-fixed-medium-r-normal--20-200-75-75-c-100-koi8-r
diff --git a/debian/local/koi8rxterm b/debian/local/koi8rxterm
deleted file mode 100644
index ef6e6c0..0000000
--- a/debian/local/koi8rxterm
+++ /dev/null
@@ -1,85 +0,0 @@
-#!/bin/sh
-# $Id$
-# This is a wrapper script to set up xterm with a KOI8-R locale; based on
-# uxterm, by Thomas Dickey.
-
-: ${XTERM_PROGRAM=xterm}
-
-# Check if there is a workable locale program.  If there is not, we will read
-# something via the standard error.  Ignore whatever is written to the
-# standard output.
-locale=`sh -c "LC_ALL=C LC_CTYPE=C LANG=C locale >/dev/null" 2>&1`
-found=no
-
-# Check for -version and -help options, to provide a simple return without
-# requiring the program to create a window:
-if test $# = 1
-then
-	case $1 in
-	-v|-ver*|-h|-he*)
-		$XTERM_PROGRAM "$@"
-		exit $?
-		;;
-	esac
-fi
-
-# Check environment variables that xterm does, in the same order:
-for name in LC_ALL LC_CTYPE LANG
-do
-	eval 'value=$'$name
-	if test -n "$value" ; then
-		case $value in
-		*.koi8r|*.KOI8R|*.koi8-r|*.KOI8-R)
-			found=yes
-			;;
-		*.koi8r@*|*.KOI8R@*|*.koi8-r@*|*.KOI8-R*)
-			found=yes
-			;;
-		C|POSIX)
-			# The user may not have configured his or her
-			# locale; try to muddle through anyway.
-			value=ru_RU.KOI8-R
-			;;
-		esac
-		break
-	fi
-done
-
-# If we didn't find a locale that uses KOI8-R, modify the safest one.  Not
-# everyone has a KOI8-R locale installed (and there appears to be no
-# trivial/portable way to determine whether it is, from a shell script).
-# We could check if the user's shell does not reset unknown locale
-# specifiers, but not all shells do.
-if test $found != yes ; then
-	if test -n "$value" ; then
-		value=`echo ${value} |sed -e 's/[.@].*//'`.KOI8-R
-	else
-		name="LC_CTYPE"
-		value="ru_RU.KOI8-R"
-	fi
-	eval save=\$${name}
-	eval ${name}=${value}
-	eval export ${name}
-	if test -z "$locale" ; then
-		# The 'locale' program tries to do a sanity check.
-		check=`sh -c "locale >/dev/null" 2>&1`
-		if test -n "$check" ; then
-			eval ${name}=${save}
-			eval export ${name}
-
-			echo "koi8rxterm tried to use locale $value by setting \$$name" >&2
-			xmessage -file - <<EOF
-koi8rxterm tried unsuccessfully to use locale $value
-by setting \$$name to "${value}".
-EOF
-			exit 1
-		fi
-	fi
-fi
-
-# for testing:
-#test -f ./xterm && XTERM_PROGRAM=./xterm
-
-exec $XTERM_PROGRAM -class KOI8RXTerm -title 'koi8rxterm' -k8 "$@"
-
-# vim:set ai noet sw=8 ts=8 tw=80:
diff --git a/debian/local/koi8rxterm.1 b/debian/local/koi8rxterm.1
deleted file mode 100644
index 695871e..0000000
--- a/debian/local/koi8rxterm.1
+++ /dev/null
@@ -1,97 +0,0 @@
-.\" $Id$
-.\"
-.\" Copyright 2004 Branden Robinson
-.\"
-.\" Permission is hereby granted, free of charge, to any person obtaining a
-.\" copy of this software and associated documentation files (the "Software"),
-.\" to deal in the Software without restriction, including without limitation
-.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
-.\" and/or sell copies of the Software, and to permit persons to whom the
-.\" Software is furnished to do so, subject to the following conditions:
-.\"
-.\" The above copyright notice and this permission notice shall be included in
-.\" all copies or substantial portions of the Software.
-.\"
-.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-.\" SOFTWARE IN THE PUBLIC INTEREST, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR
-.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-.\" DEALINGS IN THE SOFTWARE.
-.TH koi8rxterm 1 "2004-12-19" "Debian Project"
-.SH NAME
-koi8rxterm \- X terminal emulator for KOI8-R environments
-.SH SYNOPSIS
-.B koi8rxterm
-[
-.I xterm-options
-]
-.SH DESCRIPTION
-.B koi8rxterm
-is a wrapper around the
-.BR xterm (1)
-program that invokes the latter program with the \(oqKOI8RXTerm\(cq X
-resource class set.
-All arguments to
-.B koi8rxterm
-are passed to
-.B xterm
-without processing; the
-.B \-class
-and
-.B \-k8
-options should not be specified because they are used by the wrapper.
-See the
-.BR xterm
-manual page for more information on
-.IR xterm-options .
-.PP
-The environment's locale settings (see \(lqENVIRONMENT\(rq below) are
-used to discern the locale's character set.
-If no current locale can be determined, the locale \(oqru_RU.KOI8-R\(cq
-(the Russian language as used in the territory of Russia, with the KOI8-R
-character set) is assumed.
-The
-.BR locale (1)
-utility is used to determine whether the system supports the selected
-locale.
-If it does not,
-.B koi8rxterm
-will exit with an error and report the output of
-.BR locale .
-.PP
-.B Note: koi8rxterm
-may produce unexpected results if the current locale is set to one in which
-the KOI8-R character encoding is not supported, or if fonts using that
-encoding are not available.
-In the Debian system, the \(oqxfonts\-cyrillic\(cq package provides the
-fonts that
-.B koi8rxterm
-uses by default.
-To change the fonts
-.B koi8rxterm
-uses, edit the
-.I /etc/X11/app\-defaults/KOI8RXTerm
-file.
-.PP
-A similar wrapper,
-.BR uxterm (1),
-is available for Unicode UTF-8 environments.
-.SH ENVIRONMENT
-.TP
-.B LC_ALL\fR, \fBLC_CTYPE\fR, \fBLANG
-The values of these variables are checked, in order, to determine the
-character set used by the current locale.
-.SH AUTHOR
-.B koi8rxterm
-was written by Branden Robinson and is very heavily based on
-.BR uxterm ,
-by Thomas Dickey.
-The assistance of Jurij Smakov was invaluable in sanity-checking its
-operation.
-.SH "SEE ALSO"
-.BR locale (1),
-.BR locale (7),
-.BR uxterm (1),
-.BR xterm (1)
diff --git a/debian/local/uxterm.1 b/debian/local/uxterm.1
deleted file mode 100644
index bb494a9..0000000
--- a/debian/local/uxterm.1
+++ /dev/null
@@ -1,91 +0,0 @@
-.\" $Id$
-.\"
-.\" Copyright 2001, 2004 Branden Robinson
-.\"
-.\" Permission is hereby granted, free of charge, to any person obtaining a
-.\" copy of this software and associated documentation files (the "Software"),
-.\" to deal in the Software without restriction, including without limitation
-.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
-.\" and/or sell copies of the Software, and to permit persons to whom the
-.\" Software is furnished to do so, subject to the following conditions:
-.\"
-.\" The above copyright notice and this permission notice shall be included in
-.\" all copies or substantial portions of the Software.
-.\"
-.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-.\" SOFTWARE IN THE PUBLIC INTEREST, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR
-.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-.\" DEALINGS IN THE SOFTWARE.
-.TH uxterm 1 "2004-12-19" "Debian Project"
-.SH NAME
-uxterm \- X terminal emulator for Unicode (UTF-8) environments
-.SH SYNOPSIS
-.B uxterm
-[
-.I xterm-options
-]
-.SH DESCRIPTION
-.B uxterm
-is a wrapper around the
-.BR xterm (1)
-program that invokes the latter program with the \(oqUXTerm\(cq X resource
-class set.
-All arguments to
-.B uxterm
-are passed to
-.B xterm
-without processing; the
-.B \-class
-and
-.B \-u8
-options should not be specified because they are used by the wrapper.
-See the
-.B xterm
-manual page for more information on
-.IR xterm-options .
-.PP
-The environment's locale settings (see \(lqENVIRONMENT\(rq below) are
-used to discern the locale's character set.
-If no current locale can be determined, the locale \(oqen_US\(cq (the
-English language as used in the territory of the United States) is assumed.
-The
-.BR locale (1)
-utility is used to determine whether the system supports the selected
-locale.
-If it does not,
-.B uxterm
-will exit with an error and report the output of
-.BR locale .
-.PP
-.B Note: uxterm
-may produce unexpected results if the current locale is set to one in which
-the UTF-8 character encoding is not supported, of if fonts using the ISO
-10646-1 character set are not available.
-In the Debian system, the \(oqxfonts\-base\(cq package provides the fonts
-that
-.B uxterm
-uses by default.
-To change the fonts
-.B uxterm
-uses, edit the
-.I /etc/X11/app\-defaults/UXTerm
-file.
-.PP
-A similar wrapper,
-.BR koi8rxterm (1),
-is available for KOI8-R environments.
-.SH ENVIRONMENT
-.TP
-.B LC_ALL\fR, \fBLC_CTYPE\fR, \fBLANG
-The values of these variables are checked, in order, to determine the
-character set used by the current locale.
-.SH AUTHOR
-Thomas Dickey
-.SH "SEE ALSO"
-.BR locale (1),
-.BR locale (7),
-.BR koi8rxterm (1),
-.BR xterm (1)
diff --git a/debian/rules b/debian/rules
index 8be729f..238d2d3 100755
--- a/debian/rules
+++ b/debian/rules
@@ -139,13 +139,6 @@ install: build
 	## Install lxterm command and manual page.
 	install -m 755 debian/local/lxterm $(DEBINSTALLTREE)/usr/bin
 	install -m 755 debian/local/lxterm.1 $(DEBINSTALLTREE)/usr/share/man/man1
-	## Install koi8rxterm command, manual page, and app-defaults file.
-	install -m 755 debian/local/koi8rxterm $(DEBINSTALLTREE)/usr/bin
-	install -m 755 debian/local/koi8rxterm.1 $(DEBINSTALLTREE)/usr/share/man/man1
-	install -d $(DEBINSTALLTREE)/etc/X11/app-defaults
-	install -m 644 debian/local/KOI8RXTerm $(DEBINSTALLTREE)/etc/X11/app-defaults
-	## Install manual page for uxterm.
-	install -m 644 debian/local/uxterm.1 $(DEBINSTALLTREE)/usr/share/man/man1
 	## Install terminfo and termcap precompiled definitions.
 	install -d $(DEBINSTALLTREE)/usr/lib
 	install -m 644 termcap  $(DEBINSTALLTREE)/usr/lib/xterm.termcap

commit ddd58d3dddabcdc86ed00c39dfd716fae1a3eeba
Author: Julien Cristau <jcristau@debian.org>
Date:   Wed Jan 2 19:58:27 2008 +0100

    Import xterm-230.

diff --git a/INSTALL b/INSTALL
index 70c89c8..c1a550f 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,4 @@
--- $XTermId: INSTALL,v 1.115 2007/06/17 13:44:39 tom Exp $
--- $XFree86: xc/programs/xterm/INSTALL,v 3.42 2006/02/13 01:14:57 dickey Exp $
+-- $XTermId: INSTALL,v 1.117 2007/12/12 01:30:43 tom Exp $
 -------------------------------------------------------------------------------
 -- Copyright 1997-2006,2007 by Thomas E. Dickey
 --
@@ -228,6 +227,10 @@ The options (in alphabetic order):
 	match the parent's.  In particular, it addresses a problem where the
 	terminal size is not defined in the stty settings.
 
+  --disable-rectangles    disable VT420 rectangle support
+
+	Do not compile-in code to support VT420 rectangle control-sequences.
+
   --disable-regex         disable regular-expression selections
 
 	Do not compile-in code to support the "regex" option for multiple
@@ -267,6 +270,12 @@ The options (in alphabetic order):
 
   	Do not compile-in code to support Sun-style function keys.
 
+  --disable-tcap-fkeys    disable termcap function-keys
+
+	Compile-in code to support feature which allows xterm to use the
+	function-key definitions from the termcap/terminfo entry which it used
+	to set the $TERM variable on startup.
+
   --disable-tek4014       disable tek4014 emulation
 
   	Do not compile-in code to support Tektronix 4014 emulation.
@@ -406,10 +415,6 @@ The options (in alphabetic order):
 
 	(See --enable-paste64, which fits xterm's protocol better).
 
-  --enable-rectangles     enable VT420 rectangle support
-
-	Compile-in code to support VT420 rectangle control-sequences.
-
   --enable-sco-fkeys      enable support for SCO-style function keys
 
   	Compile-in code to support SCO-style function keys.
@@ -418,12 +423,6 @@ The options (in alphabetic order):
 
   	Compile-in code to support Sun-style function keys.
 
-  --enable-tcap-fkeys     enable termcap function-keys
-
-	Compile-in code to support experimental feature which directs xterm
-	to use the function-key definitions from the termcap/terminfo entry
-	which it used to set the $TERM variable on startup.
-
   --enable-tcap-query     enable termcap query/report
 
 	Compile-in code to support experimental DCS '+' control sequence, which
diff --git a/KOI8RXTerm.ad b/KOI8RXTerm.ad
new file mode 100644
index 0000000..aa21f26
--- /dev/null
+++ b/KOI8RXTerm.ad
@@ -0,0 +1,20 @@
+! $XTermId: KOI8RXTerm.ad,v 1.2 2007/12/30 15:49:14 tom Exp $
+
+! This is based on the UXTerm app-defaults file.
+
+! Use
+!	xterm -class KOI8RXTerm
+! to set resources for KOI8-R mode with corresponding fonts.
+
+#include "XTerm-color"
+
+*fontMenu.Label:  KOI8-R Fonts
+*VT100*allowC1Printable:	true
+
+! Use Cyrillic instead of Latin fonts.
+*VT100.font:	-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-koi8-r
+*VT100.font2:	-misc-fixed-medium-r-normal--8-80-75-75-c-50-koi8-r
+*VT100.font3:	-misc-fixed-medium-r-normal--14-130-75-75-c-70-koi8-r
+*VT100.font4:	-misc-fixed-medium-r-normal--13-120-75-75-c-80-koi8-r
+*VT100.font5:	-misc-fixed-medium-r-normal--18-120-100-100-c-90-koi8-r
+*VT100.font6:	-misc-fixed-medium-r-normal--20-200-75-75-c-100-koi8-r
diff --git a/MANIFEST b/MANIFEST
index ba5965c..d6339d4 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -1,4 +1,4 @@
-MANIFEST for xterm-229, version xterm-229
+MANIFEST for xterm-229o, version xterm-230
 --------------------------------------------------------------------------------
 MANIFEST                        this file
 256colres.h                     resource-definitions for 256-color mode
@@ -8,6 +8,7 @@ MANIFEST                        this file
 AAA_README_VMS.txt              note for VMS port of 'xterm'
 INSTALL                         configure script: options and related install instructions
 Imakefile                       imake template for Makefile
+KOI8RXTerm.ad                   resources for koi8rxterm
 Makefile.in                     configure script template for Makefile
 README                          overview & caveats for 'xterm'
 README.i18n                     i18n readme:
@@ -49,6 +50,8 @@ input.c                         VT100 key-symbol and function-key translation
 install.sh                      configure script: fallback install script
 keysym2ucs.c                    lookup-table for UTF-8 to keysyms
 keysym2ucs.h                    interface of keysym2ucs.c
+koi8rxterm                      KOI-8 wrapper from Debian (originally me)
+koi8rxterm.man                  manpage for koi8rxterm
 link_axp.com                    build-script for VMS port of xterm
 main.c                          main program of 'xterm'
 main.h                          default definitions for 'xterm'
@@ -81,6 +84,7 @@ trace.h                         interface of trace.c
 util.c                          miscellaneous utility functions for 'xterm'
 uxterm                          wrapper script to make unicode-xterm
 uxterm.desktop                  sample desktop file for uxterm
+uxterm.man                      manpage for uxterm, from Debian
 version.h                       version of xterm
 vms.c                           VMS version of xterm's spawn(), etc.
 vms.h                           system headers and definitions for vms.c
diff --git a/Makefile.in b/Makefile.in
index 1d174bb..ff90a4a 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,6 +1,4 @@
-## $XTermId: Makefile.in,v 1.148 2007/06/16 18:47:51 tom Exp $
-##
-## $XFree86: xc/programs/xterm/Makefile.in,v 3.56 2006/06/19 00:36:50 dickey Exp $ ##
+## $XTermId: Makefile.in,v 1.154 2007/12/30 16:39:48 tom Exp $
 ##
 ## Copyright 2002-2006,2007 by Thomas E. Dickey
 ##
@@ -162,13 +160,15 @@ resize$x : $(OBJS2)
 
 charproc$o : main.h @CHARPROC_DEPS@
 ################################################################################
-actual_xterm  = `echo xterm|    sed '$(transform)'`
-actual_resize = `echo resize|   sed '$(transform)'`
-actual_uxterm = `echo uxterm|   sed '$(transform)'`
+actual_xterm  = `echo xterm|        sed '$(transform)'`
+actual_resize = `echo resize|       sed '$(transform)'`
+actual_uxterm = `echo uxterm|       sed '$(transform)'`
+actual_k8term = `echo koi8rxterm|   sed '$(transform)'`
 
 binary_xterm  = $(actual_xterm)$x
 binary_resize = $(actual_resize)$x
 binary_uxterm = $(actual_uxterm)
+binary_k8term = $(actual_k8term)
 
 install \
 install-bin \
@@ -185,6 +185,15 @@ install-full :: xterm$x resize$x $(BINDIR)
 		else \
 			$(INSTALL_SCRIPT) -m  755 $(srcdir)/uxterm $(BINDIR)/$(binary_uxterm); \
 		fi'
+	@$(SHELL) -c 'echo "... installing $(BINDIR)/$(binary_k8term)"; \
+		if test "$(binary_xterm)" != "xterm"; then \
+			name="$(binary_xterm)"; \
+			sed -e "s,=xterm,=$$name," $(srcdir)/koi8rxterm >k8term.tmp; \
+			$(INSTALL_SCRIPT) -m  755 k8term.tmp $(BINDIR)/$(binary_k8term); \
+			rm -f k8term.tmp; \
+		else \
+			$(INSTALL_SCRIPT) -m  755 $(srcdir)/koi8rxterm $(BINDIR)/$(binary_k8term); \
+		fi'
 	@-$(SHELL) -c "if test @XTERM_SYMLINK@ != NONE ; then cd $(BINDIR) && rm -f @XTERM_SYMLINK@ ; fi"
 	@-$(SHELL) -c "if test @XTERM_SYMLINK@ != NONE ; then cd $(BINDIR) && $(LN_S) $(binary_xterm) @XTERM_SYMLINK@ ; fi"
 	@-$(SHELL) -c "if test @XTERM_SYMLINK@ != NONE ; then cd $(BINDIR) && echo '... created symbolic link:' && ls -l $(binary_xterm) @XTERM_SYMLINK@ ; fi"
@@ -194,6 +203,8 @@ install-man \
 install-full :: $(MANDIR)
 	$(SHELL) $(srcdir)/minstall.sh "$(INSTALL_DATA)" $(srcdir)/xterm.man    $(MANDIR)/$(actual_xterm).$(manext)  $(appsdir)
 	$(SHELL) $(srcdir)/minstall.sh "$(INSTALL_DATA)" $(srcdir)/resize.man   $(MANDIR)/$(actual_resize).$(manext) $(appsdir)
+	$(SHELL) $(srcdir)/minstall.sh "$(INSTALL_DATA)" $(srcdir)/uxterm.man   $(MANDIR)/$(actual_uxterm).$(manext) $(appsdir)
+	$(SHELL) $(srcdir)/minstall.sh "$(INSTALL_DATA)" $(srcdir)/koi8rxterm.man   $(MANDIR)/$(actual_k8term).$(manext) $(appsdir)
 	@-$(SHELL) -c "if test @XTERM_SYMLINK@ != NONE ; then cd $(MANDIR) && rm -f @XTERM_SYMLINK@.$(manext) ; fi"
 	@-$(SHELL) -c "if test @XTERM_SYMLINK@ != NONE ; then cd $(MANDIR) && $(LN_S) $(actual_xterm).$(manext) @XTERM_SYMLINK@.$(manext) ; fi"
 	@-$(SHELL) -c "if test @XTERM_SYMLINK@ != NONE ; then cd $(MANDIR) && echo '... created symbolic link:' && ls -l $(actual_xterm).$(manext) @XTERM_SYMLINK@.$(manext) ; fi"
@@ -246,6 +257,7 @@ uninstall-full ::
 	-$(RM) $(BINDIR)/$(binary_xterm)
 	-$(RM) $(BINDIR)/$(binary_resize)
 	-$(RM) $(BINDIR)/$(binary_uxterm)
+	-$(RM) $(BINDIR)/$(binary_k8term)
 	@-$(SHELL) -c "if test @XTERM_SYMLINK@ != NONE ; then cd $(BINDIR) && rm -f @XTERM_SYMLINK@; fi"
 
 uninstall \
@@ -253,6 +265,8 @@ uninstall-man \
 uninstall-full ::
 	-$(RM) $(MANDIR)/$(actual_xterm).$(manext)
 	-$(RM) $(MANDIR)/$(actual_resize).$(manext)
+	-$(RM) $(MANDIR)/$(actual_uxterm).$(manext)
+	-$(RM) $(MANDIR)/$(actual_k8term).$(manext)
 	@-$(SHELL) -c "if test @XTERM_SYMLINK@ != NONE ; then cd $(MANDIR) && rm -f @XTERM_SYMLINK@.$(manext); fi"
 
 @no_appsdir@uninstall \
@@ -266,8 +280,8 @@ uninstall-full ::
 @no_icondir@uninstall-icon \
 @no_icondir@uninstall-full ::
 @no_icondir@	-$(RM) $(ICONDIR)/xterm-color_32x32.xpm
-@no_icondir@	-$(RM) $(ICONDIR)/xterm_48x48.xpm
-@no_icondir@	-$(RM) $(ICONDIR)/xterm-color_32x32.xpm
+@no_icondir@	-$(RM) $(ICONDIR)/xterm_32x32.xpm
+@no_icondir@	-$(RM) $(ICONDIR)/xterm-color_48x48.xpm
 @no_icondir@	-$(RM) $(ICONDIR)/xterm_48x48.xpm
 ################################################################################
 # Desktop-utils does not provide an uninstall, and is not uniformly available.
@@ -295,6 +309,9 @@ realclean : distclean
 maintainer-clean : realclean
 	-$(RM) 256colres.h 88colres.h
 ################################################################################
+terminfo.out : terminfo		; tic -a -I -1 terminfo >$@
+termcap.out : termcap		; tic -a -C -U termcap >$@
+################################################################################
 ctlseqs.html : ctlseqs.ms
 ctlseqs.pdf : ctlseqs.ps
 ctlseqs.ps : ctlseqs.ms
diff --git a/VTparse.def b/VTparse.def
index 85bd578..be2c1cd 100644
--- a/VTparse.def
+++ b/VTparse.def
@@ -1,11 +1,11 @@
-# $XTermId: VTparse.def,v 1.29 2006/07/31 22:17:10 tom Exp $
+# $XTermId: VTparse.def,v 1.30 2007/12/04 21:14:30 tom Exp $
+#
+# vile:txtmode rs=lf
 #
 # List of symbols that need to be defined for VTparse.h.  If you need to
 # change any of the CASE_ macros, make the change here and rerun the command
 # shown in VTparse.h.
 #
-# $XFree86: xc/programs/xterm/VTparse.def,v 3.18 2006/02/13 01:14:58 dickey Exp $
-#
 
 CASE_GROUND_STATE
 CASE_IGNORE
diff --git a/XTerm.ad b/XTerm.ad
index fdb6992..d914402 100644
--- a/XTerm.ad
+++ b/XTerm.ad
@@ -1,5 +1,4 @@
-! $XTermId: XTerm.ad,v 1.83 2007/03/18 22:41:40 tom Exp $
-! $XFree86: xc/programs/xterm/XTerm.ad,v 3.37 2006/04/10 00:34:36 dickey Exp $
+! $XTermId: XTerm.ad,v 1.85 2007/11/26 18:42:37 tom Exp $
 
 *saveLines: 1024
 
@@ -51,6 +50,7 @@
 *vtMenu*scrollkey*Label:  Scroll to Bottom on Key Press
 *vtMenu*scrollttyoutput*Label:  Scroll to Bottom on Tty Output
 *vtMenu*allow132*Label: Allow 80/132 Column Switching
+*vtMenu*keepSelection*Label: Keep Selection
 *vtMenu*selectToClipboard*Label: Select to Clipboard
 *vtMenu*cursesemul*Label:  Enable Curses Emulation
 *vtMenu*visualbell*Label:  Enable Visual Bell
diff --git a/button.c b/button.c
index 2ff5fd6..63a0e33 100644
--- a/button.c
+++ b/button.c
@@ -1,4 +1,4 @@
-/* $XTermId: button.c,v 1.277 2007/07/22 20:37:11 tom Exp $ */
+/* $XTermId: button.c,v 1.281 2007/12/31 21:11:05 tom Exp $ */
 
 /*
  * Copyright 1999-2006,2007 by Thomas E. Dickey
@@ -1041,7 +1041,7 @@ struct _SelectionList {
 static unsigned
 DECtoASCII(unsigned ch)
 {
-    if (ch < 32) {
+    if (xtermIsDecGraphic(ch)) {
 	ch = "###########+++++##-##++++|######"[ch];
 	/*    01234567890123456789012345678901 */
     }
@@ -1079,7 +1079,7 @@ UTF8toLatin1(Char * s, unsigned len, unsigned long *result)
 		*q++ = value;
 	    } else {
 		unsigned eqv = ucs2dec(value);
-		if (eqv < 32) {
+		if (xtermIsDecGraphic(eqv)) {
 		    *q++ = DECtoASCII(eqv);
 		} else {
 		    eqv = AsciiEquivs(value);
@@ -1198,9 +1198,9 @@ MapSelections(XtermWidget xw, String * params, Cardinal num_params)
 	    }
 	}
 	if (map) {
-	    String mapTo = (xw->screen.selectToClipboard
-			    ? "CLIPBOARD"
-			    : "PRIMARY");
+	    const char *mapTo = (xw->screen.selectToClipboard
+				 ? "CLIPBOARD"
+				 : "PRIMARY");
 
 	    UnmapSelections(xw);
 	    if ((result = TypeMallocN(String, num_params + 1)) != 0) {
@@ -2466,11 +2466,13 @@ make_indexed_text(TScreen * screen, int row, unsigned length, int *indexed)
 		/* some internal points may not be drawn */
 		if (data == 0)
 		    data = ' ';
-#if OPT_WIDE_CHARS
-		next = convertToUTF8(last, data);
-#else
-		*next++ = CharOf(data);
-#endif
+
+		if_WIDE_OR_NARROW(screen, {
+		    next = convertToUTF8(last, data);
+		}
+		, {
+		    *next++ = CharOf(data);
+		});
 
 		if_OPT_WIDE_CHARS(screen, {
 		    int off;
@@ -3448,6 +3450,21 @@ DisownSelection(XtermWidget xw)
     }
 }
 
+void
+UnhiliteSelection(XtermWidget xw)
+{
+    TScreen *screen = &(xw->screen);
+
+    if (ScrnHaveSelection(screen)) {
+	CELL first = screen->startH;
+	CELL last = screen->endH;
+
+	screen->startH = zeroCELL;
+	screen->endH = zeroCELL;
+	ReHiliteText(xw, &first, &last);
+    }
+}
+
 /* returns number of chars in line from scol to ecol out */
 /* ARGSUSED */
 static int
diff --git a/charproc.c b/charproc.c
index 4c3da05..b101404 100644
--- a/charproc.c
+++ b/charproc.c
@@ -1,6 +1,4 @@
-/* $XTermId: charproc.c,v 1.810 2007/07/17 21:09:48 tom Exp $ */
-
-/* $XFree86: xc/programs/xterm/charproc.c,v 3.185 2006/06/20 00:42:38 dickey Exp $ */
+/* $XTermId: charproc.c,v 1.824 2007/12/31 21:03:26 tom Exp $ */
 
 /*
 
@@ -259,6 +257,7 @@ static XtActionsRec actionsList[] = {
     { "bell",			HandleBell },
     { "clear-saved-lines",	HandleClearSavedLines },
     { "create-menu",		HandleCreateMenu },
+    { "delete-is-del",		HandleDeleteIsDEL },
     { "dired-button",		DiredButton },
     { "hard-reset",		HandleHardReset },
     { "ignore",			HandleIgnore },
@@ -273,7 +272,6 @@ static XtActionsRec actionsList[] = {
     { "print-redir",		HandlePrintControlMode },
     { "quit",			HandleQuit },
     { "redraw",			HandleRedraw },
-    { "delete-is-del",		HandleDeleteIsDEL },
     { "scroll-back",		HandleScrollBack },
     { "scroll-forw",		HandleScrollForward },
     { "secure",			HandleSecure },
@@ -296,6 +294,7 @@ static XtActionsRec actionsList[] = {
     { "set-bellIsUrgent",	HandleBellIsUrgent },
     { "set-cursesemul",		HandleCursesEmul },
     { "set-jumpscroll",		HandleJumpscroll },
+    { "set-keep-selection",	HandleKeepSelection },
     { "set-marginbell",		HandleMarginBell },
     { "set-old-function-keys",	HandleOldFunctionKeys },
     { "set-pop-on-bell",	HandleSetPopOnBell },
@@ -421,6 +420,7 @@ static XtResource resources[] =
     Bres(XtNhpLowerleftBugCompat, XtCHpLowerleftBugCompat, screen.hp_ll_bc, False),
     Bres(XtNi18nSelections, XtCI18nSelections, screen.i18nSelections, True),
     Bres(XtNjumpScroll, XtCJumpScroll, screen.jumpscroll, True),
+    Bres(XtNkeepSelection, XtCKeepSelection, screen.keepSelection, False),
     Bres(XtNloginShell, XtCLoginShell, misc.login_shell, False),
     Bres(XtNmarginBell, XtCMarginBell, screen.marginbell, False),
     Bres(XtNmetaSendsEscape, XtCMetaSendsEscape, screen.meta_sends_esc, False),
@@ -430,6 +430,7 @@ static XtResource resources[] =
     Bres(XtNprinterAutoClose, XtCPrinterAutoClose, screen.printer_autoclose, False),
     Bres(XtNprinterExtent, XtCPrinterExtent, screen.printer_extent, False),
     Bres(XtNprinterFormFeed, XtCPrinterFormFeed, screen.printer_formfeed, False),
+    Bres(XtNquietGrab, XtCQuietGrab, screen.quiet_grab, False),
     Bres(XtNreverseVideo, XtCReverseVideo, misc.re_verse, False),
     Bres(XtNreverseWrap, XtCReverseWrap, misc.reverseWrap, False),
     Bres(XtNscrollBar, XtCScrollBar, misc.scrollbar, False),
@@ -543,6 +544,7 @@ static XtResource resources[] =
     Tres(XtNhighlightColor, XtCHighlightColor, HIGHLIGHT_BG, XtDefaultForeground),
     Tres(XtNhighlightTextColor, XtCHighlightTextColor, HIGHLIGHT_FG, XtDefaultBackground),
     Bres(XtNhighlightReverse, XtCHighlightReverse, screen.hilite_reverse, True),
+    Bres(XtNhighlightColorMode, XtCHighlightColorMode, screen.hilite_color, Maybe),
 #endif				/* OPT_HIGHLIGHT_COLOR */
 
 #if OPT_INPUT_METHOD
@@ -1040,12 +1042,12 @@ set_max_row(TScreen * screen, int rows)
 
 #if OPT_MOD_FKEYS
 static void
-set_mod_fkeys(XtermWidget xw, int which, int what)
+set_mod_fkeys(XtermWidget xw, int which, int what, Bool enabled)
 {
 #define SET_MOD_FKEYS(field) \
-    xw->keyboard.modify_now.field = (what == DEFAULT) \
+    xw->keyboard.modify_now.field = ((what == DEFAULT) && enabled) \
 				     ? xw->keyboard.modify_1st.field \
-				     : param[1]; \
+				     : what; \
     TRACE(("set modify_now.%s to %d\n", #field, \
 	   xw->keyboard.modify_now.field));
 
@@ -1196,7 +1198,8 @@ doparsing(XtermWidget xw, unsigned c, struct ParseState *sp)
 	 * codes at 0x242, but no zero-width characters until past 0x300.
 	 */
 	if (c >= 0x300 && screen->wide_chars
-	    && my_wcwidth((int) c) == 0) {
+	    && my_wcwidth((int) c) == 0
+	    && !isWideControl(c)) {
 	    int prev, precomposed;
 
 	    WriteNow();
@@ -1204,15 +1207,10 @@ doparsing(XtermWidget xw, unsigned c, struct ParseState *sp)
 	    prev = XTERM_CELL(screen->last_written_row,
 			      screen->last_written_col);
 	    precomposed = do_precomposition(prev, (int) c);
-#ifdef DEBUG
-	    if (debug) {
-		fprintf(stderr,
-			"do_precomposition (U+%04X [%d], U+%04X [%d]) -> U+%04X [%d]\n",
-			prev, my_wcwidth(prev), (int) c, my_wcwidth((int)
-								    c),
-			precomposed, my_wcwidth(precomposed));
-	    }
-#endif
+	    TRACE(("do_precomposition (U+%04X [%d], U+%04X [%d]) -> U+%04X [%d]\n",
+		   prev, my_wcwidth(prev),
+		   (int) c, my_wcwidth((int) c),
+		   precomposed, my_wcwidth(precomposed)));
 
 	    /* substitute combined character with precomposed character
 	     * only if it does not change the width of the base character
@@ -2274,7 +2272,7 @@ doparsing(XtermWidget xw, unsigned c, struct ParseState *sp)
 	    set_tb_margins(screen, 0, screen->max_row);
 	    CursorSet(screen, 0, 0, xw->flags);
 	    xtermParseRect(xw, 0, 0, &myRect);
-	    ScrnFillRectangle(xw, &myRect, 'E', 0);
+	    ScrnFillRectangle(xw, &myRect, 'E', 0, False);
 	    sp->parsestate = sp->groundtable;
 	    break;
 
@@ -2643,7 +2641,7 @@ doparsing(XtermWidget xw, unsigned c, struct ParseState *sp)
 	case CASE_DECERA:
 	    TRACE(("CASE_DECERA - Erase rectangular area\n"));
 	    xtermParseRect(xw, nparam, param, &myRect);
-	    ScrnFillRectangle(xw, &myRect, ' ', 0);
+	    ScrnFillRectangle(xw, &myRect, ' ', 0, True);
 	    sp->parsestate = sp->groundtable;
 	    break;
 
@@ -2653,7 +2651,7 @@ doparsing(XtermWidget xw, unsigned c, struct ParseState *sp)
 		&& ((param[0] >= 32 && param[0] <= 126)
 		    || (param[0] >= 160 && param[0] <= 255))) {
 		xtermParseRect(xw, nparam - 1, param + 1, &myRect);
-		ScrnFillRectangle(xw, &myRect, param[0], xw->flags);
+		ScrnFillRectangle(xw, &myRect, param[0], xw->flags, True);
 	    }
 	    sp->parsestate = sp->groundtable;
 	    break;
@@ -2826,15 +2824,19 @@ doparsing(XtermWidget xw, unsigned c, struct ParseState *sp)
 	case CASE_SET_MOD_FKEYS:
 	    TRACE(("CASE_SET_MOD_FKEYS\n"));
 	    if (nparam >= 1) {
-		set_mod_fkeys(xw, param[0], nparam > 1 ? param[1] : DEFAULT);
+		set_mod_fkeys(xw, param[0], nparam > 1 ? param[1] : DEFAULT, True);
 	    } else {
 		for (row = 1; row <= 5; ++row)
-		    set_mod_fkeys(xw, row, DEFAULT);
+		    set_mod_fkeys(xw, row, DEFAULT, True);
 	    }
 	    break;
 	case CASE_SET_MOD_FKEYS0:


Reply to: