Patch 8.1.1900
Problem:    Sign test fails in the GUI.
Solution:   Catch and ignore the exception.
Files:      src/testdir/test_signs.vim


*** ../vim-8.1.1899/src/testdir/test_signs.vim  2019-08-21 13:20:26.270838217 
+0200
--- src/testdir/test_signs.vim  2019-08-21 13:44:53.344149847 +0200
***************
*** 14,27 ****
    " 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
  
    " Test listing signs.
    let a=execute('sign list')
--- 14,21 ----
    " icon is ignored when not supported.  "(not supported)" is shown after
    " the icon name when listing signs.
    sign define Sign1 text=x
! 
!   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,114 ****
    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
  
    let fn = expand('%:p')
    exe 'sign place 43 line=2 name=Sign3 file=' . fn
--- 97,103 ----
    edit foo
    call setline(1, ['A', 'B', 'C', 'D'])
  
!   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,382 ****
--- 366,390 ----
    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,404 ****
    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 assert_equal([{'name' : 'sign2', 'texthl' : 'DiffChange',
              \ 'linehl' : 'DiffAdd', 'text' : '!!', 'icon' : 'sign2.ico'}],
              \ sign_getdefined("sign2"))
--- 401,407 ----
    call sign_define("sign2")
    let attr = {'text' : '!!', 'linehl' : 'DiffAdd', 'texthl' : 'DiffChange',
              \ 'icon' : 'sign2.ico'}
!   call Sign_define_ignore_error("sign2", attr)
    call assert_equal([{'name' : 'sign2', 'texthl' : 'DiffChange',
              \ 'linehl' : 'DiffAdd', 'text' : '!!', 'icon' : 'sign2.ico'}],
              \ sign_getdefined("sign2"))
***************
*** 518,524 ****
    call assert_fails('call sign_undefine({})', 'E731:')
  
    " Test for using '.' as the line number for sign_place()
!   call sign_define("sign1", attr)
    call cursor(22, 1)
    call assert_equal(15, sign_place(15, '', 'sign1', 'Xsign',
              \ {'lnum' : '.'}))
--- 521,527 ----
    call assert_fails('call sign_undefine({})', 'E731:')
  
    " Test for using '.' as the line number for sign_place()
!   call Sign_define_ignore_error("sign1", attr)
    call cursor(22, 1)
    call assert_equal(15, sign_place(15, '', 'sign1', 'Xsign',
              \ {'lnum' : '.'}))
*** ../vim-8.1.1899/src/version.c       2019-08-21 13:20:26.274838198 +0200
--- src/version.c       2019-08-21 13:34:31.250878062 +0200
***************
*** 767,768 ****
--- 767,770 ----
  {   /* Add new patch number below this line */
+ /**/
+     1900,
  /**/

-- 
Momento mori, ergo carpe diem

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/201908211146.x7LBkOlY019721%40masaka.moolenaar.net.

Raspunde prin e-mail lui