Repository navigation
BBC: Blead Breaks Text::Capitalize #24266
Description
Activity
Bisection points to this recent commit (b3f68b4):
commit b3f68b479c9876437620503fb7d54e14bceadcee Author: Richard Leach <rich+perl@hyphen-dash-hyphen.info> AuthorDate: Thu Feb 5 00:01:10 2026 +0000 Commit: Richard Leach <rich+perl@hyphen-dash-hyphen.info> CommitDate: Tue Mar 10 23:46:51 2026 +0000 Convert OP_CONST hash keys in key+val lists to HEKs ...@richardleach, can you take a look? Thanks.
- addedBBCBlead Breaks CPAN - changes in blead broke a cpan module(s)Blead Breaks CPAN - changes in blead broke a cpan module(s)and removed
on Mar 12, 2026 Thanks for the bisect, @jkeenan
use utf8is active in the failing test files but the hash keys involved in the test failures can be downgraded to non-utf8 strings.At first glance, I think the problem is a flags mismatch somewhere. Possibly because
Perl_newSVpvn_shareseems not to set theHVhek_WASUTF8flag.At first glance, I think the problem is a flags mismatch somewhere. Possibly because
Perl_newSVpvn_shareseems not to set theHVhek_WASUTF8flag.Perl_newSVpvn_sharecan be tweaked to ensure theHVhek_WASUTF8flag is set on theHEK, but then when the hash key is inserted,Perl_hv_commonseems to not bother checking forHVhek_WASUTF8when builidingflagsinsideis (keysv). That can also be tweaked, but then the flag still seems to be lost somewhere else.I'll look some more tomorrow.
This close to the stable release, it might be best to restrict the optimization to non-UTF8 keys, with any seemingly-suitable PR for greater propagation of
HVhek_WASUTF8waiting until the next dev cycle.Text::Capitalize test failures are to do with hash initialization like the following, with keys here being affected by b3f68b4:
my %expect_capitalize_title_PRESERVE_ALLCAPS_PRESERVE_WHITESPACE = ( ... 'über maus' => 'Über Maus', ... );but it looks like the following hash insertion (not tested in Text::Capitalize) was already buggy, for the same
HVhek_WASUTF8reasons, prior to that commit:my %expect_capitalize_title_PRESERVE_ALLCAPS_PRESERVE_WHITESPACE; $expect_capitalize_title_PRESERVE_ALLCAPS_PRESERVE_WHITESPACE{'über maus' } = 'Über Maus';In both cases, the expected capitalized string is
Über Mausbut the string returned isüBer Maus.- added a commit that references this issue
on Mar 16, 2026 - linked a pull request that will close this issueImproved handling of HVhek_WASUTF8 with preemptive hekified hash keys #24290
on Mar 16, 2026
This is a bug report for perl from "Carlos Guevara" carlos@carlosguevara.com,
generated with the help of perlbug 1.43 running under perl 5.43.9.
BBC: Blead Breaks Text::Capitalize
Please see https://fast2-matrix.cpantesters.org/?dist=Text-Capitalize-1.5
Flags
Perl configuration