forked from aniani/vim
patch 8.2.3017: Vim9: debugger shows too many lines
Problem: Vim9: debugger shows too many lines. Solution: Truncate at a comment, "enddef", etc. (closes #8392)
This commit is contained in:
parent
fae55a9cb0
commit
59b50c3bee
@ -958,6 +958,10 @@ func Test_debug_def_function()
|
||||
a: 1,
|
||||
b: 2,
|
||||
}
|
||||
# comment
|
||||
def Inner()
|
||||
eval 1
|
||||
enddef
|
||||
enddef
|
||||
END
|
||||
call writefile(file, 'Xtest.vim')
|
||||
@ -997,6 +1001,7 @@ func Test_debug_def_function()
|
||||
\ ':debug call FuncWithDict()',
|
||||
\ ['cmd: call FuncWithDict()'])
|
||||
call RunDbgCmd(buf, 'step', ['line 1: var d = { a: 1, b: 2, }'])
|
||||
call RunDbgCmd(buf, 'step', ['line 6: def Inner()'])
|
||||
|
||||
call RunDbgCmd(buf, 'cont')
|
||||
call StopVimInTerminal(buf)
|
||||
|
@ -750,6 +750,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
3017,
|
||||
/**/
|
||||
3016,
|
||||
/**/
|
||||
|
@ -1461,9 +1461,17 @@ handle_debug(isn_T *iptr, ectx_T *ectx)
|
||||
{
|
||||
ga_init2(&ga, sizeof(char_u *), 10);
|
||||
for (lnum = iptr->isn_lnum; lnum < end_lnum; ++lnum)
|
||||
{
|
||||
char_u *p = skipwhite(
|
||||
((char_u **)ufunc->uf_lines.ga_data)[lnum - 1]);
|
||||
|
||||
if (*p == '#')
|
||||
break;
|
||||
if (ga_grow(&ga, 1) == OK)
|
||||
((char_u **)(ga.ga_data))[ga.ga_len++] =
|
||||
skipwhite(((char_u **)ufunc->uf_lines.ga_data)[lnum - 1]);
|
||||
((char_u **)(ga.ga_data))[ga.ga_len++] = p;
|
||||
if (STRNCMP(p, "def ", 4) == 0)
|
||||
break;
|
||||
}
|
||||
line = ga_concat_strings(&ga, " ");
|
||||
vim_free(ga.ga_data);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user