aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/edit.c
diff options
context:
space:
mode:
authorerw7 <erw7.github@gmail.com>2019-05-27 19:05:11 +0900
committererw7 <erw7.github@gmail.com>2019-06-04 09:53:55 +0900
commit485972dd64317e6a09ce7694cf0f903fb6d13cbd (patch)
tree6817fab9149d8969ad3eebda7727f29c5b8dcaf9 /src/nvim/edit.c
parent16b1e8f9c070ad853c6c63b43591e297bf512662 (diff)
downloadrneovim-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.c8
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 */