From acd6a049f68d0a69a96240c2d928a7ddda9c4c69 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 30 Sep 2011 16:39:48 +0200 Subject: updated for version 7.3.325 Problem: A duplicated function argument gives an internal error. Solution: Give a proper error message. (based on patch by Tyru) --- src/eval.c | 10 ++++++++++ src/version.c | 2 ++ 2 files changed, 12 insertions(+) diff --git a/src/eval.c b/src/eval.c index 6e8c26f4a..780ed9eca 100644 --- a/src/eval.c +++ b/src/eval.c @@ -20461,6 +20461,7 @@ ex_function(eap) exarg_T *eap; { char_u *theline; + int i; int j; int c; int saved_did_emsg; @@ -20707,6 +20708,15 @@ ex_function(eap) arg = vim_strsave(arg); if (arg == NULL) goto erret; + + /* Check for duplicate argument name. */ + for (i = 0; i < newargs.ga_len; ++i) + if (STRCMP(((char_u **)(newargs.ga_data))[i], arg) == 0) + { + EMSG2(_("E853: Duplicate argument name: %s"), arg); + goto erret; + } + ((char_u **)(newargs.ga_data))[newargs.ga_len] = arg; *p = c; newargs.ga_len++; diff --git a/src/version.c b/src/version.c index 854cb9c71..96f2ee49a 100644 --- a/src/version.c +++ b/src/version.c @@ -709,6 +709,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 325, /**/ 324, /**/ -- cgit v1.2.3