Branch: refs/heads/blead
Home: https://github.com/Perl/perl5
Commit: 76771a3ecc3d9d5fadc651cbc9433775af0a8348
https://github.com/Perl/perl5/commit/76771a3ecc3d9d5fadc651cbc9433775af0a8348
Author: Karl Williamson <[email protected]>
Date: 2024-11-24 (Sun, 24 Nov 2024)
Changed paths:
M utf8.c
Log Message:
-----------
utf8.c: Replace macros by more compact equivalents
There are shortcuts available that cut these 8 names to 2.
Commit: c082b7f6d5deed12bbc3a8cb75b79b0d8b54d96c
https://github.com/Perl/perl5/commit/c082b7f6d5deed12bbc3a8cb75b79b0d8b54d96c
Author: Karl Williamson <[email protected]>
Date: 2024-11-24 (Sun, 24 Nov 2024)
Changed paths:
M utf8.c
Log Message:
-----------
utf8.c: Move most important conditional to be first
It turns out that the information generated in this block is only needed
if the final conditional in this complicated group of them is true,
which checks if the caller wants anything special for certain classes of
code points. Because that final condition is subsidiary, the block was
getting executed just to be thrown away.
Commit: 98aa7cce4770815c89f48b7ac654b3de3e0f40a7
https://github.com/Perl/perl5/commit/98aa7cce4770815c89f48b7ac654b3de3e0f40a7
Author: Karl Williamson <[email protected]>
Date: 2024-11-24 (Sun, 24 Nov 2024)
Changed paths:
M utf8.c
Log Message:
-----------
utf8.c: Split conditionals
As a first step in simplifying this overly complicated series of
conditionals, pull out the first one into a separate 'if'. The next
commits will do more.
Commit: 626cad237450342c2f0e4a4a9c4e8f087c23a07e
https://github.com/Perl/perl5/commit/626cad237450342c2f0e4a4a9c4e8f087c23a07e
Author: Karl Williamson <[email protected]>
Date: 2024-11-24 (Sun, 24 Nov 2024)
Changed paths:
M utf8.c
Log Message:
-----------
utf8.c: Further simplify a complex conditional
This hoists a clause in a complex conditional to the 'if' statement
above it, converting that to two conditionals from one, while decreasing
the number in the much larger interior 'if' by 1.
This is in preparation for further simplifications in the next few
commits.
Commit: bff7ff500ee4c484356150d97dc6acf99a53ac57
https://github.com/Perl/perl5/commit/bff7ff500ee4c484356150d97dc6acf99a53ac57
Author: Karl Williamson <[email protected]>
Date: 2024-11-24 (Sun, 24 Nov 2024)
Changed paths:
M utf8.c
Log Message:
-----------
utf8.c: Further simplify complex conditional
This splits these into an if clause, and an else clause
Commit: 9efd3ace7ca57bde78c7cd137119c3ac7d36d6f1
https://github.com/Perl/perl5/commit/9efd3ace7ca57bde78c7cd137119c3ac7d36d6f1
Author: Karl Williamson <[email protected]>
Date: 2024-11-24 (Sun, 24 Nov 2024)
Changed paths:
M utf8.c
Log Message:
-----------
utf8.c: Swap order of blocks
This makes things a bit simpler, but mainly leads to further
simplifications in the next commits.
Commit: 15454ada1536aed9038c5b44aa4a230caca8dd3f
https://github.com/Perl/perl5/commit/15454ada1536aed9038c5b44aa4a230caca8dd3f
Author: Karl Williamson <[email protected]>
Date: 2024-11-24 (Sun, 24 Nov 2024)
Changed paths:
M utf8.c
Log Message:
-----------
utf8.c: Check specially for perl-extended UTF-8
More rigorous testing of the overlong malformation, yet to be committed,
showed that this needs to be handled specially. This commit does part
of that.
Perl extended UTF-8 means you are using a start byte not recognized by
any UTF-8 standard. Suppose it is an overlong sequence that reduces
down to something representable using standard UTF-8. The string still
used non-standard UTF-8 to get there, so should still be called out when
the input parameters to this function ask for that. This commit is a
first step towards that.
Commit: f241a5be0d582cd100172697fd02e95c5a0bf6a7
https://github.com/Perl/perl5/commit/f241a5be0d582cd100172697fd02e95c5a0bf6a7
Author: Karl Williamson <[email protected]>
Date: 2024-11-24 (Sun, 24 Nov 2024)
Changed paths:
M utf8.c
Log Message:
-----------
utf8.c: Remove intermediate value
By not overriding the computed value of malformed input until later in
the function, we can eliminate this temporary variable. This paves the
way to a much bigger simplification in the next commit.
Commit: cc8bd1ea0fb28d5a19dc451da1758c0305e524d6
https://github.com/Perl/perl5/commit/cc8bd1ea0fb28d5a19dc451da1758c0305e524d6
Author: Karl Williamson <[email protected]>
Date: 2024-11-24 (Sun, 24 Nov 2024)
Changed paths:
M utf8.c
Log Message:
-----------
utf8.c: Combine two blocks
It turns out that the work being done in the first block is only used in
the second block. If that block doesn't get executed, the first block's
effort is thrown away. So fold the first block into the second. This
results in a bunch of temporaries that were used to communicate between
the blocks being able to be removed.
More detailed comments are added.
Commit: f22cd664562cf140edba9f889a39bf419011ac50
https://github.com/Perl/perl5/commit/f22cd664562cf140edba9f889a39bf419011ac50
Author: Karl Williamson <[email protected]>
Date: 2024-11-24 (Sun, 24 Nov 2024)
Changed paths:
M utf8.c
Log Message:
-----------
utf8.c: Don't throw away work
Don't execute this loop if it would be pointless.
Commit: 1d9f041275ce09a3dfffdd4fc74ce43732bac883
https://github.com/Perl/perl5/commit/1d9f041275ce09a3dfffdd4fc74ce43732bac883
Author: Karl Williamson <[email protected]>
Date: 2024-11-24 (Sun, 24 Nov 2024)
Changed paths:
M utf8.c
Log Message:
-----------
utf8n_to_uvchr_msgs_helper: Add assertion
Make sure it isn't being called with unexpected input
--
Commit: fadda7d70f016bcce71f3da3fc3319fc62315ae7
https://github.com/Perl/perl5/commit/fadda7d70f016bcce71f3da3fc3319fc62315ae7
Author: Karl Williamson <[email protected]>
Date: 2024-11-24 (Sun, 24 Nov 2024)
Changed paths:
M utf8.c
Log Message:
-----------
utf8n_to_uvchr_msgs_helper: Don't throw away work
Admittedly not much work, but I realized in code reading that there
are function exits that ignore this initialization. Instead
move the initialization to later, where it is actually needed
Commit: 3cf2df0ef8b3706862ff5ec05a8aa187f976002c
https://github.com/Perl/perl5/commit/3cf2df0ef8b3706862ff5ec05a8aa187f976002c
Author: Karl Williamson <[email protected]>
Date: 2024-11-24 (Sun, 24 Nov 2024)
Changed paths:
M utf8.c
Log Message:
-----------
utf8.c: White-space only
Remove excess indentation
Commit: f254d774f8489de819d97ce662af2dbe3eb9f12b
https://github.com/Perl/perl5/commit/f254d774f8489de819d97ce662af2dbe3eb9f12b
Author: Karl Williamson <[email protected]>
Date: 2024-11-24 (Sun, 24 Nov 2024)
Changed paths:
M utf8.c
Log Message:
-----------
utf8n_to_uvchr_msgs_helper(): Refactor expression
More rigorous testing of the overlong malformation, yet to be committed,
showed that this didn't work as intended.
The IS_UTF8_START_BYTE() excludes start bytes that always lead to overlong
sequences. Fortunately the logic caused that to be mostly bypassed. But this
commit fixes it all.
Compare: https://github.com/Perl/perl5/compare/94caec977b93...f254d774f848
To unsubscribe from these emails, change your notification settings at
https://github.com/Perl/perl5/settings/notifications