To: vim_dev@googlegroups.com Subject: Patch 8.2.3489 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.2.3489 Problem: ml_get error after search with range. Solution: Limit the line number to the buffer line count. Files: src/ex_docmd.c, src/testdir/test_search.vim *** ../vim-8.2.3488/src/ex_docmd.c 2021-10-04 22:17:32.778131139 +0100 --- src/ex_docmd.c 2021-10-09 13:52:44.288910589 +0100 *************** *** 4229,4236 **** // When '/' or '?' follows another address, start from // there. ! if (lnum != MAXLNUM) ! curwin->w_cursor.lnum = lnum; // Start a forward search at the end of the line (unless // before the first line). --- 4229,4238 ---- // When '/' or '?' follows another address, start from // there. ! if (lnum > 0 && lnum != MAXLNUM) ! curwin->w_cursor.lnum = ! lnum > curbuf->b_ml.ml_line_count ! ? curbuf->b_ml.ml_line_count : lnum; // Start a forward search at the end of the line (unless // before the first line). *** ../vim-8.2.3488/src/testdir/test_search.vim 2021-10-04 20:09:16.238548053 +0100 --- src/testdir/test_search.vim 2021-10-09 13:46:11.823460466 +0100 *************** *** 1989,1993 **** --- 1989,2007 ---- call feedkeys("??\", 'xt') endfunc + func Test_search_with_invalid_range() + new + let lines =<< trim END + /\%.v + 5/ + c + END + call writefile(lines, 'Xrangesearch') + source Xrangesearch + + bwipe! + call delete('Xrangesearch') + endfunc + " vim: shiftwidth=2 sts=2 expandtab *** ../vim-8.2.3488/src/version.c 2021-10-09 12:49:02.712420769 +0100 --- src/version.c 2021-10-09 13:47:40.852694633 +0100 *************** *** 759,760 **** --- 759,762 ---- { /* Add new patch number below this line */ + /**/ + 3489, /**/ -- I have a watch cat! Just break in and she'll watch. /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// \\\ \\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///