neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit ce66f158b55287924b33451b272de847ab75b332
parent 307efe4906de9f0b7d8611ea36bddb85493c1447
Author: erw7 <erw7.github@gmail.com>
Date:   Sat,  5 Nov 2022 19:40:02 +0900

feat(api): show more exception info

Diffstat:
Msrc/nvim/api/private/helpers.c | 13++++++++++++-
Mtest/functional/autocmd/termxx_spec.lua | 2+-
2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/src/nvim/api/private/helpers.c b/src/nvim/api/private/helpers.c @@ -150,7 +150,18 @@ bool try_end(Error *err) xfree(msg); } } else if (did_throw) { - api_set_error(err, kErrorTypeException, "%s", current_exception->value); + if (*current_exception->throw_name != NUL) { + if (current_exception->throw_lnum != 0) { + api_set_error(err, kErrorTypeException, "%s, line %" PRIdLINENR ": %s", + current_exception->throw_name, current_exception->throw_lnum, + current_exception->value); + } else { + api_set_error(err, kErrorTypeException, "%s: %s", + current_exception->throw_name, current_exception->value); + } + } else { + api_set_error(err, kErrorTypeException, "%s", current_exception->value); + } discard_current_exception(); } diff --git a/test/functional/autocmd/termxx_spec.lua b/test/functional/autocmd/termxx_spec.lua @@ -24,7 +24,7 @@ describe('autocmd TermClose', function() local function test_termclose_delete_own_buf() command('autocmd TermClose * bdelete!') command('terminal') - matches('^Vim%(bdelete%):E937: Attempt to delete a buffer that is in use: term://', + matches('^TermClose Autocommands for "%*": Vim%(bdelete%):E937: Attempt to delete a buffer that is in use: term://', pcall_err(command, 'bdelete!')) assert_alive() end