mirror of
https://github.com/vim/vim.git
synced 2025-09-28 04:24:06 -04:00
patch 8.0.0483: illegal memory access when using :all
Problem: Illegal memory access when using :all. (Dominique Pelle) Solution: Adjust the cursor position right after setting "curwin".
This commit is contained in:
@@ -67,4 +67,16 @@ function Test_window_cmd_wincmd_gf()
|
||||
augroup! test_window_cmd_wincmd_gf
|
||||
endfunc
|
||||
|
||||
func Test_next_split_all()
|
||||
" This was causing an illegal memory access.
|
||||
n x
|
||||
norm axxx
|
||||
split
|
||||
split
|
||||
s/x
|
||||
s/x
|
||||
all
|
||||
bwipe!
|
||||
endfunc
|
||||
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
@@ -764,6 +764,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
483,
|
||||
/**/
|
||||
482,
|
||||
/**/
|
||||
|
@@ -2450,6 +2450,10 @@ win_close(win_T *win, int free_buf)
|
||||
#endif
|
||||
curbuf = curwin->w_buffer;
|
||||
close_curwin = TRUE;
|
||||
|
||||
/* The cursor position may be invalid if the buffer changed after last
|
||||
* using the window. */
|
||||
check_cursor();
|
||||
}
|
||||
if (p_ea && (*p_ead == 'b' || *p_ead == dir))
|
||||
win_equal(curwin, TRUE, dir);
|
||||
|
Reference in New Issue
Block a user