aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/search.c
diff options
context:
space:
mode:
authorShougo <Shougo.Matsu@gmail.com>2017-06-19 08:13:32 +0900
committerJustin M. Keyes <justinkz@gmail.com>2017-06-19 01:13:32 +0200
commit694eb18e03a6a73321aafc19aa2f28104bdf3b8b (patch)
treeefa225da5994010f0e9a74801cb295fdc5581931 /src/nvim/search.c
parent3a86dd54f3875d158d059dd08a1513b6957d6216 (diff)
downloadrneovim-694eb18e03a6a73321aafc19aa2f28104bdf3b8b.tar.gz
rneovim-694eb18e03a6a73321aafc19aa2f28104bdf3b8b.tar.bz2
rneovim-694eb18e03a6a73321aafc19aa2f28104bdf3b8b.zip
vim-patch:7.4.2356 (#6880)
Problem: Reading past end of line when using previous substitute pattern. (Dominique Pelle) Solution: Don't set "pat" only set "searchstr". https://github.com/vim/vim/commit/ea683da58cf9ecf3afab9d650d3d2da76e5298d3
Diffstat (limited to 'src/nvim/search.c')
-rw-r--r--src/nvim/search.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/nvim/search.c b/src/nvim/search.c
index 61ef2e9ba3..1bf2317d2a 100644
--- a/src/nvim/search.c
+++ b/src/nvim/search.c
@@ -1005,14 +1005,13 @@ int do_search(
dircp = NULL;
/* use previous pattern */
if (pat == NULL || *pat == NUL || *pat == dirc) {
- if (spats[RE_SEARCH].pat == NULL) { /* no previous pattern */
- pat = spats[RE_SUBST].pat;
- if (pat == NULL) {
+ if (spats[RE_SEARCH].pat == NULL) { // no previous pattern
+ searchstr = spats[RE_SUBST].pat;
+ if (searchstr == NULL) {
EMSG(_(e_noprevre));
retval = 0;
goto end_do_search;
}
- searchstr = pat;
} else {
/* make search_regcomp() use spats[RE_SEARCH].pat */
searchstr = (char_u *)"";