changeset 17807:b38fa4d37b7c v8.1.1900

patch 8.1.1900: sign test fails in the GUI Commit: https://github.com/vim/vim/commit/d933c82ff4e2c910bd533ed9a50377699c3f5ec9 Author: Bram Moolenaar <Bram@vim.org> Date: Wed Aug 21 13:45:16 2019 +0200 patch 8.1.1900: sign test fails in the GUI Problem: Sign test fails in the GUI. Solution: Catch and ignore the exception.
author Bram Moolenaar <Bram@vim.org>
date Wed, 21 Aug 2019 14:00:04 +0200
parents 4f0f9cfc8100
children 42561b61bfd8
files src/testdir/test_signs.vim src/version.c
diffstat 2 files changed, 26 insertions(+), 21 deletions(-) [+]
line wrap: on
line diff
--- a/src/testdir/test_signs.vim
+++ b/src/testdir/test_signs.vim
@@ -14,14 +14,8 @@ func Test_sign()
   " icon is ignored when not supported.  "(not supported)" is shown after
   " the icon name when listing signs.
   sign define Sign1 text=x
-  try
-    sign define Sign2 text=xy texthl=Title linehl=Error
-		\ icon=../../pixmaps/stock_vim_find_help.png
-  catch /E255:/
-    " Ignore error: E255: Couldn't read in sign data!
-    " This error can happen when running in the GUI.
-    " Some gui like Motif do not support the png icon format.
-  endtry
+
+  call Sign_command_ignore_error('sign define Sign2 text=xy texthl=Title linehl=Error icon=../../pixmaps/stock_vim_find_help.png')
 
   " Test listing signs.
   let a=execute('sign list')
@@ -103,12 +97,7 @@ func Test_sign()
   edit foo
   call setline(1, ['A', 'B', 'C', 'D'])
 
-  try
-    sign define Sign3 text=y texthl=DoesNotExist linehl=DoesNotExist
-		\ icon=doesnotexist.xpm
-  catch /E255:/
-    " ignore error: E255: it can happens for guis.
-  endtry
+  call Sign_command_ignore_error('sign define Sign3 text=y texthl=DoesNotExist linehl=DoesNotExist icon=doesnotexist.xpm')
 
   let fn = expand('%:p')
   exe 'sign place 43 line=2 name=Sign3 file=' . fn
@@ -377,6 +366,25 @@ func Test_sign_delete_buffer()
   sign undefine Sign
 endfunc
 
+" Ignore error: E255: Couldn't read in sign data!
+" This error can happen when running in the GUI.
+" Some gui like Motif do not support the png icon format.
+func Sign_command_ignore_error(cmd)
+  try
+    exe a:cmd
+  catch /E255:/
+  endtry
+endfunc
+
+" ignore error: E255: Couldn't read in sign data!
+" This error can happen when running in gui.
+func Sign_define_ignore_error(name, attr)
+  try
+    call sign_define(a:name, a:attr)
+  catch /E255:/
+  endtry
+endfunc
+
 " Test for Vim script functions for managing signs
 func Test_sign_funcs()
   " Remove all the signs
@@ -393,12 +401,7 @@ func Test_sign_funcs()
   call sign_define("sign2")
   let attr = {'text' : '!!', 'linehl' : 'DiffAdd', 'texthl' : 'DiffChange',
 	      \ 'icon' : 'sign2.ico'}
-  try
-    call sign_define("sign2", attr)
-  catch /E255:/
-    " ignore error: E255: Couldn't read in sign data!
-    " This error can happen when running in gui.
-  endtry
+  call Sign_define_ignore_error("sign2", attr)
   call assert_equal([{'name' : 'sign2', 'texthl' : 'DiffChange',
 	      \ 'linehl' : 'DiffAdd', 'text' : '!!', 'icon' : 'sign2.ico'}],
 	      \ sign_getdefined("sign2"))
@@ -518,7 +521,7 @@ func Test_sign_funcs()
   call assert_fails('call sign_undefine({})', 'E731:')
 
   " Test for using '.' as the line number for sign_place()
-  call sign_define("sign1", attr)
+  call Sign_define_ignore_error("sign1", attr)
   call cursor(22, 1)
   call assert_equal(15, sign_place(15, '', 'sign1', 'Xsign',
 	      \ {'lnum' : '.'}))
--- a/src/version.c
+++ b/src/version.c
@@ -766,6 +766,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1900,
+/**/
     1899,
 /**/
     1898,