From 1c67f3a9779b99bed7aacb3108abbb649445d3ed Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Thu, 30 Dec 2021 13:32:09 +0000 Subject: [PATCH] patch 8.2.3946: when an internal error makes Vim exit the error is not seen Problem: When an internal error makes Vim exit the error is not seen. Solution: Add the error to the test output. --- src/message.c | 5 ++++- src/testdir/runtest.vim | 1 + src/version.c | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/message.c b/src/message.c index 7e98d0b994..8768065bb6 100644 --- a/src/message.c +++ b/src/message.c @@ -824,10 +824,13 @@ semsg(const char *s, ...) iemsg(char *s) { if (!emsg_not_now()) + { emsg_core((char_u *)s); #ifdef ABORT_ON_INTERNAL_ERROR - abort(); + set_vim_var_string(VV_ERRMSG, (char_u *)s, -1); + abort(); #endif + } } #ifndef PROTO // manual proto with __attribute__ diff --git a/src/testdir/runtest.vim b/src/testdir/runtest.vim index 912bc20345..d4c42f332e 100644 --- a/src/testdir/runtest.vim +++ b/src/testdir/runtest.vim @@ -304,6 +304,7 @@ endfunc func EarlyExit(test) " It's OK for the test we use to test the quit detection. if a:test != 'Test_zz_quit_detected()' + call add(v:errors, v:errmsg) call add(v:errors, 'Test caused Vim to exit: ' . a:test) endif diff --git a/src/version.c b/src/version.c index a04c91cbd4..25e40bf4c7 100644 --- a/src/version.c +++ b/src/version.c @@ -749,6 +749,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 3946, /**/ 3945, /**/