1
0
forked from aniani/vim

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:
Bram Moolenaar
2020-06-22 19:39:03 +02:00
parent 373c65104e
commit acd4c5e914
3 changed files with 17 additions and 1 deletions

View File

@@ -837,5 +837,16 @@ def Test_sort_return_type()
res = [1, 2, 3]->sort()
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

View File

@@ -754,6 +754,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1037,
/**/
1036,
/**/

View File

@@ -2402,8 +2402,11 @@ peek_next_line(cctx_T *cctx)
while (++lnum < cctx->ctx_ufunc->uf_lines.ga_len)
{
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))
return p;
}