Mercurial > vim
diff src/ex_docmd.c @ 13288:530943a23d3f v8.0.1518
patch 8.0.1518: error messages suppressed after ":silent! try"
commit https://github.com/vim/vim/commit/2be57331524e93da52a0663f4a334d21c05123bb
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Feb 13 18:05:18 2018 +0100
patch 8.0.1518: error messages suppressed after ":silent! try"
Problem: Error messages suppressed after ":silent! try". (Ben Reilly)
Solution: Restore emsg_silent before executing :try. (closes https://github.com/vim/vim/issues/2531)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 13 Feb 2018 18:15:06 +0100 |
parents | 50e1077e0c3d |
children | 69517d67421f |
line wrap: on
line diff
--- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -2880,8 +2880,18 @@ do_one_cmd( } #endif -/* - * 7. Switch on command name. + /* The :try command saves the emsg_silent flag, reset it here when + * ":silent! try" was used, it should only apply to :try itself. */ + if (ea.cmdidx == CMD_try && did_esilent > 0) + { + emsg_silent -= did_esilent; + if (emsg_silent < 0) + emsg_silent = 0; + did_esilent = 0; + } + +/* + * 7. Execute the command. * * The "ea" structure holds the arguments that can be used. */