Issue #314 resolved

Substitute's case-replace is not disabled by settings or /I

edliaw
created an issue

Related: #140

Test commands:

:%s/ET/etree
:%s/ET/etree/I

Results: ET is substituted for ETREE (using the commands above), rather than etree (in default vim behavior)

The results are the same regardless of Evil Ex Search Case and Evil Ex Substitute Case settings (tested with both set to Case sensitive and both set to Smart case).

Comments (2)

  1. Frank Fischer repo owner

    Refactor substitute code (fix #314).

    The new functions evil-ex-make-search-pattern and evil-ex-make-substitute-pattern are responsible to create patterns w.r.t. to flags and global options. Ensure that all replacement functions respect case-replace and case-fold-search, both variables are set according to the pattern's case flags.

    → <<cset ff069984e9ba>>

  2. Frank Fischer repo owner

    Refactor substitute code (fix #314).

    The new functions evil-ex-make-search-pattern and evil-ex-make-substitute-pattern are responsible to create patterns w.r.t. to flags and global options. Ensure that all replacement functions respect case-replace and case-fold-search, both variables are set according to the pattern's case flags.

    → <<cset ff069984e9ba>>

  3. Log in to comment