patch 8.0.0762: ml_get error with :psearch in buffer without a name
Problem: ml_get error with :psearch in buffer without a name. (Dominique
Pelle)
Solution: Use the buffer number instead of the file name. Check the cursor
position.
diff --git a/src/Makefile b/src/Makefile
index dcb9203..e522c78 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -2216,6 +2216,7 @@
test_perl \
test_plus_arg_edit \
test_popup \
+ test_preview \
test_profile \
test_put \
test_python2 \
diff --git a/src/search.c b/src/search.c
index ac11927..79cd50a 100644
--- a/src/search.c
+++ b/src/search.c
@@ -5425,7 +5425,7 @@
if (g_do_tagpreview != 0)
{
if (!GETFILE_SUCCESS(getfile(
- 0, curwin_save->w_buffer->b_fname,
+ curwin_save->w_buffer->b_fnum, NULL,
NULL, TRUE, lnum, FALSE)))
break; /* failed to jump to file */
}
@@ -5433,6 +5433,7 @@
#endif
setpcmark();
curwin->w_cursor.lnum = lnum;
+ check_cursor();
}
else
{
diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak
index 36279d8..1f8d307 100644
--- a/src/testdir/Make_all.mak
+++ b/src/testdir/Make_all.mak
@@ -175,6 +175,7 @@
test_packadd.res \
test_paste.res \
test_perl.res \
+ test_preview.res \
test_profile.res \
test_python2.res \
test_python3.res \
diff --git a/src/testdir/test_preview.vim b/src/testdir/test_preview.vim
new file mode 100644
index 0000000..91923fb
--- /dev/null
+++ b/src/testdir/test_preview.vim
@@ -0,0 +1,13 @@
+" Tests for the preview window
+
+func Test_Psearch()
+ " this used to cause ml_get errors
+ help
+ let wincount = winnr('$')
+ 0f
+ ps.
+ call assert_equal(wincount + 1, winnr('$'))
+ pclose
+ call assert_equal(wincount, winnr('$'))
+ bwipe
+endfunc
diff --git a/src/version.c b/src/version.c
index 2d8079c..c344072 100644
--- a/src/version.c
+++ b/src/version.c
@@ -770,6 +770,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 762,
+/**/
761,
/**/
760,