diff --git a/src/eval.c b/src/eval.c index f0d38df5a5..e54d50080f 100644 --- a/src/eval.c +++ b/src/eval.c @@ -18539,12 +18539,14 @@ ex_function(eap) if (!eap->skip) { - /* Check the name of the function. */ + /* Check the name of the function. Unless it's a dictionary function + * (that we are overwriting). */ if (name != NULL) arg = name; else arg = fudi.fd_newkey; - if (arg != NULL) + if (arg != NULL && (fudi.fd_di == NULL + || fudi.fd_di->di_tv.v_type != VAR_FUNC)) { if (*arg == K_SPECIAL) j = 3; diff --git a/src/version.c b/src/version.c index f0bb45ae0d..550137eb0b 100644 --- a/src/version.c +++ b/src/version.c @@ -666,6 +666,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 167, /**/ 166, /**/