patch 9.1.0255: Vim9: no indication of script nr in stack trace of classes Commit: https://github.com/vim/vim/commit/16cdfa69e07190674a8e85a48144a467472ca2f4 Author: Ernie Rael <err...@raelity.com> Date: Tue Apr 2 19:05:39 2024 +0200
patch 9.1.0255: Vim9: no indication of script nr in stack trace of classes Problem: Vim9: no indication of script nr in stack trace of classes Solution: Prefix the class name with the script name in the stack trace. (Ernie Rael) fixes: #14376 closes: #14390 Signed-off-by: Ernie Rael <err...@raelity.com> Signed-off-by: Christian Brabandt <c...@256bit.org> diff --git a/src/scriptfile.c b/src/scriptfile.c index 6dc55579a..109e13e5c 100644 --- a/src/scriptfile.c +++ b/src/scriptfile.c @@ -215,6 +215,9 @@ estack_sfile(estack_arg_T which UNUSED) if (*class_name != NUL) { // For class methods prepend "<class name>." to the function name. + ga_concat(&ga, (char_u *)"<SNR>"); + ga.ga_len += vim_snprintf((char *)ga.ga_data + ga.ga_len, 23, + "%d_", entry->es_info.ufunc->uf_script_ctx.sc_sid); ga_concat(&ga, class_name); ga_append(&ga, '.'); } diff --git a/src/testdir/test_vim9_class.vim b/src/testdir/test_vim9_class.vim index 0bc363930..cf900f763 100644 --- a/src/testdir/test_vim9_class.vim +++ b/src/testdir/test_vim9_class.vim @@ -3741,7 +3741,7 @@ def Test_stack_expansion_with_methods() endclass def F0() - assert_match('<SNR>\d\+_F\[1\]\.\.C\.M1\[1\]\.\.<SNR>\d\+_F0\[1\]$', expand('<stack>')) + assert_match('<SNR>\d\+_F\[1\]\.\.<SNR>\d\+_C\.M1\[1\]\.\.<SNR>\d\+_F0\[1\]$', expand('<stack>')) enddef def F() diff --git a/src/version.c b/src/version.c index abb028b6d..22a1e31a5 100644 --- a/src/version.c +++ b/src/version.c @@ -704,6 +704,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 255, /**/ 254, /**/ -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/vim_dev/E1rrhiy-004FWY-2C%40256bit.org.