Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package poxml for openSUSE:Factory checked in at 2022-04-23 19:46:47 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/poxml (Old) and /work/SRC/openSUSE:Factory/.poxml.new.1538 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "poxml" Sat Apr 23 19:46:47 2022 rev:110 rq:971604 version:22.04.0 Changes: -------- --- /work/SRC/openSUSE:Factory/poxml/poxml.changes 2022-03-04 20:20:38.508693552 +0100 +++ /work/SRC/openSUSE:Factory/.poxml.new.1538/poxml.changes 2022-04-23 19:48:43.503180131 +0200 @@ -1,0 +2,25 @@ +Mon Apr 18 07:52:49 UTC 2022 - Christophe Giboudeaux <[email protected]> + +- Update to 22.04.0 + * New feature release + * For more details please see: + * https://kde.org/announcements/gear/22.04.0/ + +------------------------------------------------------------------- +Fri Apr 8 18:22:10 UTC 2022 - Christophe Giboudeaux <[email protected]> + +- Update to 22.03.90 + * New feature release + +------------------------------------------------------------------- +Wed Mar 23 08:15:11 UTC 2022 - Christophe Giboudeaux <[email protected]> + +- Update to 22.03.80 + * New feature release +- Changes since 21.12.3: + * doc: remove transxx references + * Port away from QXmlDefaultHandler & friends + * Add CI + * Increase qt, cmake and kf5 requirements a bit + +------------------------------------------------------------------- Old: ---- poxml-21.12.3.tar.xz poxml-21.12.3.tar.xz.sig New: ---- poxml-22.04.0.tar.xz poxml-22.04.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ poxml.spec ++++++ --- /var/tmp/diff_new_pack.Rj7CGZ/_old 2022-04-23 19:48:44.083180821 +0200 +++ /var/tmp/diff_new_pack.Rj7CGZ/_new 2022-04-23 19:48:44.087180826 +0200 @@ -20,7 +20,7 @@ %{!?_kapp_version: %define _kapp_version %(echo %{version}| awk -F. '{print $1"."$2}')} %bcond_without released Name: poxml -Version: 21.12.3 +Version: 22.04.0 Release: 0 Summary: Tools for translating DocBook XML files with Gettext License: GPL-2.0-only AND GFDL-1.2-only ++++++ poxml-21.12.3.tar.xz -> poxml-22.04.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poxml-21.12.3/.gitlab-ci.yml new/poxml-22.04.0/.gitlab-ci.yml --- old/poxml-21.12.3/.gitlab-ci.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/poxml-22.04.0/.gitlab-ci.yml 2021-12-20 22:22:49.000000000 +0100 @@ -0,0 +1,6 @@ +# SPDX-FileCopyrightText: None +# SPDX-License-Identifier: CC0-1.0 + +include: + - https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/linux.yml + - https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/freebsd.yml diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poxml-21.12.3/.kde-ci.yml new/poxml-22.04.0/.kde-ci.yml --- old/poxml-21.12.3/.kde-ci.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/poxml-22.04.0/.kde-ci.yml 2021-12-20 22:22:49.000000000 +0100 @@ -0,0 +1,8 @@ +# SPDX-FileCopyrightText: None +# SPDX-License-Identifier: CC0-1.0 + +Dependencies: +- 'on': ['@all'] + 'require': + 'frameworks/extra-cmake-modules': '@stable' + 'frameworks/kdoctools': '@stable' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poxml-21.12.3/CMakeLists.txt new/poxml-22.04.0/CMakeLists.txt --- old/poxml-21.12.3/CMakeLists.txt 2022-03-01 01:13:49.000000000 +0100 +++ new/poxml-22.04.0/CMakeLists.txt 2022-04-15 02:18:23.000000000 +0200 @@ -1,8 +1,11 @@ project(poxml) -cmake_minimum_required (VERSION 2.8.12 FATAL_ERROR) +cmake_minimum_required (VERSION 3.16 FATAL_ERROR) -find_package(ECM 1.7.0 REQUIRED CONFIG) +set (QT_MIN_VERSION "5.12.0") +set (KF5_MIN_VERSION "5.68.0") + +find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules) include(FeatureSummary) @@ -20,8 +23,8 @@ PURPOSE "Required to build the poxml tools.") find_package(Gettext) -find_package(Qt5 REQUIRED NO_MODULE COMPONENTS Core Xml) -find_package(KF5 REQUIRED COMPONENTS DocTools) +find_package(Qt5 ${QT_MIN_VERSION} REQUIRED NO_MODULE COMPONENTS Core Xml) +find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS DocTools) add_subdirectory( doc ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poxml-21.12.3/doc/man-po2xml.1.docbook new/poxml-22.04.0/doc/man-po2xml.1.docbook --- old/poxml-21.12.3/doc/man-po2xml.1.docbook 2020-01-10 17:57:12.000000000 +0100 +++ new/poxml-22.04.0/doc/man-po2xml.1.docbook 2021-12-20 22:22:49.000000000 +0100 @@ -44,7 +44,7 @@ <refsect1> <title>See Also</title> -<para>split2po(1), swappo(1), transxx(1), xml2pot(1)</para> +<para>split2po(1), swappo(1), xml2pot(1)</para> </refsect1> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poxml-21.12.3/doc/man-split2po.1.docbook new/poxml-22.04.0/doc/man-split2po.1.docbook --- old/poxml-21.12.3/doc/man-split2po.1.docbook 2020-01-10 17:57:12.000000000 +0100 +++ new/poxml-22.04.0/doc/man-split2po.1.docbook 2021-12-20 22:22:49.000000000 +0100 @@ -48,7 +48,7 @@ <refsect1> <title>See Also</title> -<para>po2xml(1), swappo(1), transxx(1), xml2pot(1)</para> +<para>po2xml(1), swappo(1), xml2pot(1)</para> </refsect1> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poxml-21.12.3/doc/man-swappo.1.docbook new/poxml-22.04.0/doc/man-swappo.1.docbook --- old/poxml-21.12.3/doc/man-swappo.1.docbook 2020-01-10 17:57:12.000000000 +0100 +++ new/poxml-22.04.0/doc/man-swappo.1.docbook 2021-12-20 22:22:49.000000000 +0100 @@ -45,7 +45,7 @@ <refsect1> <title>See Also</title> -<para>po2xml(1), split2po(1), transxx(1), xml2pot(1)</para> +<para>po2xml(1), split2po(1), xml2pot(1)</para> </refsect1> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poxml-21.12.3/doc/man-xml2pot.1.docbook new/poxml-22.04.0/doc/man-xml2pot.1.docbook --- old/poxml-21.12.3/doc/man-xml2pot.1.docbook 2020-01-10 17:57:12.000000000 +0100 +++ new/poxml-22.04.0/doc/man-xml2pot.1.docbook 2021-12-20 22:22:49.000000000 +0100 @@ -49,7 +49,7 @@ <refsect1> <title>See Also</title> -<para>po2xml(1), split2po(1), swappo(1), transxx(1)</para> +<para>po2xml(1), split2po(1), swappo(1)</para> </refsect1> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poxml-21.12.3/parser.cpp new/poxml-22.04.0/parser.cpp --- old/poxml-21.12.3/parser.cpp 2020-01-10 17:57:12.000000000 +0100 +++ new/poxml-22.04.0/parser.cpp 2021-12-20 22:22:49.000000000 +0100 @@ -5,8 +5,12 @@ #include <stdlib.h> #include <assert.h> #include <qregexp.h> -//Added by qt3to4: + +#include <QDebug> +#include <QFile> +#include <QRegularExpression> #include <QTextStream> +#include <QXmlStreamReader> using namespace std; @@ -63,20 +67,12 @@ static const char *literaltags[] = {"literallayout", "synopsis", "screen", "programlisting", 0}; -bool StructureParser::fatalError ( const QXmlParseException &e ) -{ - cerr << "fatalError " << qPrintable(e.message()) << " " << e.lineNumber() << " " - << e.columnNumber() << endl; - return false; -} - -bool StructureParser::startDocument() +void StructureParser::startDocument() { infos_reg = QRegExp("\\s*poxml_line=\"(\\d+)\" poxml_col=\"(\\d+)\""); do_not_split_reg = QRegExp("\\s*condition=\"do-not-split\""); message = ""; inside = 0; - return true; } bool StructureParser::isCuttingTag(const QString &qName) @@ -90,7 +86,7 @@ return isLiteralTag(qName); } -bool StructureParser::isSingleTag(const QString &qName) +bool StructureParser::isSingleTag(const QStringRef &qName) { int index = 0; while (singletags[index]) { @@ -112,18 +108,15 @@ return false; } -bool StructureParser::skippedEntity ( const QString & name ) +void StructureParser::skippedEntity ( const QStringRef & name ) { if (inside) message += QString::fromLatin1("&%1;").arg(name); - return true; } -bool StructureParser::startElement( const QString& , const QString& , - const QString& qName, - const QXmlAttributes & attr ) +void StructureParser::startElement( int lineNumber, int columnNumber, const QStringRef& qName, const QXmlStreamAttributes & attr ) { - QString tname = qName.toLower(); + const QString tname = qName.toString().toLower(); bool first = false; @@ -131,8 +124,8 @@ if (!inside) { message = QString(); list.pc.increasePara(); - startline = locator->lineNumber(); - startcol = locator->columnNumber(); + startline = lineNumber; + startcol = columnNumber; first = true; } inside++; @@ -142,10 +135,10 @@ { QString tmp = '<' + tname; for (int i = 0; i < attr.length(); i++) { - tmp += QString::fromLatin1(" %1=\"%2\"").arg(attr.qName(i), attr.value(i)); + tmp += QString::fromLatin1(" %1=\"%2\"").arg(attr[i].qualifiedName(), attr[i].value()); } - tmp += QString::fromLatin1(" poxml_line=\"%1\"").arg(locator->lineNumber()); - tmp += QString::fromLatin1(" poxml_col=\"%1\"").arg(locator->columnNumber()); + tmp += QString::fromLatin1(" poxml_line=\"%1\"").arg(lineNumber); + tmp += QString::fromLatin1(" poxml_col=\"%1\"").arg(columnNumber); if (isSingleTag(qName)) tmp += QString::fromLatin1("/>"); @@ -157,23 +150,7 @@ } if (tname == QLatin1String("anchor") || tname.leftRef(4) == QLatin1String("sect") || tname == QLatin1String("chapter")) - if (!attr.value("id").isEmpty()) list.pc.addAnchor(attr.value("id")); - - return true; -} - -bool StructureParser::startCDATA() -{ - if ( inside ) - message += QLatin1String("<![CDATA["); - return true; -} - -bool StructureParser::endCDATA() -{ - if ( inside ) - message += QLatin1String("]]>"); - return true; + if (!attr.value("id").isEmpty()) list.pc.addAnchor(attr.value("id").toString()); } bool StructureParser::isClosure(const QString &message) @@ -616,15 +593,15 @@ return result; } -bool StructureParser::endElement( const QString& , const QString&, const QString& qName) +void StructureParser::endElement( int lineNumber, int columnNumber, const QStringRef& qName) { - QString tname = qName.toLower(); + const QString tname = qName.toString().toLower(); // qDebug("endElement %s - %s %d", qPrintable(tname), qPrintable(message), inside); if (inside) { if (!isSingleTag(qName)) { - message += QString::fromLatin1("</%1 poxml_line=\"%2\" poxml_col=\"%3\">").arg(tname).arg(locator->lineNumber()).arg(locator->columnNumber()); + message += QString::fromLatin1("</%1 poxml_line=\"%2\" poxml_col=\"%3\">").arg(tname).arg(lineNumber).arg(columnNumber); } } @@ -638,8 +615,8 @@ BlockInfo bi; bi.start_line = startline; bi.start_col = startcol; - bi.end_line = locator->lineNumber(); - bi.end_col = locator->columnNumber() + 1; + bi.end_line = lineNumber; + bi.end_col = columnNumber + 1; if (m.lines.isEmpty()) bi.offset = 0; else bi.offset = m.lines.first().offset; m.lines.append(bi); @@ -668,17 +645,14 @@ } } } - - return true; } -bool StructureParser::comment ( const QString &c ) +void StructureParser::comment ( const QStringRef &c ) { - if (c.leftRef(7) != QLatin1String(" TRANS:")) - return true; + if (c.left(7) != QLatin1String(" TRANS:")) + return; assert(false); - return true; } QString StructureParser::escapeLiterals( const QString &_contents) { @@ -782,8 +756,8 @@ index = singletag.indexIn(contents, index + 1); if (index < 0) break; - QString tag = singletag.cap(1); - if (!StructureParser::isSingleTag(tag)) { + const QString tag = singletag.cap(1); + if (!StructureParser::isSingleTag(QStringRef(&tag))) { contents.replace(index, singletag.matchedLength(), QString::fromLatin1("<%1 %2></%3>").arg(tag, singletag.cap(2), tag)); } } @@ -842,16 +816,73 @@ } while (removed); } -bool StructureParser::characters(const QString &ch) +void StructureParser::characters(const QStringRef &ch) { if (inside && !ch.isEmpty()) message += ch; - return true; } -MsgList parseXML(const char *filename) +static MsgList parseContents(const QString &contents) { + QXmlStreamReader xmlReader(contents); StructureParser handler; + bool foundDtd = false; + while (!xmlReader.atEnd()) { + const QXmlStreamReader::TokenType token = xmlReader.readNext(); + switch (token) { + case QXmlStreamReader::StartDocument: + handler.startDocument(); + break; + case QXmlStreamReader::EndDocument: + // Nothing + break; + case QXmlStreamReader::Comment: + handler.comment(xmlReader.text()); + break; + case QXmlStreamReader::DTD: + foundDtd = true; + break; + case QXmlStreamReader::StartElement: + handler.startElement(xmlReader.lineNumber(), xmlReader.columnNumber(), xmlReader.qualifiedName(), xmlReader.attributes()); + break; + case QXmlStreamReader::EndElement: + handler.endElement(xmlReader.lineNumber(), xmlReader.columnNumber(), xmlReader.qualifiedName()); + break; + case QXmlStreamReader::Characters: + handler.characters(xmlReader.text()); + break; + case QXmlStreamReader::EntityReference: + handler.skippedEntity(xmlReader.name()); + break; + case QXmlStreamReader::Invalid: + // QXmlStreamReader is annoying and won't accept custom entities like &POXML_LINEFEED; + // unless the file has a DTD, so if we fail parsing, inject a DTD into the XML contents and parse again + if (!foundDtd) { + const QRegularExpression xmlDeclarationRegExp("^.*<\\?xml.*?\\?>"); + const QRegularExpressionMatch match = xmlDeclarationRegExp.match(contents); + const QString fakeDTD = QStringLiteral("<!DOCTYPE fake PUBLIC \"fake\" \"fake\" []>"); + if (match.hasMatch()) { + const QString xmlDeclaration = match.captured(0); + return parseContents(xmlDeclaration + fakeDTD + contents.mid(xmlDeclaration.indexOf(xmlDeclaration) + xmlDeclaration.length())); + } else { + return parseContents(fakeDTD + contents); + } + } + qWarning() << "Invalid token found" << xmlReader.errorString() << xmlReader.lineNumber() << xmlReader.columnNumber() << contents; + break; + case QXmlStreamReader::ProcessingInstruction: + // Nothing + break; + default: + qWarning() << "unexpected token" << token; + } + } + + return handler.getList(); +} + +MsgList parseXML(const char *filename) +{ QFile xmlFile(QFile::decodeName(filename)); xmlFile.open(QIODevice::ReadOnly); @@ -919,16 +950,7 @@ contents.replace(index, endindex - index, replacement); } - QTextStream ts(contents.toUtf8(), QIODevice::ReadOnly); - QXmlInputSource source( ts.device() ); - QXmlSimpleReader reader; - reader.setFeature( "http://qt-project.org/xml/features/report-start-end-entity", true); - reader.setContentHandler( &handler ); - reader.setLexicalHandler( &handler ); - reader.setDTDHandler( &handler ); - // reader.setErrorHandler( &handler ); - reader.parse( source ); - english += handler.getList(); + english += parseContents(contents); bool changed = false; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poxml-21.12.3/parser.h new/poxml-22.04.0/parser.h --- old/poxml-21.12.3/parser.h 2020-01-10 17:57:12.000000000 +0100 +++ new/poxml-22.04.0/parser.h 2021-12-20 22:22:49.000000000 +0100 @@ -1,12 +1,13 @@ #ifndef PARSER_H #define PARSER_H -#include <qxml.h> #include <qmap.h> #include <qregexp.h> #include <QList> +class QXmlStreamAttributes; + struct BlockInfo { int start_line; int start_col; @@ -89,29 +90,21 @@ } }; -class StructureParser : public QXmlDefaultHandler +class StructureParser { public: - bool startDocument() override; - bool startElement( const QString&, const QString&, const QString& , - const QXmlAttributes& ) override; - bool endElement( const QString&, const QString&, const QString& ) override; - bool characters( const QString &ch) override; + void startDocument(); + void startElement( int lineNumber, int columnNumber, const QStringRef& qName, const QXmlStreamAttributes & attr ); + void endElement( int lineNumber, int columnNumber, const QStringRef& qName); + void characters( const QStringRef &ch); static bool isCuttingTag(const QString &tag); - static bool isSingleTag(const QString &qName); + static bool isSingleTag(const QStringRef &qName); static bool isLiteralTag(const QString &qName); - void setDocumentLocator ( QXmlLocator * l ) override { locator = l; } - bool skippedEntity ( const QString & name ) override; - bool fatalError ( const QXmlParseException & ) override; - bool comment ( const QString & ) override; - bool error(const QXmlParseException &e ) override { return fatalError(e); } - bool warning(const QXmlParseException &e ) override { return fatalError(e); } + void skippedEntity ( const QStringRef & name ); + void comment ( const QStringRef & ); MsgList getList() const { return list; } MsgList splitMessage(const MsgBlock &message); - bool startCDATA() override; - bool endCDATA() override; - static bool closureTag(const QString& message, const QString &tag); static bool isClosure(const QString &message); static void descape(QString &message); @@ -124,7 +117,6 @@ private: bool formatMessage(MsgBlock &message) const; - QXmlLocator *locator; QString message; int inside, startline, startcol; int line; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poxml-21.12.3/po/ca/docs/poxml/man-po2xml.1.docbook new/poxml-22.04.0/po/ca/docs/poxml/man-po2xml.1.docbook --- old/poxml-21.12.3/po/ca/docs/poxml/man-po2xml.1.docbook 2022-03-01 01:13:49.000000000 +0100 +++ new/poxml-22.04.0/po/ca/docs/poxml/man-po2xml.1.docbook 2022-04-15 02:18:23.000000000 +0200 @@ -75,7 +75,7 @@ >Vegeu tamb??</title> <para ->split2po(1), swappo(1), transxx(1), xml2pot(1)</para> +>split2po(1), swappo(1), xml2pot(1)</para> </refsect1> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poxml-21.12.3/po/ca/docs/poxml/man-split2po.1.docbook new/poxml-22.04.0/po/ca/docs/poxml/man-split2po.1.docbook --- old/poxml-21.12.3/po/ca/docs/poxml/man-split2po.1.docbook 2022-03-01 01:13:49.000000000 +0100 +++ new/poxml-22.04.0/po/ca/docs/poxml/man-split2po.1.docbook 2022-04-15 02:18:23.000000000 +0200 @@ -82,7 +82,7 @@ >Vegeu tamb??</title> <para ->po2xml(1), swappo(1), transxx(1), xml2pot(1)</para> +>po2xml(1), swappo(1), xml2pot(1)</para> </refsect1> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poxml-21.12.3/po/ca/docs/poxml/man-swappo.1.docbook new/poxml-22.04.0/po/ca/docs/poxml/man-swappo.1.docbook --- old/poxml-21.12.3/po/ca/docs/poxml/man-swappo.1.docbook 2022-03-01 01:13:49.000000000 +0100 +++ new/poxml-22.04.0/po/ca/docs/poxml/man-swappo.1.docbook 2022-04-15 02:18:23.000000000 +0200 @@ -73,7 +73,7 @@ >Vegeu tamb??</title> <para ->po2xml(1), split2po(1), transxx(1), xml2pot(1)</para> +>po2xml(1), split2po(1), xml2pot(1)</para> </refsect1> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poxml-21.12.3/po/ca/docs/poxml/man-xml2pot.1.docbook new/poxml-22.04.0/po/ca/docs/poxml/man-xml2pot.1.docbook --- old/poxml-21.12.3/po/ca/docs/poxml/man-xml2pot.1.docbook 2022-03-01 01:13:49.000000000 +0100 +++ new/poxml-22.04.0/po/ca/docs/poxml/man-xml2pot.1.docbook 2022-04-15 02:18:23.000000000 +0200 @@ -78,7 +78,7 @@ >Vegeu tamb??</title> <para ->po2xml(1), split2po(1), swappo(1), transxx(1)</para> +>po2xml(1), split2po(1), swappo(1)</para> </refsect1> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poxml-21.12.3/po/es/docs/poxml/man-po2xml.1.docbook new/poxml-22.04.0/po/es/docs/poxml/man-po2xml.1.docbook --- old/poxml-21.12.3/po/es/docs/poxml/man-po2xml.1.docbook 2022-03-01 01:13:49.000000000 +0100 +++ new/poxml-22.04.0/po/es/docs/poxml/man-po2xml.1.docbook 2022-04-15 02:18:23.000000000 +0200 @@ -75,7 +75,7 @@ >Vea tambi??n</title> <para ->split2po(1), swappo(1), transxx(1), xml2pot(1)</para> +>split2po(1), swappo(1), xml2pot(1)</para> </refsect1> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poxml-21.12.3/po/es/docs/poxml/man-split2po.1.docbook new/poxml-22.04.0/po/es/docs/poxml/man-split2po.1.docbook --- old/poxml-21.12.3/po/es/docs/poxml/man-split2po.1.docbook 2022-03-01 01:13:49.000000000 +0100 +++ new/poxml-22.04.0/po/es/docs/poxml/man-split2po.1.docbook 2022-04-15 02:18:23.000000000 +0200 @@ -82,7 +82,7 @@ >Vea tambi??n</title> <para ->po2xml(1), swappo(1), transxx(1), xml2pot(1)</para> +>po2xml(1), swappo(1), xml2pot(1)</para> </refsect1> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poxml-21.12.3/po/es/docs/poxml/man-swappo.1.docbook new/poxml-22.04.0/po/es/docs/poxml/man-swappo.1.docbook --- old/poxml-21.12.3/po/es/docs/poxml/man-swappo.1.docbook 2022-03-01 01:13:49.000000000 +0100 +++ new/poxml-22.04.0/po/es/docs/poxml/man-swappo.1.docbook 2022-04-15 02:18:23.000000000 +0200 @@ -73,7 +73,7 @@ >Vea tambi??n</title> <para ->po2xml(1), split2po(1), transxx(1), xml2pot(1)</para> +>po2xml(1), split2po(1), xml2pot(1)</para> </refsect1> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poxml-21.12.3/po/es/docs/poxml/man-xml2pot.1.docbook new/poxml-22.04.0/po/es/docs/poxml/man-xml2pot.1.docbook --- old/poxml-21.12.3/po/es/docs/poxml/man-xml2pot.1.docbook 2022-03-01 01:13:49.000000000 +0100 +++ new/poxml-22.04.0/po/es/docs/poxml/man-xml2pot.1.docbook 2022-04-15 02:18:23.000000000 +0200 @@ -78,7 +78,7 @@ >Vea tambi??n</title> <para ->po2xml(1), split2po(1), swappo(1), transxx(1)</para> +>po2xml(1), split2po(1), swappo(1)</para> </refsect1> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poxml-21.12.3/po/fr/docs/poxml/man-po2xml.1.docbook new/poxml-22.04.0/po/fr/docs/poxml/man-po2xml.1.docbook --- old/poxml-21.12.3/po/fr/docs/poxml/man-po2xml.1.docbook 2022-03-01 01:13:49.000000000 +0100 +++ new/poxml-22.04.0/po/fr/docs/poxml/man-po2xml.1.docbook 2022-04-15 02:18:23.000000000 +0200 @@ -75,7 +75,7 @@ >Voir aussi</title> <para ->split2po(1), swappo(1), transxx(1), xml2pot(1)</para> +>split2po(1), swappo(1), xml2pot(1)</para> </refsect1> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poxml-21.12.3/po/fr/docs/poxml/man-split2po.1.docbook new/poxml-22.04.0/po/fr/docs/poxml/man-split2po.1.docbook --- old/poxml-21.12.3/po/fr/docs/poxml/man-split2po.1.docbook 2022-03-01 01:13:49.000000000 +0100 +++ new/poxml-22.04.0/po/fr/docs/poxml/man-split2po.1.docbook 2022-04-15 02:18:23.000000000 +0200 @@ -82,7 +82,7 @@ >Voir aussi</title> <para ->po2xml(1), swappo(1), transxx(1), xml2pot(1)</para> +>po2xml(1), swappo(1), xml2pot(1)</para> </refsect1> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poxml-21.12.3/po/fr/docs/poxml/man-swappo.1.docbook new/poxml-22.04.0/po/fr/docs/poxml/man-swappo.1.docbook --- old/poxml-21.12.3/po/fr/docs/poxml/man-swappo.1.docbook 2022-03-01 01:13:49.000000000 +0100 +++ new/poxml-22.04.0/po/fr/docs/poxml/man-swappo.1.docbook 2022-04-15 02:18:23.000000000 +0200 @@ -73,7 +73,7 @@ >Voir aussi</title> <para ->po2xml(1), split2po(1), transxx(1), xml2pot(1)</para> +>po2xml(1), split2po(1), xml2pot(1)</para> </refsect1> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poxml-21.12.3/po/fr/docs/poxml/man-xml2pot.1.docbook new/poxml-22.04.0/po/fr/docs/poxml/man-xml2pot.1.docbook --- old/poxml-21.12.3/po/fr/docs/poxml/man-xml2pot.1.docbook 2022-03-01 01:13:49.000000000 +0100 +++ new/poxml-22.04.0/po/fr/docs/poxml/man-xml2pot.1.docbook 2022-04-15 02:18:23.000000000 +0200 @@ -78,7 +78,7 @@ >Voir aussi</title> <para ->po2xml(1), split2po(1), swappo(1), transxx(1)</para> +>po2xml(1), split2po(1), swappo(1)</para> </refsect1> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poxml-21.12.3/po/nl/docs/poxml/man-po2xml.1.docbook new/poxml-22.04.0/po/nl/docs/poxml/man-po2xml.1.docbook --- old/poxml-21.12.3/po/nl/docs/poxml/man-po2xml.1.docbook 2022-03-01 01:13:49.000000000 +0100 +++ new/poxml-22.04.0/po/nl/docs/poxml/man-po2xml.1.docbook 2022-04-15 02:18:23.000000000 +0200 @@ -75,7 +75,7 @@ >Zie ook</title> <para ->split2po(1), swappo(1), transxx(1), xml2pot(1)</para> +>split2po(1), swappo(1), xml2pot(1)</para> </refsect1> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poxml-21.12.3/po/nl/docs/poxml/man-split2po.1.docbook new/poxml-22.04.0/po/nl/docs/poxml/man-split2po.1.docbook --- old/poxml-21.12.3/po/nl/docs/poxml/man-split2po.1.docbook 2022-03-01 01:13:49.000000000 +0100 +++ new/poxml-22.04.0/po/nl/docs/poxml/man-split2po.1.docbook 2022-04-15 02:18:23.000000000 +0200 @@ -80,7 +80,7 @@ >Zie ook</title> <para ->po2xml(1), swappo(1), transxx(1), xml2pot(1)</para> +>po2xml(1), swappo(1), xml2pot(1)</para> </refsect1> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poxml-21.12.3/po/nl/docs/poxml/man-swappo.1.docbook new/poxml-22.04.0/po/nl/docs/poxml/man-swappo.1.docbook --- old/poxml-21.12.3/po/nl/docs/poxml/man-swappo.1.docbook 2022-03-01 01:13:49.000000000 +0100 +++ new/poxml-22.04.0/po/nl/docs/poxml/man-swappo.1.docbook 2022-04-15 02:18:23.000000000 +0200 @@ -73,7 +73,7 @@ >Zie ook</title> <para ->po2xml(1), split2po(1), transxx(1), xml2pot(1)</para> +>po2xml(1), split2po(1), xml2pot(1)</para> </refsect1> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poxml-21.12.3/po/nl/docs/poxml/man-xml2pot.1.docbook new/poxml-22.04.0/po/nl/docs/poxml/man-xml2pot.1.docbook --- old/poxml-21.12.3/po/nl/docs/poxml/man-xml2pot.1.docbook 2022-03-01 01:13:49.000000000 +0100 +++ new/poxml-22.04.0/po/nl/docs/poxml/man-xml2pot.1.docbook 2022-04-15 02:18:23.000000000 +0200 @@ -78,7 +78,7 @@ >Zie ook</title> <para ->po2xml(1), split2po(1), swappo(1), transxx(1)</para> +>po2xml(1), split2po(1), swappo(1)</para> </refsect1> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poxml-21.12.3/po/sv/docs/poxml/man-po2xml.1.docbook new/poxml-22.04.0/po/sv/docs/poxml/man-po2xml.1.docbook --- old/poxml-21.12.3/po/sv/docs/poxml/man-po2xml.1.docbook 2022-03-01 01:13:49.000000000 +0100 +++ new/poxml-22.04.0/po/sv/docs/poxml/man-po2xml.1.docbook 2022-04-15 02:18:23.000000000 +0200 @@ -75,7 +75,7 @@ >Se ocks??</title> <para ->split2po(1), swappo(1), transxx(1), xml2pot(1)</para> +>split2po(1), swappo(1), xml2pot(1)</para> </refsect1> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poxml-21.12.3/po/sv/docs/poxml/man-split2po.1.docbook new/poxml-22.04.0/po/sv/docs/poxml/man-split2po.1.docbook --- old/poxml-21.12.3/po/sv/docs/poxml/man-split2po.1.docbook 2022-03-01 01:13:49.000000000 +0100 +++ new/poxml-22.04.0/po/sv/docs/poxml/man-split2po.1.docbook 2022-04-15 02:18:23.000000000 +0200 @@ -82,7 +82,7 @@ >Se ocks??</title> <para ->po2xml(1), swappo(1), transxx(1), xml2pot(1)</para> +>po2xml(1), swappo(1), xml2pot(1)</para> </refsect1> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poxml-21.12.3/po/sv/docs/poxml/man-swappo.1.docbook new/poxml-22.04.0/po/sv/docs/poxml/man-swappo.1.docbook --- old/poxml-21.12.3/po/sv/docs/poxml/man-swappo.1.docbook 2022-03-01 01:13:49.000000000 +0100 +++ new/poxml-22.04.0/po/sv/docs/poxml/man-swappo.1.docbook 2022-04-15 02:18:23.000000000 +0200 @@ -73,7 +73,7 @@ >Se ocks??</title> <para ->po2xml(1), split2po(1), transxx(1), xml2pot(1)</para> +>po2xml(1), split2po(1), xml2pot(1)</para> </refsect1> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poxml-21.12.3/po/sv/docs/poxml/man-xml2pot.1.docbook new/poxml-22.04.0/po/sv/docs/poxml/man-xml2pot.1.docbook --- old/poxml-21.12.3/po/sv/docs/poxml/man-xml2pot.1.docbook 2022-03-01 01:13:49.000000000 +0100 +++ new/poxml-22.04.0/po/sv/docs/poxml/man-xml2pot.1.docbook 2022-04-15 02:18:23.000000000 +0200 @@ -79,7 +79,7 @@ >Se ocks??</title> <para ->po2xml(1), split2po(1), swappo(1), transxx(1)</para> +>po2xml(1), split2po(1), swappo(1)</para> </refsect1> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poxml-21.12.3/po/uk/docs/poxml/man-po2xml.1.docbook new/poxml-22.04.0/po/uk/docs/poxml/man-po2xml.1.docbook --- old/poxml-21.12.3/po/uk/docs/poxml/man-po2xml.1.docbook 2022-03-01 01:13:49.000000000 +0100 +++ new/poxml-22.04.0/po/uk/docs/poxml/man-po2xml.1.docbook 2022-04-15 02:18:23.000000000 +0200 @@ -75,7 +75,7 @@ >???????????????????? ??????????</title> <para ->split2po(1), swappo(1), transxx(1), xml2pot(1)</para> +>split2po(1), swappo(1), xml2pot(1)</para> </refsect1> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poxml-21.12.3/po/uk/docs/poxml/man-split2po.1.docbook new/poxml-22.04.0/po/uk/docs/poxml/man-split2po.1.docbook --- old/poxml-21.12.3/po/uk/docs/poxml/man-split2po.1.docbook 2022-03-01 01:13:49.000000000 +0100 +++ new/poxml-22.04.0/po/uk/docs/poxml/man-split2po.1.docbook 2022-04-15 02:18:23.000000000 +0200 @@ -82,7 +82,7 @@ >???????????????????? ??????????</title> <para ->po2xml(1), swappo(1), transxx(1), xml2pot(1)</para> +>po2xml(1), swappo(1), xml2pot(1)</para> </refsect1> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poxml-21.12.3/po/uk/docs/poxml/man-swappo.1.docbook new/poxml-22.04.0/po/uk/docs/poxml/man-swappo.1.docbook --- old/poxml-21.12.3/po/uk/docs/poxml/man-swappo.1.docbook 2022-03-01 01:13:49.000000000 +0100 +++ new/poxml-22.04.0/po/uk/docs/poxml/man-swappo.1.docbook 2022-04-15 02:18:23.000000000 +0200 @@ -73,7 +73,7 @@ >???????????????????? ??????????</title> <para ->po2xml(1), split2po(1), transxx(1), xml2pot(1)</para> +>po2xml(1), split2po(1), xml2pot(1)</para> </refsect1> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poxml-21.12.3/po/uk/docs/poxml/man-xml2pot.1.docbook new/poxml-22.04.0/po/uk/docs/poxml/man-xml2pot.1.docbook --- old/poxml-21.12.3/po/uk/docs/poxml/man-xml2pot.1.docbook 2022-03-01 01:13:49.000000000 +0100 +++ new/poxml-22.04.0/po/uk/docs/poxml/man-xml2pot.1.docbook 2022-04-15 02:18:23.000000000 +0200 @@ -78,7 +78,7 @@ >???????????????????? ??????????</title> <para ->po2xml(1), split2po(1), swappo(1), transxx(1)</para> +>po2xml(1), split2po(1), swappo(1)</para> </refsect1> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poxml-21.12.3/po2xml.cpp new/poxml-22.04.0/po2xml.cpp --- old/poxml-21.12.3/po2xml.cpp 2020-01-10 17:57:12.000000000 +0100 +++ new/poxml-22.04.0/po2xml.cpp 2021-12-20 22:22:49.000000000 +0100 @@ -7,6 +7,7 @@ #include <assert.h> #include <qregexp.h> +#include <QFile> #include <QList> #include <QTextStream> @@ -232,9 +233,9 @@ old_pos = end_pos; } else { if (start_pos != old_pos) { - if (start_pos < old_pos) { - qDebug("so far: '%s'", qPrintable(output)); - } + if (start_pos < old_pos) { + qDebug("so far: '%s'", qPrintable(output)); + } assert(start_pos > old_pos); ts << xml_text.mid(old_pos, start_pos - old_pos); }
