Mercurial > vim
diff src/evalfunc.c @ 18699:1febd1aa9930 v8.1.2341
patch 8.1.2341: not so easy to interrupt a script programatically
Commit: https://github.com/vim/vim/commit/67a2deb9cb4ac2224cb1e4d240a5d0659f036264
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Nov 25 00:05:32 2019 +0100
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 https://github.com/vim/vim/issues/2834)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 25 Nov 2019 00:15:06 +0100 |
parents | 81d34044450f |
children | 128662297ddf |
line wrap: on
line diff
--- a/src/evalfunc.c +++ b/src/evalfunc.c @@ -114,6 +114,7 @@ static void f_inputlist(typval_T *argvar 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) @@ -4152,6 +4154,15 @@ f_inputsecret(typval_T *argvars, typval_ } /* + * "interrupt()" function + */ + static void +f_interrupt(typval_T *argvars UNUSED, typval_T *rettv UNUSED) +{ + got_int = TRUE; +} + +/* * "invert(expr)" function */ static void