From 67056529281efabb41050b9840ce5649a7e6e7a3 Mon Sep 17 00:00:00 2001 From: rover Date: Sun, 1 Jan 2017 21:14:50 +0800 Subject: 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 --- src/nvim/mbyte.c | 4 ++++ src/nvim/version.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'src') 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 -- cgit From 13e2e2207354d940921dd5a95e322715b74c06a4 Mon Sep 17 00:00:00 2001 From: rover Date: Sun, 1 Jan 2017 21:30:32 +0800 Subject: vim-patch:7.4.2028 Problem: cppcheck warns for using index before limits check. Solution: Swap the expressions. (Dominique Pelle) https://github.com/vim/vim/commit/5498a41f5a62c3877fee0185adf3bf7245a9a547 --- src/nvim/mbyte.c | 9 +++++---- src/nvim/version.c | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/nvim/mbyte.c b/src/nvim/mbyte.c index e8b1131767..ec4969d4f6 100644 --- a/src/nvim/mbyte.c +++ b/src/nvim/mbyte.c @@ -2109,13 +2109,14 @@ char_u * enc_locale(void) } else s = p + 1; } - for (i = 0; s[i] != NUL && i < (int)sizeof(buf) - 1; ++i) { - if (s[i] == '_' || s[i] == '-') + for (i = 0; i < (int)sizeof(buf) - 1 && s[i] != NUL; i++) { + if (s[i] == '_' || s[i] == '-') { buf[i] = '-'; - else if (isalnum((int)s[i])) + } else if (isalnum((int)s[i])) { buf[i] = TOLOWER_ASC(s[i]); - else + } else { break; + } } buf[i] = NUL; diff --git a/src/nvim/version.c b/src/nvim/version.c index 9ad40cddd2..8497d213e7 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -412,7 +412,7 @@ static int included_patches[] = { // 2031, // 2030 NA // 2029, - // 2028, + 2028, // 2027 NA // 2026 NA // 2025 NA -- cgit