Bug#826932: libunicode-linebreak-perl: should handle get magic

Niko Tyni ntyni at debian.org
Fri Jun 10 06:57:46 UTC 2016


Package: libunicode-linebreak-perl
Version: 0.0.20160301-1
Control: found -1 0.0.20140601-2
X-Debbugs-Cc: perl at packages.debian.org

It looks like Unicode::GCString->new() doesn't handle get magic
properly. Consider:

 % perl -MUnicode::GCString -le 'print Unicode::GCString->new($$) ? "ok" : "not ok"'
 Can't bless non-reference value at /usr/lib/x86_64-linux-gnu/perl5/5.22/Unicode/GCString.pm line 52.

Forcing magic evaluation before calling new() makes it go away:

 % perl -MUnicode::GCString -le 'print Unicode::GCString->new($$."") ? "ok" : "not ok"'
 ok

This seems to be the root cause for #826667 (biber: breaks with perl
5.20.2-3+deb8u5), where the biber test suite in jessie started to fail
when we backported Perl 5.20.3 patches to jessie and apparently slightly
changed magic handling for $1 et al.

I've distilled the biber failure to the attached (still weirdish)
test case, which fails on sid (Perl 5.22) and updated jessie (perl
5.20.2-3+deb8u5) but not before the updates (perl 5.20.2-3+deb8u4).

I think the way to go for jessie is to change biber (see
#826714: jessie-pu: package biber/1.9-3+deb8u1) to not pass $1 to
Unicode::GCString->new(), but IMO the magic handling in Unicode::GCString
should be fixed at least for sid/stretch.

Sorry for not including a patch; I can take a shot at that later if
you like.
-- 
Niko Tyni   ntyni at debian.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: m.pl
Type: text/x-perl
Size: 288 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/perl-maintainers/attachments/20160610/4747cfa6/attachment.pl>


More information about the Perl-maintainers mailing list