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 *
|
static pos_T *
|
||||||
find_start_brace(void) // XXX
|
find_start_brace(void) // XXX
|
||||||
{
|
{
|
||||||
pos_T cursor_save;
|
pos_T cursor_save;
|
||||||
pos_T *trypos;
|
pos_T *trypos;
|
||||||
pos_T *pos;
|
pos_T *pos;
|
||||||
static pos_T pos_copy;
|
static pos_T pos_copy;
|
||||||
|
|
||||||
cursor_save = curwin->w_cursor;
|
cursor_save = curwin->w_cursor;
|
||||||
while ((trypos = findmatchlimit(NULL, '{', FM_BLOCKSTOP, 0)) != NULL)
|
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
|
&& (pos = ind_find_start_CORS(NULL)) == NULL) // XXX
|
||||||
break;
|
break;
|
||||||
if (pos != NULL)
|
if (pos != NULL)
|
||||||
curwin->w_cursor.lnum = pos->lnum;
|
curwin->w_cursor = *pos;
|
||||||
}
|
}
|
||||||
curwin->w_cursor = cursor_save;
|
curwin->w_cursor = cursor_save;
|
||||||
return trypos;
|
return trypos;
|
||||||
|
@@ -5314,4 +5314,16 @@ func Test_backslash_at_end_of_line()
|
|||||||
bwipe!
|
bwipe!
|
||||||
endfunc
|
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
|
" vim: shiftwidth=2 sts=2 expandtab
|
||||||
|
@@ -757,6 +757,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
3625,
|
||||||
/**/
|
/**/
|
||||||
3624,
|
3624,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user