vim-patch:8.2.3116: Vim9: crash when debugging a function with line continuation

Problem:    Vim9: crash when debugging a function with line continuation.
Solution:   Check for a NULL pointer. (closes vim/vim#8521)

303215d60c

Co-authored-by: Bram Moolenaar <Bram@vim.org>
This commit is contained in:
zeertzjq 2023-11-13 06:49:23 +08:00
parent 310d0f15c0
commit b313109a25

View File

@ -1050,6 +1050,7 @@ func Test_debug_def_function()
eval 1 eval 1
enddef enddef
enddef enddef
def g:FuncComment() def g:FuncComment()
# comment # comment
echo "first" echo "first"
@ -1057,6 +1058,7 @@ func Test_debug_def_function()
# comment # comment
echo "second" echo "second"
enddef enddef
def g:FuncForLoop() def g:FuncForLoop()
eval 1 eval 1
for i in [11, 22, 33] for i in [11, 22, 33]
@ -1064,6 +1066,11 @@ func Test_debug_def_function()
endfor endfor
echo "done" echo "done"
enddef enddef
def g:FuncWithSplitLine()
eval 1
| eval 2
enddef
END END
call writefile(file, 'Xtest.vim') call writefile(file, 'Xtest.vim')
@ -1119,6 +1126,12 @@ func Test_debug_def_function()
call RunDbgCmd(buf, 'next', ['function FuncForLoop', 'line 2: for i in [11, 22, 33]']) call RunDbgCmd(buf, 'next', ['function FuncForLoop', 'line 2: for i in [11, 22, 33]'])
call RunDbgCmd(buf, 'echo i', ['22']) call RunDbgCmd(buf, 'echo i', ['22'])
call RunDbgCmd(buf, 'breakdel *')
call RunDbgCmd(buf, 'cont')
call RunDbgCmd(buf, ':breakadd func FuncWithSplitLine')
call RunDbgCmd(buf, ':call FuncWithSplitLine()', ['function FuncWithSplitLine', 'line 1: eval 1 | eval 2'])
call RunDbgCmd(buf, 'cont') call RunDbgCmd(buf, 'cont')
call StopVimInTerminal(buf) call StopVimInTerminal(buf)
call delete('Xtest.vim') call delete('Xtest.vim')