diff options
author | erw7 <erw7.github@gmail.com> | 2019-05-27 19:05:11 +0900 |
---|---|---|
committer | erw7 <erw7.github@gmail.com> | 2019-06-04 09:53:55 +0900 |
commit | 485972dd64317e6a09ce7694cf0f903fb6d13cbd (patch) | |
tree | 6817fab9149d8969ad3eebda7727f29c5b8dcaf9 /src/nvim/edit.c | |
parent | 16b1e8f9c070ad853c6c63b43591e297bf512662 (diff) | |
download | rneovim-485972dd64317e6a09ce7694cf0f903fb6d13cbd.tar.gz rneovim-485972dd64317e6a09ce7694cf0f903fb6d13cbd.tar.bz2 rneovim-485972dd64317e6a09ce7694cf0f903fb6d13cbd.zip |
vim-patch:8.1.0629: "gn" selects the wrong text with a multi-line match
Problem: "gn" selects the wrong text with a multi-line match.
Solution: Get the end position from searchit() directly. (closes vim/vim#3695)
https://github.com/vim/vim/commit/5d24a2257e597fd752e33b2c1e9c19cf9114a517
Diffstat (limited to 'src/nvim/edit.c')
-rw-r--r-- | src/nvim/edit.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/nvim/edit.c b/src/nvim/edit.c index 5ac95b64e7..9af003f140 100644 --- a/src/nvim/edit.c +++ b/src/nvim/edit.c @@ -4045,13 +4045,15 @@ static int ins_compl_get_exp(pos_T *ini) if (CTRL_X_MODE_LINE_OR_EVAL(l_ctrl_x_mode) || (compl_cont_status & CONT_SOL)) { found_new_match = search_for_exact_line(ins_buf, pos, - compl_direction, compl_pattern); - } else - found_new_match = searchit(NULL, ins_buf, pos, + compl_direction, + compl_pattern); + } else { + found_new_match = searchit(NULL, ins_buf, pos, NULL, compl_direction, compl_pattern, 1L, SEARCH_KEEP + SEARCH_NFMSG, RE_LAST, (linenr_T)0, NULL, NULL); + } msg_silent--; if (!compl_started || set_match_pos) { /* set "compl_started" even on fail */ |