aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval.lua
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2026-08-24 09:27:46 +0800
committerGitHub <noreply@github.com>2026-08-24 09:27:46 +0800
commit70958dae75efc797fe85b29df11fb2ea2ebf9401 (patch)
tree9fe671ebd2ee69ce4a77945b348e11f99f52cab9 /src/nvim/eval.lua
parent126398c090c9389e7709d25af1728884066d8f0c (diff)
downloadrneovim-70958dae75efc797fe85b29df11fb2ea2ebf9401.tar.gz
rneovim-70958dae75efc797fe85b29df11fb2ea2ebf9401.tar.bz2
rneovim-70958dae75efc797fe85b29df11fb2ea2ebf9401.zip
vim-patch:9.2.0996: debugger: crash when evaluating a variable in a :def function frame (#41460)
Problem: In the debugger ">up" and ">frame" select an older function call frame, but get_funccal_local_ht() and the related functions check current_funccal while returning a dictionary of the frame that get_funccal() selected. A :def function keeps its local variables on the vim9 stack, its funccall_T has no l: and a: dictionaries and is allocated cleared, so with such a frame selected the returned hashtab has a NULL ht_array and evaluating any variable name at the debug prompt crashes in hash_lookup(). Solution: Check the funccal that is actually used and return NULL when it has no l: variables, so that the variable is reported as undefined instead. closes: vim/vim#21111 https://github.com/vim/vim/commit/5ad47b07af72950624904a9ec0bc9f2d4ebc77a6 Co-authored-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'src/nvim/eval.lua')
0 files changed, 0 insertions, 0 deletions