Hello community,
here is the log from the commit of package xterm for openSUSE:Factory checked in at 2012-10-31 14:06:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xterm (Old)
and /work/SRC/openSUSE:Factory/.xterm.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xterm", Maintainer is "meissner@suse.com"
Changes:
--------
--- /work/SRC/openSUSE:Factory/xterm/xterm.changes 2012-10-26 17:37:47.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.xterm.new/xterm.changes 2012-10-31 14:06:17.000000000 +0100
@@ -1,0 +2,18 @@
+Tue Oct 30 12:04:34 UTC 2012 - pcerny@suse.com
+
+- Patch #286 - 2012/10/29
+ * fix minstall.in to work with "make docs" rule, so that patch
+ number appears in the corresponding generated documentation.
+ * modify minstall.in to keep the name shown in the heading
+ consistent with any renaming, e.g., for test-builds.
+ * check for misconfigured printerCommand resource on the first
+ use, warn and disable it if it does not specify an executable
+ command (Debian #691642).
+ * improve check for window-manager name needed to establish
+ usable default for activeIcon resource. This works around a
+ scenario where gdm does incomplete cleanup, leaving window
+ properties that refer to windows which no longer exist
+ (Redhat #869959).
+
+
+-------------------------------------------------------------------
Old:
----
xterm-285.tgz
xterm-285.tgz.asc
New:
----
xterm-286.tgz
xterm-286.tgz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xterm.spec ++++++
--- /var/tmp/diff_new_pack.afdhOs/_old 2012-10-31 14:06:19.000000000 +0100
+++ /var/tmp/diff_new_pack.afdhOs/_new 2012-10-31 14:06:19.000000000 +0100
@@ -47,7 +47,7 @@
%if 0%{?suse_version} > 1210
Requires: luit
%endif
-Version: 285
+Version: 286
Release: 0
Summary: The basic X terminal program
License: MIT
++++++ xterm-285.tgz -> xterm-286.tgz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xterm-285/MANIFEST new/xterm-286/MANIFEST
--- old/xterm-285/MANIFEST 2012-10-24 02:59:18.000000000 +0200
+++ new/xterm-286/MANIFEST 2012-10-25 12:53:12.000000000 +0200
@@ -1,4 +1,4 @@
-MANIFEST for xterm-285, version xterm-285
+MANIFEST for xterm-286, version xterm-286
--------------------------------------------------------------------------------
MANIFEST this file
256colres.h resource-definitions for 256-color mode
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xterm-285/Makefile.in new/xterm-286/Makefile.in
--- old/xterm-285/Makefile.in 2012-10-14 21:58:03.000000000 +0200
+++ new/xterm-286/Makefile.in 2012-10-29 10:17:12.000000000 +0100
@@ -1,4 +1,4 @@
-## $XTermId: Makefile.in,v 1.205 2012/10/14 19:58:03 tom Exp $
+## $XTermId: Makefile.in,v 1.206 2012/10/29 09:17:12 tom Exp $
# -----------------------------------------------------------------------------
# this file is part of xterm
#
@@ -134,7 +134,7 @@
grep '^CASE_' $< | $(AWK) '{printf "#define %s %d\n", $$1, n++}' >$@
.man.$(manext) :
- $(SHELL) ./minstall "$(INSTALL_DATA)" $< $@ $(appsdir) $(CLASS)
+ $(SHELL) ./minstall "$(INSTALL_DATA)" $< $@ $(appsdir) $(CLASS) $(actual_xterm) $(pixmapdir)
.$(manext).html :
GROFF_NO_SGR=stupid $(SHELL) -c "tbl $*.$(manext) | groff -Thtml -man" >$@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xterm-285/charproc.c new/xterm-286/charproc.c
--- old/xterm-285/charproc.c 2012-10-23 10:44:57.000000000 +0200
+++ new/xterm-286/charproc.c 2012-10-29 01:50:03.000000000 +0100
@@ -1,4 +1,4 @@
-/* $XTermId: charproc.c,v 1.1265 2012/10/23 08:44:57 tom Exp $ */
+/* $XTermId: charproc.c,v 1.1268 2012/10/29 00:50:03 tom Exp $ */
/*
* Copyright 1999-2011,2012 by Thomas E. Dickey
@@ -6020,9 +6020,9 @@
case ewGetWinState: /* Report the window's state */
if (AllowWindowOps(xw, ewGetWinState)) {
TRACE(("...get window attributes\n"));
- XGetWindowAttributes(screen->display,
- VWindow(screen),
- &win_attrs);
+ xtermGetWinAttrs(screen->display,
+ VWindow(screen),
+ &win_attrs);
init_reply(ANSI_CSI);
reply.a_pintro = 0;
reply.a_nparam = 1;
@@ -6038,9 +6038,9 @@
case ewGetWinPosition: /* Report the window's position */
if (AllowWindowOps(xw, ewGetWinPosition)) {
TRACE(("...get window position\n"));
- XGetWindowAttributes(screen->display,
- WMFrameWindow(xw),
- &win_attrs);
+ xtermGetWinAttrs(screen->display,
+ WMFrameWindow(xw),
+ &win_attrs);
init_reply(ANSI_CSI);
reply.a_pintro = 0;
reply.a_nparam = 3;
@@ -6056,17 +6056,10 @@
case ewGetWinSizePixels: /* Report the window's size in pixels */
if (AllowWindowOps(xw, ewGetWinSizePixels)) {
TRACE(("...get window size in pixels\n"));
- XGetWindowAttributes(screen->display,
- VWindow(screen),
- &win_attrs);
init_reply(ANSI_CSI);
reply.a_pintro = 0;
reply.a_nparam = 3;
reply.a_param[0] = 4;
- /*FIXME: find if dtterm uses
- * win_attrs.height or Height
- * win_attrs.width or Width
- */
reply.a_param[1] = (ParmType) Height(screen);
reply.a_param[2] = (ParmType) Width(screen);
reply.a_inters = 0;
@@ -6605,8 +6598,8 @@
if (askedHeight == 0
|| askedWidth == 0
|| xw->misc.limit_resize > 0) {
- XGetWindowAttributes(XtDisplay(xw),
- RootWindowOfScreen(XtScreen(xw)), &attrs);
+ xtermGetWinAttrs(XtDisplay(xw),
+ RootWindowOfScreen(XtScreen(xw)), &attrs);
}
if (text) {
@@ -7405,6 +7398,7 @@
init_Sres(screen.answer_back);
+ wnew->SPS.printer_checked = False;
init_Sres(SPS.printer_command);
init_Bres(SPS.printer_autoclose);
init_Bres(SPS.printer_extent);
@@ -8197,18 +8191,17 @@
req_type ? XGetAtomName(dpy, req_type) : "?"));
property = XInternAtom(dpy, prop_name, False);
- if (XGetWindowProperty(dpy,
- w,
- property,
- 0L,
- long_length,
- False,
- req_type,
- &actual_return_type,
- &actual_format_return,
- &nitems_return,
- &bytes_after_return,
- &prop_return) != Success) {
+ if (!xtermGetWinProp(dpy,
+ w,
+ property,
+ 0L,
+ long_length,
+ req_type,
+ &actual_return_type,
+ &actual_format_return,
+ &nitems_return,
+ &bytes_after_return,
+ &prop_return)) {
TRACE((".. Cannot get %s property.\n", prop_name));
} else if (prop_return != 0) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xterm-285/minstall.in new/xterm-286/minstall.in
--- old/xterm-285/minstall.in 2012-10-23 23:05:09.000000000 +0200
+++ new/xterm-286/minstall.in 2012-10-29 10:23:22.000000000 +0100
@@ -1,5 +1,5 @@
#!/bin/sh
-# $XTermId: minstall.in,v 1.13 2012/10/23 21:05:09 tom Exp $
+# $XTermId: minstall.in,v 1.15 2012/10/29 09:23:22 tom Exp $
# -----------------------------------------------------------------------------
# this file is part of xterm
#
@@ -118,16 +118,18 @@
X_MANSECT=`man X 2>&1 | tr '\012' '\020' | sed -e 's/^[^0123456789]*\([^) ][^) ]*\).*/\1/'`
test -z "$X_MANSECT" && X_MANSECT=$suffix
-VERSION_H=`echo "$OLD_FILE" | sed -e 's,/[^/]*$,/version.h,'`
+VERSION_H=`echo "$OLD_FILE" | sed -e 's,/[^/]*$,/version.h,' -e s',^[^/]*$,version.h,'`
PATCH_NUM=`fgrep XTERM_PATCH $VERSION_H|sed -e 's/[^0-9]*//g'`
PATCH_YMD=`fgrep XTERM_DATE $VERSION_H|sed -e 's,[^0-9/.-]*,,g'`
# Provide for renaming in test-builds:
APP_Name=`echo "$APP_name" | sed -e s/xterm/Xterm/`
+APP_NAME=`echo "$APP_name" | tr '[a-z]' '[A-Z]'`
sed -e 's%__vendorversion__%"X Window System"%' \
-e 's%__app_version__%Patch\ \#'$PATCH_NUM% \
-e 's%__app_date__%'$PATCH_YMD% \
+ -e "s%^\.TH [^ ][^ ]*%.TH $APP_NAME%" \
-e "s%^\.ds N Xterm%.ds N $APP_Name%" \
-e "s%^\.ds n xterm%.ds n $APP_name%" \
-e s%__default_termname__%@default_TERM@% \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xterm-285/misc.c new/xterm-286/misc.c
--- old/xterm-285/misc.c 2012-10-14 20:53:14.000000000 +0200
+++ new/xterm-286/misc.c 2012-10-29 00:09:35.000000000 +0100
@@ -1,4 +1,4 @@
-/* $XTermId: misc.c,v 1.624 2012/10/14 18:53:14 tom Exp $ */
+/* $XTermId: misc.c,v 1.627 2012/10/28 23:09:35 tom Exp $ */
/*
* Copyright 1999-2011,2012 by Thomas E. Dickey
@@ -1165,6 +1165,7 @@
void
xtermWarning(const char *fmt,...)
{
+ int save_err = errno;
va_list ap;
fprintf(stderr, "%s: ", ProgramName);
@@ -1173,11 +1174,13 @@
(void) fflush(stderr);
va_end(ap);
+ errno = save_err;
}
void
xtermPerror(const char *fmt,...)
{
+ int save_err = errno;
char *msg = strerror(errno);
va_list ap;
@@ -1188,6 +1191,7 @@
(void) fflush(stderr);
va_end(ap);
+ errno = save_err;
}
Window
@@ -1513,12 +1517,12 @@
*/
if (maximize
&& QueryMaximize(xw, &root_width, &root_height)
- && XGetWindowAttributes(screen->display,
- WMFrameWindow(xw),
- &wm_attrs)
- && XGetWindowAttributes(screen->display,
- VShellWindow(xw),
- &vshell_attrs)) {
+ && xtermGetWinAttrs(screen->display,
+ WMFrameWindow(xw),
+ &wm_attrs)
+ && xtermGetWinAttrs(screen->display,
+ VShellWindow(xw),
+ &vshell_attrs)) {
if (screen->restore_data != True
|| screen->restore_width != root_width
@@ -5700,12 +5704,13 @@
return 0;
}
-static Boolean
-validWindow(Display * dpy, Window win, XWindowAttributes * attrs)
+Boolean
+xtermGetWinAttrs(Display * dpy, Window win, XWindowAttributes * attrs)
{
Boolean result = False;
Status code;
+ memset(attrs, 0, sizeof(*attrs));
if (win != None) {
XErrorHandler save = XSetErrorHandler(catch_x11_error);
x11_errors = 0;
@@ -5721,6 +5726,44 @@
return result;
}
+Boolean
+xtermGetWinProp(Display * display,
+ Window win,
+ Atom property,
+ long long_offset,
+ long long_length,
+ Atom req_type,
+ Atom * actual_type_return,
+ int *actual_format_return,
+ unsigned long *nitems_return,
+ unsigned long *bytes_after_return,
+ unsigned char **prop_return)
+{
+ Boolean result = True;
+
+ if (win != None) {
+ XErrorHandler save = XSetErrorHandler(catch_x11_error);
+ x11_errors = 0;
+ if (XGetWindowProperty(display,
+ win,
+ property,
+ long_offset,
+ long_length,
+ False,
+ req_type,
+ actual_type_return,
+ actual_format_return,
+ nitems_return,
+ bytes_after_return,
+ prop_return) == Success
+ && x11_errors == 0) {
+ result = True;
+ }
+ XSetErrorHandler(save);
+ }
+ return result;
+}
+
void
xtermEmbedWindow(Window winToEmbedInto)
{
@@ -5728,7 +5771,7 @@
XWindowAttributes attrs;
TRACE(("checking winToEmbedInto %#lx\n", winToEmbedInto));
- if (validWindow(dpy, winToEmbedInto, &attrs)) {
+ if (xtermGetWinAttrs(dpy, winToEmbedInto, &attrs)) {
XtermWidget xw = term;
TScreen *screen = TScreenOf(xw);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xterm-285/package/debian/changelog new/xterm-286/package/debian/changelog
--- old/xterm-285/package/debian/changelog 2012-10-15 12:57:41.000000000 +0200
+++ new/xterm-286/package/debian/changelog 2012-10-25 12:56:37.000000000 +0200
@@ -1,3 +1,9 @@
+xterm-dev (286) unstable; urgency=low
+
+ * Redhat #869959
+
+ -- Thomas E. Dickey