Package: libencode-arabic-perl
Version: 14.2-1
Severity: serious
User: debian-p...@lists.debian.org
Usertags: perl-5.32-transition
Control: block 968912 with -1
Control: affects -1 libelixirfm-perl

It looks like Perl 5.32 caused a regression in the libencode-arabic-perl
(and transitively libelixirfm-perl) autopkgtest checks. The failure
boils down to this:

  # perl -we 'use Encode::Arabic'
  Useless use of /d modifier in transliteration operator at (eval 5) line 6.
  Useless use of /d modifier in transliteration operator at (eval 7) line 6.
  Useless use of /d modifier in transliteration operator at (eval 9) line 6.

Running with 'perl -d' shows these come from

  Useless use of /d modifier in transliteration operator at (eval 
10)[/usr/share/perl5/Encode/Arabic/Habash.pm:163] line 6.
  Useless use of /d modifier in transliteration operator at (eval 
8)[/usr/share/perl5/Encode/Arabic/Parkinson.pm:157] line 6.
  Useless use of /d modifier in transliteration operator at (eval 
6)[/usr/share/perl5/Encode/Arabic/Buckwalter.pm:161] line 6.

Quoting 
https://perldoc.perl.org/perldiag#Useless-use-of-/d-modifier-in-transliteration-operator

  (W misc) You have used the /d modifier where the searchlist has the same 
length as the replacelist.

The difference between Perl versions seems to be that 5.32 has become
smarter about non-ASCII character ranges, as seen with

  # perl -we '$0 =~ tr/\x{0626}-\x{0628}/abc/d'

which warns with 5.32 but not with 5.30.

I'm guessing this changed somewhere around

 https://github.com/Perl/perl5/commits/f34acfecc286f2eff2450db713da005d888a7317

and it looks to me like this is not a regression in Perl and
Encode::Arabic needs to adapt.

Given the transliteration lists are built dynamically in the code, maybe
the thing to do is just to insert some "no warnings 'misc'" declarations
to suppress the warnings.

Alternatively, disabling the autopkgtest check would lower the severity
of this (but note that at least libelixirfm-perl would also need to
be changed.)

The autopkgtest regression makes this a blocker for Perl 5.32 transition.
-- 
Niko Tyni   nt...@debian.org

Reply via email to