diff options
Diffstat (limited to 'src/regexp.c')
-rw-r--r-- | src/regexp.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/regexp.c b/src/regexp.c index 61fc14da32..842c48038d 100644 --- a/src/regexp.c +++ b/src/regexp.c @@ -80,6 +80,34 @@ disable_regexp_timeout(void) } #endif +#if defined(FEAT_EVAL) || defined(PROTO) +# ifdef FEAT_RELTIME +static sig_atomic_t *saved_timeout_flag; +# endif + +/* + * Used at the debug prompt: disable the timeout so that expression evaluation + * can used patterns. + * Must be followed by calling restore_timeout_for_debugging(). + */ + void +save_timeout_for_debugging(void) +{ +# ifdef FEAT_RELTIME + saved_timeout_flag = (sig_atomic_t *)timeout_flag; + timeout_flag = &dummy_timeout_flag; +# endif +} + + void +restore_timeout_for_debugging(void) +{ +# ifdef FEAT_RELTIME + timeout_flag = saved_timeout_flag; +# endif +} +#endif + /* * The first byte of the BT regexp internal "program" is actually this magic * number; the start node begins in the second byte. It's used to catch the |