vim-patch:9.1.0984: exception handling can be improved

Problem:  exception handling can be improved
Solution: add v:stacktrace and getstacktrace()

closes: vim/vim#16360

663d18d610

Co-authored-by: ichizok <gclient.gaap@gmail.com>
Co-authored-by: Naruhiko Nishino <naru123456789@gmail.com>
This commit is contained in:
zeertzjq
2025-01-03 20:12:15 +08:00
parent 06ff5480ce
commit d5308637bf
15 changed files with 294 additions and 9 deletions

View File

@ -3770,6 +3770,20 @@ function vim.fn.getregtype(regname) end
--- @return vim.fn.getscriptinfo.ret[]
function vim.fn.getscriptinfo(opts) end
--- Returns the current stack trace of Vim scripts.
--- Stack trace is a |List|, of which each item is a |Dictionary|
--- with the following items:
--- funcref The funcref if the stack is at the function,
--- otherwise this item is not exist.
--- event The string of the event description if the
--- stack is at autocmd event, otherwise this item
--- is not exist.
--- lnum The line number of the script on the stack.
--- filepath The file path of the script on the stack.
---
--- @return table[]
function vim.fn.getstacktrace() end
--- If {tabnr} is not specified, then information about all the
--- tab pages is returned as a |List|. Each List item is a
--- |Dictionary|. Otherwise, {tabnr} specifies the tab page