Mercurial > vim
diff src/vim9execute.c @ 22810:2d05dd71aac3 v8.2.1953
patch 8.2.1953: Vim9: extra "unknown" error after other error
Commit: https://github.com/vim/vim/commit/631e8f93458b102091d54c502f489c03e454d4da
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Nov 4 15:07:16 2020 +0100
patch 8.2.1953: Vim9: extra "unknown" error after other error
Problem: Vim9: extra "unknown" error after other error.
Solution: Restore did_emsg count after EXEC instruction. (closes https://github.com/vim/vim/issues/7254)
Improve error message from assert_fails()
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 04 Nov 2020 15:15:04 +0100 |
parents | 96dbb61a54c2 |
children | 53acb89ec9f2 |
line wrap: on
line diff
--- a/src/vim9execute.c +++ b/src/vim9execute.c @@ -1071,8 +1071,15 @@ call_def_function( { // execute Ex command line case ISN_EXEC: - SOURCING_LNUM = iptr->isn_lnum; - do_cmdline_cmd(iptr->isn_arg.string); + { + int save_did_emsg = did_emsg; + + SOURCING_LNUM = iptr->isn_lnum; + do_cmdline_cmd(iptr->isn_arg.string); + // do_cmdline_cmd() will reset did_emsg, but we want to + // keep track of the count to compare with did_emsg_before. + did_emsg += save_did_emsg; + } break; // execute Ex command from pieces on the stack