# HG changeset patch # User Bram Moolenaar # Date 1380725188 -7200 # Node ID c21b2f52f1dd003d860e3b574602ed3fdc2b4f1c # Parent efc67db9203a71d355a18a0352a6640ea7eb8f6f updated for version 7.4.047 Problem: When using input() in a function invoked by a mapping it doesn't work. Solution: Temporarily reset ex_normal_busy. (Yasuhiro Matsumoto) diff --git a/src/eval.c b/src/eval.c --- a/src/eval.c +++ b/src/eval.c @@ -13054,9 +13054,18 @@ get_user_input(argvars, rettv, inputdial } if (defstr != NULL) + { +# ifdef FEAT_EX_EXTRA + int save_ex_normal_busy = ex_normal_busy; + ex_normal_busy = 0; +# endif rettv->vval.v_string = getcmdline_prompt(inputsecret_flag ? NUL : '@', p, echo_attr, xp_type, xp_arg); +# ifdef FEAT_EX_EXTRA + ex_normal_busy = save_ex_normal_busy; +# endif + } if (inputdialog && rettv->vval.v_string == NULL && argvars[1].v_type != VAR_UNKNOWN && argvars[2].v_type != VAR_UNKNOWN) diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -739,6 +739,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 47, +/**/ 46, /**/ 45,