Mercurial > vim
changeset 18860:ec92ccff5c8b v8.1.2416
patch 8.1.2416: loading menus sets v:errmsg
Commit: https://github.com/vim/vim/commit/e24c5b3332b453175e5f73423884087a4aef1247
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Dec 10 22:11:53 2019 +0100
patch 8.1.2416: loading menus sets v:errmsg
Problem: Loading menus sets v:errmsg.
Solution: Avoid setting v:errmsg and add a test for that. (Jason Franklin)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Tue, 10 Dec 2019 22:15:04 +0100 |
parents | 5b30956b26a4 |
children | f27b04a94ef1 |
files | runtime/delmenu.vim runtime/menu.vim src/testdir/test_menu.vim src/version.c |
diffstat | 4 files changed, 31 insertions(+), 22 deletions(-) [+] |
line wrap: on
line diff
--- a/runtime/delmenu.vim +++ b/runtime/delmenu.vim @@ -2,30 +2,31 @@ " Warning: This also deletes all menus defined by the user! " " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2019 Sep 11 +" Last Change: 2019 Dec 10 aunmenu * tlunmenu * -silent! unlet did_install_default_menus -silent! unlet did_install_syntax_menu -if exists("did_menu_trans") +unlet! g:did_install_default_menus +unlet! g:did_install_syntax_menu + +if exists('g:did_menu_trans') menutrans clear - unlet did_menu_trans + unlet g:did_menu_trans endif -silent! unlet find_help_dialog +unlet! g:find_help_dialog -silent! unlet menutrans_help_dialog -silent! unlet menutrans_path_dialog -silent! unlet menutrans_tags_dialog -silent! unlet menutrans_textwidth_dialog -silent! unlet menutrans_fileformat_dialog -silent! unlet menutrans_fileformat_choices -silent! unlet menutrans_no_file -silent! unlet menutrans_set_lang_to -silent! unlet menutrans_spell_change_ARG_to -silent! unlet menutrans_spell_add_ARG_to_word_list -silent! unlet menutrans_spell_ignore_ARG +unlet! g:menutrans_fileformat_choices +unlet! g:menutrans_fileformat_dialog +unlet! g:menutrans_help_dialog +unlet! g:menutrans_no_file +unlet! g:menutrans_path_dialog +unlet! g:menutrans_set_lang_to +unlet! g:menutrans_spell_add_ARG_to_word_list +unlet! g:menutrans_spell_change_ARG_to +unlet! g:menutrans_spell_ignore_ARG +unlet! g:menutrans_tags_dialog +unlet! g:menutrans_textwidth_dialog " vim: set sw=2 :
--- a/runtime/menu.vim +++ b/runtime/menu.vim @@ -2,7 +2,7 @@ " You can also use this as a start for your own set of menus. " " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2019 Nov 10 +" Last Change: 2019 Dec 10 " Note that ":an" (short for ":anoremenu") is often used to make a menu work " in all modes and avoid side effects from mappings defined by the user. @@ -700,11 +700,11 @@ func! s:BMShow(...) let g:bmenu_priority = a:1 endif - " remove old menu, if exists; keep one entry to avoid a torn off menu to - " disappear. - silent! unmenu &Buffers + " Remove old menu, if exists; keep one entry to avoid a torn off menu to + " disappear. Use try/catch to avoid setting v:errmsg + try | unmenu &Buffers | catch | endtry exe 'noremenu ' . g:bmenu_priority . ".1 &Buffers.Dummy l" - silent! unmenu! &Buffers + try | unmenu! &Buffers | catch | endtry " create new menu; set 'cpo' to include the <CR> let cpo_save = &cpo
--- a/src/testdir/test_menu.vim +++ b/src/testdir/test_menu.vim @@ -10,7 +10,13 @@ func Test_load_menu() call assert_report('error while loading menus: ' . v:exception) endtry call assert_match('browse confirm w', execute(':menu File.Save')) + + let v:errmsg = '' + doautocmd LoadBufferMenu VimEnter + call assert_equal('', v:errmsg) + source $VIMRUNTIME/delmenu.vim + call assert_equal('', v:errmsg) endfunc func Test_translate_menu()