diff --git a/src/pike_macros.h b/src/pike_macros.h
index b27ba57e721e934a82963f930aa7da66c354986f..30b4cd35b8aefb4341098de35cbf0289b3a974fd 100644
--- a/src/pike_macros.h
+++ b/src/pike_macros.h
@@ -20,7 +20,22 @@
 #define MAXIMUM(X,Y) ((X)>(Y)?(X):(Y))
 
 
-#define is8bitalnum(X)	("0000000000000000000000000000100000000000000000001111111111000000011111111111111111111111111000010111111111111111111111111110000000000000000000000000000000000000101111010110001011110110011011100000000001111111111111101111111111111111111111111111111011111111"[((unsigned)(X))&0xff] == '1')
+#define is8bitalnum(X)	("0000000000000000" \
+			 "0000000000001000" \
+			 "0000000000000000" \
+			 "1111111111000000" \
+			 "0111111111111111" \
+			 "1111111111100001" \
+			 "0111111111111111" \
+			 "1111111111100000" \
+			 "0000000000000000" \
+			 "0000000000000000" \
+			 "1011110101100010" \
+			 "1011011001101110" \
+			 "1111111111111111" \
+			 "1111111011111111" \
+			 "1111111111111111" \
+			 "1111111011111111"[((unsigned)(X))&0xff] == '1')
   
 #define isidchar(X) is8bitalnum(X)