Re: [PATCH v2 2/4] scripts/kernel-doc: Replacing highlights hash by an array

From: Mauro Carvalho Chehab
Date: Tue Nov 17 2015 - 05:41:00 EST

Hi Danilo,

Em Tue, 28 Jul 2015 16:45:16 -0300
Danilo Cesar Lemes de Paula <danilo.cesar@xxxxxxxxxxxxxxx> escreveu:

> The "highlight" code is very sensible to the order of the hash keys,
> but the order of the keys cannot be predicted on Perl. It generates
> faulty DocBook entries like:
> - @<function>device_for_each_child</function>
> We should use an array for that job, so we can guarantee that the order
> of the regex execution on dohighlight won't change.


> @@ -2587,9 +2601,11 @@ $kernelversion = get_kernel_version();
> # generate a sequence of code that will splice in highlighting information
> # using the s// operator.
> -foreach my $pattern (keys %highlights) {
> -# print STDERR "scanning pattern:$pattern, highlight:($highlights{$pattern})\n";
> - $dohighlight .= "\$contents =~ s:$pattern:$highlights{$pattern}:gs;\n";
> +foreach my $k (keys @highlights) {

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 server, with runs perl version 5.10.1.

I had to revert this patch in order to be able to keep building the
documentation of the media kABI on our server.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at