~ chicken-core (master) 3926737dfd0a0fa6c6e8bb758bf5537ef601bd9c


commit 3926737dfd0a0fa6c6e8bb758bf5537ef601bd9c
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Wed Sep 23 11:30:55 2026 +0200
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Wed Sep 23 11:30:55 2026 +0200

    updated utf-tables.c to Unicode 18

diff --git a/utf-tables.c b/utf-tables.c
index c312fbf8..a121876e 100644
--- a/utf-tables.c
+++ b/utf-tables.c
@@ -27,13 +27,14 @@ static const int alpha[][2] = {
 	{ 0x3f7, 0x481 },
 	{ 0x48a, 0x52f },
 	{ 0x531, 0x556 },
-	{ 0x559, 0x559 },
+	{ 0x558, 0x559 },
 	{ 0x560, 0x588 },
+	{ 0x58b, 0x58c },
 	{ 0x5b0, 0x5bd },
 	{ 0x5bf, 0x5bf },
 	{ 0x5c1, 0x5c2 },
 	{ 0x5c4, 0x5c5 },
-	{ 0x5c7, 0x5c7 },
+	{ 0x5c7, 0x5c9 },
 	{ 0x5d0, 0x5ea },
 	{ 0x5ef, 0x5f2 },
 	{ 0x610, 0x61a },
@@ -300,7 +301,7 @@ static const int alpha[][2] = {
 	{ 0x1ff6, 0x1ffc },
 	{ 0x2071, 0x2071 },
 	{ 0x207f, 0x207f },
-	{ 0x2090, 0x209c },
+	{ 0x208f, 0x209f },
 	{ 0x2102, 0x2102 },
 	{ 0x2107, 0x2107 },
 	{ 0x210a, 0x2113 },
@@ -358,7 +359,8 @@ static const int alpha[][2] = {
 	{ 0xa67f, 0xa6ef },
 	{ 0xa717, 0xa71f },
 	{ 0xa722, 0xa788 },
-	{ 0xa78b, 0xa7dc },
+	{ 0xa78b, 0xa7dd },
+	{ 0xa7e2, 0xa7e2 },
 	{ 0xa7f1, 0xa805 },
 	{ 0xa807, 0xa827 },
 	{ 0xa840, 0xa873 },
@@ -391,6 +393,7 @@ static const int alpha[][2] = {
 	{ 0xab28, 0xab2e },
 	{ 0xab30, 0xab5a },
 	{ 0xab5c, 0xab69 },
+	{ 0xab6c, 0xab6d },
 	{ 0xab70, 0xabea },
 	{ 0xac00, 0xd7a3 },
 	{ 0xd7b0, 0xd7c6 },
@@ -455,7 +458,7 @@ static const int alpha[][2] = {
 	{ 0x10760, 0x10767 },
 	{ 0x10780, 0x10785 },
 	{ 0x10787, 0x107b0 },
-	{ 0x107b2, 0x107ba },
+	{ 0x107b2, 0x107bf },
 	{ 0x10800, 0x10805 },
 	{ 0x10808, 0x10808 },
 	{ 0x1080a, 0x10835 },
@@ -495,6 +498,11 @@ static const int alpha[][2] = {
 	{ 0x10eab, 0x10eac },
 	{ 0x10eb0, 0x10eb1 },
 	{ 0x10ec2, 0x10ec7 },
+	{ 0x10ecb, 0x10ecd },
+	{ 0x10ed9, 0x10eee },
+	{ 0x10ef3, 0x10ef3 },
+	{ 0x10ef5, 0x10ef5 },
+	{ 0x10ef7, 0x10ef8 },
 	{ 0x10efa, 0x10efc },
 	{ 0x10f00, 0x10f1c },
 	{ 0x10f27, 0x10f27 },
@@ -588,6 +596,7 @@ static const int alpha[][2] = {
 	{ 0x11a50, 0x11a97 },
 	{ 0x11a9d, 0x11a9d },
 	{ 0x11ab0, 0x11af8 },
+	{ 0x11b0a, 0x11b0a },
 	{ 0x11b60, 0x11b67 },
 	{ 0x11bc0, 0x11be0 },
 	{ 0x11c00, 0x11c08 },
@@ -612,14 +621,16 @@ static const int alpha[][2] = {
 	{ 0x11d93, 0x11d96 },
 	{ 0x11d98, 0x11d98 },
 	{ 0x11db0, 0x11ddb },
+	{ 0x11df0, 0x11df1 },
 	{ 0x11ee0, 0x11ef6 },
 	{ 0x11f00, 0x11f10 },
 	{ 0x11f12, 0x11f3a },
 	{ 0x11f3e, 0x11f40 },
 	{ 0x11fb0, 0x11fb0 },
 	{ 0x12000, 0x12399 },
-	{ 0x12400, 0x1246e },
-	{ 0x12480, 0x12543 },
+	{ 0x12400, 0x1246f },
+	{ 0x12475, 0x12543 },
+	{ 0x12550, 0x12686 },
 	{ 0x12f90, 0x12ff0 },
 	{ 0x13000, 0x1342f },
 	{ 0x13441, 0x13446 },
@@ -644,17 +655,19 @@ static const int alpha[][2] = {
 	{ 0x16fe0, 0x16fe1 },
 	{ 0x16fe3, 0x16fe3 },
 	{ 0x16ff0, 0x16ff6 },
-	{ 0x17000, 0x18cd5 },
-	{ 0x18cff, 0x18d1e },
+	{ 0x17000, 0x18cda },
+	{ 0x18cff, 0x18d20 },
 	{ 0x18d80, 0x18df2 },
+	{ 0x18e00, 0x19191 },
+	{ 0x191a0, 0x191d2 },
 	{ 0x1aff0, 0x1aff3 },
 	{ 0x1aff5, 0x1affb },
 	{ 0x1affd, 0x1affe },
-	{ 0x1b000, 0x1b122 },
+	{ 0x1b000, 0x1b128 },
 	{ 0x1b132, 0x1b132 },
 	{ 0x1b150, 0x1b152 },
 	{ 0x1b155, 0x1b155 },
-	{ 0x1b164, 0x1b167 },
+	{ 0x1b164, 0x1b168 },
 	{ 0x1b170, 0x1b2fb },
 	{ 0x1bc00, 0x1bc6a },
 	{ 0x1bc70, 0x1bc7c },
@@ -679,7 +692,7 @@ static const int alpha[][2] = {
 	{ 0x1d540, 0x1d544 },
 	{ 0x1d546, 0x1d546 },
 	{ 0x1d54a, 0x1d550 },
-	{ 0x1d552, 0x1d6a5 },
+	{ 0x1d552, 0x1d6a6 },
 	{ 0x1d6a8, 0x1d6c0 },
 	{ 0x1d6c2, 0x1d6da },
 	{ 0x1d6dc, 0x1d6fa },
@@ -691,9 +704,9 @@ static const int alpha[][2] = {
 	{ 0x1d78a, 0x1d7a8 },
 	{ 0x1d7aa, 0x1d7c2 },
 	{ 0x1d7c4, 0x1d7cb },
-	{ 0x1df00, 0x1df1e },
-	{ 0x1df25, 0x1df2a },
-	{ 0x1e000, 0x1e006 },
+	{ 0x1df00, 0x1df81 },
+	{ 0x1df90, 0x1df96 },
+	{ 0x1dfcd, 0x1e006 },
 	{ 0x1e008, 0x1e018 },
 	{ 0x1e01b, 0x1e021 },
 	{ 0x1e023, 0x1e024 },
@@ -756,13 +769,14 @@ static const int alpha[][2] = {
 	{ 0x1f150, 0x1f169 },
 	{ 0x1f170, 0x1f189 },
 	{ 0x20000, 0x2a6df },
-	{ 0x2a700, 0x2b81d },
+	{ 0x2a700, 0x2b81e },
 	{ 0x2b820, 0x2cead },
 	{ 0x2ceb0, 0x2ebe0 },
 	{ 0x2ebf0, 0x2ee5d },
 	{ 0x2f800, 0x2fa1d },
 	{ 0x30000, 0x3134a },
 	{ 0x31350, 0x33479 },
+	{ 0x3d000, 0x3fc3f },
 };
 static const int upper[][2] = {
 	{ 0x41, 0x5a },
@@ -1376,8 +1390,10 @@ static const int upper[][2] = {
 	{ 0xa7d6, 0xa7d6 },
 	{ 0xa7d8, 0xa7d8 },
 	{ 0xa7da, 0xa7da },
-	{ 0xa7dc, 0xa7dc },
+	{ 0xa7dc, 0xa7dd },
+	{ 0xa7e2, 0xa7e2 },
 	{ 0xa7f5, 0xa7f5 },
+	{ 0xab6c, 0xab6d },
 	{ 0xff21, 0xff3a },
 	{ 0x10400, 0x10427 },
 	{ 0x104b0, 0x104d3 },
@@ -1421,6 +1437,22 @@ static const int upper[][2] = {
 	{ 0x1d756, 0x1d76e },
 	{ 0x1d790, 0x1d7a8 },
 	{ 0x1d7ca, 0x1d7ca },
+	{ 0x1df40, 0x1df40 },
+	{ 0x1df48, 0x1df48 },
+	{ 0x1df4a, 0x1df4a },
+	{ 0x1df4d, 0x1df4d },
+	{ 0x1df51, 0x1df51 },
+	{ 0x1df68, 0x1df68 },
+	{ 0x1df6a, 0x1df6a },
+	{ 0x1df6c, 0x1df6c },
+	{ 0x1df6e, 0x1df6e },
+	{ 0x1df72, 0x1df72 },
+	{ 0x1df74, 0x1df74 },
+	{ 0x1df76, 0x1df76 },
+	{ 0x1df78, 0x1df78 },
+	{ 0x1df7a, 0x1df7a },
+	{ 0x1df7c, 0x1df7c },
+	{ 0x1df7e, 0x1df7e },
 	{ 0x1e900, 0x1e921 },
 	{ 0x1f130, 0x1f149 },
 	{ 0x1f150, 0x1f169 },
@@ -1701,7 +1733,9 @@ static const int lower[][2] = {
 	{ 0x52b, 0x52b },
 	{ 0x52d, 0x52d },
 	{ 0x52f, 0x52f },
+	{ 0x558, 0x558 },
 	{ 0x560, 0x588 },
+	{ 0x58b, 0x58c },
 	{ 0x10d0, 0x10fa },
 	{ 0x10fc, 0x10ff },
 	{ 0x13f8, 0x13fd },
@@ -1854,7 +1888,7 @@ static const int lower[][2] = {
 	{ 0x1ff6, 0x1ff7 },
 	{ 0x2071, 0x2071 },
 	{ 0x207f, 0x207f },
-	{ 0x2090, 0x209c },
+	{ 0x2090, 0x209f },
 	{ 0x210a, 0x210a },
 	{ 0x210e, 0x210f },
 	{ 0x2113, 0x2113 },
@@ -2065,7 +2099,7 @@ static const int lower[][2] = {
 	{ 0x10780, 0x10780 },
 	{ 0x10783, 0x10785 },
 	{ 0x10787, 0x107b0 },
-	{ 0x107b2, 0x107ba },
+	{ 0x107b2, 0x107bf },
 	{ 0x10cc0, 0x10cf2 },
 	{ 0x10d70, 0x10d85 },
 	{ 0x118c0, 0x118df },
@@ -2087,7 +2121,7 @@ static const int lower[][2] = {
 	{ 0x1d5ee, 0x1d607 },
 	{ 0x1d622, 0x1d63b },
 	{ 0x1d656, 0x1d66f },
-	{ 0x1d68a, 0x1d6a5 },
+	{ 0x1d68a, 0x1d6a6 },
 	{ 0x1d6c2, 0x1d6da },
 	{ 0x1d6dc, 0x1d6e1 },
 	{ 0x1d6fc, 0x1d714 },
@@ -2100,8 +2134,25 @@ static const int lower[][2] = {
 	{ 0x1d7c4, 0x1d7c9 },
 	{ 0x1d7cb, 0x1d7cb },
 	{ 0x1df00, 0x1df09 },
-	{ 0x1df0b, 0x1df1e },
-	{ 0x1df25, 0x1df2a },
+	{ 0x1df0b, 0x1df3f },
+	{ 0x1df41, 0x1df47 },
+	{ 0x1df49, 0x1df49 },
+	{ 0x1df4b, 0x1df4c },
+	{ 0x1df4e, 0x1df50 },
+	{ 0x1df52, 0x1df67 },
+	{ 0x1df69, 0x1df69 },
+	{ 0x1df6b, 0x1df6b },
+	{ 0x1df6d, 0x1df6d },
+	{ 0x1df6f, 0x1df71 },
+	{ 0x1df73, 0x1df73 },
+	{ 0x1df75, 0x1df75 },
+	{ 0x1df77, 0x1df77 },
+	{ 0x1df79, 0x1df79 },
+	{ 0x1df7b, 0x1df7b },
+	{ 0x1df7d, 0x1df7d },
+	{ 0x1df7f, 0x1df7f },
+	{ 0x1df90, 0x1df96 },
+	{ 0x1dfcd, 0x1dfff },
 	{ 0x1e030, 0x1e06d },
 	{ 0x1e922, 0x1e943 },
 };
@@ -2861,7 +2912,10 @@ static const int lowermap[][3] = {
 	{ 0xa7d8, 0xa7d8, 0xa7d9 },
 	{ 0xa7da, 0xa7da, 0xa7db },
 	{ 0xa7dc, 0xa7dc, 0x19b },
+	{ 0xa7dd, 0xa7dd, 0x277 },
+	{ 0xa7e2, 0xa7e2, 0x27c },
 	{ 0xa7f5, 0xa7f5, 0xa7f6 },
+	{ 0xab6c, 0xab6d, 0xab4b },
 	{ 0xff21, 0xff3a, 0xff41 },
 	{ 0x10400, 0x10427, 0x10428 },
 	{ 0x104b0, 0x104d3, 0x104d8 },
@@ -2874,6 +2928,22 @@ static const int lowermap[][3] = {
 	{ 0x118a0, 0x118bf, 0x118c0 },
 	{ 0x16e40, 0x16e5f, 0x16e60 },
 	{ 0x16ea0, 0x16eb8, 0x16ebb },
+	{ 0x1df40, 0x1df40, 0x1df41 },
+	{ 0x1df48, 0x1df48, 0x1df49 },
+	{ 0x1df4a, 0x1df4a, 0x1df4b },
+	{ 0x1df4d, 0x1df4d, 0x1df4e },
+	{ 0x1df51, 0x1df51, 0x1df52 },
+	{ 0x1df68, 0x1df68, 0x1df69 },
+	{ 0x1df6a, 0x1df6a, 0x1df6b },
+	{ 0x1df6c, 0x1df6c, 0x1df6d },
+	{ 0x1df6e, 0x1df6e, 0x1df6f },
+	{ 0x1df72, 0x1df72, 0x1df73 },
+	{ 0x1df74, 0x1df74, 0x1df75 },
+	{ 0x1df76, 0x1df76, 0x1df77 },
+	{ 0x1df78, 0x1df78, 0x1df79 },
+	{ 0x1df7a, 0x1df7a, 0x1df7b },
+	{ 0x1df7c, 0x1df7c, 0x1df7d },
+	{ 0x1df7e, 0x1df7e, 0x1df7f },
 	{ 0x1e900, 0x1e921, 0x1e922 },
 };
 static const int uppermap[][3] = {
@@ -3055,6 +3125,8 @@ static const int uppermap[][3] = {
 	{ 0x271, 0x271, 0x2c6e },
 	{ 0x272, 0x272, 0x19d },
 	{ 0x275, 0x275, 0x19f },
+	{ 0x277, 0x277, 0xa7dd },
+	{ 0x27c, 0x27c, 0xa7e2 },
 	{ 0x27d, 0x27d, 0x2c64 },
 	{ 0x280, 0x280, 0x1a6 },
 	{ 0x282, 0x282, 0xa7c5 },
@@ -3556,6 +3628,7 @@ static const int uppermap[][3] = {
 	{ 0xa7d9, 0xa7d9, 0xa7d8 },
 	{ 0xa7db, 0xa7db, 0xa7da },
 	{ 0xa7f6, 0xa7f6, 0xa7f5 },
+	{ 0xab4b, 0xab4c, 0xab6c },
 	{ 0xab53, 0xab53, 0xa7b3 },
 	{ 0xab70, 0xabbf, 0x13a0 },
 	{ 0xff41, 0xff5a, 0xff21 },
@@ -3570,6 +3643,22 @@ static const int uppermap[][3] = {
 	{ 0x118c0, 0x118df, 0x118a0 },
 	{ 0x16e60, 0x16e7f, 0x16e40 },
 	{ 0x16ebb, 0x16ed3, 0x16ea0 },
+	{ 0x1df41, 0x1df41, 0x1df40 },
+	{ 0x1df49, 0x1df49, 0x1df48 },
+	{ 0x1df4b, 0x1df4b, 0x1df4a },
+	{ 0x1df4e, 0x1df4e, 0x1df4d },
+	{ 0x1df52, 0x1df52, 0x1df51 },
+	{ 0x1df69, 0x1df69, 0x1df68 },
+	{ 0x1df6b, 0x1df6b, 0x1df6a },
+	{ 0x1df6d, 0x1df6d, 0x1df6c },
+	{ 0x1df6f, 0x1df6f, 0x1df6e },
+	{ 0x1df73, 0x1df73, 0x1df72 },
+	{ 0x1df75, 0x1df75, 0x1df74 },
+	{ 0x1df77, 0x1df77, 0x1df76 },
+	{ 0x1df79, 0x1df79, 0x1df78 },
+	{ 0x1df7b, 0x1df7b, 0x1df7a },
+	{ 0x1df7d, 0x1df7d, 0x1df7c },
+	{ 0x1df7f, 0x1df7f, 0x1df7e },
 	{ 0x1e922, 0x1e943, 0x1e900 },
 };
 static const int fold1[][2] = {
@@ -4670,7 +4759,11 @@ static const int fold1[][2] = {
 	{ 0xa7d8, 0xa7d9 },
 	{ 0xa7da, 0xa7db },
 	{ 0xa7dc, 0x19b },
+	{ 0xa7dd, 0x277 },
+	{ 0xa7e2, 0x27c },
 	{ 0xa7f5, 0xa7f6 },
+	{ 0xab6c, 0xab4b },
+	{ 0xab6d, 0xab4c },
 	{ 0xab70, 0x13a0 },
 	{ 0xab71, 0x13a1 },
 	{ 0xab72, 0x13a2 },
@@ -5051,6 +5144,23 @@ static const int fold1[][2] = {
 	{ 0x16eb6, 0x16ed1 },
 	{ 0x16eb7, 0x16ed2 },
 	{ 0x16eb8, 0x16ed3 },
+	{ 0x1df40, 0x1df41 },
+	{ 0x1df48, 0x1df49 },
+	{ 0x1df4a, 0x1df4b },
+	{ 0x1df4d, 0x1df4e },
+	{ 0x1df51, 0x1df52 },
+	{ 0x1df68, 0x1df69 },
+	{ 0x1df6a, 0x1df6b },
+	{ 0x1df6c, 0x1df6d },
+	{ 0x1df6e, 0x1df6f },
+	{ 0x1df72, 0x1df73 },
+	{ 0x1df74, 0x1df75 },
+	{ 0x1df76, 0x1df77 },
+	{ 0x1df78, 0x1df79 },
+	{ 0x1df7a, 0x1df7b },
+	{ 0x1df7c, 0x1df7d },
+	{ 0x1df7e, 0x1df7f },
+	{ 0x1df95, 0xdf },
 	{ 0x1e900, 0x1e922 },
 	{ 0x1e901, 0x1e923 },
 	{ 0x1e902, 0x1e924 },
@@ -5191,4 +5301,5 @@ static const int fold2[][4] = {
 	{ 0xfb15, 0x574, 0x56b, 0x0 },
 	{ 0xfb16, 0x57e, 0x576, 0x0 },
 	{ 0xfb17, 0x574, 0x56d, 0x0 },
+	{ 0x1df95, 0x73, 0x73, 0x0 },
 };
Trap