updated for version 7.3.624
Problem:    When cancelling input() it returns the third argument. That should
            only happen for inputdialog().
Solution:   Check if inputdialog() was used. (Hirohito Higashi)
diff --git a/src/eval.c b/src/eval.c
index b04f330..98b2a33 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -12966,7 +12966,7 @@
 	    rettv->vval.v_string =
 		getcmdline_prompt(inputsecret_flag ? NUL : '@', p, echo_attr,
 				  xp_type, xp_arg);
-	if (rettv->vval.v_string == NULL
+	if (inputdialog && rettv->vval.v_string == NULL
 		&& argvars[1].v_type != VAR_UNKNOWN
 		&& argvars[2].v_type != VAR_UNKNOWN)
 	    rettv->vval.v_string = vim_strsave(get_tv_string_buf(