aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorrover <pathfinder2013@126.com>2017-01-01 21:14:50 +0800
committerrover <pathfinder2013@126.com>2017-01-01 21:15:50 +0800
commit67056529281efabb41050b9840ce5649a7e6e7a3 (patch)
treeca3490b301f47a5ff6d9e634f66ed52be7a0ce01 /src
parent61d4ca214fef227aeb69ff02c2eb39f7a9e1e89e (diff)
downloadrneovim-67056529281efabb41050b9840ce5649a7e6e7a3.tar.gz
rneovim-67056529281efabb41050b9840ce5649a7e6e7a3.tar.bz2
rneovim-67056529281efabb41050b9840ce5649a7e6e7a3.zip
vim-patch:7.4.2019
Problem: When ignoring case utf_fold() may consume a lot of time. Solution: Optimize for ASCII. https://github.com/vim/vim/commit/c4a927ca8dc383190d5df2cacd3f966698b6190c
Diffstat (limited to 'src')
-rw-r--r--src/nvim/mbyte.c4
-rw-r--r--src/nvim/version.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/src/nvim/mbyte.c b/src/nvim/mbyte.c
index 2ecd86974e..e8b1131767 100644
--- a/src/nvim/mbyte.c
+++ b/src/nvim/mbyte.c
@@ -1315,6 +1315,10 @@ static int utf_convert(int a, const convertStruct *const table, size_t n_items)
*/
int utf_fold(int a)
{
+ if (a < 0x80) {
+ // be fast for ASCII
+ return a >= 0x41 && a <= 0x5a ? a + 32 : a;
+ }
return utf_convert(a, foldCase, ARRAY_SIZE(foldCase));
}
diff --git a/src/nvim/version.c b/src/nvim/version.c
index be17b6775a..9ad40cddd2 100644
--- a/src/nvim/version.c
+++ b/src/nvim/version.c
@@ -421,7 +421,7 @@ static int included_patches[] = {
// 2022,
// 2021,
// 2020 NA
- // 2019,
+ 2019,
// 2018,
// 2017,
// 2016 NA