patch 8.1.0192: executing regexp recursively fails with a crash
Problem: Executing regexp recursively fails with a crash.
Solution: Move global variables into "rex".
diff --git a/src/regexp.h b/src/regexp.h
index a3526e6..fa3ff42 100644
--- a/src/regexp.h
+++ b/src/regexp.h
@@ -50,8 +50,9 @@
{
regengine_T *engine;
unsigned regflags;
- unsigned re_engine; /* automatic, backtracking or nfa engine */
- unsigned re_flags; /* second argument for vim_regcomp() */
+ unsigned re_engine; // automatic, backtracking or nfa engine
+ unsigned re_flags; // second argument for vim_regcomp()
+ int re_in_use; // prog is being executed
} regprog_T;
/*
@@ -65,7 +66,8 @@
regengine_T *engine;
unsigned regflags;
unsigned re_engine;
- unsigned re_flags; /* second argument for vim_regcomp() */
+ unsigned re_flags;
+ int re_in_use;
int regstart;
char_u reganch;
@@ -101,7 +103,8 @@
regengine_T *engine;
unsigned regflags;
unsigned re_engine;
- unsigned re_flags; /* second argument for vim_regcomp() */
+ unsigned re_flags;
+ int re_in_use;
nfa_state_T *start; /* points into state[] */