Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 43b31fd6ab39455290d518d4770a9d082dc28f1e https://github.com/Perl/perl5/commit/43b31fd6ab39455290d518d4770a9d082dc28f1e Author: Karl Williamson <k...@cpan.org> Date: 2025-08-19 (Tue, 19 Aug 2025)
Changed paths: M pp_pack.c Log Message: ----------- pp_pack.c: White-space, add braces only Change a few lines that affect the next commits that use a coding style not conforming to current expectations And also add some blank lines to serve as "paragraph" markers between code segments, and change the indentation of a few lines in preparation for blocks being added and removed in the next commits. Commit: 678e40b1c40db32f9d9a6bc483d93cfc609e94e7 https://github.com/Perl/perl5/commit/678e40b1c40db32f9d9a6bc483d93cfc609e94e7 Author: Karl Williamson <k...@cpan.org> Date: 2025-08-19 (Tue, 19 Aug 2025) Changed paths: M pp_pack.c Log Message: ----------- pp_pack: utf8_to_byte: Use 'uv' form, not 'uvchr' This converts a call to utf8n_to_uvchr() to instead use utf8_to_uv_flags(). The previous code thought it was checking for failure and croaking when it occurred, but was checking the wrong way so that it never could fail. And now it does a proper check and can fail, which was the original intent. Commit: b4df558f53789b46a8d522f91653dbbe2fb74b12 https://github.com/Perl/perl5/commit/b4df558f53789b46a8d522f91653dbbe2fb74b12 Author: Karl Williamson <k...@cpan.org> Date: 2025-08-19 (Tue, 19 Aug 2025) Changed paths: M pp_pack.c Log Message: ----------- pp_pack: unpack: Use 'uv' form, not 'uvchr' The new form croaks under failure; the previous didn't. But to get here the previous paragraph of code had to succeed, which means this should too. The flag in the changed call is the default for utf8_to_uv_or_die(), so it can be removed. Commit: 9a463d3188e5a99fad14595ecae95f3394e45b57 https://github.com/Perl/perl5/commit/9a463d3188e5a99fad14595ecae95f3394e45b57 Author: Karl Williamson <k...@cpan.org> Date: 2025-08-19 (Tue, 19 Aug 2025) Changed paths: M pp_pack.c Log Message: ----------- pp_pack: unpack: Use 'uv' form, not 'uvchr' This converts a call to utf8n_to_uvchr(), using instead utf8_to_uv(). The flag parameter UTF8_ALLOW_DEFAULT before this commit is the default for utf8_to_uv(), so it can be omitted. Like previous commits, the previous code thought it was checking for failure and croaking, but was checking the wrong way so that it never could fail. In the new commit, I had to remove that checking, because it caused test suite failures. Commit: 78defb048c91d8f730730d6ebf238b34f50d8b76 https://github.com/Perl/perl5/commit/78defb048c91d8f730730d6ebf238b34f50d8b76 Author: Karl Williamson <k...@cpan.org> Date: 2025-08-19 (Tue, 19 Aug 2025) Changed paths: M pp_pack.c Log Message: ----------- pp_pack: unpack: Use 'uv' form, not 'uvchr' Like previous commits, this converts a call to utf8n_to_uvchr() to use instead utf8_to_uv_flags(). And like previous commits, the previous code thought it was checking for failure and croaking, but was checking the wrong way so that it never could fail. With the new commit, it can fail. Also, the previous commit stored the result in an 'int', whose range can be significantly less than the code point returned. The value was truncated without notice. Now, I croak if the value got truncated. This code doesn't fully make sense to me, as this is for unpacking a 'c' format, which is supposed to be a signed 8-bit value, and what is getting stored is a full integer value Commit: f087bac5f605913555d00d256e1f4b3e0dc162da https://github.com/Perl/perl5/commit/f087bac5f605913555d00d256e1f4b3e0dc162da Author: Karl Williamson <k...@cpan.org> Date: 2025-08-19 (Tue, 19 Aug 2025) Changed paths: M pp_pack.c Log Message: ----------- pp_pack: utf8_to_bytes: Use 'uv' form, not 'uvchr' Like previous commits, this converts a call to utf8n_to_uvchr() to instead use utf8_to_uv_flags(). Unlike those commits, the previous code did in fact properly check for failure. But upon failure, it semi-unsafely assumed the start byte was accurate as to the intended byte length of the input character. (It did check that the returned value did not go past the end of the buffer, by using UTF8_SAFE_SKIP() ). The new function call always returns the correct number of bytes, so just use that instead of trying to recompute it. The mechanism for deteriming failure no longer depends on the CHECK_ONLY flag, so that is removed. Commit: b0c3c5f582bed91c98400796c9d40d3ae12179f1 https://github.com/Perl/perl5/commit/b0c3c5f582bed91c98400796c9d40d3ae12179f1 Author: Karl Williamson <k...@cpan.org> Date: 2025-08-19 (Tue, 19 Aug 2025) Changed paths: M pp_pack.c Log Message: ----------- pp_pack.c: S_utf8_to_bytes: Rmv loop Prior to this commit, the code went through the buffer with warnings turned off, but saving the fact if there were problems. If so, it ran through the buffer again, with warnings turned on to display those problems. I'm unsure of why it didn't output any warnings until it got to the end. But utf8_to_uv_msgs() allows us to store up the messages and output them later in the same order as encountered, and without having to reparse Commit: e9261d6a9bb268546c32f3f39d133cdaca96d952 https://github.com/Perl/perl5/commit/e9261d6a9bb268546c32f3f39d133cdaca96d952 Author: Karl Williamson <k...@cpan.org> Date: 2025-08-19 (Tue, 19 Aug 2025) Changed paths: M pp_pack.c Log Message: ----------- pp_pack.c: Convert variable to bool The reason for it to be more than this was removed in the previous commit Commit: 784a668e4ff85bbda1c976ef9652f1ffb395c579 https://github.com/Perl/perl5/commit/784a668e4ff85bbda1c976ef9652f1ffb395c579 Author: Karl Williamson <k...@cpan.org> Date: 2025-08-19 (Tue, 19 Aug 2025) Changed paths: M pod/perldelta.pod Log Message: ----------- perldelta for pp_pack utf8_to_uv changes Compare: https://github.com/Perl/perl5/compare/0eceef0204ab...784a668e4ff8 To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications