0
0
mirror of https://github.com/vim/vim.git synced 2025-10-13 06:54:15 -04:00

patch 8.1.2341: not so easy to interrupt a script programatically

Problem:    Not so easy to interrupt a script programatically.
Solution:   Add the interrupt() function. (Yasuhiro Matsumoto, closes #2834)
This commit is contained in:
Bram Moolenaar
2019-11-25 00:05:32 +01:00
parent a106e6cde6
commit 67a2deb9cb
6 changed files with 58 additions and 1 deletions

View File

@@ -114,6 +114,7 @@ static void f_inputlist(typval_T *argvars, typval_T *rettv);
static void f_inputrestore(typval_T *argvars, typval_T *rettv);
static void f_inputsave(typval_T *argvars, typval_T *rettv);
static void f_inputsecret(typval_T *argvars, typval_T *rettv);
static void f_interrupt(typval_T *argvars, typval_T *rettv);
static void f_invert(typval_T *argvars, typval_T *rettv);
static void f_islocked(typval_T *argvars, typval_T *rettv);
#if defined(FEAT_FLOAT) && defined(HAVE_MATH_H)
@@ -509,6 +510,7 @@ static funcentry_T global_functions[] =
{"inputsave", 0, 0, 0, f_inputsave},
{"inputsecret", 1, 2, FEARG_1, f_inputsecret},
{"insert", 2, 3, FEARG_1, f_insert},
{"interrupt", 0, 0, 0, f_interrupt},
{"invert", 1, 1, FEARG_1, f_invert},
{"isdirectory", 1, 1, FEARG_1, f_isdirectory},
#if defined(FEAT_FLOAT) && defined(HAVE_MATH_H)
@@ -4151,6 +4153,15 @@ f_inputsecret(typval_T *argvars, typval_T *rettv)
--inputsecret_flag;
}
/*
* "interrupt()" function
*/
static void
f_interrupt(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
{
got_int = TRUE;
}
/*
* "invert(expr)" function
*/