comparison src/diff.c @ 20772:097f5b5c907b v8.2.0938

patch 8.2.0938: NFA regexp uses tolower ()to compare ignore-case Commit: https://github.com/vim/vim/commit/59de417b904bbd204e313f015839317b577bd124 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Jun 9 19:34:54 2020 +0200 patch 8.2.0938: NFA regexp uses tolower ()to compare ignore-case Problem: NFA regexp uses tolower() to compare ignore-case. (Thayne McCombs) Solution: Use utf_fold() when possible. (ref. neovim https://github.com/vim/vim/issues/12456)
author Bram Moolenaar <Bram@vim.org>
date Tue, 09 Jun 2020 19:45:03 +0200
parents d9a2e5dcfd9f
children e82579016863
comparison
equal deleted inserted replaced
20771:8aa004f7e48f 20772:097f5b5c907b
745 int orig_len; 745 int orig_len;
746 char_u cbuf[MB_MAXBYTES + 1]; 746 char_u cbuf[MB_MAXBYTES + 1];
747 747
748 // xdiff doesn't support ignoring case, fold-case the text. 748 // xdiff doesn't support ignoring case, fold-case the text.
749 c = PTR2CHAR(s); 749 c = PTR2CHAR(s);
750 c = enc_utf8 ? utf_fold(c) : MB_TOLOWER(c); 750 c = MB_CASEFOLD(c);
751 orig_len = mb_ptr2len(s); 751 orig_len = mb_ptr2len(s);
752 if (mb_char2bytes(c, cbuf) != orig_len) 752 if (mb_char2bytes(c, cbuf) != orig_len)
753 // TODO: handle byte length difference 753 // TODO: handle byte length difference
754 mch_memmove(ptr + len, s, orig_len); 754 mch_memmove(ptr + len, s, orig_len);
755 else 755 else