Mercurial > vim
changeset 3689:acd91c9741a6 v7.3.604
updated for version 7.3.604
Problem: inputdialog() doesn't use the cancel argument in the console.
(David Fishburn)
Solution: Use the third argument. (Christian Brabant)
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Mon, 16 Jul 2012 19:27:29 +0200 |
parents | e92f6b13cb3d |
children | 942df3a8051b |
files | src/eval.c src/version.c |
diffstat | 2 files changed, 8 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/eval.c +++ b/src/eval.c @@ -12940,6 +12940,7 @@ get_user_input(argvars, rettv, inputdial int xp_namelen; long argt; + /* input() with a third argument: completion */ rettv->vval.v_string = NULL; xp_name = get_tv_string_buf_chk(&argvars[2], buf); @@ -12958,6 +12959,11 @@ get_user_input(argvars, rettv, inputdial rettv->vval.v_string = getcmdline_prompt(inputsecret_flag ? NUL : '@', p, echo_attr, xp_type, xp_arg); + if (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( + &argvars[2], buf)); vim_free(xp_arg);