Hello community,
here is the log from the commit of package poedit for openSUSE:Factory checked in at 2015-04-23 08:03:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/poedit (Old)
and /work/SRC/openSUSE:Factory/.poedit.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "poedit"
Changes:
--------
--- /work/SRC/openSUSE:Factory/poedit/poedit.changes 2015-03-12 16:39:09.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.poedit.new/poedit.changes 2015-04-23 08:03:48.000000000 +0200
@@ -1,0 +2,6 @@
+Mon Apr 20 17:25:51 UTC 2015 - astieger@suse.com
+
+- poedit 1.7.6:
+ + fix handling of multiple displays
+
+-------------------------------------------------------------------
Old:
----
poedit-1.7.5.tar.gz
New:
----
poedit-1.7.6.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ poedit.spec ++++++
--- /var/tmp/diff_new_pack.q0O8Z4/_old 2015-04-23 08:03:49.000000000 +0200
+++ /var/tmp/diff_new_pack.q0O8Z4/_new 2015-04-23 08:03:49.000000000 +0200
@@ -17,7 +17,7 @@
Name: poedit
-Version: 1.7.5
+Version: 1.7.6
Release: 0
Summary: Cross-platform Gettext Catalogs Editing Tool
License: MIT
++++++ poedit-1.7.5.tar.gz -> poedit-1.7.6.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poedit-1.7.5/NEWS new/poedit-1.7.6/NEWS
--- old/poedit-1.7.5/NEWS 2015-03-11 17:34:16.000000000 +0100
+++ new/poedit-1.7.6/NEWS 2015-04-18 20:01:37.000000000 +0200
@@ -1,4 +1,11 @@
+Version 1.7.6
+-------------
+
+- fix handling of multiple displays
+- [Windows] fix "file couldn't be formatted nicely" problems with files in
+ directories with (some) Unicode names
+
Version 1.7.5
-------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poedit-1.7.5/configure new/poedit-1.7.6/configure
--- old/poedit-1.7.5/configure 2015-03-11 17:36:15.000000000 +0100
+++ new/poedit-1.7.6/configure 2015-04-18 20:02:30.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for poedit 1.7.5.
+# Generated by GNU Autoconf 2.68 for poedit 1.7.6.
#
# Report bugs to .
#
@@ -560,8 +560,8 @@
# Identity of this package.
PACKAGE_NAME='poedit'
PACKAGE_TARNAME='poedit'
-PACKAGE_VERSION='1.7.5'
-PACKAGE_STRING='poedit 1.7.5'
+PACKAGE_VERSION='1.7.6'
+PACKAGE_STRING='poedit 1.7.6'
PACKAGE_BUGREPORT='poedit@googlegroups.com'
PACKAGE_URL=''
@@ -1281,7 +1281,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures poedit 1.7.5 to adapt to many kinds of systems.
+\`configure' configures poedit 1.7.6 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1351,7 +1351,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of poedit 1.7.5:";;
+ short | recursive ) echo "Configuration of poedit 1.7.6:";;
esac
cat <<\_ACEOF
@@ -1472,7 +1472,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-poedit configure 1.7.5
+poedit configure 1.7.6
generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc.
@@ -1715,7 +1715,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by poedit $as_me 1.7.5, which was
+It was created by poedit $as_me 1.7.6, which was
generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@
@@ -2063,7 +2063,7 @@
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-PACKAGE_SHORT_VERSION=1.7.5
+PACKAGE_SHORT_VERSION=1.7.6
ac_aux_dir=
@@ -2607,7 +2607,7 @@
# Define the identity of the package.
PACKAGE='poedit'
- VERSION='1.7.5'
+ VERSION='1.7.6'
cat >>confdefs.h <<_ACEOF
@@ -6437,7 +6437,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by poedit $as_me 1.7.5, which was
+This file was extended by poedit $as_me 1.7.6, which was
generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -6494,7 +6494,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-poedit config.status 1.7.5
+poedit config.status 1.7.6
configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poedit-1.7.5/configure.ac new/poedit-1.7.6/configure.ac
--- old/poedit-1.7.5/configure.ac 2015-03-11 17:34:17.000000000 +0100
+++ new/poedit-1.7.6/configure.ac 2015-04-18 20:01:37.000000000 +0200
@@ -2,8 +2,8 @@
AC_PREREQ(2.59)
-AC_INIT([poedit], [1.7.5], [poedit@googlegroups.com])
-PACKAGE_SHORT_VERSION=1.7.5
+AC_INIT([poedit], [1.7.6], [poedit@googlegroups.com])
+PACKAGE_SHORT_VERSION=1.7.6
AC_SUBST(PACKAGE_SHORT_VERSION)
AC_CONFIG_AUX_DIR([admin])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poedit-1.7.5/docs/poedit.1 new/poedit-1.7.6/docs/poedit.1
--- old/poedit-1.7.5/docs/poedit.1 2015-03-11 17:36:17.000000000 +0100
+++ new/poedit-1.7.6/docs/poedit.1 2015-04-18 20:02:32.000000000 +0200
@@ -2,12 +2,12 @@
.\" Title: poedit
.\" Author: Vaclav Slavik
.\" Generator: DocBook XSL Stylesheets v1.76.1 http://docbook.sf.net/
-.\" Date: 03/11/2015
+.\" Date: 04/18/2015
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "POEDIT" "1" "03/11/2015" "\ \&" "\ \&"
+.TH "POEDIT" "1" "04/18/2015" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poedit-1.7.5/src/catalog.cpp new/poedit-1.7.6/src/catalog.cpp
--- old/poedit-1.7.5/src/catalog.cpp 2015-03-11 17:34:28.000000000 +0100
+++ new/poedit-1.7.6/src/catalog.cpp 2015-04-18 20:01:44.000000000 +0200
@@ -1536,9 +1536,11 @@
else if (wrapping != DEFAULT_WRAPPING)
wrappingFlag.Printf(" --width=%d", wrapping);
+ TempOutputFileFor po_file_temp2_obj(po_file_temp);
+ const wxString po_file_temp2 = po_file_temp2_obj.FileName();
auto msgcatCmd = wxString::Format("msgcat --force-po%s -o %s %s",
wrappingFlag,
- QuoteCmdlineArg(po_file),
+ QuoteCmdlineArg(po_file_temp2),
QuoteCmdlineArg(po_file_temp));
wxLogTrace("poedit", "formatting file with %s", msgcatCmd);
@@ -1548,7 +1550,9 @@
// msgids) that, while correct, are not something a *translator* can
// do anything about.
wxLogNull null;
- msgcat_ok = ExecuteGettext(msgcatCmd) && wxFileExists(po_file);
+ msgcat_ok = ExecuteGettext(msgcatCmd) &&
+ wxFileExists(po_file_temp2) &&
+ wxRenameFile(po_file_temp2, po_file, /*overwrite=*/true);
}
if ( msgcat_ok )
@@ -1600,7 +1604,7 @@
(
wxString::Format("msgfmt -o %s %s",
QuoteCmdlineArg(mo_file_temp),
- QuoteCmdlineArg(po_file))
+ QuoteCmdlineArg(CliSafeFileName(po_file)))
) )
{
mo_compilation_status = CompilationStatus::Success;
@@ -1862,7 +1866,7 @@
GettextErrors err;
ExecuteGettextAndParseOutput
(
- wxString::Format("msgfmt -o /dev/null -c %s", QuoteCmdlineArg(po_file)),
+ wxString::Format("msgfmt -o /dev/null -c %s", QuoteCmdlineArg(CliSafeFileName(po_file))),
err
);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poedit-1.7.5/src/utility.cpp new/poedit-1.7.6/src/utility.cpp
--- old/poedit-1.7.5/src/utility.cpp 2015-03-11 17:34:28.000000000 +0100
+++ new/poedit-1.7.6/src/utility.cpp 2015-04-18 20:01:44.000000000 +0200
@@ -136,6 +136,8 @@
{
wxString path, name, ext;
wxFileName::SplitPath(filename, &path, &name, &ext);
+ if (!ext.empty())
+ ext = "." + ext;
#ifdef __WXOSX__
NSURL *fileUrl = [NSURL fileURLWithPath:wxStringToNS(filename)];
@@ -146,22 +148,38 @@
create:YES
error:nil];
if (tempdirUrl)
- {
- NSURL *newFileUrl = [tempdirUrl URLByAppendingPathComponent:[fileUrl lastPathComponent]];
- NSString *newFilePath = [newFileUrl path];
- m_filenameTmp = wxStringFromNS(newFilePath);
m_tempDir = wxStringFromNS([tempdirUrl path]);
- }
- // else: fall through to the generic code
-#endif // __WXOSX__
+#endif
- if (m_filenameTmp.empty())
+ wxString counter;
+ for (;;)
{
- m_filenameTmp = filename + ".temp." + ext;
- }
+#ifdef __WXOSX__
+ if (!m_tempDir.empty())
+ {
+ m_filenameTmp = m_tempDir + wxFILE_SEP_PATH + name + counter + ext;
+ }
+ else
+#endif // __WXOSX__
+ {
+ // Temp filenames may be ugly, nobody cares. Make them safe for
+ // Unicode-unfriendly uses on Windows, i.e. 8.3 without non-ASCII
+ // characters:
+ auto base = CliSafeFileName(path) + wxFILE_SEP_PATH;
+#ifdef __WXMSW__
+ // this is OK, ToAscii() replaces non-ASCII with '_':
+ base += name.ToAscii();
+#else
+ base += name;
+#endif
+ m_filenameTmp = base + ".temp" + counter + ext;
+ }
+
+ if (!wxFileExists(m_filenameTmp))
+ break; // good!
- if ( wxFileExists(m_filenameTmp) )
- wxRemoveFile(m_filenameTmp);
+ counter += wchar_t('a' + rand() % 26);
+ }
}
@@ -173,6 +191,33 @@
#endif
}
+#ifdef __WXMSW__
+wxString CliSafeFileName(const wxString& fn)
+{
+ if (fn.IsAscii())
+ {
+ return fn;
+ }
+ else if (wxFileExists(fn) || wxDirExists(fn))
+ {
+ return wxFileName(fn).GetShortPath();
+ }
+ else
+ {
+ wxString path, name, ext;
+ wxFileName::SplitPath(fn, &path, &name, &ext);
+ if (wxDirExists(path))
+ {
+ auto p = wxFileName(path).GetShortPath() + wxFILE_SEP_PATH + name;
+ if (!ext.empty())
+ p += "." + ext;
+ return p;
+ }
+ }
+ return fn;
+}
+#endif // __WXMSW__
+
// ----------------------------------------------------------------------
// Helpers for persisting windows' state
@@ -226,7 +271,14 @@
int width = (int)cfg->Read(path + "w", defaultSize.x);
int height = (int)cfg->Read(path + "h", defaultSize.y);
if ( width != -1 || height != -1 )
+ {
+ // filter out ridiculous sizes:
+ if (width != -1 && width < 100)
+ width = defaultSize.x;
+ if (height != -1 && height < 100)
+ height = defaultSize.y;
win->SetClientSize(width, height);
+ }
}
#if defined(__WXMSW__) || defined(__WXOSX__)
@@ -263,17 +315,10 @@
// If the window is completely out of all screens (e.g. because
// screens configuration changed), move it to primary screen:
-#ifdef __WXOSX__
- if ( win->GetPosition().x < 0 || win->GetPosition().y < 0 )
- win->Move(20, 30);
-#else
if ( wxDisplay::GetFromWindow(win) == wxNOT_FOUND )
- win->Move(0, 0);
-#endif
-
+ win->Move(20, 40);
#endif // __WXMSW__/__WXOSX__
-#ifndef __WXOSX__
// If the window is larger than current screen, resize it to fit:
int display = wxDisplay::GetFromWindow(win);
if ( display == wxNOT_FOUND )
@@ -283,10 +328,13 @@
wxRect winRect = win->GetRect();
if ( winRect.GetPosition() == wxDefaultPosition )
- winRect.SetPosition(screenRect.GetPosition()); // not place yet, fake it
+ winRect.SetPosition(screenRect.GetPosition()); // not placed yet, fake it
if ( !screenRect.Contains(winRect) )
{
+ // Don't crop the window immediately, because it could become too small
+ // due to it. Try to move it to the center of the screen first, then crop.
+ winRect = winRect.CenterIn(screenRect);
winRect.Intersect(screenRect);
win->SetSize(winRect);
}
@@ -296,5 +344,4 @@
{
win->Maximize();
}
-#endif // !__WXOSX__
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poedit-1.7.5/src/utility.h new/poedit-1.7.6/src/utility.h
--- old/poedit-1.7.5/src/utility.h 2015-03-11 17:34:28.000000000 +0100
+++ new/poedit-1.7.6/src/utility.h 2015-04-18 20:01:44.000000000 +0200
@@ -98,7 +98,14 @@
wxString m_filenameTmp;
};
-// Helper for writing files
+
+#ifdef __WXMSW__
+/// Return filename safe for passing to CLI tools (gettext).
+/// Uses 8.3 short names to avoid Unicode and codepage issues.
+wxString CliSafeFileName(const wxString& fn);
+#else
+inline wxString CliSafeFileName(const wxString& fn) { return fn; }
+#endif
// ----------------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poedit-1.7.5/src/version.h new/poedit-1.7.6/src/version.h
--- old/poedit-1.7.5/src/version.h 2015-03-11 17:34:28.000000000 +0100
+++ new/poedit-1.7.6/src/version.h 2015-04-18 20:01:44.000000000 +0200
@@ -26,7 +26,7 @@
#ifndef _VERSION_H_
#define _VERSION_H_
-#define POEDIT_VERSION "1.7.5"
-#define POEDIT_VERSION_WIN 1,7,5,0
+#define POEDIT_VERSION "1.7.6"
+#define POEDIT_VERSION_WIN 1,7,6,0
#endif // _VERSION_H_