To: vim_dev@googlegroups.com Subject: Patch 8.1.1900 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ 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 -- Bram@Moolenaar.net -- 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 ///