130 lines
3.2 KiB
Plaintext
130 lines
3.2 KiB
Plaintext
|
To: vim-dev@vim.org
|
||
|
Subject: Patch 7.0.039
|
||
|
Fcc: outbox
|
||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||
|
Mime-Version: 1.0
|
||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||
|
Content-Transfer-Encoding: 8bit
|
||
|
------------
|
||
|
|
||
|
Patch 7.0.039
|
||
|
Problem: Calling inputdialog() with a third argument in the console doesn't
|
||
|
work.
|
||
|
Solution: Make a separate function for input() and inputdialog(). (Yegappan
|
||
|
Lakshmanan)
|
||
|
Files: src/eval.c
|
||
|
|
||
|
|
||
|
*** ../vim-7.0.038/src/eval.c Wed Jul 12 21:48:56 2006
|
||
|
--- src/eval.c Mon Jul 10 23:03:13 2006
|
||
|
***************
|
||
|
*** 11321,11334 ****
|
||
|
|
||
|
static int inputsecret_flag = 0;
|
||
|
|
||
|
/*
|
||
|
! * "input()" function
|
||
|
! * Also handles inputsecret() when inputsecret is set.
|
||
|
*/
|
||
|
static void
|
||
|
! f_input(argvars, rettv)
|
||
|
typval_T *argvars;
|
||
|
typval_T *rettv;
|
||
|
{
|
||
|
char_u *prompt = get_tv_string_chk(&argvars[0]);
|
||
|
char_u *p = NULL;
|
||
|
--- 11321,11339 ----
|
||
|
|
||
|
static int inputsecret_flag = 0;
|
||
|
|
||
|
+ static void get_user_input __ARGS((typval_T *argvars, typval_T *rettv, int inputdialog));
|
||
|
+
|
||
|
/*
|
||
|
! * This function is used by f_input() and f_inputdialog() functions. The third
|
||
|
! * argument to f_input() specifies the type of completion to use at the
|
||
|
! * prompt. The third argument to f_inputdialog() specifies the value to return
|
||
|
! * when the user cancels the prompt.
|
||
|
*/
|
||
|
static void
|
||
|
! get_user_input(argvars, rettv, inputdialog)
|
||
|
typval_T *argvars;
|
||
|
typval_T *rettv;
|
||
|
+ int inputdialog;
|
||
|
{
|
||
|
char_u *prompt = get_tv_string_chk(&argvars[0]);
|
||
|
char_u *p = NULL;
|
||
|
***************
|
||
|
*** 11378,11384 ****
|
||
|
if (defstr != NULL)
|
||
|
stuffReadbuffSpec(defstr);
|
||
|
|
||
|
! if (argvars[2].v_type != VAR_UNKNOWN)
|
||
|
{
|
||
|
char_u *xp_name;
|
||
|
int xp_namelen;
|
||
|
--- 11383,11389 ----
|
||
|
if (defstr != NULL)
|
||
|
stuffReadbuffSpec(defstr);
|
||
|
|
||
|
! if (!inputdialog && argvars[2].v_type != VAR_UNKNOWN)
|
||
|
{
|
||
|
char_u *xp_name;
|
||
|
int xp_namelen;
|
||
|
***************
|
||
|
*** 11413,11418 ****
|
||
|
--- 11418,11435 ----
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
+ * "input()" function
|
||
|
+ * Also handles inputsecret() when inputsecret is set.
|
||
|
+ */
|
||
|
+ static void
|
||
|
+ f_input(argvars, rettv)
|
||
|
+ typval_T *argvars;
|
||
|
+ typval_T *rettv;
|
||
|
+ {
|
||
|
+ get_user_input(argvars, rettv, FALSE);
|
||
|
+ }
|
||
|
+
|
||
|
+ /*
|
||
|
* "inputdialog()" function
|
||
|
*/
|
||
|
static void
|
||
|
***************
|
||
|
*** 11452,11458 ****
|
||
|
}
|
||
|
else
|
||
|
#endif
|
||
|
! f_input(argvars, rettv);
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
--- 11469,11475 ----
|
||
|
}
|
||
|
else
|
||
|
#endif
|
||
|
! get_user_input(argvars, rettv, TRUE);
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
*** ../vim-7.0.038/src/version.c Wed Jul 12 21:48:56 2006
|
||
|
--- src/version.c Wed Jul 12 21:56:30 2006
|
||
|
***************
|
||
|
*** 668,669 ****
|
||
|
--- 668,671 ----
|
||
|
{ /* Add new patch number below this line */
|
||
|
+ /**/
|
||
|
+ 39,
|
||
|
/**/
|
||
|
|
||
|
--
|
||
|
A consultant is a person who takes your money and annoys your employees while
|
||
|
tirelessly searching for the best way to extend the consulting contract.
|
||
|
(Scott Adams - The Dilbert principle)
|
||
|
|
||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|