diff options
author | Aufar Gilbran <aufargilbran@gmail.com> | 2020-08-31 23:58:10 +0800 |
---|---|---|
committer | Aufar Gilbran <aufargilbran@gmail.com> | 2020-09-11 10:37:52 +0800 |
commit | 466ff35dfd72418458d9c629310cc52bb5428df2 (patch) | |
tree | 08aea2f4bb87bb4669fbe6a96c1e2c9d9821bd4f /src/nvim/ex_getln.c | |
parent | f7d2e37e36dafd3a45d343c771d2ff53f6a4b875 (diff) | |
download | rneovim-466ff35dfd72418458d9c629310cc52bb5428df2.tar.gz rneovim-466ff35dfd72418458d9c629310cc52bb5428df2.tar.bz2 rneovim-466ff35dfd72418458d9c629310cc52bb5428df2.zip |
vim-patch:8.1.0552: saved last search pattern may not be restored
Problem: Saved last search pattern may not be restored.
Solution: Call restore_last_search_pattern(). Add a check for balancing
saving and restoring the last search pattern.
https://github.com/vim/vim/commit/01a060da74b756b161e595b39a7877cb7612120a
Diffstat (limited to 'src/nvim/ex_getln.c')
-rw-r--r-- | src/nvim/ex_getln.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/nvim/ex_getln.c b/src/nvim/ex_getln.c index 6ef8a9b5bf..c966c780a0 100644 --- a/src/nvim/ex_getln.c +++ b/src/nvim/ex_getln.c @@ -423,6 +423,7 @@ static void may_do_incsearch_highlighting(int firstc, long count, char_u use_last_pat; // Parsing range may already set the last search pattern. + // NOTE: must call restore_last_search_pattern() before returning! save_last_search_pattern(); if (!do_incsearch_highlighting(firstc, s, &skiplen, &patlen)) { @@ -566,6 +567,7 @@ static int may_add_char_to_search(int firstc, int *c, incsearch_state_T *s) int skiplen, patlen; // Parsing range may already set the last search pattern. + // NOTE: must call restore_last_search_pattern() before returning! save_last_search_pattern(); // Add a character from under the cursor for 'incsearch' @@ -573,6 +575,7 @@ static int may_add_char_to_search(int firstc, int *c, incsearch_state_T *s) restore_last_search_pattern(); return FAIL; } + restore_last_search_pattern(); if (s->did_incsearch) { curwin->w_cursor = s->match_end; @@ -1445,6 +1448,7 @@ static int may_do_command_line_next_incsearch(int firstc, long count, int skiplen, patlen; // Parsing range may already set the last search pattern. + // NOTE: must call restore_last_search_pattern() before returning! save_last_search_pattern(); if (!do_incsearch_highlighting(firstc, s, &skiplen, &patlen)) { |