File 8414-unicode-reduce-size.patch of Package erlang
From cb5191ecfda9c96028d7caf0f3d9de333403a0f1 Mon Sep 17 00:00:00 2001
From: Dan Gudmundsson <dgud@erlang.org>
Date: Fri, 28 Feb 2025 15:38:22 +0100
Subject: [PATCH 4/4] unicode reduce size
Merge is_extend to ranges to reduce the size, speed seems to be the same.
---
lib/stdlib/uc_spec/gen_unicode_mod.escript | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/lib/stdlib/uc_spec/gen_unicode_mod.escript b/lib/stdlib/uc_spec/gen_unicode_mod.escript
index 7fd39387f2..6b0f39d8a0 100644
--- a/lib/stdlib/uc_spec/gen_unicode_mod.escript
+++ b/lib/stdlib/uc_spec/gen_unicode_mod.escript
@@ -852,11 +852,12 @@ gen_gc(Fd, GBP) ->
"gc_extend2({error,R}, _, Acc) ->\n"
" [lists:reverse(Acc)] ++ [R].\n\n"
),
- [ZWJ] = maps:get(zwj, GBP),
- GenExtend = fun(R) when R =:= ZWJ -> io:format(Fd, "is_extend~s zwj;\n", [gen_single_clause(ZWJ)]);
+ [{ZWJ, undefined}=ZWJRange] = maps:get(zwj, GBP),
+ GenExtend = fun(R) when R =:= ZWJRange -> ok;
(Range) -> io:format(Fd, "is_extend~s true;\n", [gen_single_clause(Range)])
end,
- Extends = merge_ranges(maps:get(extend,GBP)++maps:get(spacingmark, GBP) ++ maps:get(zwj, GBP), split),
+ io:format(Fd, "is_extend(~w) -> zwj;\n", [ZWJ]),
+ Extends = merge_ranges(maps:get(extend,GBP)++maps:get(spacingmark, GBP), true),
[GenExtend(CP) || CP <- Extends],
io:put_chars(Fd, "is_extend(_) -> false.\n\n"),
--
2.43.0