INSTALL | 24 Imakefile | 7 MANIFEST | 4 Makefile.in | 36 THANKS | 7 Tekproc.c | 10 VTPrsTbl.c | 27 VTparse.def | 10 VTparse.h | 10 aclocal.m4 | 299 - button.c | 834 +++ cachedGCs.c | 62 charproc.c | 526 +- charsets.c | 63 configure | 3751 +++++++++------ configure.in | 34 ctlseqs.ms | 151 ctlseqs.txt | 135 debian/changelog | 81 debian/control | 5 debian/copyright | 2 debian/local/xterm.faq.html | 8340 +++++++++++++++++++++-------------- debian/patches/900_debian_xterm.diff | 87 debian/patches/902_windowops.diff | 2 debian/patches/904_fontops.diff | 6 debian/rules | 21 debian/xterm.install | 1 doublechr.c | 62 fontutils.c | 374 - fontutils.h | 64 input.c | 23 koi8rxterm.man | 6 linedata.c | 62 main.c | 1122 ++-- main.h | 14 menu.c | 26 menu.h | 10 minstall.sh | 125 misc.c | 831 ++- os2main.c | 43 package/debian/changelog | 43 package/xterm.spec | 4 print.c | 62 ptydata.c | 62 ptyx.h | 72 resize.c | 41 resize.man | 47 screen.c | 4 scrollback.c | 62 scrollbar.c | 4 tabs.c | 5 termcap | 48 terminfo | 24 testxmc.c | 62 trace.c | 110 trace.h | 22 util.c | 104 uxterm.man | 6 version.h | 19 vttests/16colors.sh | 6 vttests/8colors.sh | 6 vttests/acolors.sh | 6 vttests/doublechars.sh | 6 vttests/dynamic.sh | 6 vttests/dynamic2.sh | 6 vttests/fonts.sh | 6 vttests/resize.sh | 6 vttests/title.sh | 6 xcharmouse.h | 7 xstrings.c | 246 - xstrings.h | 74 xterm.h | 102 xterm.log.html | 305 + xterm.man | 602 +- xterm_io.h | 4 xtermcap.h | 66 xtermcfg.hin | 69 xutf8.c | 43 78 files changed, 12544 insertions(+), 7126 deletions(-)
New commits: commit d8b5da1c1273f179d9f75a9387384db80d8ff7ba Author: Bryce Harrington <br...@canonical.com> Date: Thu Aug 16 13:10:07 2012 -0700 Merge from debian. Branch by Logan Rosen https://code.launchpad.net/~logan/ubuntu/quantal/xterm/debian-merge/+merge/114117 diff --git a/INSTALL b/INSTALL index 028375a..0d0a4de 100644 --- a/INSTALL +++ b/INSTALL @@ -1,4 +1,4 @@ --- $XTermId: INSTALL,v 1.125 2011/07/07 01:01:14 tom Exp $ +-- $XTermId: INSTALL,v 1.127 2011/12/22 01:59:16 tom Exp $ ------------------------------------------------------------------------------- -- Copyright 1997-2010,2011 by Thomas E. Dickey -- @@ -281,6 +281,11 @@ The options (in alphabetic order): Do not compile-in code that suppresses redundant updates to the titlebar when the text has not changed. + --disable-selection-ops disable selection operations + + Do not compile-in code to support the actions which allow users + to bind keys that use the selection or extract data from the screen. + --disable-session-mgt enable support for session management Do not compile-in code which adds simple session management hooks @@ -537,6 +542,23 @@ The options (in alphabetic order): at existing ".desktop" files for xterm and common terminal emulators, to use those. + --with-freetype-config configure script to use for FreeType + + Use a specific option value to tell the configure script to try + just one of the variations: + + "pkg*", e.g., pkg-config or pkgconfig uses whatever pkg-config + script was found. + + otherwise, the parameter value is used as the name of the script + to try, using --cflags and --libs options. + + Use --without-freetype-config to enable the --with-freetype-cflags + and --with-freetype-libs options. + + The default value "auto" tells the configure script to try the + pkg-config script first, then freetype-config and finally xft-config. + --with-freetype-cflags -D/-I options for compiling with FreeType library Override options provided by xft-config or freetype-config. diff --git a/Imakefile b/Imakefile index f65c300..fcfaced 100644 --- a/Imakefile +++ b/Imakefile @@ -1,4 +1,4 @@ -XCOMM $XTermId: Imakefile,v 1.104 2011/07/02 00:48:49 tom Exp $ +XCOMM $XTermId: Imakefile,v 1.105 2011/11/29 10:19:20 Thorsten.Glaser Exp $ XCOMM XCOMM Attention xterm porters XCOMM @@ -253,6 +253,11 @@ SetUIDProgramTarget(xterm,$(OBJS1),$(DEPLIBS1),$(XRFLIBS) XkbClientLibs XawClien NormalProgramTarget(xterm,$(OBJS1),$(DEPLIBS1),$(XRFLIBS) XkbClientLibs XawClientLibs,$(TERMCAPLIB) $(UTMPLIB) $(PTYLIB)) #endif +#if defined(OpenBSDArchitecture) || defined(MirBSDArchitecture) +/* On OpenBSD xterm is now setgid utmp */ +INSTUIDFLAGS= -m 2555 -g utmp +#endif + #if InstallXtermSetUID && defined(SunArchitecture) && HasSharedLibraries && (OSMajorVersion < 5) #if AlternateUsrLibDir #if ((OSMajorVersion == 4) && (OSMinorVersion >= 1)) diff --git a/MANIFEST b/MANIFEST index 757e8e0..30e5fd3 100644 --- a/MANIFEST +++ b/MANIFEST @@ -1,4 +1,4 @@ -MANIFEST for xterm-271, version xterm-271 +MANIFEST for xterm-278, version xterm-278 -------------------------------------------------------------------------------- MANIFEST this file 256colres.h resource-definitions for 256-color mode @@ -60,7 +60,7 @@ main.h default definitions for 'xterm' make.com build-script for VMS port of 'xterm' menu.c popup/pulldown menus for 'xterm' menu.h interface of menu.c -minstall.sh script for installing manpages +minstall.in script for installing manpages misc.c miscellaneous utility functions for 'xterm' os2main.c main program for OS/2 EMX port of 'xterm' plink.sh script to prune unneeded libraries from link diff --git a/Makefile.in b/Makefile.in index e3b746c..17684ea 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,4 +1,4 @@ -## $XTermId: Makefile.in,v 1.181 2011/07/14 22:13:45 tom Exp $ +## $XTermId: Makefile.in,v 1.186 2011/08/25 09:25:51 tom Exp $ # ----------------------------------------------------------------------------- # this file is part of xterm # @@ -130,7 +130,7 @@ all : $(PROGRAMS) grep '^CASE_' $< | $(AWK) '{printf "#define %s %d\n", $$1, n++}' >$@ .man.$(manext) : - $(SHELL) $(srcdir)/minstall.sh "$(INSTALL_DATA)" $< $@ $(appsdir) + $(SHELL) ./minstall "$(INSTALL_DATA)" $< $@ $(appsdir) $(CLASS) .$(manext).html : GROFF_NO_SGR=stupid $(SHELL) -c "tbl $*.$(manext) | groff -Thtml -man" >$@ @@ -142,13 +142,13 @@ all : $(PROGRAMS) GROFF_NO_SGR=stupid $(SHELL) -c "tbl $*.$(manext) | nroff -Tascii -man | col -bx" >$@ .ms.html : - GROFF_NO_SGR=stupid $(SHELL) -c "tbl $*.ms | groff -Thtml -ms" >$@ + GROFF_NO_SGR=stupid $(SHELL) -c "tbl $< | groff -Thtml -ms" >$@ .ms.ps : - $(SHELL) -c "tbl $*.ms | groff -ms" >$@ + $(SHELL) -c "tbl $< | groff -ms" >$@ .ms.txt : - GROFF_NO_SGR=stupid $(SHELL) -c "tbl $*.ms | nroff -Tascii -ms | col -bx" >$@ + GROFF_NO_SGR=stupid $(SHELL) -c "tbl $< | nroff -Tascii -ms | col -bx" >$@ .ps.pdf : ps2pdf $*.ps @@ -222,10 +222,10 @@ install-full :: install \ 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) ./minstall "$(INSTALL_DATA)" $(srcdir)/xterm.man $(MANDIR)/$(actual_xterm).$(manext) $(appsdir) $(CLASS) + $(SHELL) ./minstall "$(INSTALL_DATA)" $(srcdir)/resize.man $(MANDIR)/$(actual_resize).$(manext) $(appsdir) $(CLASS) + $(SHELL) ./minstall "$(INSTALL_DATA)" $(srcdir)/uxterm.man $(MANDIR)/$(actual_uxterm).$(manext) $(appsdir) $(CLASS) + $(SHELL) ./minstall "$(INSTALL_DATA)" $(srcdir)/koi8rxterm.man $(MANDIR)/$(actual_k8term).$(manext) $(appsdir) $(CLASS) @-$(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" @@ -252,10 +252,10 @@ APP_NAMES = XTerm UXTerm KOI8RXTerm @no_icondir@install \ @no_icondir@install-icon \ @no_icondir@install-full :: $(ICONDIR) -@no_icondir@ @$(INSTALL_DATA) $(srcdir)/icons/xterm-color_32x32.xpm $(ICONDIR)/$(actual_xterm)-color_32x32.xpm -@no_icondir@ @$(INSTALL_DATA) $(srcdir)/icons/xterm-color_48x48.xpm $(ICONDIR)/$(actual_xterm)-color_48x48.xpm -@no_icondir@ @$(INSTALL_DATA) $(srcdir)/icons/xterm_32x32.xpm $(ICONDIR)/$(actual_xterm)_32x32.xpm -@no_icondir@ @$(INSTALL_DATA) $(srcdir)/icons/xterm_48x48.xpm $(ICONDIR)/$(actual_xterm)_48x48.xpm +@no_icondir@ @$(INSTALL_DATA) $(srcdir)/icons/xterm-color_32x32.xpm $(ICONDIR)/$(actual_xterm)-color_32x32.xpm +@no_icondir@ @$(INSTALL_DATA) $(srcdir)/icons/xterm-color_48x48.xpm $(ICONDIR)/$(actual_xterm)-color_48x48.xpm +@no_icondir@ @$(INSTALL_DATA) $(srcdir)/icons/xterm_32x32.xpm $(ICONDIR)/$(actual_xterm)_32x32.xpm +@no_icondir@ @$(INSTALL_DATA) $(srcdir)/icons/xterm_48x48.xpm $(ICONDIR)/$(actual_xterm)_48x48.xpm @no_icondir@ @echo "... installed icons" install :: @@ -335,7 +335,7 @@ clean : mostlyclean distclean :: clean -$(RM) Makefile config.status config.cache config.log xtermcfg.h - -$(RM) df-install + -$(RM) df-install minstall distclean \ docs-clean :: @@ -359,11 +359,11 @@ docs-ctlseqs \ docs :: ctlseqs.html \ ctlseqs.pdf \ ctlseqs.ps \ - ctlseqs.txt -ctlseqs.html : ctlseqs.ms + $(srcdir)/ctlseqs.txt +ctlseqs.html : $(srcdir)/ctlseqs.ms ctlseqs.pdf : ctlseqs.ps -ctlseqs.ps : ctlseqs.ms -ctlseqs.txt : ctlseqs.ms +ctlseqs.ps : $(srcdir)/ctlseqs.ms +ctlseqs.txt : $(srcdir)/ctlseqs.ms ################################################################################ docs-resize \ docs :: resize.html \ diff --git a/THANKS b/THANKS index 97d533c..223c10d 100644 --- a/THANKS +++ b/THANKS @@ -1,4 +1,4 @@ --- $XTermId: THANKS,v 1.4 2011/02/11 10:55:53 tom Exp $ +-- $XTermId: THANKS,v 1.5 2011/08/21 00:52:56 tom Exp $ -- vile:txtmode fk=8bit There's no AUTHORS file in this distribution; it would be redundant since I (Thomas E. Dickey) have done more than 80% of the work on xterm since 1996. @@ -65,6 +65,7 @@ Frank Guangxin Liu Frank Liu Gael Roualland George Peter Staplin +Gertjan Halkes Greg Badros Greg Klanderman Greg Smith @@ -99,8 +100,10 @@ Kevin Schoedel Kiyokazu Suto Larry Riedel Lee Olsen +Lo�c Minier Marc Bevand Marc La France +Marco Peereboom Marius Tolzmann Mark Waggoner Markus Kuhn @@ -121,6 +124,7 @@ Miroslav Lichvar Nam SungHyun Nelson Beebe N�meth M�rton +Nicolas George Ovidiu Gheorghioiu Paul Gilmartin Paul Giordano @@ -150,6 +154,7 @@ Stuart Lissaman Sven Verdoolaege Taneli Huuskonen Ted Phelps +Thierry Reding Thomas Wolff Tim Adye Tim Pope diff --git a/Tekproc.c b/Tekproc.c index f07831e..6a7f668 100644 --- a/Tekproc.c +++ b/Tekproc.c @@ -1,4 +1,4 @@ -/* $XTermId: Tekproc.c,v 1.189 2011/07/10 22:19:32 tom Exp $ */ +/* $XTermId: Tekproc.c,v 1.191 2011/12/27 10:19:51 tom Exp $ */ /* * Copyright 2001-2010,2011 by Thomas E. Dickey @@ -397,7 +397,7 @@ TekPtyData(void) if (Tpushb == 0) { if ((Tpushb = TypeMallocN(Char, 10)) == NULL || (Tline = TypeMallocN(XSegment, MAX_VTX)) == NULL) { - fprintf(stderr, "%s: Not enough core for Tek mode\n", ProgramName); + xtermWarning("Not enough core for Tek mode\n"); if (Tpushb) free(Tpushb); Tfailed = True; @@ -826,7 +826,7 @@ Tinput(TekWidget tw) TCursorToggle(tw, TOGGLE); Ttoggled = False; } - if (XtAppPending(app_con) & XtIMXEvent) { + if (xtermAppPending() & XtIMXEvent) { #ifdef VMS Tselect_mask = X_mask; #else /* VMS */ @@ -1571,8 +1571,8 @@ TekRealize(Widget gw, else if (TestGIN(GIN_TERM_EOT_STR) == 0) tekscr->gin_terminator = GIN_TERM_EOT; else - fprintf(stderr, "%s: illegal GIN terminator setting \"%s\"\n", - ProgramName, tw->tek.gin_terminator_str); + xtermWarning("illegal GIN terminator setting \"%s\"\n", + tw->tek.gin_terminator_str); gcv.graphics_exposures = True; /* default */ gcv.font = tw->tek.Tfont[tekscr->cur.fontsize]->fid; diff --git a/VTPrsTbl.c b/VTPrsTbl.c index ea7f812..35e0bc7 100644 --- a/VTPrsTbl.c +++ b/VTPrsTbl.c @@ -1,8 +1,7 @@ -/* $XTermId: VTPrsTbl.c,v 1.59 2010/08/24 21:26:42 tom Exp $ */ +/* $XTermId: VTPrsTbl.c,v 1.63 2011/12/04 19:46:52 tom Exp $ */ /* - * - * Copyright 1999-2009,2010 by Thomas E. Dickey + * Copyright 1999-2010,2011 by Thomas E. Dickey * * All Rights Reserved * @@ -54,6 +53,7 @@ */ #include <VTparse.h> +/* *INDENT-OFF* */ #if !OPT_BLINK_CURS #undef CASE_CSI_SPACE_STATE @@ -1786,8 +1786,8 @@ CASE_CSI_IGNORE, CASE_CSI_IGNORE, CASE_CSI_IGNORE, /* @ A B C */ -CASE_GROUND_STATE, -CASE_GROUND_STATE, +CASE_SL, +CASE_SR, CASE_GROUND_STATE, CASE_GROUND_STATE, /* D E F G */ @@ -2188,8 +2188,8 @@ CASE_DECELR, CASE_DECSLE, /* | } ~ DEL */ CASE_DECRQLP, -CASE_GROUND_STATE, -CASE_GROUND_STATE, +CASE_DECIC, +CASE_DECDC, CASE_IGNORE, /* 0x80 0x81 0x82 0x83 */ CASE_GROUND_STATE, @@ -2348,8 +2348,8 @@ CASE_DECELR, CASE_DECSLE, /* udiaeresis yacute thorn ydiaeresis */ CASE_DECRQLP, -CASE_GROUND_STATE, -CASE_GROUND_STATE, +CASE_DECIC, +CASE_DECDC, CASE_IGNORE, }; #endif /* OPT_DEC_LOCATOR */ @@ -5020,11 +5020,11 @@ CASE_GROUND_STATE, /* 4 5 6 7 */ CASE_GROUND_STATE, CASE_GROUND_STATE, -CASE_GROUND_STATE, +CASE_DECBI, CASE_DECSC, /* 8 9 : ; */ CASE_DECRC, -CASE_GROUND_STATE, +CASE_DECFI, CASE_GROUND_STATE, CASE_GROUND_STATE, /* < = > ? */ @@ -5180,11 +5180,11 @@ CASE_GROUND_STATE, /* acute mu paragraph periodcentered */ CASE_GROUND_STATE, CASE_GROUND_STATE, -CASE_GROUND_STATE, +CASE_DECBI, CASE_DECSC, /* cedilla onesuperior masculine guillemotright */ CASE_DECRC, -CASE_GROUND_STATE, +CASE_DECFI, CASE_GROUND_STATE, CASE_GROUND_STATE, /* onequarter onehalf threequarters questiondown */ @@ -8197,3 +8197,4 @@ CASE_IGNORE, CASE_IGNORE, }; #endif /* OPT_VT52_MODE */ +/* *INDENT-ON* */ diff --git a/VTparse.def b/VTparse.def index da9b5c7..67254d1 100644 --- a/VTparse.def +++ b/VTparse.def @@ -1,10 +1,10 @@ -# $XTermId: VTparse.def,v 1.40 2010/08/24 21:26:42 tom Exp $ +# $XTermId: VTparse.def,v 1.42 2011/12/04 18:29:33 tom Exp $ # # vile:confmode rs=lf # ----------------------------------------------------------------------------- # this file is part of xterm # -# Copyright 1996-2009,2010 by Thomas E. Dickey +# Copyright 1996-2010,2011 by Thomas E. Dickey # # All Rights Reserved # @@ -185,3 +185,9 @@ CASE_DECLL CASE_DECRQM CASE_RQM CASE_CSI_DEC_DOLLAR_STATE +CASE_SL +CASE_SR +CASE_DECDC +CASE_DECIC +CASE_DECBI +CASE_DECFI diff --git a/VTparse.h b/VTparse.h index cafbbe3..bf9350f 100644 --- a/VTparse.h +++ b/VTparse.h @@ -1,7 +1,7 @@ -/* $XTermId: VTparse.h,v 1.53 2010/08/24 21:27:13 tom Exp $ */ +/* $XTermId: VTparse.h,v 1.55 2011/12/04 18:30:20 tom Exp $ */ /* - * Copyright 2002-2009,2010 by Thomas E. Dickey + * Copyright 2002-2010,2011 by Thomas E. Dickey * * All Rights Reserved * @@ -266,5 +266,11 @@ extern Const PARSE_T esc_pct_table[]; #define CASE_DECRQM 144 #define CASE_RQM 145 #define CASE_CSI_DEC_DOLLAR_STATE 146 +#define CASE_SL 147 +#define CASE_SR 148 +#define CASE_DECDC 149 +#define CASE_DECIC 150 +#define CASE_DECBI 151 +#define CASE_DECFI 152 #endif /* included_VTparse_h */ diff --git a/aclocal.m4 b/aclocal.m4 index 9f3625a..c019357 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,4 +1,4 @@ -dnl $XTermId: aclocal.m4,v 1.309 2011/07/14 23:36:54 tom Exp $ +dnl $XTermId: aclocal.m4,v 1.321 2012/01/12 13:09:35 tom Exp $ dnl dnl --------------------------------------------------------------------------- dnl @@ -543,6 +543,37 @@ AC_DEFUN([CF_ERRNO], CF_CHECK_ERRNO(errno) ])dnl dnl --------------------------------------------------------------------------- +dnl CF_FUNC_GRANTPT version: 3 updated: 2012/01/12 08:07:51 +dnl --------------- +dnl Check for grantpt versus openpty, as well as functions that "should" be +dnl available if grantpt is available. +AC_DEFUN([CF_FUNC_GRANTPT],[ + +cf_func_grantpt="grantpt ptsname" +case $host_os in #(vi +darwin[[0-9]].*) #(vi + ;; +*) + cf_func_grantpt="$cf_func_grantpt posix_openpt" + ;; +esac + +AC_CHECK_FUNCS($cf_func_grantpt) + +if test "x$ac_cv_func_grantpt" != "xyes" ; then + AC_CHECK_LIB(util, openpty, [cf_have_openpty=yes],[cf_have_openpty=no]) + if test "$cf_have_openpty" = yes ; then + LIBS="-lutil $LIBS" + AC_DEFINE(HAVE_OPENPTY) + AC_CHECK_HEADERS( \ + util.h \ + libutil.h \ + pty.h \ + ) + fi +fi +])dnl +dnl --------------------------------------------------------------------------- dnl CF_FUNC_MEMMOVE version: 7 updated: 2006/12/16 12:33:30 dnl --------------- dnl Check for memmove, or a bcopy that can handle overlapping copy. If neither @@ -574,7 +605,7 @@ int main() { fi ])])dnl dnl --------------------------------------------------------------------------- -dnl CF_FUNC_TGETENT version: 17 updated: 2011/07/14 19:34:47 +dnl CF_FUNC_TGETENT version: 18 updated: 2011/08/09 21:06:37 dnl --------------- dnl Check for tgetent function in termcap library. If we cannot find this, dnl we'll use the $LINES and $COLUMNS environment variables to pass screen @@ -621,7 +652,7 @@ AC_CACHE_CHECK(for $cf_test_message function,cf_cv_lib_tgetent,[ cf_save_LIBS="$LIBS" cf_cv_lib_tgetent=no if test "$cf_full_tgetent" = yes ; then - cf_TERMLIB="termcap termlib ncurses curses" + cf_TERMLIB="otermcap termcap termlib ncurses curses" cf_TERMTST="buffer[[0]] == 0" else cf_TERMLIB="termlib ncurses curses" @@ -1219,7 +1250,7 @@ AC_TRY_COMPILE([ test $cf_cv_path_lastlog != no && AC_DEFINE(USE_LASTLOG) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_LD_RPATH_OPT version: 4 updated: 2011/06/04 20:09:13 +dnl CF_LD_RPATH_OPT version: 5 updated: 2011/07/17 14:48:41 dnl --------------- dnl For the given system and compiler, find the compiler flags to pass to the dnl loader to use the "rpath" feature. @@ -1243,7 +1274,7 @@ linux*|gnu*|k*bsd*-gnu) #(vi openbsd[[2-9]].*|mirbsd*) #(vi LD_RPATH_OPT="-Wl,-rpath," ;; -freebsd*) #(vi +dragonfly*|freebsd*) #(vi LD_RPATH_OPT="-rpath " ;; netbsd*) #(vi @@ -2048,7 +2079,7 @@ cf_cv_struct_lastlog=unknown])]) test $cf_cv_struct_lastlog != no && AC_DEFINE(USE_STRUCT_LASTLOG) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_SVR4 version: 3 updated: 2000/05/31 10:16:52 +dnl CF_SVR4 version: 4 updated: 2011/09/04 17:17:53 dnl ------- dnl Check if this is an SVR4 system. We need the definition for xterm AC_DEFUN([CF_SVR4], @@ -2056,6 +2087,9 @@ AC_DEFUN([CF_SVR4], AC_CHECK_LIB(elf, elf_begin,[ AC_CACHE_CHECK(if this is an SVR4 system, cf_cv_svr4,[ AC_TRY_COMPILE([ +#if defined(__CYGWIN__) +make an error +#endif #include <elf.h> #include <sys/termio.h> ],[ @@ -2216,6 +2250,45 @@ else fi ]) dnl --------------------------------------------------------------------------- +dnl CF_TRY_XOPEN_SOURCE version: 1 updated: 2011/10/30 17:09:50 +dnl ------------------- +dnl If _XOPEN_SOURCE is not defined in the compile environment, check if we +dnl can define it successfully. +AC_DEFUN([CF_TRY_XOPEN_SOURCE],[ +AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[ + AC_TRY_COMPILE([ +#include <stdlib.h> +#include <string.h> +#include <sys/types.h> +],[ +#ifndef _XOPEN_SOURCE +make an error +#endif], + [cf_cv_xopen_source=no], + [cf_save="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" + AC_TRY_COMPILE([ +#include <stdlib.h> +#include <string.h> +#include <sys/types.h> +],[ +#ifdef _XOPEN_SOURCE +make an error +#endif], + [cf_cv_xopen_source=no], + [cf_cv_xopen_source=$cf_XOPEN_SOURCE]) + CPPFLAGS="$cf_save" + ]) +]) + +if test "$cf_cv_xopen_source" != no ; then + CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE) + CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE) + cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source" + CF_ADD_CFLAGS($cf_temp_xopen_source) +fi +]) +dnl --------------------------------------------------------------------------- dnl CF_TTY_GROUP version: 7 updated: 2007/03/14 16:43:59 dnl ------------ dnl Check if the system has a tty-group defined. This is used in xterm when @@ -2335,6 +2408,30 @@ else fi ])dnl dnl --------------------------------------------------------------------------- +dnl CF_TYPE_CC_T version: 1 updated: 2011/12/12 20:54:48 +dnl ------------ +dnl Check for cc_t type, used in termio. +AC_DEFUN([CF_TYPE_CC_T], +[ +AC_MSG_CHECKING(for cc_t in <termios.h> or <termio.h>) +AC_CACHE_VAL(cf_cv_type_cc_t,[ + AC_TRY_COMPILE([ +#include <sys/types.h> +#if defined(HAVE_TERMIOS_H) +#include <termios.h> +#else +#include <termio.h> +#include <sys/ioctl.h> +#endif +], + [cc_t x], + [cf_cv_type_cc_t=yes], + [cf_cv_type_cc_t=no]) + ]) +AC_MSG_RESULT($cf_cv_type_cc_t) +test $cf_cv_type_cc_t = no && AC_DEFINE(cc_t, unsigned char) +])dnl +dnl --------------------------------------------------------------------------- dnl CF_TYPE_FD_MASK version: 2 updated: 2008/03/25 20:59:57 dnl --------------- dnl Check for the declaration of fd_mask, which is like fd_set, associated @@ -3018,7 +3115,7 @@ AC_TRY_LINK([ test "$cf_cv_xkb_bell_ext" = yes && AC_DEFINE(HAVE_XKB_BELL_EXT) ]) dnl --------------------------------------------------------------------------- -dnl CF_XOPEN_SOURCE version: 36 updated: 2011/07/02 15:36:04 +dnl CF_XOPEN_SOURCE version: 42 updated: 2012/01/07 08:26:49 dnl --------------- dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions, dnl or adapt to the vendor's definitions to get equivalent functionality, @@ -3045,6 +3142,7 @@ darwin[[0-8]].*) #(vi ;; darwin*) #(vi cf_xopen_source="-D_DARWIN_C_SOURCE" + cf_XOPEN_SOURCE= ;; freebsd*|dragonfly*) #(vi # 5.x headers associate @@ -3062,15 +3160,23 @@ hpux*) #(vi ;; irix[[56]].*) #(vi cf_xopen_source="-D_SGI_SOURCE" + cf_XOPEN_SOURCE= ;; linux*|gnu*|mint*|k*bsd*-gnu) #(vi CF_GNU_SOURCE ;; mirbsd*) #(vi - # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <arpa/inet.h> + # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <sys/select.h> and other headers which use u_int / u_short types + cf_XOPEN_SOURCE= + CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE) ;; netbsd*) #(vi - # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw + cf_xopen_source="-D_NETBSD_SOURCE" # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw + ;; +openbsd[[4-9]]*) #(vi + # setting _XOPEN_SOURCE lower than 500 breaks g++ compile with wchar.h, needed for ncursesw + cf_xopen_source="-D_BSD_SOURCE" + cf_XOPEN_SOURCE=600 ;; openbsd*) #(vi # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw @@ -3084,36 +3190,11 @@ nto-qnx*) #(vi sco*) #(vi # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer ;; -solaris2.1[[0-9]]) #(vi - cf_xopen_source="-D__EXTENSIONS__ -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" - ;; -solaris2.[[1-9]]) #(vi +solaris2.*) #(vi cf_xopen_source="-D__EXTENSIONS__" ;; *) - AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[ - AC_TRY_COMPILE([#include <sys/types.h>],[ -#ifndef _XOPEN_SOURCE -make an error -#endif], - [cf_cv_xopen_source=no], - [cf_save="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" - AC_TRY_COMPILE([#include <sys/types.h>],[ -#ifdef _XOPEN_SOURCE -make an error -#endif], - [cf_cv_xopen_source=no], - [cf_cv_xopen_source=$cf_XOPEN_SOURCE]) - CPPFLAGS="$cf_save" - ]) -]) - if test "$cf_cv_xopen_source" != no ; then - CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE) - CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE) - cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source" - CF_ADD_CFLAGS($cf_temp_xopen_source) - fi + CF_TRY_XOPEN_SOURCE CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE) ;; esac @@ -3121,6 +3202,35 @@ esac if test -n "$cf_xopen_source" ; then CF_ADD_CFLAGS($cf_xopen_source) fi + +dnl In anything but the default case, we may have system-specific setting +dnl which is still not guaranteed to provide all of the entrypoints that +dnl _XOPEN_SOURCE would yield. +if test -n "$cf_XOPEN_SOURCE" && test -z "$cf_cv_xopen_source" ; then + AC_MSG_CHECKING(if _XOPEN_SOURCE really is set) + AC_TRY_COMPILE([#include <stdlib.h>],[ +#ifndef _XOPEN_SOURCE +make an error +#endif], + [cf_XOPEN_SOURCE_set=yes], + [cf_XOPEN_SOURCE_set=no]) + AC_MSG_RESULT($cf_XOPEN_SOURCE_set) + if test $cf_XOPEN_SOURCE_set = yes + then + AC_TRY_COMPILE([#include <stdlib.h>],[ +#if (_XOPEN_SOURCE - 0) < $cf_XOPEN_SOURCE +make an error +#endif], + [cf_XOPEN_SOURCE_set_ok=yes], + [cf_XOPEN_SOURCE_set_ok=no]) + if test $cf_XOPEN_SOURCE_set_ok = no + then + AC_MSG_WARN(_XOPEN_SOURCE is lower than requested) + fi + else + CF_TRY_XOPEN_SOURCE + fi +fi ]) dnl --------------------------------------------------------------------------- dnl CF_X_ATHENA version: 20 updated: 2010/11/09 05:18:02 @@ -3261,7 +3371,7 @@ elif test "$cf_x_athena_inc" != default ; then fi ]) dnl --------------------------------------------------------------------------- -dnl CF_X_ATHENA_LIBS version: 10 updated: 2011/02/13 13:31:33 +dnl CF_X_ATHENA_LIBS version: 12 updated: 2011/07/17 19:55:02 dnl ---------------- dnl Normally invoked by CF_X_ATHENA, with $1 set to the appropriate flavor of dnl the Athena widgets, e.g., Xaw, Xaw3d, neXtaw. @@ -3277,19 +3387,24 @@ for cf_path in default \ /usr/local do for cf_lib in \ - "-l$cf_x_athena_root -lXmu" \ - "-l$cf_x_athena_root -lXpm -lXmu" \ - "-l${cf_x_athena_root}_s -lXmu_s" + ${cf_x_athena_root} \ + ${cf_x_athena_root}7 \ + ${cf_x_athena_root}6 + do + for cf_libs in \ + "-l$cf_lib -lXmu" \ + "-l$cf_lib -lXpm -lXmu" \ + "-l${cf_lib}_s -lXmu_s" do if test -z "$cf_x_athena_lib" ; then cf_save="$LIBS" cf_test=XawSimpleMenuAddGlobalActions if test $cf_path != default ; then - CF_ADD_LIBS(-L$cf_path/lib $cf_lib) - AC_MSG_CHECKING(for $cf_lib in $cf_path) + CF_ADD_LIBS(-L$cf_path/lib $cf_libs) + AC_MSG_CHECKING(for $cf_libs in $cf_path) else - CF_ADD_LIBS($cf_lib) - AC_MSG_CHECKING(for $cf_test in $cf_lib) + CF_ADD_LIBS($cf_libs) + AC_MSG_CHECKING(for $cf_test in $cf_libs) fi AC_TRY_LINK([ #include <X11/Intrinsic.h> @@ -3300,12 +3415,14 @@ $cf_test((XtAppContext) 0)], [cf_result=no]) AC_MSG_RESULT($cf_result) if test "$cf_result" = yes ; then - cf_x_athena_lib="$cf_lib" + cf_x_athena_lib="$cf_libs" break fi LIBS="$cf_save" fi - done + done # cf_libs + test -n "$cf_x_athena_lib" && break + done # cf_lib done if test -z "$cf_x_athena_lib" ; then @@ -3359,7 +3476,7 @@ fi fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_X_FREETYPE version: 23 updated: 2010/11/08 20:19:21 +dnl CF_X_FREETYPE version: 24 updated: 2011/08/29 05:46:02 dnl ------------- dnl Check for X FreeType headers and libraries (XFree86 4.x, etc). dnl @@ -3376,44 +3493,75 @@ AC_DEFUN([CF_X_FREETYPE], [ AC_REQUIRE([CF_PKG_CONFIG]) +cf_cv_x_freetype_incs=no +cf_cv_x_freetype_libs=no cf_extra_freetype_libs= FREETYPE_CONFIG=none FREETYPE_PARAMS= -AC_MSG_CHECKING(if you specified -D/-I options for FreeType) -AC_ARG_WITH(freetype-cflags, - [ --with-freetype-cflags -D/-I options for compiling with FreeType], - [cf_cv_x_freetype_incs="$with_freetype_cflags"], - [cf_cv_x_freetype_incs=no]) -AC_MSG_RESULT($cf_cv_x_freetype_incs) - - -AC_MSG_CHECKING(if you specified -L/-l options for FreeType) -AC_ARG_WITH(freetype-libs, - [ --with-freetype-libs -L/-l options to link FreeType], - [cf_cv_x_freetype_libs="$with_freetype_libs"], - [cf_cv_x_freetype_libs=no]) -AC_MSG_RESULT($cf_cv_x_freetype_libs) - -if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists xft; then - FREETYPE_CONFIG=$PKG_CONFIG - FREETYPE_PARAMS=xft -else - AC_PATH_PROG(FREETYPE_XFT_CONFIG, xft-config, none) +AC_MSG_CHECKING(for FreeType configuration script) +AC_ARG_WITH(freetype-config, + [ --with-freetype-config configure script to use for FreeType], + [cf_cv_x_freetype_cfgs="$withval"], + [cf_cv_x_freetype_cfgs=auto]) +test -z $cf_cv_x_freetype_cfgs && cf_cv_x_freetype_cfgs=auto +test $cf_cv_x_freetype_cfgs = no && cf_cv_x_freetype_cfgs=none +AC_MSG_RESULT($cf_cv_x_freetype_cfgs) + +case $cf_cv_x_freetype_cfgs in +none) #(vi + AC_MSG_CHECKING(if you specified -D/-I options for FreeType) + AC_ARG_WITH(freetype-cflags, + [ --with-freetype-cflags -D/-I options for compiling with FreeType], + [cf_cv_x_freetype_incs="$with_freetype_cflags"], + [cf_cv_x_freetype_incs=no]) + AC_MSG_RESULT($cf_cv_x_freetype_incs) + + AC_MSG_CHECKING(if you specified -L/-l options for FreeType) + AC_ARG_WITH(freetype-libs, + [ --with-freetype-libs -L/-l options to link FreeType], + [cf_cv_x_freetype_libs="$with_freetype_libs"], + [cf_cv_x_freetype_libs=no]) + AC_MSG_RESULT($cf_cv_x_freetype_libs) + ;; +auto) #(vi + if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists xft; then + FREETYPE_CONFIG=$PKG_CONFIG + FREETYPE_PARAMS=xft + else + AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, none) + if test "$FREETYPE_CONFIG" != none; then + FREETYPE_CONFIG=$FREETYPE_CONFIG + cf_extra_freetype_libs="-lXft" + else + AC_PATH_PROG(FREETYPE_OLD_CONFIG, xft-config, none) + if test "$FREETYPE_OLD_CONFIG" != none; then + FREETYPE_CONFIG=$FREETYPE_OLD_CONFIG + fi + fi + fi + ;; +pkg*) #(vi + if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists xft; then + FREETYPE_CONFIG=$cf_cv_x_freetype_cfgs + FREETYPE_PARAMS=xft + else + AC_MSG_WARN(cannot find pkg-config for Xft) + fi + ;; +*) #(vi + AC_PATH_PROG(FREETYPE_XFT_CONFIG, $cf_cv_x_freetype_cfgs, none) if test "$FREETYPE_XFT_CONFIG" != none; then FREETYPE_CONFIG=$FREETYPE_XFT_CONFIG else - cf_extra_freetype_libs="-lXft" - AC_PATH_PROG(FREETYPE_OLD_CONFIG, freetype-config, none) - if test "$FREETYPE_OLD_CONFIG" != none; then - FREETYPE_CONFIG=$FREETYPE_OLD_CONFIG - fi + AC_MSG_WARN(cannot find config script for Xft) fi -fi -AC_MSG_CHECKING(for FreeType config) -AC_MSG_RESULT($FREETYPE_CONFIG $FREETYPE_PARAMS) + ;; +esac if test "$FREETYPE_CONFIG" != none ; then + AC_MSG_CHECKING(for FreeType config) + AC_MSG_RESULT($FREETYPE_CONFIG $FREETYPE_PARAMS) if test "$cf_cv_x_freetype_incs" = no ; then AC_MSG_CHECKING(for $FREETYPE_CONFIG cflags) @@ -3426,7 +3574,6 @@ if test "$FREETYPE_CONFIG" != none ; then cf_cv_x_freetype_libs="$cf_extra_freetype_libs `$FREETYPE_CONFIG $FREETYPE_PARAMS --libs 2>/dev/null`" AC_MSG_RESULT($cf_cv_x_freetype_libs) fi - fi if test "$cf_cv_x_freetype_incs" = no ; then diff --git a/button.c b/button.c index 2c2df45..d3c44e4 100644 --- a/button.c +++ b/button.c @@ -1,4 +1,4 @@ -/* $XTermId: button.c,v 1.398 2011/07/04 21:49:39 tom Exp $ */ +/* $XTermId: button.c,v 1.430 2012/01/07 02:00:35 tom Exp $ */ /* * Copyright 1999-2010,2011 by Thomas E. Dickey @@ -62,6 +62,7 @@ button.c Handles button events in the terminal emulator. #include <xterm.h> #include <stdio.h> +#include <ctype.h> #include <assert.h> #include <X11/Xatom.h> @@ -119,6 +120,7 @@ button.c Handles button events in the terminal emulator. #define KeyModifiers(event) (event->xbutton.state & OurModifiers) #define IsBtnEvent(event) ((event)->type == ButtonPress || (event)->type == ButtonRelease) +#define IsKeyEvent(event) ((event)->type == KeyPress || (event)->type == KeyRelease) #define KeyState(x) (((int) ((x) & (ShiftMask|ControlMask))) \ + (((x) & Mod1Mask) ? 2 : 0)) @@ -156,8 +158,7 @@ static void EndExtend(XtermWidget w, XEvent * event, String * params, Cardinal static void ExtendExtend(XtermWidget xw, const CELL * cell); static void PointToCELL(TScreen * screen, int y, int x, CELL * cell); static void ReHiliteText(XtermWidget xw, CELL * first, CELL * last); -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1t26wr-0003nx...@vasks.debian.org