Mercurial > vim
diff src/vim9compile.c @ 26792:30d8377ea1b1 v8.2.3924
patch 8.2.3924: Vim9: no error if something follows :enddef
Commit: https://github.com/vim/vim/commit/7473a84cf935f64ddd4ea7fe7eee0f9c51c50b60
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Dec 28 17:55:26 2021 +0000
patch 8.2.3924: Vim9: no error if something follows :enddef
Problem: Vim9: no error if something follows :enddef in a nested function.
Solution: Give an error. Move common code to a function.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Tue, 28 Dec 2021 19:00:05 +0100 |
parents | a8a4e1e7b111 |
children | a6ccb6ec581c |
line wrap: on
line diff
--- a/src/vim9compile.c +++ b/src/vim9compile.c @@ -879,12 +879,18 @@ compile_nested_function(exarg_T *eap, cc } ufunc = define_function(eap, lambda_name, line_to_free); - if (ufunc == NULL) { r = eap->skip ? OK : FAIL; goto theend; } + if (eap->nextcmd != NULL) + { + semsg(_(e_text_found_after_str_str), + eap->cmdidx == CMD_def ? "enddef" : "endfunction", eap->nextcmd); + r = FAIL; + goto theend; + } // copy over the block scope IDs before compiling if (!is_global && cctx->ctx_ufunc->uf_block_depth > 0)