Message ID | 20151117132949.2c70d92f@recife.lan (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 17-11-2015 13:29, Mauro Carvalho Chehab wrote: > Em Tue, 17 Nov 2015 07:44:31 -0700 > Jonathan Corbet <corbet@lwn.net> escreveu: > >> On Tue, 17 Nov 2015 08:40:46 -0200 >> Mauro Carvalho Chehab <mchehab@osg.samsung.com> wrote: >> >>> The above causes some versions of perl to fail, as keys expect a >>> hash argument: >>> >>> Execution of .//scripts/kernel-doc aborted due to compilation errors. >>> Type of arg 1 to keys must be hash (not private array) at .//scripts/kernel-doc line 2714, near "@highlights) " >>> >>> This is happening at linuxtv.org server, with runs perl version 5.10.1. >> >> OK, that's not good. But I'm not quite sure what to do about it. >> >> Perl 5.10.1 is a little over six years old. Nobody else has complained >> (yet) about this problem. So it might be best to "fix" this with a >> minimum version added to the Changes file. >> >> Or maybe we need to revert the patch. >> >> So I'm far from a Perl expert, so I have no clue what the minimum version >> would be if we were to say "5.10.1 is too old." I don't suppose anybody >> out there knows? > > I'm also not a Perl expert, and never saw before the usage of "keys" on > an array. Yet, according with: > http://perldoc.perl.org/functions/keys.html > > "in Perl 5.12 or later only, the indices of an array" > > If so, then maybe we could replace: > foreach my $k (keys @highlights) > > by a more C style variant, with all versions of perl 5: > for (my $k = 0; $k < @highlights; $k++) { > > The enclosed patch should do the trick. I tested it with perl 5.10 and > perl 5.22 it worked fine with both versions. I'm Not a perl guru myself either =/. But thanks for fixing it Mauro! Danilo
On Tue, 17 Nov 2015 13:29:49 -0200 Mauro Carvalho Chehab <mchehab@osg.samsung.com> wrote: > The enclosed patch should do the trick. I tested it with perl 5.10 and > perl 5.22 it worked fine with both versions. Indeed it seems to work - thanks! Applied to the docs tree, I'll get it upstream before too long. jon
Em Tue, 17 Nov 2015 17:21:32 -0700 Jonathan Corbet <corbet@lwn.net> escreveu: > On Tue, 17 Nov 2015 13:29:49 -0200 > Mauro Carvalho Chehab <mchehab@osg.samsung.com> wrote: > > > The enclosed patch should do the trick. I tested it with perl 5.10 and > > perl 5.22 it worked fine with both versions. > > Indeed it seems to work - thanks! Applied to the docs tree, I'll get it > upstream before too long. Thanks, Jon! Regards, Mauro
diff --git a/scripts/kernel-doc b/scripts/kernel-doc index 125b906..1f61def 100755 --- a/scripts/kernel-doc +++ b/scripts/kernel-doc @@ -2711,7 +2711,7 @@ $kernelversion = get_kernel_version(); # generate a sequence of code that will splice in highlighting information # using the s// operator. -foreach my $k (keys @highlights) { +for (my $k = 0; $k < @highlights; $k++) { my $pattern = $highlights[$k][0]; my $result = $highlights[$k][1]; # print STDERR "scanning pattern:$pattern, highlight:($result)\n";