# HG changeset patch # User Christian Brabandt # Date 1500840904 -7200 # Node ID 5e36b2f825cbaa0ab0541c41b7f7de7ab845d918 # Parent 911272da0c201acfa67a89c1d442e9d35a2a51ef patch 8.0.0762: ml_get error with :psearch in buffer without a name commit https://github.com/vim/vim/commit/c31f9ae4f1976544522313b182957793063ee02c Author: Bram Moolenaar Date: Sun Jul 23 22:02:02 2017 +0200 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 --- a/src/Makefile +++ b/src/Makefile @@ -2216,6 +2216,7 @@ test_arglist \ 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 --- a/src/search.c +++ b/src/search.c @@ -5425,7 +5425,7 @@ search_line: 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 @@ search_line: #endif setpcmark(); curwin->w_cursor.lnum = lnum; + check_cursor(); } else { diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak --- a/src/testdir/Make_all.mak +++ b/src/testdir/Make_all.mak @@ -175,6 +175,7 @@ NEW_TESTS = test_arabic.res \ 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 --- /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 --- a/src/version.c +++ b/src/version.c @@ -770,6 +770,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 762, +/**/ 761, /**/ 760,