summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2021-12-30 13:32:09 +0000
committerBram Moolenaar <Bram@vim.org>2021-12-30 13:32:09 +0000
commit1c67f3a9779b99bed7aacb3108abbb649445d3ed (patch)
treeb3a7f8af98a36076107aed71a4385b645e10d6d6
parent13789bf10338a0d049c78acfdc0870fc63e63f4f (diff)
patch 8.2.3946: when an internal error makes Vim exit the error is not seenv8.2.3946
Problem: When an internal error makes Vim exit the error is not seen. Solution: Add the error to the test output.
-rw-r--r--src/message.c5
-rw-r--r--src/testdir/runtest.vim1
-rw-r--r--src/version.c2
3 files changed, 7 insertions, 1 deletions
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
@@ -750,6 +750,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 3946,
+/**/
3945,
/**/
3944,