[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kdevelop-bugs
Subject:    [Bug 104510] ctags part does not work well if comments are part of the tag line
From:       kdevelop-bugs-admin () barney ! cs ! uni-potsdam ! de
Date:       2005-04-26 18:46:27
Message-ID: 20050426184627.26996.qmail () ktown ! kde ! org
[Download RAW message or body]

------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=104510         
jens.dagerbo swipnet se changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |FIXED



------- Additional Comments From jens.dagerbo swipnet se  2005-04-26 20:46 -------
CVS commit by dagerbo: 

Fix case where the Ctags lookup wouldn't work if there was a comment 
on the same line. 
 
BUG: 104510 


  M +8 -6      ctags2_part.cpp   1.14


--- kdevelop/parts/ctags2/ctags2_part.cpp  #1.13:1.14
 @ -243,4 +243,8  @ int CTags2Part::getFileLineFromStream( Q
         if ( pattern.isEmpty() ) return -1;
         
+        // ctags interestingly escapes "/", but apparently nothing else. lets revert that
+        QString unescaped = pattern;
+        unescaped.replace( "\\/", "/" );
+        
         // most of the time, the ctags pattern has the form /^foo$/
         // but this isn't true for some macro definitions
 @ -249,8 +253,7  @ int CTags2Part::getFileLineFromStream( Q
         
         QString reduced, escaped, re_string;
-        if ( pattern.endsWith( "$/" ) )
+        if ( unescaped.endsWith( "$/" ) )
         {
-                        
-                reduced = pattern.mid( 2, pattern.length() -4 );
+                reduced = unescaped.mid( 2, unescaped.length() -4 );
                 escaped = QRegExp::escape( reduced );
                 re_string = QString( "^" + escaped + "$" );
 @ -258,5 +261,5  @ int CTags2Part::getFileLineFromStream( Q
         else
         {
-                reduced = pattern.mid( 2, pattern.length() -3 );
+                reduced = unescaped.mid( 2, unescaped.length() -3 );
                 escaped = QRegExp::escape( reduced );
                 re_string = QString( "^" + escaped );
 @ -268,5 +271,4  @ int CTags2Part::getFileLineFromStream( Q
         while ( !istream.atEnd() )
         {
-//              if ( re.exactMatch( istream.readLine() ) )
                 if ( re.search( istream.readLine() ) > -1 )
                 {


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic