X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/5aaa61d842746a8a8a244859258f21836c6ac2a8..f02672c113813c37a659991ae984a2368e15b8db:/doc/bugs/Hyperestraier_search_plug-in_defective.mdwn diff --git a/doc/bugs/Hyperestraier_search_plug-in_defective.mdwn b/doc/bugs/Hyperestraier_search_plug-in_defective.mdwn index 3ccdf8e2c..783006535 100644 --- a/doc/bugs/Hyperestraier_search_plug-in_defective.mdwn +++ b/doc/bugs/Hyperestraier_search_plug-in_defective.mdwn @@ -1,43 +1,55 @@ The map() function used in the hyperestraier search plug-in doesn't work as intended as ilustrated by this simple script: -#!/usr/bin/perl -w -use strict; -my @foo = ( - [ qw/foo bar baz/ ], - [ qw/fee faa fum/ ], - ); -# similar to current ikiwiki code (defective): -my @bar = map { "/path/to/$_" foreach @{$_} } @foo; -# this works: -#my @bar = map { map { "/path/to/$_" } @{$_} } @foo; -foreach (@bar) { - print "$_\n"; -} + #!/usr/bin/perl -w + use strict; + + my @foo = ( + [ qw/foo bar baz/ ], + [ qw/fee faa fum/ ], + ); + + # similar to current ikiwiki code (defective): + my @bar = map { "/path/to/$_" foreach @{$_} } @foo; + + # this works: + #my @bar = map { map { "/path/to/$_" } @{$_} } @foo; + + foreach (@bar) { + print "$_\n"; + } Expected output: -/path/to/foo -/path/to/bar -/path/to/baz -/path/to/fee -/path/to/faa -/path/to/fum + + /path/to/foo + /path/to/bar + /path/to/baz + /path/to/fee + /path/to/faa + /path/to/fum Current output: -Useless use of string in void context at perl-map.pl line 10. + + Useless use of string in void context at perl-map.pl line 10. The patch below fixes this issue: ---- IkiWiki/Plugin/search.pm.orig Thu Feb 1 23:52:03 2007 -+++ IkiWiki/Plugin/search.pm Thu Feb 1 23:52:41 2007 -@@ -64,8 +64,9 @@ - debug(gettext("updating hyperestraier search index")); - estcmd("gather -cm -bc -cl -sd", - map { -- Encode::encode_utf8($config{destdir}."/".$_) -- foreach @{$renderedfiles{pagename($_)}}; -+ map { -+ Encode::encode_utf8($config{destdir}."/".$_) -+ } @{$renderedfiles{pagename($_)}}; - } @_ - ); - estcfg(); \ No newline at end of file + --- IkiWiki/Plugin/search.pm.orig Thu Feb 1 23:52:03 2007 + +++ IkiWiki/Plugin/search.pm Thu Feb 1 23:52:41 2007 + @@ -64,8 +64,9 @@ + debug(gettext("updating hyperestraier search index")); + estcmd("gather -cm -bc -cl -sd", + map { + - Encode::encode_utf8($config{destdir}."/".$_) + - foreach @{$renderedfiles{pagename($_)}}; + + map { + + Encode::encode_utf8($config{destdir}."/".$_) + + } @{$renderedfiles{pagename($_)}}; + } @_ + ); + estcfg(); + +[[bugs/done]] ; thanks for the patch. Suprised it worked at all since the +bad code was added (did it?) --[[Joey]] + +Thank you for accepting my patch. I can't see how it could ever have worked +with the previous code, no. --[[Brix|HenrikBrixAndersen]]