mirror of
https://github.com/vim/vim.git
synced 2025-10-04 05:25:06 -04:00
patch 8.2.3625: illegal memory access when C-indenting
Problem: Illegal memory access when C-indenting. Solution: Also set the cursor column.
This commit is contained in:
@@ -1637,10 +1637,10 @@ get_baseclass_amount(int col)
|
||||
static pos_T *
|
||||
find_start_brace(void) // XXX
|
||||
{
|
||||
pos_T cursor_save;
|
||||
pos_T *trypos;
|
||||
pos_T *pos;
|
||||
static pos_T pos_copy;
|
||||
pos_T cursor_save;
|
||||
pos_T *trypos;
|
||||
pos_T *pos;
|
||||
static pos_T pos_copy;
|
||||
|
||||
cursor_save = curwin->w_cursor;
|
||||
while ((trypos = findmatchlimit(NULL, '{', FM_BLOCKSTOP, 0)) != NULL)
|
||||
@@ -1654,7 +1654,7 @@ find_start_brace(void) // XXX
|
||||
&& (pos = ind_find_start_CORS(NULL)) == NULL) // XXX
|
||||
break;
|
||||
if (pos != NULL)
|
||||
curwin->w_cursor.lnum = pos->lnum;
|
||||
curwin->w_cursor = *pos;
|
||||
}
|
||||
curwin->w_cursor = cursor_save;
|
||||
return trypos;
|
||||
|
@@ -5314,4 +5314,16 @@ func Test_backslash_at_end_of_line()
|
||||
bwipe!
|
||||
endfunc
|
||||
|
||||
func Test_find_brace_backwards()
|
||||
" this was looking beyond the end of the line
|
||||
new
|
||||
norm R/*
|
||||
norm o0{
|
||||
norm o//
|
||||
norm V{=
|
||||
call assert_equal(['/*', ' 0{', '//'], getline(1, 3))
|
||||
bwipe!
|
||||
endfunc
|
||||
|
||||
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
@@ -757,6 +757,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
3625,
|
||||
/**/
|
||||
3624,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user