eval: Error out when there is something after :endfunction

Ref #6844
This commit is contained in:
ZyX 2017-06-18 15:53:53 +03:00
parent e8aa58934e
commit bad5b2f8cf
2 changed files with 10 additions and 1 deletions

View File

@ -19842,8 +19842,16 @@ void ex_function(exarg_T *eap)
/* Check for "endfunction". */ /* Check for "endfunction". */
if (checkforcmd(&p, "endfunction", 4) && nesting-- == 0) { if (checkforcmd(&p, "endfunction", 4) && nesting-- == 0) {
if (line_arg == NULL) if (*p == '!') {
p++;
}
p += strspn((const char *)p, " \t\r\n");
if (*p != NUL && *p != '"') {
emsgf(_(e_trailing2), p);
}
if (line_arg == NULL) {
xfree(theline); xfree(theline);
}
break; break;
} }

View File

@ -1131,6 +1131,7 @@ EXTERN char_u e_longname[] INIT(= N_("E75: Name too long"));
EXTERN char_u e_toomsbra[] INIT(= N_("E76: Too many [")); EXTERN char_u e_toomsbra[] INIT(= N_("E76: Too many ["));
EXTERN char_u e_toomany[] INIT(= N_("E77: Too many file names")); EXTERN char_u e_toomany[] INIT(= N_("E77: Too many file names"));
EXTERN char_u e_trailing[] INIT(= N_("E488: Trailing characters")); EXTERN char_u e_trailing[] INIT(= N_("E488: Trailing characters"));
EXTERN char_u e_trailing2[] INIT(= N_("E488: Trailing characters: %s"));
EXTERN char_u e_umark[] INIT(= N_("E78: Unknown mark")); EXTERN char_u e_umark[] INIT(= N_("E78: Unknown mark"));
EXTERN char_u e_wildexpand[] INIT(= N_("E79: Cannot expand wildcards")); EXTERN char_u e_wildexpand[] INIT(= N_("E79: Cannot expand wildcards"));
EXTERN char_u e_winheight[] INIT(= N_( EXTERN char_u e_winheight[] INIT(= N_(