<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.kde.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugs.kde.org/"
          
          maintainer="sysadmin@kde.org"
>

    <bug>
          <bug_id>139578</bug_id>
          
          <creation_ts>2007-01-04 02:27:09 +0000</creation_ts>
          <short_desc>Code folding screws up highlighting</short_desc>
          <delta_ts>2007-05-28 04:03:54 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>2</classification_id>
          <classification>Applications</classification>
          <product>kate</product>
          <component>folding</component>
          <version>unspecified</version>
          <rep_platform>unspecified</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>NOR</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Stef Louwers">stefl</reporter>
          <assigned_to name="KWrite Developers">kwrite-bugs-null</assigned_to>
          <cc>cyberfish</cc>
    
    <cc>fullofgrace88</cc>
    
    <cc>redlizard</cc>
    
    <cc>thomas.friedrichsmeier</cc>
          
          <cf_commitlink></cf_commitlink>
          <cf_versionfixedin></cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>60</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>498004</commentid>
    <comment_count>0</comment_count>
    <who name="Stef Louwers">stefl</who>
    <bug_when>2007-01-04 02:27:10 +0000</bug_when>
    <thetext>Version:           unknown (using KDE 3.5.5, Debian Package 4:3.5.5a.dfsg.1-2 (testing/unstable))
Compiler:          Target: i486-linux-gnu
OS:                Linux (i686) release 2.6.14.rldesktop

When any code is folded, the highlighting of my php syntax starts to do weird things. Curly braces matching near the cursor fails, and sometimes the cursor disappears altogether (while still being functional). A note of interest is that these problems happen only in parts of the file *after* the folded code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498361</commentid>
    <comment_count>1</comment_count>
      <attachid>19111</attachid>
    <who name="Thomas Friedrichsmeier">thomas.friedrichsmeier</who>
    <bug_when>2007-01-05 15:39:13 +0000</bug_when>
    <thetext>Created attachment 19111
Testcase with instructions

Attaching a testcase to show two sorts of wierd behavior after folded regions:
Failure to highlight matching curly braces, and failure to clear selection
markers.

Instructions on reproducing the bugs are enclosed in the testcase. The testcase
also contains some observations on when the bugs go away.

From a lay-persons perspective, this seems like a problem in updating the view.
Perhaps most interestingly, using the scroll-wheel (as described in the
testcase) seems to update the view properly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498362</commentid>
    <comment_count>2</comment_count>
    <who name="Thomas Friedrichsmeier">thomas.friedrichsmeier</who>
    <bug_when>2007-01-05 15:44:28 +0000</bug_when>
    <thetext>Additional note: The problem(s) is/are not constrained to PHP, but also work with different hightlighting definitions, including at least C, C++, and R Script, suggesting the highlighting definition is definitely not to blame.

When using the testcase, of course you will have to set C highlighting, in order to get any code-folding markers at all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498375</commentid>
    <comment_count>3</comment_count>
    <who name="Dominik Haumann">dhaumann</who>
    <bug_when>2007-01-05 16:55:53 +0000</bug_when>
    <thetext>I can confirm this. It&apos;s like that since a long time already :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500795</commentid>
    <comment_count>4</comment_count>
    <who name="Alan Prescott">alanjprescott</who>
    <bug_when>2007-01-12 10:44:20 +0000</bug_when>
    <thetext>With PHP and Python - using mouse to highlight a block of text which stays highlighted/selected even when the cursor is clicked elsewhere in the text.
Plus if the cursor is clicked somewhere inside the highlighted block then just that one line becomes unhighlighted.
Can confirm that this appears to affect only the area after the fold.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>505891</commentid>
    <comment_count>5</comment_count>
    <who name="Dominik Haumann">dhaumann</who>
    <bug_when>2007-02-02 09:36:41 +0000</bug_when>
    <thetext>*** Bug 141047 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528009</commentid>
    <comment_count>6</comment_count>
      <attachid>20694</attachid>
    <who name="Ruud Koolen">redlizard</who>
    <bug_when>2007-05-25 10:52:48 +0000</bug_when>
    <thetext>Created attachment 20694
This patch fixes both problems, incorrect brace-matching and not updating the selected lines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528246</commentid>
    <comment_count>7</comment_count>
    <who name="Dominik Haumann">dhaumann</who>
    <bug_when>2007-05-27 00:31:46 +0000</bug_when>
    <thetext>SVN commit 668607 by dhaumann:

fix bug: Code folding screws up highlighting
Converting from/to virtual cursors was wrong.
Patch by: Ruud Koolen - Thanks a lot!
BUG: 139578


 M  +8 -8      kateview.cpp  
 M  +4 -4      kateviewinternal.cpp  


--- branches/KDE/3.5/kdelibs/kate/part/kateview.cpp #668606:668607
@@ -1521,32 +1521,32 @@
       // We have to tag the whole lot if
       // 1) we have a selection, and:
       //  a) it&apos;s new; or
-      tagLines(selectStart, selectEnd);
+      tagLines(selectStart, selectEnd, true);
 
     } else if (blockSelectionMode() &amp;&amp; (oldSelectStart.col() != selectStart.col() || oldSelectEnd.col() != selectEnd.col())) {
       //  b) we&apos;re in block selection mode and the columns have changed
-      tagLines(selectStart, selectEnd);
-      tagLines(oldSelectStart, oldSelectEnd);
+      tagLines(selectStart, selectEnd, true);
+      tagLines(oldSelectStart, oldSelectEnd, true);
 
     } else {
       if (oldSelectStart != selectStart) {
         if (oldSelectStart &lt; selectStart)
-          tagLines(oldSelectStart, selectStart);
+          tagLines(oldSelectStart, selectStart, true);
         else
-          tagLines(selectStart, oldSelectStart);
+          tagLines(selectStart, oldSelectStart, true);
       }
 
       if (oldSelectEnd != selectEnd) {
         if (oldSelectEnd &lt; selectEnd)
-          tagLines(oldSelectEnd, selectEnd);
+          tagLines(oldSelectEnd, selectEnd, true);
         else
-          tagLines(selectEnd, oldSelectEnd);
+          tagLines(selectEnd, oldSelectEnd, true);
       }
     }
 
   } else {
     // No more selection, clean up
-    tagLines(oldSelectStart, oldSelectEnd);
+    tagLines(oldSelectStart, oldSelectEnd, true);
   }
 }
 
--- branches/KDE/3.5/kdelibs/kate/part/kateviewinternal.cpp #668606:668607
@@ -2231,11 +2231,11 @@
       // @@ Do this only when cursor near start/end.
       if( bmStart &gt; bmEnd )
       {
-        tagLines(bmEnd, bmStart, true);
+        tagLines(bmEnd, bmStart);
       }
       else
       {
-        tagLines(bmStart, bmEnd, true);
+        tagLines(bmStart, bmEnd);
       }
     }
     else
@@ -2258,11 +2258,11 @@
       // @@ Do this only when cursor near start/end.
       if( bmStart &gt; bmEnd )
       {
-        tagLines(bmEnd, bmStart, true);
+        tagLines(bmEnd, bmStart);
       }
       else
       {
-        tagLines(bmStart, bmEnd, true);
+        tagLines(bmStart, bmEnd);
       }
     }
     else
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528435</commentid>
    <comment_count>8</comment_count>
    <who name="Dominik Haumann">dhaumann</who>
    <bug_when>2007-05-28 04:03:54 +0000</bug_when>
    <thetext>*** Bug 137717 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>19111</attachid>
            <date>2007-01-05 15:39:13 +0000</date>
            <delta_ts>2007-01-05 15:39:13 +0000</delta_ts>
            <desc>Testcase with instructions</desc>
            <filename>folding_wierdness_test.c</filename>
            <type>text/x-csrc</type>
            <size>1807</size>
            <attacher name="Thomas Friedrichsmeier">thomas.friedrichsmeier</attacher>
            
              <data encoding="base64">LyogdGVzdCBjYXNlIHRvIHNob3cgd2llZGVybmVzcyByZWxhdGluZyB0byBjb2RlIGZvbGRpbmcK
Ckluc3RydWN0aW9uczoKMSkgQ29sbGFwc2UgdGhlIGZvbyAoKSBmdW5jdGlvbgoyKSBJbiB0aGUg
YmFyIGZ1bmN0aW9uIHNlbGVjdCB0aGUgY29tbWVudCByZWFkaW5nICJTRUxFQ1QgVEhJUyBDT01N
RU5UIiAobGluZXMgMzQtMzgpCiAgIGFuZCBmb2xsb3cgaW5zdHJ1Y3Rpb25zIGdpdmVuIHRoZXJl
LCBvYnNlcnZlIHRoZSBiZWhhdmlvcgozKSBOb3cgc2V0IHRoZSBjdXJzb3IgdG8gdGhlIGN1cmx5
IGJyYWNlIG9uIGxpbmUgMzUKCS0gbW9zdCBvZiB0aGUgdGltZSB0aGUgY29ycmVzcG9uZGluZyBi
cmFjZSBvbiBsaW5lIDQyIHdpbGwgbm90IGJlIG1hcmtlZCAoYnV0IHRoaXMgaXMgbm90CgkgIDEw
MCUgcmVwcm9kdWNpYmxlKQoJLSBpZiB0aGUgYnVnIGRvZXMgbm90IHNob3cgdXAsIHRyeSB1bmZv
bGRpbmcgYW5kIHJlZm9sZGluZyBmb28gKCksIHRoZW4gcGxhY2UgdGhlIGN1cnNvciBhZ2FpbgoJ
LSB0aGUgY3VybHkgYnJhY2UgcGFpciBvbiBsaW5lcyAzNCBhbmQgNDMgd2lsbCBnZXQgaGlnaGxp
Z2h0ZWQgY29ycmVjdGx5CjQpIFJlc2l6ZSB0aGUgd2luZG93IHNvIHlvdSBjYW4gc2Nyb2xsIHNv
bWUuIEZvbGxvdyBzdGVwIDIsIGFuZCBvciAzLgo1KSBTY3JvbGwgdXNpbmcgdGhlIHNjb2xsIHdo
ZWVsIG9mIHlvdXIgbW91c2UuIEludmFsaWQgc2VsZWN0aW9ucyBnbyBhd2F5LCBtYXJraW5nIHVw
IHRoZSBtYXRjaGluZyBjdXJseQogICBicmFjZSB3b3JrcyBhZ2FpbiwgdGVtcG9yYXJpbHkKNikg
UmVwZWF0IHN0ZXAgNCwgdGhlbiBzY3JvbGwgdXNpbmcgdGhlIHNjcm9sbCBiYXIuIFRoZSBidWdz
IHJlbWFpbiB2aXNpYmxlLgo3KSBVbmZvbGQgZXZlcnl0aGluZywgYW5kIHRyeSBzdGVwcyAyIGFu
ZCAzLiBFdmVyeXRoaW5nIHNob3VsZCBiZSBmaW5lIGFnYWluLCBub3cuCjgpIFNpbWlsYXJpbHks
IGlmIHlvdSBmb2xkIGZvb2JhciAoKSAoYW5kIG5vdGhpbmcgZWxzZSksIGkuZS4gdGhlIGZvbGRl
ZCByZWdpb24gaXMgYWZ0ZXIgdGhlIHJlZ2lvbgogICB5b3UncmUgd29ya2luZyB3aXRoLCBubyBw
cm9ibGVtcyBhcHBlYXIsIGVpdGhlci4KCk5vdGUgdGhhdCB0aGVzZSBidWdzIGFsc28gc2hvdyB1
cCBpbiBkaWZmZXJlbnQgZmlsZSB0eXBlcyAvIGhpZ2hsaWdodGluZyBtb2RlcwoqLwoKCnZvaWQg
Zm9vICgpIHsKCWlmIChzb21ldGhpbmcpIHsKCQlkb19zb21ldGhpbmcgKCk7Cgl9CgkvKiBtb3Jl
ICovCgkvKiBtb3JlICovCgkvKiBtb3JlICovCgkvKiBtb3JlICovCn0KCnZvaWQgYmFyICgpIHsK
CWlmIChzb21ldGhpbmcpIHsJCS8qIDwtIHBsYWNlIGN1cnNvciBvbiB0aGlzIGN1cmx5IGJyYWNl
ICovCgkJZG9fc29tZXRoaW5nICgpOwoJCWRvX3NvbWV0aGluZ19lbHNlICgpOwoJCS8qIFNFTEVD
VCBUSElTIENPTU1FTlQsCgkJdGhlbiBwbGFjZSBjdXJzb3Igc29tZXdoZXJlIGVsc2UgdG8gbWFr
ZSB0aGUgc2VsZWN0aW9uIGdvIGF3YXkKCQl0aGUgc2VsZWN0aW9uIHdpbGwgcmVtYWluIGhpZ2hs
aWdodGVkIHBhcnRpYWxseQoJCW1vdmluZyB0aGUgY3Vyc29yIHRvIGxpbmVzIHdyb25nbHkgbWFy
a2VkLCB3aWxsIG1ha2UgdGhlIHNlbGVjdGlvbiBtYXJrIGRpc2FwcGVhciBhZ2FpbiAqLwoJfQp9
Cgp2b2lkIGZvb2JhciAoKSB7CglpZiAoc29tZXRoaW5nKSB7CgkJZG9fc29tZXRoaW5nICgpOwoJ
fQoJLyogbW9yZSAqLwoJLyogbW9yZSAqLwoJLyogbW9yZSAqLwoJLyogbW9yZSAqLwp9CgovKiBt
b3JlICovCi8qIG1vcmUgKi8KLyogbW9yZSAqLwovKiBtb3JlICovCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>20694</attachid>
            <date>2007-05-25 10:52:48 +0000</date>
            <delta_ts>2007-05-25 10:52:48 +0000</delta_ts>
            <desc>This patch fixes both problems, incorrect brace-matching and not updating the selected lines.</desc>
            <filename>bug-139578.patch</filename>
            <type>text/plain</type>
            <size>2454</size>
            <attacher name="Ruud Koolen">redlizard</attacher>
            
              <data encoding="base64">SW5kZXg6IGthdGUvcGFydC9rYXRldmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0ga2F0ZS9wYXJ0L2th
dGV2aWV3LmNwcAkocmV2aXNpb24gNjY4MTQ5KQorKysga2F0ZS9wYXJ0L2thdGV2aWV3LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTUyMSwzMiArMTUyMSwzMiBAQAogICAgICAgLy8gV2UgaGF2ZSB0
byB0YWcgdGhlIHdob2xlIGxvdCBpZgogICAgICAgLy8gMSkgd2UgaGF2ZSBhIHNlbGVjdGlvbiwg
YW5kOgogICAgICAgLy8gIGEpIGl0J3MgbmV3OyBvcgotICAgICAgdGFnTGluZXMoc2VsZWN0U3Rh
cnQsIHNlbGVjdEVuZCk7CisgICAgICB0YWdMaW5lcyhzZWxlY3RTdGFydCwgc2VsZWN0RW5kLCB0
cnVlKTsKIAogICAgIH0gZWxzZSBpZiAoYmxvY2tTZWxlY3Rpb25Nb2RlKCkgJiYgKG9sZFNlbGVj
dFN0YXJ0LmNvbCgpICE9IHNlbGVjdFN0YXJ0LmNvbCgpIHx8IG9sZFNlbGVjdEVuZC5jb2woKSAh
PSBzZWxlY3RFbmQuY29sKCkpKSB7CiAgICAgICAvLyAgYikgd2UncmUgaW4gYmxvY2sgc2VsZWN0
aW9uIG1vZGUgYW5kIHRoZSBjb2x1bW5zIGhhdmUgY2hhbmdlZAotICAgICAgdGFnTGluZXMoc2Vs
ZWN0U3RhcnQsIHNlbGVjdEVuZCk7Ci0gICAgICB0YWdMaW5lcyhvbGRTZWxlY3RTdGFydCwgb2xk
U2VsZWN0RW5kKTsKKyAgICAgIHRhZ0xpbmVzKHNlbGVjdFN0YXJ0LCBzZWxlY3RFbmQsIHRydWUp
OworICAgICAgdGFnTGluZXMob2xkU2VsZWN0U3RhcnQsIG9sZFNlbGVjdEVuZCwgdHJ1ZSk7CiAK
ICAgICB9IGVsc2UgewogICAgICAgaWYgKG9sZFNlbGVjdFN0YXJ0ICE9IHNlbGVjdFN0YXJ0KSB7
CiAgICAgICAgIGlmIChvbGRTZWxlY3RTdGFydCA8IHNlbGVjdFN0YXJ0KQotICAgICAgICAgIHRh
Z0xpbmVzKG9sZFNlbGVjdFN0YXJ0LCBzZWxlY3RTdGFydCk7CisgICAgICAgICAgdGFnTGluZXMo
b2xkU2VsZWN0U3RhcnQsIHNlbGVjdFN0YXJ0LCB0cnVlKTsKICAgICAgICAgZWxzZQotICAgICAg
ICAgIHRhZ0xpbmVzKHNlbGVjdFN0YXJ0LCBvbGRTZWxlY3RTdGFydCk7CisgICAgICAgICAgdGFn
TGluZXMoc2VsZWN0U3RhcnQsIG9sZFNlbGVjdFN0YXJ0LCB0cnVlKTsKICAgICAgIH0KIAogICAg
ICAgaWYgKG9sZFNlbGVjdEVuZCAhPSBzZWxlY3RFbmQpIHsKICAgICAgICAgaWYgKG9sZFNlbGVj
dEVuZCA8IHNlbGVjdEVuZCkKLSAgICAgICAgICB0YWdMaW5lcyhvbGRTZWxlY3RFbmQsIHNlbGVj
dEVuZCk7CisgICAgICAgICAgdGFnTGluZXMob2xkU2VsZWN0RW5kLCBzZWxlY3RFbmQsIHRydWUp
OwogICAgICAgICBlbHNlCi0gICAgICAgICAgdGFnTGluZXMoc2VsZWN0RW5kLCBvbGRTZWxlY3RF
bmQpOworICAgICAgICAgIHRhZ0xpbmVzKHNlbGVjdEVuZCwgb2xkU2VsZWN0RW5kLCB0cnVlKTsK
ICAgICAgIH0KICAgICB9CiAKICAgfSBlbHNlIHsKICAgICAvLyBObyBtb3JlIHNlbGVjdGlvbiwg
Y2xlYW4gdXAKLSAgICB0YWdMaW5lcyhvbGRTZWxlY3RTdGFydCwgb2xkU2VsZWN0RW5kKTsKKyAg
ICB0YWdMaW5lcyhvbGRTZWxlY3RTdGFydCwgb2xkU2VsZWN0RW5kLCB0cnVlKTsKICAgfQogfQog
CkluZGV4OiBrYXRlL3BhcnQva2F0ZXZpZXdpbnRlcm5hbC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0ga2F0
ZS9wYXJ0L2thdGV2aWV3aW50ZXJuYWwuY3BwCShyZXZpc2lvbiA2NjgxNDkpCisrKyBrYXRlL3Bh
cnQva2F0ZXZpZXdpbnRlcm5hbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIyMzEsMTEgKzIyMzEs
MTEgQEAKICAgICAgIC8vIEBAIERvIHRoaXMgb25seSB3aGVuIGN1cnNvciBuZWFyIHN0YXJ0L2Vu
ZC4KICAgICAgIGlmKCBibVN0YXJ0ID4gYm1FbmQgKQogICAgICAgewotICAgICAgICB0YWdMaW5l
cyhibUVuZCwgYm1TdGFydCwgdHJ1ZSk7CisgICAgICAgIHRhZ0xpbmVzKGJtRW5kLCBibVN0YXJ0
KTsKICAgICAgIH0KICAgICAgIGVsc2UKICAgICAgIHsKLSAgICAgICAgdGFnTGluZXMoYm1TdGFy
dCwgYm1FbmQsIHRydWUpOworICAgICAgICB0YWdMaW5lcyhibVN0YXJ0LCBibUVuZCk7CiAgICAg
ICB9CiAgICAgfQogICAgIGVsc2UKQEAgLTIyNTgsMTEgKzIyNTgsMTEgQEAKICAgICAgIC8vIEBA
IERvIHRoaXMgb25seSB3aGVuIGN1cnNvciBuZWFyIHN0YXJ0L2VuZC4KICAgICAgIGlmKCBibVN0
YXJ0ID4gYm1FbmQgKQogICAgICAgewotICAgICAgICB0YWdMaW5lcyhibUVuZCwgYm1TdGFydCwg
dHJ1ZSk7CisgICAgICAgIHRhZ0xpbmVzKGJtRW5kLCBibVN0YXJ0KTsKICAgICAgIH0KICAgICAg
IGVsc2UKICAgICAgIHsKLSAgICAgICAgdGFnTGluZXMoYm1TdGFydCwgYm1FbmQsIHRydWUpOwor
ICAgICAgICB0YWdMaW5lcyhibVN0YXJ0LCBibUVuZCk7CiAgICAgICB9CiAgICAgfQogICAgIGVs
c2UK
</data>

          </attachment>
      

    </bug>

</bugzilla>