256colres.h | 2 256colres.pl | 9 88colres.h | 2 88colres.pl | 10 INSTALL | 31 MANIFEST | 13 Makefile.in | 31 README | 4 Tekproc.c | 89 - aclocal.m4 | 19 button.c | 15 cachedGCs.c | 45 charproc.c | 160 +- configure | 2343 +++++++++++++++++----------------- configure.in | 35 data.c | 6 data.h | 4 debian/changelog | 27 debian/control | 4 debian/patches/900_debian_xterm.diff | 20 debian/patches/901_xterm_manpage.diff | 6 debian/rules | 8 debian/xterm.install | 2 fontutils.c | 80 - gen-pc-fkeys.pl | 308 +++- icons/xterm-color_32x32.xcf |binary icons/xterm-color_32x32.xpm | 46 icons/xterm-color_48x48.xcf |binary icons/xterm-color_48x48.xpm | 61 icons/xterm_32x32.xcf |binary icons/xterm_32x32.xpm | 95 + icons/xterm_48x48.xcf |binary icons/xterm_48x48.xpm | 53 input.c | 32 keysym2ucs.c | 54 main.c | 126 + menu.c | 7 minstall.sh | 17 misc.c | 126 + mkdirs.sh | 19 os2main.c | 100 - ptydata.c | 4 ptyx.h | 19 resize.c | 23 resize.man | 4 run-tic.sh | 6 terminfo | 70 - trace.c | 7 unicode/convmap.pl | 63 unicode/keysym.map | 2110 +++++++++++++++--------------- util.c | 236 ++- uxterm.desktop | 10 version.h | 4 wcwidth.c | 90 - xstrings.c | 29 xstrings.h | 22 xterm.desktop | 10 xterm.h | 37 xterm.log.html | 126 + xterm.man | 82 + xtermcfg.hin | 3 61 files changed, 4192 insertions(+), 2772 deletions(-)
New commits: commit 3b08609210df4894f16f3d52be71249e688b82fd Author: Julien Cristau <[EMAIL PROTECTED]> Date: Mon Jun 18 14:19:13 2007 +0100 Install desktop files and icons, and update changelog. * [debian/control] Build-dep on desktop-file-utils. * [debian/xterm.install]Add usr/share/pixmaps and usr/share/applications. * [debian/rules] Pass (hopefully) correct DESKTOP_FLAGS to configure, run make install-desktop, call dh_desktop. * [debian/changelog] Update, add entries for debian bugs fixed by the new upstream release. diff --git a/debian/changelog b/debian/changelog index c6d1e40..034f366 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -xterm (226-1) UNRELEASED; urgency=low +xterm (226-1) unstable; urgency=low [ Branden Robinson ] * Remove debian/NEWS; the events it attested to (like the "upcoming 7.0 @@ -8,10 +8,28 @@ xterm (226-1) UNRELEASED; urgency=low * Configure with --with-tty-group=tty, to prevent security problems in case of buggy build environment (closes: #349142). * New upstream release. + + fix an infinite loop when showing a 2-column character in a + 1-column screen (closes: #426863). + + add XF86Paste and SunPaste to the default translations + (closes: #422521, patch by Bernhard R Link). + + improve permissions logic when closing pseudo-terminal + (closes: #12261, patch by Nathanael Nerode, analysis by Richard + Braakman). + + add a check in case someone tries to call the popup-menu() action + on a menu which is not initialized (closes: #426364). + + fix error-checking on internal font switching for "Selection" menu + entry (closes: #421523). + + amend select/paste change from patch #225 by limiting it to + non-UTF-8/non-KOI8-R encoding (closes: #420974). + + add workaround for groff ".URL" codes which are not present in + some commonly-used bitmap fonts (closes: #418324). * Update reference to xlibs-data in xterm's description, refer to xbitmaps instead. + * Build-depend on desktop-file-utils to install the new desktop files for + xterm and uxterm, and change debian/rules and debian/xterm.install to + install these files and the icons. - -- Julien Cristau <[EMAIL PROTECTED]> Mon, 18 Jun 2007 11:33:39 +0100 + -- Julien Cristau <[EMAIL PROTECTED]> Mon, 18 Jun 2007 14:02:22 +0100 xterm (225-1) unstable; urgency=low diff --git a/debian/control b/debian/control index a920812..ac7b51f 100644 --- a/debian/control +++ b/debian/control @@ -4,7 +4,7 @@ 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 -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 +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, desktop-file-utils # Reasons for Build-Depends: # diff --git a/debian/rules b/debian/rules index 6ca09ca..b79b47b 100755 --- a/debian/rules +++ b/debian/rules @@ -38,6 +38,9 @@ STAMP_DIR:=stampdir DEBINSTALLTREE:=$(CURDIR)/debian/tmp +DESKTOP_FLAGS = --vendor debian \ + --dir=$(DEBINSTALLTREE)/usr/share/applications + # Set up the $(STAMP_DIR) directory. .PHONY: stampdir stampdir: $(STAMP_DIR)/stampdir @@ -90,7 +93,7 @@ $(STAMP_DIR)/configure: $(STAMP_DIR)/patch --prefix=/usr --exec-prefix=/usr --mandir=/usr/share/man \ --with-app-defaults=/etc/X11/app-defaults \ --disable-imake --enable-narrowproto --enable-exec-xterm \ - $(confflags) + $(confflags) DESKTOP_FLAGS="$(DESKTOP_FLAGS)" touch $@ @@ -117,7 +120,7 @@ install: build dh_clean -k dh_installdirs # General installation - $(MAKE) install mandir=/usr/share/man/man1 libdir=/etc DESTDIR=$(DEBINSTALLTREE) + $(MAKE) install install-desktop mandir=/usr/share/man/man1 libdir=/etc DESTDIR=$(DEBINSTALLTREE) ## Install lxterm command and manual page. install -m 755 debian/local/lxterm $(DEBINSTALLTREE)/usr/bin @@ -137,6 +140,7 @@ install: build dh_installchangelogs dh_installmenu dh_install --sourcedir=debian/tmp --list-missing + dh_desktop # Lintian overrides. cp debian/xterm.overrides $(CURDIR)/debian/xterm/usr/share/lintian/overrides/xterm diff --git a/debian/xterm.install b/debian/xterm.install index 7396f24..af07cd8 100644 --- a/debian/xterm.install +++ b/debian/xterm.install @@ -1,3 +1,5 @@ etc/X11/app-defaults/* usr/bin/* usr/share/man/man1/* +usr/share/pixmaps +usr/share/applications commit ec32346285de0915f332b115743681b2f6b2925a Author: Julien Cristau <[EMAIL PROTECTED]> Date: Mon Jun 18 11:34:41 2007 +0100 Refer to xbitmaps instead of the obsolete xlibs-data in the description. diff --git a/debian/changelog b/debian/changelog index 53e6e58..c6d1e40 100644 --- a/debian/changelog +++ b/debian/changelog @@ -8,8 +8,10 @@ xterm (226-1) UNRELEASED; urgency=low * Configure with --with-tty-group=tty, to prevent security problems in case of buggy build environment (closes: #349142). * New upstream release. + * Update reference to xlibs-data in xterm's description, refer to xbitmaps + instead. - -- Julien Cristau <[EMAIL PROTECTED]> Sun, 17 Jun 2007 22:26:02 +0100 + -- Julien Cristau <[EMAIL PROTECTED]> Mon, 18 Jun 2007 11:33:39 +0100 xterm (225-1) unstable; urgency=low diff --git a/debian/control b/debian/control index b441fb3..a920812 100644 --- a/debian/control +++ b/debian/control @@ -109,7 +109,7 @@ Description: X terminal emulator A complete list of control sequences supported by the X terminal emulator is provided in /usr/share/doc/xterm. . - The xterm program uses bitmap images provided by the xlibs-data package. + The xterm program uses bitmap images provided by the xbitmaps package. . Those interested in using koi8rxterm will likely want to install the xfonts-cyrillic package as well. commit 22a317a6db2f358f53c0d0bf40a085d16da43ee9 Author: Julien Cristau <[EMAIL PROTECTED]> Date: Sun Jun 17 22:26:44 2007 +0100 New upstream release. diff --git a/debian/changelog b/debian/changelog index 8f52508..53e6e58 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -xterm (225-2) UNRELEASED; urgency=low +xterm (226-1) UNRELEASED; urgency=low [ Branden Robinson ] * Remove debian/NEWS; the events it attested to (like the "upcoming 7.0 @@ -7,8 +7,9 @@ xterm (225-2) UNRELEASED; urgency=low [ Julien Cristau ] * Configure with --with-tty-group=tty, to prevent security problems in case of buggy build environment (closes: #349142). + * New upstream release. - -- Julien Cristau <[EMAIL PROTECTED]> Sat, 19 May 2007 13:33:59 +0200 + -- Julien Cristau <[EMAIL PROTECTED]> Sun, 17 Jun 2007 22:26:02 +0100 xterm (225-1) unstable; urgency=low diff --git a/debian/patches/900_debian_xterm.diff b/debian/patches/900_debian_xterm.diff index 1dedaab..66fc2ea 100644 --- a/debian/patches/900_debian_xterm.diff +++ b/debian/patches/900_debian_xterm.diff @@ -25,8 +25,8 @@ This patch by Branden Robinson. Index: termcap =================================================================== ---- termcap.orig 2007-03-25 03:34:05.000000000 +0200 -+++ termcap 2007-03-25 03:34:37.000000000 +0200 +--- termcap.orig 2007-06-17 22:24:53.000000000 +0100 ++++ termcap 2007-06-17 22:24:57.000000000 +0100 @@ -73,6 +73,14 @@ :so=\E[7m:sr=\EM:st=\EH:te=\E[?1049l:ti=\E[?1049h:\ :ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[?25h:vi=\E[?25l: @@ -52,9 +52,9 @@ Index: termcap # :tc=xterm-r6: Index: terminfo =================================================================== ---- terminfo.orig 2007-03-25 03:34:05.000000000 +0200 -+++ terminfo 2007-03-25 03:34:37.000000000 +0200 -@@ -823,6 +823,13 @@ +--- terminfo.orig 2007-06-17 22:24:53.000000000 +0100 ++++ terminfo 2007-06-17 22:24:57.000000000 +0100 +@@ -885,6 +885,13 @@ u8=\E[?1;2c, u9=\E[c, vpa=\E[%i%p1%dd, @@ -68,7 +68,7 @@ Index: terminfo # # The xterm-new description has all of the features, but is not completely # compatible with vt220. If you are using a Sun or PC keyboard, set the -@@ -1602,5 +1609,6 @@ +@@ -1664,5 +1671,6 @@ # is widely used for a variety of incompatible terminal emulations including # color_xterm and rxvt. xterm|X11 terminal emulator, @@ -78,8 +78,8 @@ Index: terminfo # use=xterm-r6, Index: XTerm.ad =================================================================== ---- XTerm.ad.orig 2007-03-25 03:34:05.000000000 +0200 -+++ XTerm.ad 2007-03-25 03:34:37.000000000 +0200 +--- XTerm.ad.orig 2007-06-17 22:24:53.000000000 +0100 ++++ XTerm.ad 2007-06-17 22:24:57.000000000 +0100 @@ -116,6 +116,10 @@ *tek4014*font3: 6x13 *tek4014*fontSmall: 6x10 @@ -93,8 +93,8 @@ Index: XTerm.ad ! at startup because it is needed to make the layout work for the menubar: Index: XTerm-col.ad =================================================================== ---- XTerm-col.ad.orig 2007-03-25 03:34:05.000000000 +0200 -+++ XTerm-col.ad 2007-03-25 03:34:37.000000000 +0200 +--- XTerm-col.ad.orig 2007-06-17 22:24:53.000000000 +0100 ++++ XTerm-col.ad 2007-06-17 22:24:57.000000000 +0100 @@ -7,9 +7,9 @@ *VT100*boldColors: on *VT100*dynamicColors: on diff --git a/debian/patches/901_xterm_manpage.diff b/debian/patches/901_xterm_manpage.diff index 188c2b1..d113188 100644 --- a/debian/patches/901_xterm_manpage.diff +++ b/debian/patches/901_xterm_manpage.diff @@ -7,9 +7,9 @@ This patch by Branden Robinson and David MartÃnez. Index: xterm.man =================================================================== ---- xterm.man.orig 2007-03-25 03:34:05.000000000 +0200 -+++ xterm.man 2007-03-25 03:34:44.000000000 +0200 -@@ -4532,10 +4532,10 @@ +--- xterm.man.orig 2007-06-17 22:24:51.000000000 +0100 ++++ xterm.man 2007-06-17 22:25:02.000000000 +0100 +@@ -4596,10 +4596,10 @@ .SH FILES The actual pathnames given may differ on your system. .TP 5 commit f4b276156792bf4cefdf71406ec0f3935957071a Author: Julien Cristau <[EMAIL PROTECTED]> Date: Sun Jun 17 22:12:37 2007 +0100 Import xterm 226. diff --git a/256colres.h b/256colres.h index a84acd5..4b98391 100644 --- a/256colres.h +++ b/256colres.h @@ -1,7 +1,7 @@ /* * This header file was generated by ./256colres.pl */ -/* $XFree86: xc/programs/xterm/256colres.h,v 1.5 2002/10/05 17:57:11 dickey Exp $ */ +/* $XTermId: 256colres.h,v 1.11 2007/06/12 00:44:23 tom Exp $ */ #ifndef included_256colres_h #define included_256colres_h diff --git a/256colres.pl b/256colres.pl index a6b995e..a943af5 100755 --- a/256colres.pl +++ b/256colres.pl @@ -1,5 +1,6 @@ #! /usr/bin/perl # Author: Thomas E. Dickey +# $XTermId: 256colres.pl,v 1.15 2007/06/08 23:58:37 tom Exp $ # $XFree86: xc/programs/xterm/256colres.pl,v 1.8 2002/10/05 17:57:11 dickey Exp $ # Construct a header file defining default resources for the 256-color model @@ -9,11 +10,17 @@ # reproduction of the standard ANSI colors, but possibly more # pleasing shades +use strict; + +our ( $line1, $line2, $line3 ); +our ( $red, $green, $blue, $gray ); +our ( $level, $code, @steps ); + print <<EOF; /* * This header file was generated by $0 */ -/* \$XFree86\$ */ +/* \$XTermId\$ */ #ifndef included_256colres_h #define included_256colres_h diff --git a/88colres.h b/88colres.h index 94f428b..fcad714 100644 --- a/88colres.h +++ b/88colres.h @@ -1,7 +1,7 @@ /* * This header file was generated by ./88colres.pl */ -/* $XFree86: xc/programs/xterm/88colres.h,v 1.4 2002/10/05 17:57:11 dickey Exp $ */ +/* $XTermId: 88colres.h,v 1.11 2007/06/12 00:44:21 tom Exp $ */ #ifndef included_88colres_h #define included_88colres_h diff --git a/88colres.pl b/88colres.pl index 30a1a18..3fc4cd8 100755 --- a/88colres.pl +++ b/88colres.pl @@ -1,6 +1,6 @@ #!/usr/bin/perl # Author: Steve Wall -# $XTermId: 88colres.pl,v 1.15 2005/09/18 23:48:11 tom Exp $ +# $XTermId: 88colres.pl,v 1.16 2007/06/08 23:57:23 tom Exp $ # $XFree86: xc/programs/xterm/88colres.pl,v 1.7 2005/09/18 23:48:11 dickey Exp $ # Made from 256colres.pl @@ -11,11 +11,17 @@ # reproduction of the standard ANSI colors, but possibly more # pleasing shades +use strict; + +our ( $line1, $line2, $line3 ); +our ( $red, $green, $blue, $gray ); +our ( $level, $code, @steps ); + print <<EOF; /* * This header file was generated by $0 */ -/* \$XFree86\$ */ +/* \$XTermId\$ */ #ifndef included_88colres_h #define included_88colres_h diff --git a/INSTALL b/INSTALL index fd93f92..70c89c8 100644 --- a/INSTALL +++ b/INSTALL @@ -1,4 +1,4 @@ --- $XTermId: INSTALL,v 1.113 2007/03/18 22:46:21 tom Exp $ +-- $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 $ ------------------------------------------------------------------------------- -- Copyright 1997-2006,2007 by Thomas E. Dickey @@ -127,6 +127,15 @@ The options (in alphabetic order): Do not compile-in code that sets the default value of the colorMode resource to ``true''. + --disable-desktop disable install of xterm desktop files + + Do not install the xterm desktop files, used in menus. + These use the icons installed in the --with-icondir option. + Use the environment variable $DESKTOP_FLAGS to supply options + required by desktop-file-install. + + Note: If desktop-utils is not found they will not be installed anyway. + --disable-doublechars disable support for double-size chars Do not compile-in code that supports font-manipulation needed to @@ -254,6 +263,10 @@ The options (in alphabetic order): Do not install xterm using setuid/setgid permissions. Drop setuid permissions on startup. + --disable-sun-fkeys + + Do not compile-in code to support Sun-style function keys. + --disable-tek4014 disable tek4014 emulation Do not compile-in code to support Tektronix 4014 emulation. @@ -487,6 +500,9 @@ The options (in alphabetic order): /usr/local, you should use this option to customize the location to match your system configuration. + Use --without-app-defaults or --with-app-defaults=no to disable the + feature. + --with-freetype-cflags -D/-I options for compiling with FreeType library Override options provided by xft-config or freetype-config. @@ -495,6 +511,19 @@ The options (in alphabetic order): Override options provided by xft-config or freetype-config. + --with-icondir=DIR directory in which to install icon files (default: EPREFIX/share/pixmaps) + + The X libraries may automatically search these locations: + + $HOME/.icons + $XDG_DATA_DIRS/icons + /usr/share/pixmaps + + See also + http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html + + Use --without-icondir or --with-icondir=no to disable the feature. + --with-neXtaw link with neXT Athena library Look for, compile and link with the neXT Athena widget library. diff --git a/MANIFEST b/MANIFEST index 3bd259e..10ed0ba 100644 --- a/MANIFEST +++ b/MANIFEST @@ -1,4 +1,4 @@ -MANIFEST for xterm-225, version xterm-225 +MANIFEST for xterm-226, version xterm-226 -------------------------------------------------------------------------------- MANIFEST this file 256colres.h resource-definitions for 256-color mode @@ -80,6 +80,7 @@ trace.c debugging trace functions for 'xterm' 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 version.h version of xterm vms.c VMS version of xterm's spawn(), etc. vms.h system headers and definitions for vms.c @@ -89,6 +90,7 @@ xcharmouse.h Jason Bacon's mouse-defs, cleaned up a little xstrings.c a few common string functions xstrings.h interface of xstrings.c xterm.dat application defaults for VMS port of 'xterm' +xterm.desktop sample desktop file for xterm. xterm.h common includes, definitions and prototypes for 'xterm' xterm.log.html changelog for xterm xterm.man manual page for 'xterm' @@ -99,6 +101,15 @@ xtermcap.h interface of xtermcap.c xtermcfg.hin configure script: template for xtermcfg.h xutf8.c JC's cleanup of UTF8 xutf8.h JC's cleanup of UTF8 +icons subdirectory +icons/xterm-color_32x32.xcf gimp file for editing 32x32 icon +icons/xterm-color_32x32.xpm 32x32 color icon +icons/xterm-color_48x48.xcf gimp file for editing 48x48 icon +icons/xterm-color_48x48.xpm 48x48 color icon +icons/xterm_32x32.xcf gimp file, for editing 32x32 icon +icons/xterm_32x32.xpm 32x32 monochrome icon +icons/xterm_48x48.xcf gimp file, for editing 48x48 icon +icons/xterm_48x48.xpm 48x48 monochrome icon tektests subdirectory tektests/aitest.tek tek4014 demo: draw a globe tektests/dmerc.tek tek4014 demo: draws a Mercator projection with orbit diff --git a/Makefile.in b/Makefile.in index 4dbca16..1d174bb 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,4 +1,4 @@ -## $XTermId: Makefile.in,v 1.145 2007/03/24 00:09:52 tom Exp $ +## $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 $ ## ## @@ -65,6 +65,7 @@ bindir = @bindir@ libdir = @libdir@ mandir = @mandir@/man$(manext) appsdir = @appsdir@ +icondir = @icondir@ #### End of system configuration section. #### @@ -73,8 +74,9 @@ BINDIR = $(DESTDIR)$(bindir) LIBDIR = $(DESTDIR)$(libdir) MANDIR = $(DESTDIR)$(mandir) APPSDIR = $(DESTDIR)$(appsdir) +ICONDIR = $(DESTDIR)$(icondir) -INSTALL_DIRS = $(BINDIR) $(APPSDIR) $(MANDIR) +INSTALL_DIRS = $(BINDIR) $(APPSDIR) $(ICONDIR) $(MANDIR) CLASS = XTerm EXTRAHDR = @EXTRAHDRS@ @@ -209,6 +211,16 @@ install-full :: $(MANDIR) @no_appsdir@ @sed -e s/XTerm/$(CLASS)/ $(srcdir)/UXTerm.ad >XTerm.tmp @no_appsdir@ @$(INSTALL_DATA) XTerm.tmp $(APPSDIR)/UXTerm @no_appsdir@ @rm -f XTerm.tmp [EMAIL PROTECTED]@ @echo "... installed app-defaults" + [EMAIL PROTECTED]@install \ [EMAIL PROTECTED]@install-icon \ [EMAIL PROTECTED]@install-full :: $(ICONDIR) [EMAIL PROTECTED]@ @$(INSTALL_DATA) $(srcdir)/icons/xterm-color_32x32.xpm $(ICONDIR) [EMAIL PROTECTED]@ @$(INSTALL_DATA) $(srcdir)/icons/xterm-color_48x48.xpm $(ICONDIR) [EMAIL PROTECTED]@ @$(INSTALL_DATA) $(srcdir)/icons/xterm_32x32.xpm $(ICONDIR) [EMAIL PROTECTED]@ @$(INSTALL_DATA) $(srcdir)/icons/xterm_48x48.xpm $(ICONDIR) [EMAIL PROTECTED]@ @echo "... installed icons" install :: @echo 'Completed installation of executables and documentation.' @@ -249,6 +261,21 @@ uninstall-full :: @no_appsdir@ -$(RM) $(APPSDIR)/$(CLASS) @no_appsdir@ -$(RM) $(APPSDIR)/$(CLASS)-color @no_appsdir@ -$(RM) $(APPSDIR)/UXTerm + [EMAIL PROTECTED]@uninstall \ [EMAIL PROTECTED]@uninstall-icon \ [EMAIL PROTECTED]@uninstall-full :: [EMAIL PROTECTED]@ -$(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_48x48.xpm +################################################################################ +# Desktop-utils does not provide an uninstall, and is not uniformly available. [EMAIL PROTECTED]@DESKTOP_FLAGS = @DESKTOP_FLAGS@ [EMAIL PROTECTED]@install-desktop \ [EMAIL PROTECTED]@install-full :: [EMAIL PROTECTED]@ desktop-file-install $(DESKTOP_FLAGS) xterm.desktop [EMAIL PROTECTED]@ desktop-file-install $(DESKTOP_FLAGS) uxterm.desktop ################################################################################ mostlyclean : -$(RM) *$o *.[is] XtermLog.* .pure core *~ *.bak *.BAK *.out *.tmp diff --git a/README b/README index f098b04..76328f4 100644 --- a/README +++ b/README @@ -1,3 +1,7 @@ +-- $XTermId: README,v 1.3 2007/05/24 19:49:19 tom Exp $ +-- Below is the original README for xterm from 1991, for your amusement. +-- For a better overview, see http://invisible-island.net/xterm/ +------------------------------------------------------------------------------- Abandon All Hope, Ye Who Enter Here diff --git a/Tekproc.c b/Tekproc.c index 674c93c..8d2a97b 100644 --- a/Tekproc.c +++ b/Tekproc.c @@ -1,4 +1,4 @@ -/* $XTermId: Tekproc.c,v 1.155 2007/03/19 23:51:52 tom Exp $ */ +/* $XTermId: Tekproc.c,v 1.156 2007/05/28 19:08:33 tom Exp $ */ /* * Warning, there be crufty dragons here. @@ -956,20 +956,22 @@ TekExpose(Widget w, void TekRefresh(TekWidget tw) { - TekScreen *tekscr = TekScreenOf(tw); - TScreen *screen = TScreenOf(term); - static Cursor wait_cursor = None; - - if (wait_cursor == None) - wait_cursor = make_colored_cursor(XC_watch, - T_COLOR(screen, MOUSE_FG), - T_COLOR(screen, MOUSE_BG)); - XDefineCursor(XtDisplay(tw), TWindow(tekscr), wait_cursor); - XFlush(XtDisplay(tw)); - if (!setjmp(Tekjump)) - Tekparse(tw); - XDefineCursor(XtDisplay(tw), TWindow(tekscr), - (tekscr->TekGIN && GINcursor) ? GINcursor : tekscr->arrow); + if (tw != 0) { + TekScreen *tekscr = TekScreenOf(tw); + TScreen *screen = TScreenOf(term); + static Cursor wait_cursor = None; + + if (wait_cursor == None) + wait_cursor = make_colored_cursor(XC_watch, + T_COLOR(screen, MOUSE_FG), + T_COLOR(screen, MOUSE_BG)); + XDefineCursor(XtDisplay(tw), TWindow(tekscr), wait_cursor); + XFlush(XtDisplay(tw)); + if (!setjmp(Tekjump)) + Tekparse(tw); + XDefineCursor(XtDisplay(tw), TWindow(tekscr), + (tekscr->TekGIN && GINcursor) ? GINcursor : tekscr->arrow); + } } void @@ -1843,38 +1845,41 @@ TekSimulatePageButton(TekWidget tw, Bool reset) void TekCopy(TekWidget tw) { - TekScreen *tekscr = TekScreenOf(tw); - TScreen *screen = TScreenOf(term); + if (tw != 0) { + TekScreen *tekscr = TekScreenOf(tw); + TScreen *screen = TScreenOf(term); - TekLink *Tp; - char buf[32]; - char initbuf[5]; - int tekcopyfd; + TekLink *Tp; + char buf[32]; + char initbuf[5]; + int tekcopyfd; - timestamp_filename(buf, "COPY"); - if (access(buf, F_OK) >= 0 - && access(buf, W_OK) < 0) { - Bell(XkbBI_MinorError, 0); - return; - } + timestamp_filename(buf, "COPY"); + if (access(buf, F_OK) >= 0 + && access(buf, W_OK) < 0) { + Bell(XkbBI_MinorError, 0); + return; + } #ifndef VMS - if (access(".", W_OK) < 0) { /* can't write in directory */ - Bell(XkbBI_MinorError, 0); - return; - } + if (access(".", W_OK) < 0) { /* can't write in directory */ + Bell(XkbBI_MinorError, 0); + return; + } #endif - if ((tekcopyfd = open_userfile(screen->uid, screen->gid, buf, False)) >= 0) { - sprintf(initbuf, "%c%c%c%c", - ANSI_ESC, (char) (tekscr->page.fontsize + '8'), - ANSI_ESC, (char) (tekscr->page.linetype + '`')); - write(tekcopyfd, initbuf, 4); - Tp = &Tek0; - do { - write(tekcopyfd, Tp->data, Tp->count); - Tp = Tp->next; - } while (Tp); - close(tekcopyfd); + tekcopyfd = open_userfile(screen->uid, screen->gid, buf, False); + if (tekcopyfd >= 0) { + sprintf(initbuf, "%c%c%c%c", + ANSI_ESC, (char) (tekscr->page.fontsize + '8'), + ANSI_ESC, (char) (tekscr->page.linetype + '`')); + write(tekcopyfd, initbuf, 4); + Tp = &Tek0; + do { + write(tekcopyfd, Tp->data, Tp->count); + Tp = Tp->next; + } while (Tp); + close(tekcopyfd); + } } } diff --git a/aclocal.m4 b/aclocal.m4 index 9ea6d3e..9931f12 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,4 +1,4 @@ -dnl $XTermId: aclocal.m4,v 1.242 2007/03/21 22:06:40 tom Exp $ +dnl $XTermId: aclocal.m4,v 1.244 2007/05/25 00:58:44 tom Exp $ dnl dnl $XFree86: xc/programs/xterm/aclocal.m4,v 3.65 2006/06/19 00:36:50 dickey Exp $ dnl @@ -783,7 +783,7 @@ AC_DEFUN([CF_HELP_MESSAGE], [AC_DIVERT_HELP([$1])dnl ])dnl dnl --------------------------------------------------------------------------- -dnl CF_IMAKE_CFLAGS version: 28 updated: 2006/10/28 14:00:40 +dnl CF_IMAKE_CFLAGS version: 29 updated: 2007/05/24 20:53:19 dnl --------------- dnl Use imake to obtain compiler flags. We could, in principle, write tests to dnl get these, but if imake is properly configured there is no point in doing @@ -820,11 +820,14 @@ if mkdir conftestdir; then cat >fix_cflags.sed <<'CF_EOF' s/\\//g +s/[[ ]][[ ]]*/ /g s/"//g -s/\(-D[[a-zA-Z0-9_]][[a-zA-Z0-9_]]*\)=\([[^\\'"0-9 ]][[^ ]]*\([[ ]][[ ]]*[[^- ]][[^ ]]*\)*\)/\1='\\"\2\\"'/g -s/\(-D[[a-zA-Z0-9_]][[a-zA-Z0-9_]]*\)=\([[^\\'"0-9 ]][[^ ]]*\)[[ ]]/\1='\\"\2\\"' /g -s/\(-D[[a-zA-Z0-9_]][[a-zA-Z0-9_]]*\)=\([[^\\'"0-9 ]][[^ ]]*\)$/\1='\\"\2\\"'/g -s/^IMAKE[[ ]]*/IMAKE_CFLAGS="/ +:pack +s/\(=[[^ ]][[^ ]]*\) \([[^-]]\)/\1 \2/g +t pack +s/\(-D[[a-zA-Z0-9_]][[a-zA-Z0-9_]]*\)=\([[^\'0-9 ]][[^ ]]*\)/\1='\\"\2\\"'/g +s/^IMAKE[[ ]]/IMAKE_CFLAGS="/ +s/ / /g s/$/"/ CF_EOF @@ -2194,7 +2197,7 @@ else fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_WITH_PATH version: 7 updated: 2006/08/03 15:20:08 +dnl CF_WITH_PATH version: 8 updated: 2007/05/13 13:16:35 dnl ------------ dnl Wrapper for AC_ARG_WITH to ensure that user supplies a pathname, not just dnl defaulting to yes/no. @@ -2208,7 +2211,9 @@ dnl AC_DEFUN([CF_WITH_PATH], [AC_ARG_WITH($1,[$2 ](default: ifelse($4,,empty,$4)),, ifelse($4,,[withval="${$3}"],[withval="${$3-ifelse($5,,$4,$5)}"]))dnl +if ifelse($5,,true,[test -n "$5"]) ; then CF_PATH_SYNTAX(withval) +fi $3="$withval" AC_SUBST($3)dnl ])dnl diff --git a/button.c b/button.c index 8fe65e3..9f469bc 100644 --- a/button.c +++ b/button.c @@ -1,4 +1,4 @@ -/* $XTermId: button.c,v 1.272 2007/03/19 23:42:48 tom Exp $ */ +/* $XTermId: button.c,v 1.274 2007/06/17 12:55:47 tom Exp $ */ /* * Copyright 1999-2006,2007 by Thomas E. Dickey @@ -1039,8 +1039,8 @@ struct _SelectionList { Time time; }; -static int -DECtoASCII(int ch) +static unsigned +DECtoASCII(unsigned ch) { if (ch < 32) { ch = "###########+++++##-##++++|######"[ch]; @@ -1087,7 +1087,7 @@ UTF8toLatin1(Char * s, unsigned len, unsigned long *result) if (eqv == value) eqv = '#'; *q++ = eqv; - if (iswide(value)) + if (iswide((wchar_t) value)) *q++ = ' '; } } @@ -1611,7 +1611,8 @@ SelectionReceived(Widget w, GettingSelection(dpy, *type, line, *length); #if OPT_WIDE_CHARS - if (*type == XA_UTF8_STRING(dpy)) { + if (*type == XA_UTF8_STRING(dpy) && + !(screen->wide_chars || screen->c1_printable)) { rc = Xutf8TextPropertyToTextList(dpy, &text_prop, &text_list, &text_list_count); if (text_list != NULL && text_list_count != 0) { @@ -3492,7 +3493,7 @@ SaveText(TScreen * screen, are in memory attached to the HIDDEN_CHAR */ if_OPT_WIDE_CHARS(screen, { if (screen->utf8_mode != uFalse) { - int ch; + unsigned ch; int off; for (off = OFF_FINAL; off < MAX_PTRS; off += 2) { if ((ch = XTERM_CELLC(row, i, off)) == 0) @@ -3507,7 +3508,7 @@ SaveText(TScreen * screen, if (screen->utf8_mode != uFalse) { lp = convertToUTF8(lp, (c != 0) ? c : ' '); if_OPT_WIDE_CHARS(screen, { - int ch; + unsigned ch; int off; for (off = OFF_FINAL; off < MAX_PTRS; off += 2) { if ((ch = XTERM_CELLC(row, i, off)) == 0) diff --git a/cachedGCs.c b/cachedGCs.c index ca699fb..720b884 100644 --- a/cachedGCs.c +++ b/cachedGCs.c @@ -1,4 +1,4 @@ -/* $XTermId: cachedGCs.c,v 1.35 2007/03/21 23:21:50 tom Exp $ */ +/* $XTermId: cachedGCs.c,v 1.38 2007/06/09 00:08:39 tom Exp $ */ /************************************************************ @@ -245,26 +245,36 @@ tracePixel(XtermWidget xw, Pixel value) #endif /* OPT_TRACE > 1 */ #endif /* OPT_TRACE */ +static CgsCache * +allocCache(void **cache_pointer) +{ + if (*cache_pointer == 0) { + *cache_pointer = TypeCallocN(CgsCache, gcMAX); + TRACE(("allocCache %p\n", cache_pointer)); + } + return *((CgsCache **) cache_pointer); +} + /* - * FIXME: move the cache into XtermWidget + * Returns the appropriate cache pointer. */ static CgsCache * -myCache(XtermWidget xw GCC_UNUSED, VTwin * cgsWin GCC_UNUSED, CgsEnum cgsId) +myCache(XtermWidget xw, VTwin * cgsWin, CgsEnum cgsId) { - static CgsCache *main_cache; - CgsCache *my_cache; CgsCache *result = 0; - if (main_cache == 0) - main_cache = (CgsCache *) calloc(gcMAX, sizeof(CgsCache)); - my_cache = main_cache; if ((int) cgsId >= 0 && cgsId < gcMAX) { -#ifndef NO_ACTIVE_ICON - static CgsCache icon_cache[gcMAX]; +#ifdef NO_ACTIVE_ICON + (void) xw; + (void) cgsWin; +#else if (cgsWin == &(xw->screen.iconVwin)) - my_cache = icon_cache; + result = allocCache(&(xw->screen.icon_cgs_cache)); + else #endif - result = my_cache + cgsId; + result = allocCache(&(xw->screen.main_cgs_cache)); + + result += cgsId; if (result->data == 0) { result->data = result->list; } @@ -803,3 +813,14 @@ freeCgs(XtermWidget xw, VTwin * cgsWin, CgsEnum cgsId) } return 0; } + +#ifdef NO_LEAKS +void +noleaks_cachedCgs(XtermWidget xw) +{ +#ifndef NO_ACTIVE_ICON + free(xw->screen.icon_cgs_cache); +#endif + free(xw->screen.main_cgs_cache); +} +#endif diff --git a/charproc.c b/charproc.c index 1fba22b..1f22734 100644 --- a/charproc.c +++ b/charproc.c @@ -1,4 +1,4 @@ -/* $XTermId: charproc.c,v 1.784 2007/03/20 23:59:25 tom Exp $ */ +/* $XTermId: charproc.c,v 1.797 2007/06/17 12:52:35 tom Exp $ */ /* $XFree86: xc/programs/xterm/charproc.c,v 3.185 2006/06/20 00:42:38 dickey Exp $ */ @@ -116,6 +116,14 @@ in this Software without prior written authorization from The Open Group. #include <X11/Xlocale.h> #endif +#if HAVE_X11_SUNKEYSYM_H +#include <X11/Sunkeysym.h> +#endif + +#if HAVE_X11_XF86KEYSYM_H +#include <X11/XF86keysym.h> +#endif + #include <stdio.h> #include <ctype.h> @@ -220,6 +228,18 @@ static char defaultTranslations[] = Shift <KeyPress> Select:select-cursor-start() select-cursor-end(SELECT, CUT_BUFFER0) \n\ Shift <KeyPress> Insert:insert-selection(SELECT, CUT_BUFFER0) \n\ " +#if OPT_EXTRA_PASTE +#ifdef XF86XK_Paste +"\ + <KeyPress> XF86Paste:insert-selection(SELECT, CUT_BUFFER0) \n\ +" +#endif +#ifdef SunXK_Paste +"\ + <KeyPress> SunPaste:insert-selection(SELECT, CUT_BUFFER0) \n\ +" +#endif +#endif /* OPT_EXTRA_PASTE */ #if OPT_SHIFT_FONTS "\ Shift~Ctrl <KeyPress> KP_Add:larger-vt-font() \n\ @@ -399,6 +419,7 @@ static XtActionsRec actionsList[] = { static XtResource resources[] = { Bres(XtNallowSendEvents, XtCAllowSendEvents, screen.allowSendEvent0, False), + Bres(XtNallowTitleOps, XtCAllowTitleOps, screen.allowTitleOp0, True), Bres(XtNallowWindowOps, XtCAllowWindowOps, screen.allowWindowOp0, True), Bres(XtNaltIsNotMeta, XtCAltIsNotMeta, screen.alt_is_not_meta, False), Bres(XtNaltSendsEscape, XtCAltSendsEscape, screen.alt_sends_esc, False), @@ -550,6 +571,7 @@ static XtResource resources[] = #if OPT_HIGHLIGHT_COLOR Tres(XtNhighlightColor, XtCHighlightColor, HIGHLIGHT_BG, XtDefaultForeground), Tres(XtNhighlightTextColor, XtCHighlightTextColor, HIGHLIGHT_FG, XtDefaultBackground), + Bres(XtNhighlightReverse, XtCHighlightReverse, screen.hilite_reverse, True), #endif /* OPT_HIGHLIGHT_COLOR */ #if OPT_INPUT_METHOD @@ -656,6 +678,8 @@ static XtResource resources[] = Bres(XtNvt100Graphics, XtCVT100Graphics, screen.vt100_graphics, True), Bres(XtNwideChars, XtCWideChars, screen.wide_chars, False), Ires(XtNcombiningChars, XtCCombiningChars, screen.max_combining, 2), + Ires(XtNmkSamplePass, XtCMkSamplePass, misc.mk_samplepass, 256), + Ires(XtNmkSampleSize, XtCMkSampleSize, misc.mk_samplesize, 1024), Ires(XtNutf8, XtCUtf8, screen.utf8_mode, uDefault), Sres(XtNwideBoldFont, XtCWideBoldFont, misc.default_font.f_wb, DEFWIDEBOLDFONT), Sres(XtNwideFont, XtCWideFont, misc.default_font.f_w, DEFWIDEFONT), @@ -1214,7 +1238,7 @@ doparsing(XtermWidget xw, unsigned c, struct ParseState *sp) } #endif - /* substitute combined character with precomposed character + /* substitute combined character with precomposed character * only if it does not change the width of the base character */ if (precomposed != -1 && my_wcwidth(precomposed) == my_wcwidth(prev)) { @@ -3266,13 +3290,8 @@ in_put(XtermWidget xw) #endif #if OPT_SESSION_MGT } else if (resource.sessionMgt) { - /* - * When session management is enabled, we should not block since - * session related events can arrive any time. - */ - select_timeout.tv_sec = 1; - select_timeout.tv_usec = 0; - time_select = 1; + if (ice_fd >= 0) + FD_SET(ice_fd, &select_mask); #endif } -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]