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

Attachment: signature.asc
Description: Digital signature

Raspunde prin e-mail lui