summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2013-10-02 16:46:28 +0200
committerBram Moolenaar <Bram@vim.org>2013-10-02 16:46:28 +0200
commit35a7c681bce136b6993c1c6f6e2fdf3e3667791d (patch)
tree692ad46b8791f1cdead9a6785da9f68535afa459
parent0b4db6b6e58077c4bb5b1dc3fd30a04ce019e0f0 (diff)
downloadvim-git-35a7c681bce136b6993c1c6f6e2fdf3e3667791d.tar.gz
updated for version 7.4.047v7.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)
-rw-r--r--src/eval.c9
-rw-r--r--src/version.c2
2 files changed, 11 insertions, 0 deletions
diff --git a/src/eval.c b/src/eval.c
index 68f80fc7d..c3ac4673d 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -13054,9 +13054,18 @@ get_user_input(argvars, rettv, inputdialog)
}
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
index c43ae93f0..6b543975e 100644
--- 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,