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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> Wed, 02 Jan 2008 22:15:47 +0100 + -- Julien Cristau <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]>, David Nusinow <[EMAIL PROTECTED]>, Julien Cristau <[EMAIL PROTECTED]> -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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> Wed, 02 Jan 2008 20:07:29 +0100 + -- Julien Cristau <[EMAIL PROTECTED]> Wed, 02 Jan 2008 22:15:47 +0100 xterm (229-1) unstable; urgency=low commit 5a82b9dc4db7ca40206414c99636909990cac623 Author: Julien Cristau <[EMAIL PROTECTED]> 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 [EMAIL PROTECTED]@ @echo installing $(APPSDIR)/KOI8RXTerm [EMAIL PROTECTED]@ @sed -e s/XTerm/$(CLASS)/ $(srcdir)/KOI8RXTerm.ad >XTerm.tmp [EMAIL PROTECTED]@ @$(INSTALL_DATA) XTerm.tmp $(APPSDIR)/KOI8RXTerm @no_appsdir@ @rm -f XTerm.tmp @no_icondir@ @echo "... installed app-defaults" commit 82c5e59d25b08aa20f73119deb7d18ab9e473471 Author: Julien Cristau <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 - ;; - [EMAIL PROTECTED]|[EMAIL PROTECTED]|[EMAIL PROTECTED]|*.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/[EMAIL PROTECTED]//'`.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 <[EMAIL PROTECTED]> 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 @[EMAIL PROTECTED](manext) ; fi" @-$(SHELL) -c "if test @XTERM_SYMLINK@ != NONE ; then cd $(MANDIR) && $(LN_S) $(actual_xterm).$(manext) @[EMAIL PROTECTED](manext) ; fi" @-$(SHELL) -c "if test @XTERM_SYMLINK@ != NONE ; then cd $(MANDIR) && echo '... created symbolic link:' && ls -l $(actual_xterm).$(manext) @[EMAIL PROTECTED](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 @[EMAIL PROTECTED](manext); fi" @[EMAIL PROTECTED] \ @@ -266,8 +280,8 @@ uninstall-full :: @[EMAIL PROTECTED] \ @[EMAIL PROTECTED] :: @no_icondir@ -$(RM) $(ICONDIR)/xterm-color_32x32.xpm [EMAIL PROTECTED]@ -$(RM) $(ICONDIR)/xterm_48x48.xpm [EMAIL PROTECTED]@ -$(RM) $(ICONDIR)/xterm-color_32x32.xpm [EMAIL PROTECTED]@ -$(RM) $(ICONDIR)/xterm_32x32.xpm [EMAIL PROTECTED]@ -$(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: -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]