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

openSUSE Build Service is sponsored by