xterm: Changes to 'debian-unstable'
MANIFEST | 2
Tekproc.c | 6
aclocal.m4 | 42 -
button.c | 29
cachedGCs.c | 6
charproc.c | 30
configure | 1836 ++++++++++++++++++++++++++++---------------------------
configure.in | 5
debian/changelog | 11
fontutils.c | 17
main.c | 32
ptydata.c | 17
ptyx.h | 6
scrollbar.c | 11
sinstall.sh | 15
tabs.c | 10
util.c | 31
version.h | 4
xterm.log.html | 56 +
xterm.man | 4
xtermcfg.hin | 6
21 files changed, 1219 insertions(+), 957 deletions(-)
New commits:
commit a78d8f48302bc92cfdd06f4c46206ef8aa198768
Author: Julien Cristau <jcristau@debian.org>
Date: Wed Mar 19 02:18:20 2008 +0100
New upstream release.
+ fix a case where an incorrect font was freed during initialization
(closes: #471332)
+ improve resize computation for situations where the negotiation fails, by
invoking the xterm widget's core-class resize method (closes: #365602)
diff --git a/debian/changelog b/debian/changelog
index 1cd1f7d..0059b55 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,14 @@
+xterm (234-1) UNRELEASED; urgency=low
+
+ * New upstream release.
+ + fix a case where an incorrect font was freed during initialization
+ (closes: #471332)
+ + improve resize computation for situations where the negotiation fails,
+ by invoking the xterm widget's core-class resize method
+ (closes: #365602)
+
+ -- Julien Cristau <jcristau@debian.org> Wed, 19 Mar 2008 01:15:36 +0100
+
xterm (232-1) unstable; urgency=low
* New upstream release.
commit 455745d8707740c4e09505de734c5d73d7620b3c
Author: Julien Cristau <jcristau@debian.org>
Date: Wed Mar 19 01:13:12 2008 +0100
Import xterm 234.
diff --git a/charproc.c b/charproc.c
index c973756..54d6dca 100644
--- a/charproc.c
+++ b/charproc.c
@@ -1,4 +1,4 @@
-/* $XTermId: charproc.c,v 1.835 2008/02/21 20:21:33 tom Exp $ */
+/* $XTermId: charproc.c,v 1.836 2008/02/29 01:55:13 tom Exp $ */
/*
@@ -5941,6 +5941,19 @@ releaseWindowGCs(XtermWidget xw, VTwin * win)
name = 0; \
}
+#ifdef NO_LEAKS
+#if OPT_RENDERFONT
+static void
+xtermCloseXft(TScreen * screen, XftFont ** pub)
+{
+ if (*pub != 0) {
+ XftFontClose(screen->display, *pub);
+ *pub = 0;
+ }
+}
+#endif
+#endif
+
static void
VTDestroy(Widget w GCC_UNUSED)
{
@@ -5986,6 +5999,17 @@ VTDestroy(Widget w GCC_UNUSED)
xtermCloseFonts(xw, screen->fnts);
noleaks_cachedCgs(xw);
+#if OPT_RENDERFONT
+ for (n = 0; n < NMENUFONTS; ++n) {
+ xtermCloseXft(screen, &(screen->renderFontNorm[n]));
+ xtermCloseXft(screen, &(screen->renderFontBold[n]));
+ xtermCloseXft(screen, &(screen->renderFontItal[n]));
+ xtermCloseXft(screen, &(screen->renderWideNorm[n]));
+ xtermCloseXft(screen, &(screen->renderWideBold[n]));
+ xtermCloseXft(screen, &(screen->renderWideItal[n]));
+ }
+#endif
+
#if 0 /* some strings may be owned by X libraries */
for (n = 0; n <= fontMenu_lastBuiltin; ++n) {
int k;
diff --git a/fontutils.c b/fontutils.c
index f782523..d66933b 100644
--- a/fontutils.c
+++ b/fontutils.c
@@ -1,4 +1,4 @@
-/* $XTermId: fontutils.c,v 1.269 2008/02/21 20:21:15 tom Exp $ */
+/* $XTermId: fontutils.c,v 1.270 2008/02/29 00:25:16 Andrea.Odetti Exp $ */
/************************************************************
@@ -699,6 +699,9 @@ xtermOpenFont(XtermWidget xw, char *name, XTermFonts * result)
return code;
}
+/*
+ * Close the font and Free the font info
+ */
XTermFonts *
xtermCloseFont(XtermWidget xw, XTermFonts * fnt)
{
@@ -712,18 +715,6 @@ xtermCloseFont(XtermWidget xw, XTermFonts * fnt)
return 0;
}
-static XTermFonts *
-xtermCloseFont2(XtermWidget xw, XTermFonts * fnt)
-{
- if (fnt != 0 && fnt->fs != 0) {
- TScreen *screen = TScreenOf(xw);
-
- clrCgsFonts(xw, WhichVWin(screen), fnt);
- XFreeFont(screen->display, fnt->fs);
- }
- return 0;
-}
-
/*
* Close the listed fonts, noting that some may use copies of the pointer.
*/
@@ -733,13 +724,16 @@ xtermCloseFonts(XtermWidget xw, XTermFonts * fnts)
int j, k;
for (j = 0; j < fMAX; ++j) {
- if (fnts[j].fs != 0) {
- xtermCloseFont2(xw, &fnts[j]);
+ /*
+ * Need to save the pointer since xtermCloseFont zeroes it
+ */
+ XFontStruct *thisFont = fnts[j].fs;
+ if (thisFont != 0) {
+ xtermCloseFont(xw, &fnts[j]);
for (k = j + 1; k < fMAX; ++k) {
- if (fnts[j].fs == fnts[k].fs)
+ if (thisFont == fnts[k].fs)
xtermFreeFontInfo(&fnts[k]);
}
- xtermFreeFontInfo(&fnts[j]);
}
}
}
diff --git a/main.c b/main.c
index bbf8f19..f9019d1 100644
--- a/main.c
+++ b/main.c
@@ -1,4 +1,4 @@
-/* $XTermId: main.c,v 1.585 2008/02/24 21:49:36 tom Exp $ */
+/* $XTermId: main.c,v 1.586 2008/02/28 00:28:00 Matthieu.Herrb Exp $ */
/*
* W A R N I N G
@@ -1873,10 +1873,6 @@ main(int argc, char *argv[]ENVP_ARG)
#ifndef USE_TERMIOS /* { */
d_tio.c_line = 0;
#endif /* } */
-#if defined(USE_TERMIOS) || defined(USE_POSIX_TERMIOS) /* { */
- d_tio.c_cc[VMIN] = 1;
- d_tio.c_cc[VTIME] = 0;
-#endif /* } */
#ifdef HAS_LTCHARS /* { */
d_ltc.t_suspc = CSUSP; /* t_suspc */
d_ltc.t_dsuspc = CDSUSP; /* t_dsuspc */
@@ -1939,6 +1935,10 @@ main(int argc, char *argv[]ENVP_ARG)
}
}
}
+#if defined(USE_TERMIOS) || defined(USE_POSIX_TERMIOS) /* { */
+ d_tio.c_cc[VMIN] = 1;
+ d_tio.c_cc[VTIME] = 0;
+#endif /* } */
#ifdef HAS_LTCHARS /* { */
d_ltc.t_suspc = CharOf('\000'); /* t_suspc */
d_ltc.t_dsuspc = CharOf('\000'); /* t_dsuspc */
diff --git a/scrollbar.c b/scrollbar.c
index 2ab68cf..c82da89 100644
--- a/scrollbar.c
+++ b/scrollbar.c
@@ -1,9 +1,9 @@
-/* $XTermId: scrollbar.c,v 1.132 2007/02/11 14:49:56 tom Exp $ */
+/* $XTermId: scrollbar.c,v 1.134 2008/02/28 01:07:30 tom Exp $ */
/* $XFree86: xc/programs/xterm/scrollbar.c,v 3.48 2006/02/13 01:14:59 dickey Exp $ */
/*
- * Copyright 2000-2006,2007 by Thomas E. Dickey
+ * Copyright 2000-2007,2008 by Thomas E. Dickey
*
* All Rights Reserved
*
@@ -192,6 +192,13 @@ DoResizeScreen(XtermWidget xw)
geomreqresult = XtMakeResizeRequest((Widget) xw, repWidth,
repHeight, NULL, NULL);
}
+
+ if (geomreqresult != XtGeometryYes) {
+ /* The resize wasn't successful, so we might need to adjust
+ our idea of how large the screen is. */
+ TRACE(("...still no (%d) - resize the core-class\n", geomreqresult));
+ xw->core.widget_class->core_class.resize((Widget) xw);
+ }
#if 1 /* ndef nothack */
/*
* XtMakeResizeRequest() has the undesirable side-effect of clearing
diff --git a/sinstall.sh b/sinstall.sh
index bd410cf..c88a226 100755
--- a/sinstall.sh
+++ b/sinstall.sh
@@ -1,6 +1,5 @@
#!/bin/sh
-# $XTermId: sinstall.sh,v 1.15 2006/01/04 02:10:27 tom Exp $
-# $XFree86: xc/programs/xterm/sinstall.sh,v 1.5 2006/01/04 02:10:27 dickey Exp $
+# $XTermId: sinstall.sh,v 1.16 2008/03/02 23:35:02 tom Exp $
#
# Install program setuid if the installer is running as root, and if xterm is
# already installed on the system with setuid privilege. This is a safeguard
@@ -20,6 +19,13 @@
trace=:
trace=echo
+# override locale...
+# (otherwise GNU ls displays date column in a locale-dependent manner).
+LANG=C; export LANG
+LANGUAGE=C; export LANGUAGE
+LC_ALL=C; export LC_ALL
+LC_CTYPE=C; export LC_CTYPE
+
OPTS_SUID=
OPTS_SGID=
OPTS_MODE=
@@ -79,11 +85,13 @@ elif test -f "$REF_PROG" ; then
# Expect listing to have fields like this:
#-r--r--r-- 1 user group 34293 Jul 18 16:29 pathname
+ ls $cf_option $REF_PROG
ls $cf_option $REF_PROG >$MYTEMP
read cf_mode cf_links cf_usr cf_grp cf_size cf_date1 cf_date2 cf_date3 cf_rest <$MYTEMP
$trace "... if \"$cf_rest\" is null, try the ls -g option"
if test -z "$cf_rest" ; then
cf_option="$cf_option -g"
+ ls $cf_option $REF_PROG
ls $cf_option $REF_PROG >$MYTEMP
read cf_mode cf_links cf_usr cf_grp cf_size cf_date1 cf_date2 cf_date3 cf_rest <$MYTEMP
fi
@@ -105,14 +113,17 @@ elif test -f "$REF_PROG" ; then
$trace "... see if mode \"$cf_mode\" has s-bit set"
case ".$cf_mode" in #(vi
.???s??s*) #(vi
+ $trace "... both setuid/setgid"
PROG_SUID=4000
PROG_SGID=2000
;;
.???s*) #(vi
+ $trace "... setuid"
PROG_SUID=4000
PROG_GRP=
;;
.??????s*)
+ $trace "... setgid"
PROG_SGID=2000
PROG_USR=
;;
diff --git a/version.h b/version.h
index efdf2ba..c1ad944 100644
--- a/version.h
+++ b/version.h
@@ -1,4 +1,4 @@
-/* $XTermId: version.h,v 1.289 2008/02/20 20:32:21 tom Exp $ */
+/* $XTermId: version.h,v 1.290 2008/02/28 00:17:03 tom Exp $ */
/*
* These definitions are used to build the string that's printed in response to
@@ -6,7 +6,7 @@
* version of X to which this version of xterm has been built. The number in
* parentheses is my patch number (Thomas E. Dickey).
*/
-#define XTERM_PATCH 233
+#define XTERM_PATCH 234
#ifndef __vendorversion__
#define __vendorversion__ "XTerm"
diff --git a/xterm.log.html b/xterm.log.html
index 301ed20..0e10ac1 100644
--- a/xterm.log.html
+++ b/xterm.log.html
@@ -20,7 +20,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF *
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. *
*****************************************************************************
- $XTermId: xterm.log.html,v 1.659 2008/02/24 23:46:20 tom Exp $
+ $XTermId: xterm.log.html,v 1.664 2008/03/02 23:32:51 tom Exp $
-->
<HTML>
<HEAD>
@@ -45,6 +45,7 @@ Most of these are summarized in the XFree86 CHANGELOG
is the latest version of this file.
<UL>
+<LI><A HREF="#xterm_234">Patch #234 - 2008-03/02</A>
<LI><A HREF="#xterm_233">Patch #233 - 2008/02/24</A>
<LI><A HREF="#xterm_232">Patch #232 - 2008/01/30</A>
<LI><A HREF="#xterm_231">Patch #231 - 2008/01/05</A>
@@ -281,6 +282,24 @@ is the latest version of this file.
<LI><A HREF="#xterm_01">Patch #1 - 1996/1/6</A>
</UL>
+<H1><A NAME="xterm_234">Patch #234 - 2008-03/02</A></H1>
+<ul>
+ <li>modify <code>sinstall.sh</code> to use POSIX locale to
+ bypass GNU ls changes to date-format.
+
+ <li>improved/refined changes for closing bitmap font (patch by
+ Andrea Odetti).
+
+ <li>improve resize computation for situations where the negotiation
+ fails, by invoking the xterm widget's core-class resize method
+ (Debian #365602, patch by Jim Paris).
+
+ <li>restore initialization of terminal's <code>VMIN</code> and
+ <code>VTIME</code> settings,
+ from <a href="#xterm_232">patch #232</a> changes
+ (patch by Matthieu Herrb).
+</ul>
+
<H1><A NAME="xterm_233">Patch #233 - 2008/02/24</A></H1>
<ul>
<li>add configure check for <code>ttydefaults.h</code>, include if
commit ffef6ed7e6f7f219fb347566b4e40cae4e5fd41d
Author: Julien Cristau <jcristau@debian.org>
Date: Wed Mar 19 01:08:42 2008 +0100
Import xterm 233.
diff --git a/MANIFEST b/MANIFEST
index 6e491e5..1351cab 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -1,4 +1,4 @@
-MANIFEST for xterm-231, version xterm-231
+MANIFEST for xterm-233, version xterm-233
--------------------------------------------------------------------------------
MANIFEST this file
256colres.h resource-definitions for 256-color mode
diff --git a/Tekproc.c b/Tekproc.c
index 8b1b89a..ffdbc5e 100644
--- a/Tekproc.c
+++ b/Tekproc.c
@@ -1,4 +1,4 @@
-/* $XTermId: Tekproc.c,v 1.158 2008/01/26 01:21:10 tom Exp $ */
+/* $XTermId: Tekproc.c,v 1.159 2008/02/21 20:21:51 tom Exp $ */
/*
* Warning, there be crufty dragons here.
@@ -718,8 +718,8 @@ Tekparse(TekWidget tw)
if (screen->wide_chars
&& (ch > 255)) {
XChar2b sbuf;
- sbuf.byte2 = CharOf(ch);
- sbuf.byte1 = CharOf(ch >> 8);
+ sbuf.byte2 = LO_BYTE(ch);
+ sbuf.byte1 = HI_BYTE(ch);
XDrawImageString16(XtDisplay(tw),
TWindow(tekscr),
tekscr->TnormalGC,
diff --git a/aclocal.m4 b/aclocal.m4
index a3a791c..7bee0f2 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,10 +1,10 @@
-dnl $XTermId: aclocal.m4,v 1.245 2007/06/27 22:13:37 tom Exp $
+dnl $XTermId: aclocal.m4,v 1.247 2008/02/24 19:30:23 tom Exp $
dnl
dnl $XFree86: xc/programs/xterm/aclocal.m4,v 3.65 2006/06/19 00:36:50 dickey Exp $
dnl
dnl ---------------------------------------------------------------------------
dnl
-dnl Copyright 1997-2006,2007 by Thomas E. Dickey
+dnl Copyright 1997-2007,2008 by Thomas E. Dickey
dnl
dnl All Rights Reserved
dnl
@@ -546,7 +546,7 @@ else
fi
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_GCC_ATTRIBUTES version: 10 updated: 2005/05/28 13:16:28
+dnl CF_GCC_ATTRIBUTES version: 11 updated: 2007/07/29 09:55:12
dnl -----------------
dnl Test for availability of useful gcc __attribute__ directives to quiet
dnl compiler warnings. Though useful, not all are supported -- and contrary
@@ -573,7 +573,7 @@ if test "$GCC" = yes
then
AC_CHECKING([for $CC __attribute__ directives])
cat > conftest.$ac_ext <<EOF
-#line __oline__ "configure"
+#line __oline__ "${as_me-configure}"
#include "confdefs.h"
#include "conftest.h"
#include "conftest.i"
@@ -635,7 +635,7 @@ if test "$GCC" = yes ; then
fi
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_GCC_WARNINGS version: 21 updated: 2007/06/27 18:12:15
+dnl CF_GCC_WARNINGS version: 22 updated: 2007/07/29 09:55:12
dnl ---------------
dnl Check if the compiler supports useful warning options. There's a few that
dnl we don't use, simply because they're too noisy:
@@ -660,7 +660,7 @@ AC_REQUIRE([CF_GCC_VERSION])
CF_INTEL_COMPILER(GCC,INTEL_COMPILER,CFLAGS)
cat > conftest.$ac_ext <<EOF
-#line __oline__ "configure"
+#line __oline__ "${as_me-configure}"
int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == 0) ; }
EOF
@@ -1033,12 +1033,12 @@ AC_TRY_COMPILE([
test $cf_cv_path_lastlog != no && AC_DEFINE(USE_LASTLOG)
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_MSG_LOG version: 3 updated: 1997/09/07 14:05:52
+dnl CF_MSG_LOG version: 4 updated: 2007/07/29 09:55:12
dnl ----------
dnl Write a debug message to config.log, along with the line number in the
dnl configure script.
AC_DEFUN([CF_MSG_LOG],[
-echo "(line __oline__) testing $* ..." 1>&AC_FD_CC
+echo "${as_me-configure}:__oline__: testing $* ..." 1>&AC_FD_CC
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_PATH_PROG version: 6 updated: 2004/01/26 20:58:41
@@ -1875,7 +1875,7 @@ if test "$cf_cv_have_utempter" = yes ; then
fi
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_UTMP version: 8 updated: 2002/10/27 23:21:42
+dnl CF_UTMP version: 9 updated: 2008/01/25 17:18:00
dnl -------
dnl Check for UTMP/UTMPX headers
AC_DEFUN([CF_UTMP],
@@ -1914,6 +1914,7 @@ if test $cf_cv_have_utmp != no ; then
AC_DEFINE(HAVE_UTMP)
test $cf_cv_have_utmp = utmpx && AC_DEFINE(UTMPX_FOR_UTMP)
CF_UTMP_UT_HOST
+ CF_UTMP_UT_SYSLEN
CF_UTMP_UT_NAME
CF_UTMP_UT_XSTATUS
CF_UTMP_UT_XTIME
@@ -2047,6 +2048,26 @@ fi
fi
])dnl
dnl ---------------------------------------------------------------------------
+dnl CF_UTMP_UT_SYSLEN version: 1 updated: 2008/01/25 17:18:00
+dnl -----------------
+dnl Check if UTMP/UTMPX struct defines ut_syslen member
+AC_DEFUN([CF_UTMP_UT_SYSLEN],
+[
+if test $cf_cv_have_utmp != no ; then
+AC_MSG_CHECKING(if ${cf_cv_have_utmp}.ut_syslen is declared)
+AC_CACHE_VAL(cf_cv_have_utmp_ut_syslen,[
+ AC_TRY_COMPILE([
+#include <sys/types.h>
+#include <${cf_cv_have_utmp}.h>],
+ [struct $cf_cv_have_utmp x; int y = x.ut_syslen],
+ [cf_cv_have_utmp_ut_syslen=yes],
+ [cf_cv_have_utmp_ut_syslen=no])
+ ])
+AC_MSG_RESULT($cf_cv_have_utmp_ut_syslen)
+test $cf_cv_have_utmp_ut_syslen != no && AC_DEFINE(HAVE_UTMP_UT_SYSLEN)
+fi
+])dnl
+dnl ---------------------------------------------------------------------------
dnl CF_UTMP_UT_XSTATUS version: 3 updated: 2001/12/27 12:55:07
dnl ------------------
dnl Check for known variants on the UTMP/UTMPX struct's exit-status as reported
@@ -2114,11 +2135,12 @@ fi
fi
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_VERBOSE version: 2 updated: 1997/09/05 10:45:14
+dnl CF_VERBOSE version: 3 updated: 2007/07/29 09:55:12
dnl ----------
dnl Use AC_VERBOSE w/o the warnings
AC_DEFUN([CF_VERBOSE],
[test -n "$verbose" && echo " $1" 1>&AC_FD_MSG
+CF_MSG_LOG([$1])
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_WITH_IMAKE_CFLAGS version: 8 updated: 2005/11/02 15:04:41
diff --git a/button.c b/button.c
index 3e63306..66ea199 100644
--- a/button.c
+++ b/button.c
@@ -1,7 +1,7 @@
-/* $XTermId: button.c,v 1.283 2008/01/07 22:56:37 tom Exp $ */
+/* $XTermId: button.c,v 1.285 2008/02/24 19:42:02 tom Exp $ */
/*
- * Copyright 1999-2006,2007 by Thomas E. Dickey
+ * Copyright 1999-2007,2008 by Thomas E. Dickey
*
* All Rights Reserved
*
@@ -1722,12 +1722,17 @@ HandleInsertSelection(Widget w,
}
static SelectUnit
-EvalSelectUnit(TScreen * screen, Time buttonDownTime, SelectUnit defaultUnit)
+EvalSelectUnit(TScreen * screen,
+ Time buttonDownTime,
+ SelectUnit defaultUnit,
+ unsigned int button)
{
SelectUnit result;
int delta;
- if (screen->lastButtonUpTime == (Time) 0) {
+ if (button != screen->lastButton) {
+ delta = term->screen.multiClickTime + 1;
+ } else if (screen->lastButtonUpTime == (Time) 0) {
/* first time and once in a blue moon */
delta = screen->multiClickTime + 1;
} else if (buttonDownTime > screen->lastButtonUpTime) {
@@ -1758,7 +1763,10 @@ do_select_start(XtermWidget xw,
if (SendMousePosition(xw, event))
return;
- screen->selectUnit = EvalSelectUnit(screen, event->xbutton.time, Select_CHAR);
+ screen->selectUnit = EvalSelectUnit(screen,
+ event->xbutton.time,
+ Select_CHAR,
+ event->xbutton.button);
screen->replyToEmacs = False;
#if OPT_READLINE
@@ -1812,7 +1820,10 @@ TrackDown(XtermWidget xw, XButtonEvent * event)
TScreen *screen = &(xw->screen);
CELL cell;
- screen->selectUnit = EvalSelectUnit(screen, event->time, Select_CHAR);
+ screen->selectUnit = EvalSelectUnit(screen,
+ event->time,
+ Select_CHAR,
+ event->button);
if (screen->numberOfClicks > 1) {
PointToCELL(screen, event->y, event->x, &cell);
screen->replyToEmacs = True;
@@ -1898,6 +1909,7 @@ EndExtend(XtermWidget xw,
}
ExtendExtend(xw, &cell);
screen->lastButtonUpTime = event->xbutton.time;
+ screen->lastButton = event->xbutton.button;
if (!isSameCELL(&(screen->startSel), &(screen->endSel))) {
if (screen->replyToEmacs) {
count = 0;
@@ -1987,7 +1999,10 @@ do_start_extend(XtermWidget xw,
|| event->xbutton.button != Button3
|| !(SCREEN_FLAG(screen, dclick3_deletes)))
#endif
- screen->selectUnit = EvalSelectUnit(screen, event->xbutton.time, screen->selectUnit);
+ screen->selectUnit = EvalSelectUnit(screen,
+ event->xbutton.time,
+ screen->selectUnit,
+ event->xbutton.button);
screen->replyToEmacs = False;
#if OPT_READLINE
diff --git a/cachedGCs.c b/cachedGCs.c
index 93913a3..a72ef3f 100644
--- a/cachedGCs.c
+++ b/cachedGCs.c
@@ -1,4 +1,4 @@
-/* $XTermId: cachedGCs.c,v 1.47 2008/01/30 00:56:13 tom Exp $ */
+/* $XTermId: cachedGCs.c,v 1.48 2008/02/20 20:54:54 Julien.Cristau Exp $ */
/************************************************************
@@ -404,8 +404,8 @@ SameFont(XTermFonts * a, XTermFonts * b)
{
return (HaveFont(a)
&& HaveFont(b)
- && (a->fs == b->fs)
- && !memcmp(a->fs, b->fs, sizeof(*(a->fs))));
+ && ((a->fs == b->fs)
+ || !memcmp(a->fs, b->fs, sizeof(*(a->fs)))));
}
#define SameColor(a,b) ((a) == (b))
diff --git a/charproc.c b/charproc.c
index 1b47ae6..c973756 100644
--- a/charproc.c
+++ b/charproc.c
@@ -1,4 +1,4 @@
-/* $XTermId: charproc.c,v 1.834 2008/01/27 17:39:53 tom Exp $ */
+/* $XTermId: charproc.c,v 1.835 2008/02/21 20:21:33 tom Exp $ */
/*
@@ -3461,9 +3461,9 @@ dotext(XtermWidget xw,
for (j = offset, k = 0; j < offset + chars_chomped; j++) {
if (buf[j] == HIDDEN_CHAR)
continue;
- lobyte[k] = buf[j];
+ lobyte[k] = LO_BYTE(buf[j]);
if (buf[j] > 255) {
- hibyte[k] = (buf[j] >> 8);
+ hibyte[k] = HI_BYTE(buf[j]);
both = True;
} else {
hibyte[k] = 0;
diff --git a/configure b/configure
index 5c43852..e7f6cc5 100755
--- a/configure
+++ b/configure
@@ -3064,7 +3064,7 @@ if test "${cf_cv_posix_c_source+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
-echo "(line 3067) testing if the symbol is already defined go no further ..." 1>&5
+echo "${as_me-configure}:3067: testing if the symbol is already defined go no further ..." 1>&5
cat >conftest.$ac_ext <<_ACEOF
#line 3070 "configure"
@@ -3147,12 +3147,12 @@ fi
rm -f conftest.$ac_objext conftest.$ac_ext
fi
-echo "(line 3150) testing ifdef from value $cf_POSIX_C_SOURCE ..." 1>&5
+echo "${as_me-configure}:3150: testing ifdef from value $cf_POSIX_C_SOURCE ..." 1>&5
CFLAGS="$cf_trim_CFLAGS"
CPPFLAGS="$cf_trim_CPPFLAGS $cf_cv_posix_c_source"
-echo "(line 3155) testing if the second compile does not leave our definition intact error ..." 1>&5
+echo "${as_me-configure}:3155: testing if the second compile does not leave our definition intact error ..." 1>&5
cat >conftest.$ac_ext <<_ACEOF
#line 3158 "configure"
@@ -3364,6 +3364,7 @@ fi
for ac_header in \
ncurses/term.h \
stdlib.h \
+sys/ttydefaults.h \
term.h \
termios.h \
unistd.h \
@@ -3371,23 +3372,23 @@ wchar.h \
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:3374: checking for $ac_header" >&5
+echo "$as_me:3375: checking for $ac_header" >&5
echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
if eval "test \"\${$as_ac_Header+set}\" = set"; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
-#line 3380 "configure"
+#line 3381 "configure"
#include "confdefs.h"
#include <$ac_header>
_ACEOF
-if { (eval echo "$as_me:3384: \"$ac_cpp conftest.$ac_ext\"") >&5
+if { (eval echo "$as_me:3385: \"$ac_cpp conftest.$ac_ext\"") >&5
(eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
ac_status=$?
egrep -v '^ *\+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:3390: \$? = $ac_status" >&5
+ echo "$as_me:3391: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null; then
if test -s conftest.err; then
ac_cpp_err=$ac_c_preproc_warn_flag
@@ -3406,7 +3407,7 @@ else
fi
rm -f conftest.err conftest.$ac_ext
fi
-echo "$as_me:3409: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "$as_me:3410: result: `eval echo '${'$as_ac_Header'}'`" >&5
echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
if test `eval echo '${'$as_ac_Header'}'` = yes; then
cat >>confdefs.h <<EOF
@@ -3416,13 +3417,13 @@ EOF
fi
done
-echo "$as_me:3419: checking whether time.h and sys/time.h may both be included" >&5
+echo "$as_me:3420: checking whether time.h and sys/time.h may both be included" >&5
echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6
if test "${ac_cv_header_time+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
-#line 3425 "configure"
+#line 3426 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/time.h>
@@ -3438,16 +3439,16 @@ return 0;
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:3441: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:3442: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:3444: \$? = $ac_status" >&5
+ echo "$as_me:3445: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:3447: \"$ac_try\"") >&5
+ { (eval echo "$as_me:3448: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:3450: \$? = $ac_status" >&5
+ echo "$as_me:3451: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
ac_cv_header_time=yes
else
@@ -3457,7 +3458,7 @@ ac_cv_header_time=no
fi
rm -f conftest.$ac_objext conftest.$ac_ext
fi
-echo "$as_me:3460: result: $ac_cv_header_time" >&5
+echo "$as_me:3461: result: $ac_cv_header_time" >&5
echo "${ECHO_T}$ac_cv_header_time" >&6
if test $ac_cv_header_time = yes; then
@@ -3467,13 +3468,13 @@ EOF
fi
- echo "$as_me:3470: checking for nl_langinfo and CODESET" >&5
+ echo "$as_me:3471: checking for nl_langinfo and CODESET" >&5
echo $ECHO_N "checking for nl_langinfo and CODESET... $ECHO_C" >&6
if test "${am_cv_langinfo_codeset+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
-#line 3476 "configure"
+#line 3477 "configure"
#include "confdefs.h"
#include <langinfo.h>
int
@@ -3485,16 +3486,16 @@ char* cs = nl_langinfo(CODESET);
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:3488: \"$ac_link\"") >&5
+if { (eval echo "$as_me:3489: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:3491: \$? = $ac_status" >&5
+ echo "$as_me:3492: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:3494: \"$ac_try\"") >&5
+ { (eval echo "$as_me:3495: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:3497: \$? = $ac_status" >&5
+ echo "$as_me:3498: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
am_cv_langinfo_codeset=yes
else
@@ -3505,7 +3506,7 @@ fi
rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
fi
-echo "$as_me:3508: result: $am_cv_langinfo_codeset" >&5
+echo "$as_me:3509: result: $am_cv_langinfo_codeset" >&5
echo "${ECHO_T}$am_cv_langinfo_codeset" >&6
if test $am_cv_langinfo_codeset = yes; then
@@ -3517,7 +3518,7 @@ EOF
### checks for typedefs
-echo "$as_me:3520: checking for signal global datatype" >&5
+echo "$as_me:3521: checking for signal global datatype" >&5
echo $ECHO_N "checking for signal global datatype... $ECHO_C" >&6
if test "${cf_cv_sig_atomic_t+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -3529,7 +3530,7 @@ else
"int"
do
cat >conftest.$ac_ext <<_ACEOF
-#line 3532 "configure"
+#line 3533 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -3552,16 +3553,16 @@ signal(SIGINT, handler);
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:3555: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:3556: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:3558: \$? = $ac_status" >&5
+ echo "$as_me:3559: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:3561: \"$ac_try\"") >&5
+ { (eval echo "$as_me:3562: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:3564: \$? = $ac_status" >&5
+ echo "$as_me:3565: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
cf_cv_sig_atomic_t=$cf_type
else
@@ -3575,20 +3576,20 @@ rm -f conftest.$ac_objext conftest.$ac_ext
fi
-echo "$as_me:3578: result: $cf_cv_sig_atomic_t" >&5
+echo "$as_me:3579: result: $cf_cv_sig_atomic_t" >&5
echo "${ECHO_T}$cf_cv_sig_atomic_t" >&6
test "$cf_cv_sig_atomic_t" != no && cat >>confdefs.h <<EOF
#define SIG_ATOMIC_T $cf_cv_sig_atomic_t
EOF
-echo "$as_me:3584: checking for size_t in <sys/types.h> or <stdio.h>" >&5
+echo "$as_me:3585: checking for size_t in <sys/types.h> or <stdio.h>" >&5
echo $ECHO_N "checking for size_t in <sys/types.h> or <stdio.h>... $ECHO_C" >&6
if test "${cf_cv_type_size_t+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
-#line 3591 "configure"
+#line 3592 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -3606,16 +3607,16 @@ size_t x
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:3609: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:3610: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:3612: \$? = $ac_status" >&5
+ echo "$as_me:3613: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:3615: \"$ac_try\"") >&5
+ { (eval echo "$as_me:3616: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:3618: \$? = $ac_status" >&5
+ echo "$as_me:3619: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
cf_cv_type_size_t=yes
else
@@ -3627,19 +3628,19 @@ rm -f conftest.$ac_objext conftest.$ac_ext
fi
-echo "$as_me:3630: result: $cf_cv_type_size_t" >&5
+echo "$as_me:3631: result: $cf_cv_type_size_t" >&5
echo "${ECHO_T}$cf_cv_type_size_t" >&6
test $cf_cv_type_size_t = no && cat >>confdefs.h <<\EOF
#define size_t unsigned
EOF
-echo "$as_me:3636: checking for ANSI C header files" >&5
+echo "$as_me:3637: checking for ANSI C header files" >&5
echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
if test "${ac_cv_header_stdc+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
-#line 3642 "configure"
+#line 3643 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
@@ -3647,13 +3648,13 @@ else
#include <float.h>
_ACEOF
-if { (eval echo "$as_me:3650: \"$ac_cpp conftest.$ac_ext\"") >&5
+if { (eval echo "$as_me:3651: \"$ac_cpp conftest.$ac_ext\"") >&5
(eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
ac_status=$?
egrep -v '^ *\+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:3656: \$? = $ac_status" >&5
+ echo "$as_me:3657: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null; then
if test -s conftest.err; then
ac_cpp_err=$ac_c_preproc_warn_flag
@@ -3675,7 +3676,7 @@ rm -f conftest.err conftest.$ac_ext
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat >conftest.$ac_ext <<_ACEOF
-#line 3678 "configure"
+#line 3679 "configure"
#include "confdefs.h"
#include <string.h>
@@ -3693,7 +3694,7 @@ fi
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat >conftest.$ac_ext <<_ACEOF
-#line 3696 "configure"
+#line 3697 "configure"
#include "confdefs.h"
#include <stdlib.h>
@@ -3714,7 +3715,7 @@ if test $ac_cv_header_stdc = yes; then
:
else
cat >conftest.$ac_ext <<_ACEOF
-#line 3717 "configure"
+#line 3718 "configure"
#include "confdefs.h"
#include <ctype.h>
#if ((' ' & 0x0FF) == 0x020)
@@ -3740,15 +3741,15 @@ main ()
}
_ACEOF
rm -f conftest$ac_exeext
-if { (eval echo "$as_me:3743: \"$ac_link\"") >&5
+if { (eval echo "$as_me:3744: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:3746: \$? = $ac_status" >&5
+ echo "$as_me:3747: \$? = $ac_status" >&5
(exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:3748: \"$ac_try\"") >&5
+ { (eval echo "$as_me:3749: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:3751: \$? = $ac_status" >&5
+ echo "$as_me:3752: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
:
else
@@ -3761,7 +3762,7 @@ rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
fi
fi
-echo "$as_me:3764: result: $ac_cv_header_stdc" >&5
+echo "$as_me:3765: result: $ac_cv_header_stdc" >&5
echo "${ECHO_T}$ac_cv_header_stdc" >&6
if test $ac_cv_header_stdc = yes; then
@@ -3777,28 +3778,28 @@ for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
inttypes.h stdint.h unistd.h
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:3780: checking for $ac_header" >&5
+echo "$as_me:3781: checking for $ac_header" >&5
echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
if eval "test \"\${$as_ac_Header+set}\" = set"; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
-#line 3786 "configure"
+#line 3787 "configure"
#include "confdefs.h"
$ac_includes_default
#include <$ac_header>
_ACEOF
Reply to: