<?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>307608</bug_id>
          
          <creation_ts>2012-09-30 10:52:27 +0000</creation_ts>
          <short_desc>kate&apos;s find and replace with confirmation broken with vi input mode</short_desc>
          <delta_ts>2012-10-20 14:22:41 +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>Vi Input Mode</component>
          <version>SVN</version>
          <rep_platform>unspecified</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>182508</dup_id>
          
          <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="Simon St James">kdedevel</reporter>
          <assigned_to name="KWrite Developers">kwrite-bugs-null</assigned_to>
          <cc>kdedevel</cc>
          
          <cf_commitlink></cf_commitlink>
          <cf_versionfixedin></cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>0</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1301666</commentid>
    <comment_count>0</comment_count>
    <who name="Simon St James">kdedevel</who>
    <bug_when>2012-09-30 10:52:27 +0000</bug_when>
    <thetext>In the latest git version of kate, using Replace instead of Replace all has no effect.

Reproducible: Always

Steps to Reproduce:
1. Create a kate file containing the text bacon scones. Switch to vi mode if not in it already
2. Open up the Replace dialog, and enter 

con

in the Find field, and 

blah

in the Replace field.
3. Press the Replace button repeatedly. 
Actual Results:  
The text remains unchanged: the cursor is positioned at the end of the matching &quot;con&quot; string, but does not select the string, nor replace it.

Expected Results:  
The text should read:

bablah sblahes

Pressing Next/ Previous does not select the matching portion of text, either, which is doubtless the reason why Replace does not work.

In non-vi input mode, the everything works correctly, so this is vi-input-specific.
Replace All does work as expected, even in vi input mode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301738</commentid>
    <comment_count>1</comment_count>
      <attachid>74246</attachid>
    <who name="Simon St James">kdedevel</who>
    <bug_when>2012-09-30 14:43:37 +0000</bug_when>
    <thetext>Created attachment 74246
Allow the search dialog to select matches in vimode when replacing

Ah - looks like this is deliberate, at least during ordinary searches. I think you can make a good case that during Search &amp; _Replace_, though, that the user would want found matches to be selected.  I&apos;ve attached a patch to allow this exception.

It&apos;s a bit uglier than you&apos;d expect, though, as KateSearchBar::selectRange was static (needed as is accessed externally by KateView via the static KateSearchBar::nextMatchForSelection) :/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1305430</commentid>
    <comment_count>2</comment_count>
    <who name="Simon St James">kdedevel</who>
    <bug_when>2012-10-13 09:33:33 +0000</bug_when>
    <thetext>Hmmm ... actually, I see that isPower() is true even if you just want to find (and not replace), so that patch is not ideal :/ 

Maybe it would be better if I implemented an (optional) vi Ex Mode for searching - then I could have a bit more control over house find/ replace works without treading on anyone&apos;s toes :) Plus, I could add some vim-isms like C-c exiting find mode; c-r allowing vim register contents to be incorporated into the search string; etc.  Perhaps I&apos;ll send a message to the mailing list :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307658</commentid>
    <comment_count>3</comment_count>
    <who name="Simon St James">kdedevel</who>
    <bug_when>2012-10-20 14:22:41 +0000</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 182508 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74246</attachid>
            <date>2012-09-30 14:43:37 +0000</date>
            <delta_ts>2012-09-30 14:43:37 +0000</delta_ts>
            <desc>Allow the search dialog to select matches in vimode when replacing</desc>
            <filename>kate-vimode-allow-selection-during-search-and-replace.patch</filename>
            <type>text/plain</type>
            <size>3301</size>
            <attacher name="Simon St James">kdedevel</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL3BhcnQvc2VhcmNoL2thdGVzZWFyY2hiYXIuY3BwIGIvcGFydC9zZWFyY2gv
a2F0ZXNlYXJjaGJhci5jcHAKaW5kZXggZGY2OGRiYi4uZWM3ZGVmYSAxMDA2NDQKLS0tIGEvcGFy
dC9zZWFyY2gva2F0ZXNlYXJjaGJhci5jcHAKKysrIGIvcGFydC9zZWFyY2gva2F0ZXNlYXJjaGJh
ci5jcHAKQEAgLTM0NywyMyArMzQ3LDI0IEBAIHZvaWQgS2F0ZVNlYXJjaEJhcjo6aW5kaWNhdGVN
YXRjaChNYXRjaFJlc3VsdCBtYXRjaFJlc3VsdCkgewogCiAKIAotLypzdGF0aWMqLyB2b2lkIEth
dGVTZWFyY2hCYXI6OnNlbGVjdFJhbmdlKEthdGVWaWV3ICogdmlldywgY29uc3QgS1RleHRFZGl0
b3I6OlJhbmdlICYgcmFuZ2UpIHsKLSAgICB2aWV3LT5zZXRDdXJzb3JQb3NpdGlvbkludGVybmFs
KHJhbmdlLmVuZCgpKTsKLQotICAgIC8vIGRvbid0IG1ha2UgYSBzZWxlY3Rpb24gaWYgdGhlIHZp
IGlucHV0IG1vZGUgaXMgdXNlZAotICAgIGlmICghdmlldy0+dmlJbnB1dE1vZGUoKSkKLSAgICAg
ICAgdmlldy0+c2V0U2VsZWN0aW9uKHJhbmdlKTsKK3ZvaWQgS2F0ZVNlYXJjaEJhcjo6c2VsZWN0
UmFuZ2UoS2F0ZVZpZXcgKiB2aWV3LCBjb25zdCBLVGV4dEVkaXRvcjo6UmFuZ2UgJiByYW5nZSkg
eworICAgIHNlbGVjdFJhbmdlU3RhdGljKHZpZXcsIHJhbmdlLCB0aGlzKTsKIH0KIAotCi0KIHZv
aWQgS2F0ZVNlYXJjaEJhcjo6c2VsZWN0UmFuZ2UyKGNvbnN0IEtUZXh0RWRpdG9yOjpSYW5nZSAm
IHJhbmdlKSB7CiAgICAgZGlzY29ubmVjdChtX3ZpZXcsIFNJR05BTChzZWxlY3Rpb25DaGFuZ2Vk
KEtUZXh0RWRpdG9yOjpWaWV3KikpLCB0aGlzLCBTTE9UKHVwZGF0ZVNlbGVjdGlvbk9ubHkoKSkp
OwogICAgIHNlbGVjdFJhbmdlKG1fdmlldywgcmFuZ2UpOwogICAgIGNvbm5lY3QobV92aWV3LCBT
SUdOQUwoc2VsZWN0aW9uQ2hhbmdlZChLVGV4dEVkaXRvcjo6VmlldyopKSwgdGhpcywgU0xPVCh1
cGRhdGVTZWxlY3Rpb25Pbmx5KCkpKTsKIH0KIAotCisvKnN0YXRpYyovIHZvaWQgS2F0ZVNlYXJj
aEJhcjo6c2VsZWN0UmFuZ2VTdGF0aWMoS2F0ZVZpZXcgKiB2aWV3LCBjb25zdCBLVGV4dEVkaXRv
cjo6UmFuZ2UgJiByYW5nZSwgS2F0ZVNlYXJjaEJhciAqc2VhcmNoQmFyKSB7CisgICAgdmlldy0+
c2V0Q3Vyc29yUG9zaXRpb25JbnRlcm5hbChyYW5nZS5lbmQoKSk7CisgICAgCisgICAgLy8gZG9u
J3QgbWFrZSBhIHNlbGVjdGlvbiBpZiB0aGUgdmkgaW5wdXQgbW9kZSBpcyB1c2VkLCB1bmxlc3Mg
d2UgYXJlIHVzaW5nIHRoZSBGaW5kLyBSZXBsYWNlCisgICAgLy8gZGlhbG9nLCBpbiB3aGljaCBj
YXNlIG1ha2luZyBhIHNlbGVjdGlvbiBpcyBuZWNlc3NhcnkgZm9yIFJlcGxhY2UgKG5vdGU6IG5v
dCAiUmVwbGFjZSBBbGwiKSB0byB3b3JrLgorICAgICBpZiAoIXZpZXctPnZpSW5wdXRNb2RlKCkg
fHwgKHNlYXJjaEJhciAmJiBzZWFyY2hCYXItPmlzUG93ZXIoKSkpCisgICAgICAgIHZpZXctPnNl
dFNlbGVjdGlvbihyYW5nZSk7Cit9CiAKIHZvaWQgS2F0ZVNlYXJjaEJhcjo6b25JbmNQYXR0ZXJu
Q2hhbmdlZChjb25zdCBRU3RyaW5nICYgcGF0dGVybikgewogICAgIGlmICghbV9pbmNVaSkKQEAg
LTExOTEsNyArMTE5Miw3IEBAIHZvaWQgS2F0ZVNlYXJjaEJhcjo6b25Qb3dlck1vZGVDaGFuZ2Vk
KGludCAvKmluZGV4Ki8pIHsKICAgICAgICAgbWF0Y2guc2VhcmNoVGV4dChpbnB1dFJhbmdlLCBw
YXR0ZXJuKTsKIAogICAgICAgICBpZiAobWF0Y2guaXNWYWxpZCgpKSB7Ci0gICAgICAgICAgICBz
ZWxlY3RSYW5nZSh2aWV3LCBtYXRjaC5yYW5nZSgpKTsKKyAgICAgICAgICAgIHNlbGVjdFJhbmdl
U3RhdGljKHZpZXcsIG1hdGNoLnJhbmdlKCkpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAg
ICAgLy8gRmluZCwgc2Vjb25kIHRyeQogICAgICAgICAgICAgaWYgKHNlYXJjaERpcmVjdGlvbiA9
PSBTZWFyY2hGb3J3YXJkKSB7CkBAIC0xMjAyLDcgKzEyMDMsNyBAQCB2b2lkIEthdGVTZWFyY2hC
YXI6Om9uUG93ZXJNb2RlQ2hhbmdlZChpbnQgLyppbmRleCovKSB7CiAgICAgICAgICAgICBLYXRl
TWF0Y2ggbWF0Y2gyKHZpZXctPmRvYygpLCBlbmFibGVkT3B0aW9ucyk7CiAgICAgICAgICAgICBt
YXRjaDIuc2VhcmNoVGV4dChpbnB1dFJhbmdlLCBwYXR0ZXJuKTsKICAgICAgICAgICAgIGlmICht
YXRjaDIuaXNWYWxpZCgpKSB7Ci0gICAgICAgICAgICAgICAgc2VsZWN0UmFuZ2UodmlldywgbWF0
Y2gyLnJhbmdlKCkpOworICAgICAgICAgICAgICAgIHNlbGVjdFJhbmdlU3RhdGljKHZpZXcsIG1h
dGNoMi5yYW5nZSgpKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0gZWxzZSB7CmRp
ZmYgLS1naXQgYS9wYXJ0L3NlYXJjaC9rYXRlc2VhcmNoYmFyLmggYi9wYXJ0L3NlYXJjaC9rYXRl
c2VhcmNoYmFyLmgKaW5kZXggZWYyNTAxNi4uMjY0ZTNkMCAxMDA2NDQKLS0tIGEvcGFydC9zZWFy
Y2gva2F0ZXNlYXJjaGJhci5oCisrKyBiL3BhcnQvc2VhcmNoL2thdGVzZWFyY2hiYXIuaApAQCAt
MTUzLDggKzE1MywxMCBAQCBwcml2YXRlOgogICAgIHZvaWQgaGlnaGxpZ2h0TWF0Y2goY29uc3Qg
S1RleHRFZGl0b3I6OlJhbmdlICYgcmFuZ2UpOwogICAgIHZvaWQgaGlnaGxpZ2h0UmVwbGFjZW1l
bnQoY29uc3QgS1RleHRFZGl0b3I6OlJhbmdlICYgcmFuZ2UpOwogICAgIHZvaWQgaW5kaWNhdGVN
YXRjaChNYXRjaFJlc3VsdCBtYXRjaFJlc3VsdCk7Ci0gICAgc3RhdGljIHZvaWQgc2VsZWN0UmFu
Z2UoS2F0ZVZpZXcgKiB2aWV3LCBjb25zdCBLVGV4dEVkaXRvcjo6UmFuZ2UgJiByYW5nZSk7Cisg
ICAgdm9pZCBzZWxlY3RSYW5nZShLYXRlVmlldyAqIHZpZXcsIGNvbnN0IEtUZXh0RWRpdG9yOjpS
YW5nZSAmIHJhbmdlKTsKICAgICB2b2lkIHNlbGVjdFJhbmdlMihjb25zdCBLVGV4dEVkaXRvcjo6
UmFuZ2UgJiByYW5nZSk7CisgICAgLy8gRm9yIHVzZSBieSBlLmcuIG5leHRNYXRjaEZvclNlbGVj
dGlvbiwgd2hpY2ggZG9lcyBub3QgbmVjZXNzYXJpbHkgaGF2ZSBhY2Nlc3MgdG8gYSBLYXRlU2Vh
cmNoQmFyIGluc3RhbmNlLgorICAgIHN0YXRpYyB2b2lkIHNlbGVjdFJhbmdlU3RhdGljKEthdGVW
aWV3ICogdmlldywgY29uc3QgS1RleHRFZGl0b3I6OlJhbmdlICYgcmFuZ2UsIEthdGVTZWFyY2hC
YXIgKnNlYXJjaEJhciA9IDApOwogCiAgICAgUVZlY3RvcjxRU3RyaW5nPiBnZXRDYXB0dXJlUGF0
dGVybnMoY29uc3QgUVN0cmluZyAmIHBhdHRlcm4pIGNvbnN0OwogICAgIHZvaWQgc2hvd0V4dGVu
ZGVkQ29udGV4dE1lbnUoYm9vbCBmb3JQYXR0ZXJuLCBjb25zdCBRUG9pbnQmIHBvcyk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>