Problem: When an internal error makes Vim exit the error is not seen.
Solution: Add the error to the test output.
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__
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
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 3946,
/**/
3945,
/**/