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.c b/src/regexp.c
index 91b8015..b4fe7d7 100644
--- a/src/regexp.c
+++ b/src/regexp.c
@@ -2555,17 +2555,17 @@
regc('\t');
break;
case CLASS_CNTRL:
- for (cu = 1; cu <= 255; cu++)
+ for (cu = 1; cu <= 127; cu++)
if (iscntrl(cu))
regmbc(cu);
break;
case CLASS_DIGIT:
- for (cu = 1; cu <= 255; cu++)
+ for (cu = 1; cu <= 127; cu++)
if (VIM_ISDIGIT(cu))
regmbc(cu);
break;
case CLASS_GRAPH:
- for (cu = 1; cu <= 255; cu++)
+ for (cu = 1; cu <= 127; cu++)
if (isgraph(cu))
regmbc(cu);
break;