0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

patch 8.2.1392: Vim9: line number incorrect after skipping over comment lines

Problem:    Vim9: error line number incorrect after skipping over comment
            lines.
Solution:   Insert empty lines for skipped lines.
This commit is contained in:
Bram Moolenaar
2020-08-08 14:26:31 +02:00
parent fa211f3c6d
commit bf8feb5aeb
3 changed files with 55 additions and 0 deletions

View File

@@ -2961,6 +2961,18 @@ def_function(exarg_T *eap, char_u *name_arg)
// Save the starting line number.
sourcing_lnum_top = SOURCING_LNUM;
// Detect having skipped over comment lines to find the return
// type. Add NULL lines to keep the line count correct.
sourcing_lnum_off = get_sourced_lnum(eap->getline, eap->cookie);
if (SOURCING_LNUM < sourcing_lnum_off)
{
sourcing_lnum_off -= SOURCING_LNUM;
if (ga_grow(&newlines, sourcing_lnum_off) == FAIL)
goto erret;
while (sourcing_lnum_off-- > 0)
((char_u **)(newlines.ga_data))[newlines.ga_len++] = NULL;
}
indent = 2;
nesting = 0;
nesting_def[nesting] = (eap->cmdidx == CMD_def);