Skip to content

fix: preserve UTF-8 semantics through read-only scalars - #1973

Merged
fglock merged 1 commit into
masterfrom
fix/utf8-on-readonly-captured-scalar
Nov 4, 2026
Merged

fglock merged 1 commit into
masterfrom
fix/utf8-on-readonly-captured-scalar

Conversation

@fglock

@fglock fglock commented Nov 4, 2026

Copy link
Copy Markdown
Owner

Summary

  • Preserve the underlying scalar type when checking UTF-8 status and when string operations handle runtime READONLY_SCALAR wrappers.
  • Add a regression for Internals::SvREADONLY, closure interpolation, concatenation, and wide-character preservation.
  • Track the fix and CPAN evidence in the issue queue and changelog.

Fixes #1970.

Validation

  • nice -n 19 make — passed at 9dde46a plus this candidate.
  • timeout 60 prove src/test/resources/unit/issue_1970_readonly_utf8_flag.t — passed under system Perl 5.42.2.
  • timeout 60 ./jperl src/test/resources/unit/issue_1970_readonly_utf8_flag.t — passed.
  • timeout 60 ./jperl --interpreter src/test/resources/unit/issue_1970_readonly_utf8_flag.t — passed.
  • Encode-Wide 0.07 t/integration.t — passed on JVM and interpreter backends.
  • nice -n 19 make check-links — passed.

Unwrap runtime read-only scalar type metadata for UTF-8 queries,
interpolation, concatenation, and related string operations. Add a
system-Perl-validated regression covering SvREADONLY and closure copying.

Fixes #1970.

Generated with [Codex](https://openai.com/codex)

Co-Authored-By: Codex <codex@openai.com>
@fglock
fglock merged commit 9db2a7d into master Nov 4, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Internals::SvREADONLY loses UTF-8 metadata for wide scalars

1 participant