From f348c0ebba2ca277dd86f0f6f7f114cba8fe848c Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Fri, 4 Jul 2025 06:45:30 +0800 Subject: [PATCH] fix(incsearch): include compsing characters with Ctrl-L Cherry-picked from Vim patch 8.1.0579. --- src/nvim/ex_getln.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/nvim/ex_getln.c b/src/nvim/ex_getln.c index b55788c42d..47df6b2cfb 100644 --- a/src/nvim/ex_getln.c +++ b/src/nvim/ex_getln.c @@ -602,6 +602,16 @@ static int may_add_char_to_search(int firstc, int *c, incsearch_state_T *s) stuffcharReadbuff(*c); *c = '\\'; } + // add any composing characters + if (utf_char2len(*c) != utfc_ptr2len(get_cursor_pos_ptr())) { + const int save_c = *c; + while (utf_char2len(*c) != utfc_ptr2len(get_cursor_pos_ptr())) { + curwin->w_cursor.col += utf_char2len(*c); + *c = gchar_cursor(); + stuffcharReadbuff(*c); + } + *c = save_c; + } return FAIL; } }