mirror of
https://github.com/vim/vim.git
synced 2025-09-24 03:44:06 -04:00
patch 8.2.1037: Vim9: crash when using line continuation inside :def
Problem: Vim9: crash when using line continuation inside :def. Solution: Check for no more lines available.
This commit is contained in:
@@ -837,5 +837,16 @@ def Test_sort_return_type()
|
|||||||
res = [1, 2, 3]->sort()
|
res = [1, 2, 3]->sort()
|
||||||
enddef
|
enddef
|
||||||
|
|
||||||
|
def Line_continuation_in_def(dir: string = ''): string
|
||||||
|
let path: string = empty(dir)
|
||||||
|
\ ? 'empty'
|
||||||
|
\ : 'full'
|
||||||
|
return path
|
||||||
|
enddef
|
||||||
|
|
||||||
|
def Test_line_continuation_in_def()
|
||||||
|
assert_equal('full', Line_continuation_in_def('.'))
|
||||||
|
enddef
|
||||||
|
|
||||||
|
|
||||||
" vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker
|
" vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker
|
||||||
|
@@ -754,6 +754,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 */
|
||||||
|
/**/
|
||||||
|
1037,
|
||||||
/**/
|
/**/
|
||||||
1036,
|
1036,
|
||||||
/**/
|
/**/
|
||||||
|
@@ -2402,8 +2402,11 @@ peek_next_line(cctx_T *cctx)
|
|||||||
while (++lnum < cctx->ctx_ufunc->uf_lines.ga_len)
|
while (++lnum < cctx->ctx_ufunc->uf_lines.ga_len)
|
||||||
{
|
{
|
||||||
char_u *line = ((char_u **)cctx->ctx_ufunc->uf_lines.ga_data)[lnum];
|
char_u *line = ((char_u **)cctx->ctx_ufunc->uf_lines.ga_data)[lnum];
|
||||||
char_u *p = skipwhite(line);
|
char_u *p;
|
||||||
|
|
||||||
|
if (line == NULL)
|
||||||
|
break;
|
||||||
|
p = skipwhite(line);
|
||||||
if (*p != NUL && !comment_start(p))
|
if (*p != NUL && !comment_start(p))
|
||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user