0
0
mirror of https://github.com/vim/vim.git synced 2025-07-26 11:04:33 -04:00

patch 8.2.3185: Vim9: start of inline function found in comment line

Problem:    Vim9: start of inline function found in comment line.
Solution:   Do not check for inline function in comment line. (closes #8589)
This commit is contained in:
Bram Moolenaar 2021-07-19 21:04:23 +02:00
parent 6106504e9e
commit ac2cd2b08f
3 changed files with 24 additions and 15 deletions

View File

@ -2075,6 +2075,10 @@ def Test_expr7_lambda_block()
}) })
assert_equal(['no', 'yes', 'no'], dll) assert_equal(['no', 'yes', 'no'], dll)
# ignored_inline(0, (_) => {
# echo 'body'
# })
sandbox var Safe = (nr: number): number => { sandbox var Safe = (nr: number): number => {
return nr + 7 return nr + 7
} }

View File

@ -866,26 +866,29 @@ get_function_body(
} }
} }
// Check for nested inline function. if (nesting_def[nesting] ? *p != '#' : *p != '"')
end = p + STRLEN(p) - 1;
while (end > p && VIM_ISWHITE(*end))
--end;
if (end > p && *end == '{')
{ {
--end; // Not a comment line: check for nested inline function.
end = p + STRLEN(p) - 1;
while (end > p && VIM_ISWHITE(*end)) while (end > p && VIM_ISWHITE(*end))
--end; --end;
if (end > p + 2 && end[-1] == '=' && end[0] == '>') if (end > p && *end == '{')
{ {
// found trailing "=> {", start of an inline function --end;
if (nesting == MAX_FUNC_NESTING - 1) while (end > p && VIM_ISWHITE(*end))
emsg(_(e_function_nesting_too_deep)); --end;
else if (end > p + 2 && end[-1] == '=' && end[0] == '>')
{ {
++nesting; // found trailing "=> {", start of an inline function
nesting_def[nesting] = TRUE; if (nesting == MAX_FUNC_NESTING - 1)
nesting_inline[nesting] = TRUE; emsg(_(e_function_nesting_too_deep));
indent += 2; else
{
++nesting;
nesting_def[nesting] = TRUE;
nesting_inline[nesting] = TRUE;
indent += 2;
}
} }
} }
} }

View File

@ -755,6 +755,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 */
/**/
3185,
/**/ /**/
3184, 3184,
/**/ /**/