regexp_nfa.c cannot compile because the following macros are undefined when features = small|tiny:
NFA_ZOPEN NFA_ZOPEN9 NFA_ZCLOSE NFA_ZCLOSE9 These macros are protected by #ifdef FEAT_SYN_HL beginning at line 116 in the same file. The functions failure_chance() and nfa_regmatch() make unguarded use of these symbols. The attached patch applies against 7.3.1112 and prevents the compile error. -- Erik Falor http://unnovative.net Registered Linux User #445632 http://linuxcounter.net
diff --git a/src/regexp_nfa.c b/src/regexp_nfa.c
--- a/src/regexp_nfa.c
+++ b/src/regexp_nfa.c
@@ -3891,7 +3891,9 @@
if (c > 0)
return 99;
if ((c >= NFA_MOPEN && c <= NFA_MOPEN9)
+#ifdef FEAT_SYN_HL
|| (c >= NFA_ZOPEN && c <= NFA_ZOPEN9)
+#endif
|| c == NFA_NOPEN)
return failure_chance(state->out, depth + 1);
/* something else */
@@ -4185,7 +4187,9 @@
* Otherwise first do the one that has the highest chance
* of failing. */
if ((cout >= NFA_MCLOSE && cout <= NFA_MCLOSE9)
+#ifdef FEAT_SYN_HL
|| (cout >= NFA_ZCLOSE && cout <= NFA_ZCLOSE9)
+#endif
|| cout == NFA_NCLOSE
|| t->pim != NULL
|| (t->state->c != NFA_START_INVISIBLE_BEFORE
signature.asc
Description: Digital signature
