diff --git a/src/testdir/test_balloon.vim b/src/testdir/test_balloon.vim
index 37fc57e..abf7d69 100644
--- a/src/testdir/test_balloon.vim
+++ b/src/testdir/test_balloon.vim
@@ -9,7 +9,7 @@
 
 source screendump.vim
 if !CanRunVimInTerminal()
-  throw 'Skipped: cannot run Vim in a terminal window'
+  throw 'Skipped: cannot make screendumps'
 endif
 
 let s:common_script =<< [CODE]
diff --git a/src/testdir/test_breakindent.vim b/src/testdir/test_breakindent.vim
index ae05479..1dd5aa6 100644
--- a/src/testdir/test_breakindent.vim
+++ b/src/testdir/test_breakindent.vim
@@ -5,7 +5,7 @@
 " It helps to change the tabstop setting and force a redraw (e.g. see
 " Test_breakindent08())
 if !exists('+breakindent')
-  finish
+  throw 'Skipped: breakindent option not supported'
 endif
 
 source view_util.vim
diff --git a/src/testdir/test_cdo.vim b/src/testdir/test_cdo.vim
index 988de1d..aa2e4f1 100644
--- a/src/testdir/test_cdo.vim
+++ b/src/testdir/test_cdo.vim
@@ -1,7 +1,7 @@
 " Tests for the :cdo, :cfdo, :ldo and :lfdo commands
 
 if !has('quickfix')
-  finish
+  throw 'Skipped: quickfix feature missing'
 endif
 
 " Create the files used by the tests
diff --git a/src/testdir/test_channel.vim b/src/testdir/test_channel.vim
index 2f2b559..982a045 100644
--- a/src/testdir/test_channel.vim
+++ b/src/testdir/test_channel.vim
@@ -1,7 +1,7 @@
 " Test for channel functions.
 
 if !has('channel')
-  finish
+  throw 'Skipped: channel feature missing'
 endif
 
 source shared.vim
@@ -9,7 +9,7 @@
 let s:python = PythonProg()
 if s:python == ''
   " Can't run this test without Python.
-  finish
+  throw 'Skipped: Python command missing'
 endif
 
 " Uncomment the next line to see what happens. Output is in
diff --git a/src/testdir/test_clientserver.vim b/src/testdir/test_clientserver.vim
index 5c01ac4..3377f86 100644
--- a/src/testdir/test_clientserver.vim
+++ b/src/testdir/test_clientserver.vim
@@ -1,7 +1,7 @@
 " Tests for the +clientserver feature.
 
 if !has('job') || !has('clientserver')
-  finish
+  throw 'Skipped: job and/or clientserver feature missing'
 endif
 
 source shared.vim
diff --git a/src/testdir/test_conceal.vim b/src/testdir/test_conceal.vim
index 66384e1..f114651 100644
--- a/src/testdir/test_conceal.vim
+++ b/src/testdir/test_conceal.vim
@@ -2,12 +2,12 @@
 " Also see test88.in (should be converted to a test function here).
 
 if !has('conceal')
-  finish
+  throw 'Skipped: conceal feature missing'
 endif
 
 source screendump.vim
 if !CanRunVimInTerminal()
-  finish
+  throw 'Skipped: cannot make screendumps'
 endif
 
 func Test_conceal_two_windows()
diff --git a/src/testdir/test_debugger.vim b/src/testdir/test_debugger.vim
index 4c3d672..4528b2b 100644
--- a/src/testdir/test_debugger.vim
+++ b/src/testdir/test_debugger.vim
@@ -22,7 +22,7 @@
 " Debugger tests
 func Test_Debugger()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot run Vim in a terminal window'
   endif
 
   " Create a Vim script with some functions
diff --git a/src/testdir/test_diffmode.vim b/src/testdir/test_diffmode.vim
index 81913c8..e5a3f2f 100644
--- a/src/testdir/test_diffmode.vim
+++ b/src/testdir/test_diffmode.vim
@@ -748,7 +748,7 @@
 
 func Test_diff_screen()
   if !CanRunVimInTerminal() || !has('menu')
-    return
+    throw 'Skipped: cannot make screendumps and/or menu feature missing'
   endif
   " clean up already existing swap files, just in case
   call delete('.Xfile1.swp')
