xterm: Changes to 'ubuntu'
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 <bryce@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�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�th M�on
+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);
Reply to: