vim-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)
e24c5b3332
This commit is contained in:
Jan Edmund Lazo
2021-04-10 18:29:08 -04:00
parent 750f2b686b
commit 4ff70cc58b
3 changed files with 29 additions and 17 deletions

View File

@@ -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 Jan 27
" 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.
@@ -690,11 +690,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