@@ -880,7 +880,7 @@
 
 func Test_diff_with_cursorline()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot run Vim in a terminal window'
   endif
 
   call writefile([
@@ -907,7 +907,7 @@
 
 func Test_diff_of_diff()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot run Vim in a terminal window'
   endif
 
   call writefile([
diff --git a/src/testdir/test_fold.vim b/src/testdir/test_fold.vim
index 9ad8218..ed87007 100644
--- a/src/testdir/test_fold.vim
+++ b/src/testdir/test_fold.vim
@@ -708,7 +708,7 @@
 
 func Test_folds_with_rnu()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot make screendumps'
   endif
 
   call writefile([
diff --git a/src/testdir/test_highlight.vim b/src/testdir/test_highlight.vim
index 4548457..78dbead 100644
--- a/src/testdir/test_highlight.vim
+++ b/src/testdir/test_highlight.vim
@@ -533,7 +533,7 @@
 
 func Test_cursorline_after_yank()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot make screendumps'
   endif
 
   call writefile([
@@ -555,7 +555,7 @@
 
 func Test_cursorline_with_visualmode()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot make screendumps'
   endif
 
   call writefile([
@@ -575,7 +575,7 @@
 
 func Test_wincolor()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot make screendumps'
   endif
 
   call writefile([
diff --git a/src/testdir/test_popup.vim b/src/testdir/test_popup.vim
index 538dd22..edb0399 100644
--- a/src/testdir/test_popup.vim
+++ b/src/testdir/test_popup.vim
@@ -735,7 +735,7 @@
 
 func Test_popup_and_previewwindow_dump()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot make screendumps'
   endif
   call writefile([
     \ 'set previewheight=9',
@@ -797,7 +797,7 @@
 
 func Test_popup_position()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot make screendumps'
   endif
   call writefile([
 	\ '123456789_123456789_123456789_a',
@@ -839,7 +839,7 @@
 
 func Test_popup_command()
   if !CanRunVimInTerminal() || !has('menu')
-    return
+    throw 'Skipped: cannot make screendumps and/or menu feature missing'
   endif
 
   call writefile([
diff --git a/src/testdir/test_popupwin.vim b/src/testdir/test_popupwin.vim
index 50165ec..46a5d6d 100644
--- a/src/testdir/test_popupwin.vim
+++ b/src/testdir/test_popupwin.vim
@@ -1,14 +1,14 @@
 " Tests for popup windows
 
 if !has('textprop')
-  finish
+  throw 'Skipped: textprop feature missing'
 endif
 
 source screendump.vim
 
 func Test_simple_popup()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot make screendumps'
   endif
   call writefile([
 	\ "call setline(1, range(1, 100))",
@@ -58,7 +58,7 @@
 
 func Test_popup_with_border_and_padding()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot make screendumps'
   endif
 
   for iter in range(0, 1)
@@ -128,7 +128,7 @@
 
 func Test_popup_with_syntax_win_execute()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot make screendumps'
   endif
   call writefile([
 	\ "call setline(1, range(1, 100))",
@@ -152,7 +152,7 @@
 
 func Test_popup_with_syntax_setbufvar()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot make screendumps'
   endif
   let lines =<< trim END
 	call setline(1, range(1, 100))
@@ -177,7 +177,7 @@
 
 func Test_popup_all_corners()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot make screendumps'
   endif
   let lines =<< trim END
 	call setline(1, repeat([repeat('-', 60)], 15))
@@ -340,7 +340,7 @@
 
 func Test_popup_with_wrap()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot make screendumps'
   endif
   let lines =<< trim END
 	 call setline(1, range(1, 100))
@@ -359,7 +359,7 @@
 
 func Test_popup_without_wrap()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot make screendumps'
   endif
   let lines =<< trim END
 	 call setline(1, range(1, 100))
@@ -760,7 +760,7 @@
 
 func Test_popup_never_behind()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot make screendumps'
   endif
   " +-----------------------------+
   " |             |               |
diff --git a/src/testdir/test_search.vim b/src/testdir/test_search.vim
index 8090dee..2765c8c 100644
--- a/src/testdir/test_search.vim
+++ b/src/testdir/test_search.vim
@@ -799,7 +799,7 @@
 
 func Test_incsearch_scrolling()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot make screendumps'
   endif
   call assert_equal(0, &scrolloff)
   call writefile([
@@ -832,7 +832,7 @@
     return
   endif
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot make screendumps'
   endif
   call writefile([
 	\ 'set incsearch hlsearch scrolloff=0',
@@ -887,7 +887,7 @@
     return
   endif
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot make screendumps'
   endif
   call writefile([
 	\ 'set incsearch hlsearch scrolloff=0',
@@ -983,7 +983,7 @@
 
 func Test_incsearch_with_change()
   if !has('timers') || !exists('+incsearch') || !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot make screendumps and/or timers feature and/or incsearch option missing'
   endif
 
   call writefile([
@@ -1011,7 +1011,7 @@
     return
   endif
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot make screendumps'
   endif
   call writefile([
 	\ 'set incsearch hlsearch scrolloff=0',
@@ -1037,7 +1037,7 @@
     return
   endif
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot make screendumps'
   endif
   call writefile([
 	\ 'set incsearch hlsearch scrolloff=0',
diff --git a/src/testdir/test_startup.vim b/src/testdir/test_startup.vim
index 0ce8c81..41bb12f 100644
--- a/src/testdir/test_startup.vim
+++ b/src/testdir/test_startup.vim
@@ -659,7 +659,7 @@
 
 func Test_start_with_tabs()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot make screendumps'
   endif
 
   let buf = RunVimInTerminal('-p a b c', {})
diff --git a/src/testdir/test_startup_utf8.vim b/src/testdir/test_startup_utf8.vim
index 8b3eca1..1b3d218 100644
--- a/src/testdir/test_startup_utf8.vim
+++ b/src/testdir/test_startup_utf8.vim
@@ -63,7 +63,7 @@
 
 func Test_detect_ambiwidth()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot run Vim in a terminal window'
   endif
 
   " Use the title termcap entries to output the escape sequence.
diff --git a/src/testdir/test_syntax.vim b/src/testdir/test_syntax.vim
index 143f97a..bdcef51 100644
--- a/src/testdir/test_syntax.vim
+++ b/src/testdir/test_syntax.vim
@@ -536,7 +536,7 @@
 " Check highlighting for a small piece of C code with a screen dump.
 func Test_syntax_c()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot make screendumps'
   endif
   call writefile([
 	\ '/* comment line at the top */',
diff --git a/src/testdir/test_tabpage.vim b/src/testdir/test_tabpage.vim
index 60a5f3d..e222067 100644
--- a/src/testdir/test_tabpage.vim
+++ b/src/testdir/test_tabpage.vim
@@ -555,7 +555,7 @@
 
 func Test_tabpage_cmdheight()
   if !CanRunVimInTerminal()
-    throw 'Skipped: only works with terminal'
+    throw 'Skipped: cannot make screendumps'
   endif
   call writefile([
         \ 'set laststatus=2',
diff --git a/src/testdir/test_termencoding.vim b/src/testdir/test_termencoding.vim
index f4f5c5a..49fb9d8 100644
--- a/src/testdir/test_termencoding.vim
+++ b/src/testdir/test_termencoding.vim
@@ -3,12 +3,12 @@
 
 " This only works with "iconv".
 if !has('iconv')
-  finish
+  throw 'Skipped: iconv feature missing'
 endif
 
 source screendump.vim
 if !CanRunVimInTerminal()
-  finish
+  throw 'Skipped: cannot make screendumps'
 endif
 
 " This Vim is running with 'encoding' "utf-8", the Vim in the terminal is
diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim
index 9d6fddd..5fab975 100644
--- a/src/testdir/test_terminal.vim
+++ b/src/testdir/test_terminal.vim
@@ -1037,7 +1037,7 @@
 " argument, check that :confirm qall works.
 func Test_terminal_qall_prompt()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot run Vim in a terminal window'
   endif
   let buf = RunVimInTerminal('', {})
 
@@ -1098,7 +1098,7 @@
 
 func Test_terminal_dumpwrite_composing()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot run Vim in a terminal window'
   endif
   let save_enc = &encoding
   set encoding=utf-8
@@ -1224,7 +1224,7 @@
 
 func Test_terminal_api_drop_newwin()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot run Vim in a terminal window'
   endif
   let buf = Api_drop_common('')
   call assert_equal(0, &bin)
@@ -1237,7 +1237,7 @@
 
 func Test_terminal_api_drop_newwin_bin()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot run Vim in a terminal window'
   endif
   let buf = Api_drop_common(',{"bin":1}')
   call assert_equal(1, &bin)
@@ -1249,7 +1249,7 @@
 
 func Test_terminal_api_drop_newwin_binary()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot run Vim in a terminal window'
   endif
   let buf = Api_drop_common(',{"binary":1}')
   call assert_equal(1, &bin)
@@ -1261,7 +1261,7 @@
 
 func Test_terminal_api_drop_newwin_nobin()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot run Vim in a terminal window'
   endif
   set binary
   let buf = Api_drop_common(',{"nobin":1}')
@@ -1275,7 +1275,7 @@
 
 func Test_terminal_api_drop_newwin_nobinary()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot run Vim in a terminal window'
   endif
   set binary
   let buf = Api_drop_common(',{"nobinary":1}')
@@ -1289,7 +1289,7 @@
 
 func Test_terminal_api_drop_newwin_ff()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot run Vim in a terminal window'
   endif
   let buf = Api_drop_common(',{"ff":"dos"}')
   call assert_equal("dos", &ff)
@@ -1301,7 +1301,7 @@
 
 func Test_terminal_api_drop_newwin_fileformat()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot run Vim in a terminal window'
   endif
   let buf = Api_drop_common(',{"fileformat":"dos"}')
   call assert_equal("dos", &ff)
@@ -1313,7 +1313,7 @@
 
 func Test_terminal_api_drop_newwin_enc()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot run Vim in a terminal window'
   endif
   let buf = Api_drop_common(',{"enc":"utf-16"}')
   call assert_equal("utf-16", &fenc)
@@ -1325,7 +1325,7 @@
 
 func Test_terminal_api_drop_newwin_encoding()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot run Vim in a terminal window'
   endif
   let buf = Api_drop_common(',{"encoding":"utf-16"}')
   call assert_equal("utf-16", &fenc)
@@ -1337,7 +1337,7 @@
 
 func Test_terminal_api_drop_oldwin()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot run Vim in a terminal window'
   endif
   let firstwinid = win_getid()
   split Xtextfile
@@ -1380,7 +1380,7 @@
 
 func Test_terminal_api_call()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot run Vim in a terminal window'
   endif
 
   call WriteApiCall('Tapi_TryThis')
@@ -1397,7 +1397,7 @@
 
 func Test_terminal_api_call_fails()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot run Vim in a terminal window'
   endif
 
   call WriteApiCall('TryThis')
@@ -1423,7 +1423,7 @@
 
 func Test_terminal_api_call_fail_delete()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot run Vim in a terminal window'
   endif
 
   call WriteApiCall('Tapi_Delete')
@@ -1507,7 +1507,7 @@
 
 func Test_terminal_all_ansi_colors()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot run Vim in a terminal window'
   endif
 
   " Use all the ANSI colors.
@@ -1564,7 +1564,7 @@
 
 func Test_terminal_termwinsize_option_fixed()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot run Vim in a terminal window'
   endif
   set termwinsize=6x40
   let text = []
@@ -2030,7 +2030,7 @@
 
 func Test_terminal_getwinpos()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot run Vim in a terminal window'
   endif
 
   " split, go to the bottom-right window
diff --git a/src/testdir/test_textprop.vim b/src/testdir/test_textprop.vim
index cb86186..bfd39d5 100644
--- a/src/testdir/test_textprop.vim
+++ b/src/testdir/test_textprop.vim
@@ -655,7 +655,7 @@
 func Test_textprop_screenshot_various()
   " The Vim running in the terminal needs to use utf-8.
   if !CanRunVimInTerminal() || g:orig_encoding != 'utf-8'
-    return
+    throw 'Skipped: cannot make screendumps or not using utf-8'
   endif
   call writefile([
 	\ "call setline(1, ["
@@ -750,7 +750,7 @@
 " screenshot test with Visual block mode operations
 func Test_textprop_screenshot_visual()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot make screendumps'
   endif
 
   " Delete two columns while text props are three chars wide.
diff --git a/src/testdir/test_timers.vim b/src/testdir/test_timers.vim
index e900b1f..963cc23 100644
--- a/src/testdir/test_timers.vim
+++ b/src/testdir/test_timers.vim
@@ -281,7 +281,7 @@
 
 func Test_restore_count()
   if !CanRunVimInTerminal()
-    return
+    throw 'Skipped: cannot run Vim in a terminal window'
   endif
   " Check that v:count is saved and restored, not changed by a timer.
   call writefile([
diff --git a/src/version.c b/src/version.c
index 2687eb9..c8a3cf6 100644
--- a/src/version.c
+++ b/src/version.c
@@ -768,6 +768,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1483,
+/**/
     1482,
 /**/
     1481,
