rev 11401 - in trunk/packages/kdelibs/debian: . patches

Ana Beatriz Guerrero López ana at alioth.debian.org
Tue Jul 8 20:53:02 UTC 2008


Author: ana
Date: 2008-07-08 20:53:01 +0000 (Tue, 08 Jul 2008)
New Revision: 11401

Added:
   trunk/packages/kdelibs/debian/patches/56_kdepart_482268.diff
Modified:
   trunk/packages/kdelibs/debian/changelog
Log:
 Fix kdepart freeze with some replacements. (Closes: #482268)



Modified: trunk/packages/kdelibs/debian/changelog
===================================================================
--- trunk/packages/kdelibs/debian/changelog	2008-07-08 19:27:39 UTC (rev 11400)
+++ trunk/packages/kdelibs/debian/changelog	2008-07-08 20:53:01 UTC (rev 11401)
@@ -1,5 +1,12 @@
-kdelibs (4:3.5.9.dfsg.1-5) UNRELEASED; urgency=low
+kdelibs (4:3.5.9.dfsg.1-6) unstable; urgency=low
 
+  * Fix kdepart freeze with some replacements. (Closes: #482268)
+    Many thanks to Steve Cotton. 
+
+ -- Ana Beatriz Guerrero Lopez <ana at debian.org>  Tue, 08 Jul 2008 22:53:51 +0200
+
+kdelibs (4:3.5.9.dfsg.1-5) unstable; urgency=low
+
   +++ Changes by Pino Toscano:
 
   * Add ghostscript Suggests to kdelibs4c2a, as kdeprint can print to PDF

Added: trunk/packages/kdelibs/debian/patches/56_kdepart_482268.diff
===================================================================
--- trunk/packages/kdelibs/debian/patches/56_kdepart_482268.diff	                        (rev 0)
+++ trunk/packages/kdelibs/debian/patches/56_kdepart_482268.diff	2008-07-08 20:53:01 UTC (rev 11401)
@@ -0,0 +1,48 @@
+--- a/kate/part/katesearch.cpp	
++++ b/kate/part/katesearch.cpp	
+@@ -377,23 +377,35 @@
+ {
+   QString replaceWith = m_replacement;
+   if ( s.flags.regExp && s.flags.useBackRefs ) {
+-    // replace each "(?!\)\d+" with the corresponding capture
+-    QRegExp br("\\\\(\\d+)");
++    // Replace each "\0"..."\9" with the corresponding capture,
++    // "\n" and "\t" with newline and tab,
++    // "\\" with "\",
++    // and remove the "\" for any other sequence.
++    QRegExp br("\\\\(.)");
+     int pos = br.search( replaceWith );
+     int ncaps = m_re.numCaptures();
+     while ( pos >= 0 ) {
+-      QString sc;
+-      if ( !pos ||  replaceWith.at( pos-1) != '\\' ) {
+-        int ccap = br.cap(1).toInt();
++      QString substitute;
++      QChar argument = br.cap(1).at(0);
++      if ( argument.isDigit() ) {
++        // the second character is a digit, this is a backreference
++        int ccap = argument.digitValue();
+         if (ccap <= ncaps ) {
+-          sc = m_re.cap( ccap );
+-          replaceWith.replace( pos, br.matchedLength(), sc );
+-        }
+-        else {
++          substitute = m_re.cap( ccap );
++        } else {
+           kdDebug()<<"KateSearch::replaceOne(): you don't have "<<ccap<<" backreferences in regexp '"<<m_re.pattern()<<"'"<<endl;
++          break;
+         }
++      } else if ( argument == 'n' ) {
++        substitute = '\n';
++      } else if ( argument == 't' ) {
++        substitute = '\t';
++      } else {
++        // handle a validly escaped backslash, or an invalid escape.
++        substitute = argument;
+       }
+-      pos = br.search( replaceWith, pos + (int)sc.length() );
++      replaceWith.replace( pos, br.matchedLength(), substitute );
++      pos = br.search( replaceWith, pos + substitute.length() );
+     }
+   }
+ 




More information about the pkg-kde-commits mailing list