patch 8.0.0519: character classes are not well tested
Problem: Character classes are not well tested. They can differ between
platforms.
Solution: Add tests. In the documentation make clear which classes depend
on what library function. Only use :cntrl: and :graph: for ASCII.
(Kazunobu Kuriyama, Dominique Pelle, closes #1560)
Update the documentation.
diff --git a/src/regexp_nfa.c b/src/regexp_nfa.c
index 20ef186..e6d8255 100644
--- a/src/regexp_nfa.c
+++ b/src/regexp_nfa.c
@@ -4871,7 +4871,7 @@
return OK;
break;
case NFA_CLASS_CNTRL:
- if (c >= 1 && c <= 255 && iscntrl(c))
+ if (c >= 1 && c <= 127 && iscntrl(c))
return OK;
break;
case NFA_CLASS_DIGIT:
@@ -4879,7 +4879,7 @@
return OK;
break;
case NFA_CLASS_GRAPH:
- if (c >= 1 && c <= 255 && isgraph(c))
+ if (c >= 1 && c <= 127 && isgraph(c))
return OK;
break;
case NFA_CLASS_LOWER: