Small bugfixes for broken old style use of the syntax table.  AMK, of
course.
diff --git a/Modules/regexpr.c b/Modules/regexpr.c
index 7cdcbd9..64e199d 100644
--- a/Modules/regexpr.c
+++ b/Modules/regexpr.c
@@ -611,7 +611,7 @@
 		{
 			syntaxcode = code[pos++];
 			for (a = 0; a < 256; a++)
-				if (SYNTAX(a) == syntaxcode)
+				if (SYNTAX(a) & syntaxcode) 
 					fastmap[a] = 1;
 			return;
 		}
@@ -619,7 +619,7 @@
 		{
 			syntaxcode = code[pos++];
 			for (a = 0; a < 256; a++)
-				if (SYNTAX(a) != syntaxcode)
+				if (!(SYNTAX(a) & syntaxcode) )
 					fastmap[a] = 1;
 			return;
 		}
@@ -1866,12 +1866,12 @@
 			if (translate)
 			{
 				while (text < textend &&
-				       translate[SYNTAX(*text)] == a)
+				       (SYNTAX(translate[*text]) & a) )
 					text++;
 			}
 			else
 			{
-				while (text < textend && SYNTAX(*text) == a)
+				while (text < textend && (SYNTAX(*text) & a) )
 					text++;
 			}
 			break;
@@ -1882,12 +1882,12 @@
 			if (translate)
 			{
 				while (text < textend &&
-				       translate[SYNTAX(*text)] != a)
+				       !(SYNTAX(translate[*text]) & a) )
 					text++;
 			}
 			else
 			{
-				while (text < textend && SYNTAX(*text) != a)
+				while (text < textend && !(SYNTAX(*text) & a) )
 					text++;
 			}
 			break;