From b21d4d60fbfd090d76e2d1937c4e16f4b5abf5ef Mon Sep 17 00:00:00 2001 From: "http://www.cse.unsw.edu.au/~willu/" Date: Wed, 27 Aug 2008 18:49:19 -0400 Subject: fix HTML quoting --- doc/news/version_2.62.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/news/version_2.62.mdwn b/doc/news/version_2.62.mdwn index 9a28bd19c..e91c9a2ab 100644 --- a/doc/news/version_2.62.mdwn +++ b/doc/news/version_2.62.mdwn @@ -7,7 +7,7 @@ News for ikiwiki 2.62: The previous behaviour can be restored by adding the following to your ikiwiki setup: - teximg\_prefix => '\documentclass{scrartcl} + teximg_prefix => '\documentclass{scrartcl} \usepackage[version=3]{mhchem} \usepackage{amsmath} \usepackage{amsfonts} -- cgit v1.2.3 From da3501e15b6e6e261ecc44158fb904e413233ff0 Mon Sep 17 00:00:00 2001 From: "http://www.cse.unsw.edu.au/~willu/" Date: Wed, 27 Aug 2008 22:28:59 -0400 Subject: Document the 'generated' keyword argument --- doc/plugins/listdirectives.mdwn | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/doc/plugins/listdirectives.mdwn b/doc/plugins/listdirectives.mdwn index 3645813b8..0f33855f5 100644 --- a/doc/plugins/listdirectives.mdwn +++ b/doc/plugins/listdirectives.mdwn @@ -9,3 +9,13 @@ This plugin generates a list of available Each directive links to a wiki page with the same name. The location of the pages in the wiki can be controlled via the `directive_description_dir` setting in the setup file. + +There is one optional keyword argument, `generated`. Normally the `listdirectives` directive will +list all built in directives and directives directly registered by [[plugins]]. With this keyword, +`listdirectives` will also list directives generated later. For example, all [[shortcuts]] are +directives generated in turn by the `shortcut` directive. They will only be listed if the `generated` argument is +supplied. + + \[[!listdirectives generated]] + +This extended list is often quite long, and often contains many undocumented directives. -- cgit v1.2.3 From d7fc55f7b600f3a9737518acc08851121f016332 Mon Sep 17 00:00:00 2001 From: JoshTriplett Date: Thu, 28 Aug 2008 00:23:56 -0400 Subject: --- doc/todo/table_with_header_column.mdwn | 1 + 1 file changed, 1 insertion(+) create mode 100644 doc/todo/table_with_header_column.mdwn diff --git a/doc/todo/table_with_header_column.mdwn b/doc/todo/table_with_header_column.mdwn new file mode 100644 index 000000000..a1d682c54 --- /dev/null +++ b/doc/todo/table_with_header_column.mdwn @@ -0,0 +1 @@ +Tables support a header row or no header, but do not support a header column. -- cgit v1.2.3 From 6adf79b8e24232ddad5254e929eeee776c95c23c Mon Sep 17 00:00:00 2001 From: Cord Date: Thu, 28 Aug 2008 02:18:26 -0400 Subject: Warning about this patch, need to investigate --- doc/todo/using_meta_titles_for_parentlinks.html | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/todo/using_meta_titles_for_parentlinks.html b/doc/todo/using_meta_titles_for_parentlinks.html index 8a42bf4a8..2252c81a4 100644 --- a/doc/todo/using_meta_titles_for_parentlinks.html +++ b/doc/todo/using_meta_titles_for_parentlinks.html @@ -1,6 +1,9 @@ It is possible to set a Page-Title in the meta-plugin, but that one isn't reused in parentlinks. This patch may fix it. +**This patch may introduce some bugs, i need to investigate** + +
  • I give pagetitle the full path to a page.
  • I redefine the 'pagetitle'-sub to deal with it. -- cgit v1.2.3 From 86d27a169c5ab6952b98487c406926b82b8185bc Mon Sep 17 00:00:00 2001 From: bremner Date: Thu, 28 Aug 2008 06:51:01 -0400 Subject: question: writetmpfile and mktmpdir library funcs? --- doc/todo/unified_temporary_file__47__directory_handling.mdwn | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 doc/todo/unified_temporary_file__47__directory_handling.mdwn diff --git a/doc/todo/unified_temporary_file__47__directory_handling.mdwn b/doc/todo/unified_temporary_file__47__directory_handling.mdwn new file mode 100644 index 000000000..0ee780d1a --- /dev/null +++ b/doc/todo/unified_temporary_file__47__directory_handling.mdwn @@ -0,0 +1,5 @@ +Many plugins seem to create temporary files. Although it is not much code, it is duplicated, and a +typical place for security bugs. Would it be worthwhile to have library functions for creating temporary files +and directories? If nothing else, it would serve as documentation of the "official way". + +Off to cut and paste :-) -- cgit v1.2.3 From eba2fdc4a1abc82e30d8d5066c0efc0fbca01e8e Mon Sep 17 00:00:00 2001 From: bremner Date: Thu, 28 Aug 2008 06:52:11 -0400 Subject: add signature --- doc/todo/unified_temporary_file__47__directory_handling.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/todo/unified_temporary_file__47__directory_handling.mdwn b/doc/todo/unified_temporary_file__47__directory_handling.mdwn index 0ee780d1a..99bacf097 100644 --- a/doc/todo/unified_temporary_file__47__directory_handling.mdwn +++ b/doc/todo/unified_temporary_file__47__directory_handling.mdwn @@ -2,4 +2,4 @@ Many plugins seem to create temporary files. Although it is not much code, it is typical place for security bugs. Would it be worthwhile to have library functions for creating temporary files and directories? If nothing else, it would serve as documentation of the "official way". -Off to cut and paste :-) +Off to cut and paste :-) --[[DavidBremner]] -- cgit v1.2.3 From 28801adcd3b55796210a176abe0d2a630ddcac22 Mon Sep 17 00:00:00 2001 From: AlexandreDupas Date: Thu, 28 Aug 2008 07:44:44 -0400 Subject: Update link to the modified table plugin. --- doc/plugins/table/discussion.mdwn | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/plugins/table/discussion.mdwn b/doc/plugins/table/discussion.mdwn index 79a89d8a7..7228a83df 100644 --- a/doc/plugins/table/discussion.mdwn +++ b/doc/plugins/table/discussion.mdwn @@ -18,8 +18,8 @@ In my version, there is three options for the header field : Here is the links to the patch and to a patched version of the plugin : -+ [table.pm.patch](http://lohrun.free.fr/ikiwiki/table.pm.patch) -+ [table.pm](http://lohrun.free.fr/ikiwiki/table.pm) ++ [table.pm.patch](http://alexandre.dupas.free.fr/code/ikiwiki/table.pm.patch) ++ [table.pm](http://alexandre.dupas.free.fr/code/ikiwiki/table.pm) I hope this might be intresting for some ikiwiki user's. -- cgit v1.2.3 From 36b6719dce877e6bc65d0c0ae090759d56f617f1 Mon Sep 17 00:00:00 2001 From: AlexandreDupas Date: Thu, 28 Aug 2008 07:50:11 -0400 Subject: response with a link to an existing patch. --- doc/todo/table_with_header_column.mdwn | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/todo/table_with_header_column.mdwn b/doc/todo/table_with_header_column.mdwn index a1d682c54..36aee6f2a 100644 --- a/doc/todo/table_with_header_column.mdwn +++ b/doc/todo/table_with_header_column.mdwn @@ -1 +1,5 @@ Tables support a header row or no header, but do not support a header column. + +> I have proposed a patch to the table plugin that enable such behaviour: [[table/discussion|plugins/table/discussion]]. +> +> -- [[AlexandreDupas]] -- cgit v1.2.3 From 592aa33d28cedc91a0ced418262301f518228b32 Mon Sep 17 00:00:00 2001 From: "http://www.cse.unsw.edu.au/~willu/" Date: Thu, 28 Aug 2008 09:05:07 -0400 Subject: Updated patch --- doc/todo/tracking_bugs_with_dependencies.mdwn | 187 ++++++++++++-------------- 1 file changed, 89 insertions(+), 98 deletions(-) diff --git a/doc/todo/tracking_bugs_with_dependencies.mdwn b/doc/todo/tracking_bugs_with_dependencies.mdwn index 7186166ce..9f9b01f67 100644 --- a/doc/todo/tracking_bugs_with_dependencies.mdwn +++ b/doc/todo/tracking_bugs_with_dependencies.mdwn @@ -142,22 +142,36 @@ The following three inlines work for me with this patch: >> rest of this patch. In a related change, commands were not able to contain `)` in their parameters. I've extended that so the cannot >> contain `(` or `)`. -- [[Will]] +>>> Updated patch. Moved the specFuncsRef to the front of the arg list. Still haven't thought through the security implications of +>>> having it in `%params`. I've also removed all the debugging `print` statements. And I've updated the `is_globlist()` function. +>>> I think this is ready for people other than me to have a play. It is not well enough tested to commit just yet. +>>> -- [[Will]] + ---- diff --git a/IkiWiki.pm b/IkiWiki.pm -index e476521..07b71d7 100644 +index e476521..532aaf5 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm -@@ -1524,7 +1524,7 @@ sub globlist_to_pagespec ($) { #{{{ +@@ -1524,7 +1524,16 @@ sub globlist_to_pagespec ($) { #{{{ sub is_globlist ($) { #{{{ my $s=shift; - return ( $s =~ /[^\s]+\s+([^\s]+)/ && $1 ne "and" && $1 ne "or" ); -+ return 0; #( $s =~ /[^\s]+\s+([^\s]+)/ && $1 ne "and" && $1 ne "or" ); ++ return ! ($s =~ / ++ (^\s* ++ [^\s\(]+ # single item ++ (\( # possibly with parens after it ++ ([^\)]* # with stuff inside those parens ++ (\([^\)]*\))*)* # maybe even nested parens ++ \))?\s*$ ++ ) | ++ (\s and \s) | (\s or \s) # or we find 'and' or 'or' somewhere ++ /x); } #}}} sub safequote ($) { #{{{ -@@ -1605,7 +1605,7 @@ sub pagespec_merge ($$) { #{{{ +@@ -1605,7 +1614,7 @@ sub pagespec_merge ($$) { #{{{ return "($a) or ($b)"; } #}}} @@ -166,7 +180,7 @@ index e476521..07b71d7 100644 my $spec=shift; # Support for old-style GlobLists. -@@ -1624,9 +1624,11 @@ sub pagespec_translate ($) { #{{{ +@@ -1624,9 +1633,11 @@ sub pagespec_translate ($) { #{{{ | \) # ) | @@ -180,21 +194,21 @@ index e476521..07b71d7 100644 ) \s* # ignore whitespace }igx) { -@@ -1640,16 +1642,23 @@ sub pagespec_translate ($) { #{{{ +@@ -1640,16 +1651,23 @@ sub pagespec_translate ($) { #{{{ elsif ($word eq "(" || $word eq ")" || $word eq "!") { $code.=' '.$word; } + elsif ($word =~ /^define\(\s*~(\w+)\s*,(.*)\)$/) { + $code .= " (\$specFuncsRef->{$1}="; -+ #$code .= "memoize("; -+ $code .= pagespec_makeperl($2); -+ #$code .= ")"; ++ $code .= "memoize("; ++ $code .= &pagespec_makeperl($2); ++ $code .= ")"; + $code .= ") "; + } elsif ($word =~ /^(\w+)\((.*)\)$/) { if (exists $IkiWiki::PageSpec::{"match_$1"}) { - $code.="IkiWiki::PageSpec::match_$1(\$page, ".safequote($2).", \@_)"; -+ $code.="IkiWiki::PageSpec::match_$1(\$page, \$specFuncsRef, ".safequote($2).", \@_)"; ++ $code.="IkiWiki::PageSpec::match_$1(\$specFuncsRef, \$page, ".safequote($2).", \@_)"; } else { $code.=' 0'; @@ -202,23 +216,21 @@ index e476521..07b71d7 100644 } else { - $code.=" IkiWiki::PageSpec::match_glob(\$page, ".safequote($word).", \@_)"; -+ $code.=" IkiWiki::PageSpec::match_glob(\$page, \$specFuncsRef, ".safequote($word).", \@_)"; ++ $code.=" IkiWiki::PageSpec::match_glob(\$specFuncsRef, \$page, ".safequote($word).", \@_)"; } } -@@ -1657,8 +1666,18 @@ sub pagespec_translate ($) { #{{{ +@@ -1657,8 +1675,16 @@ sub pagespec_translate ($) { #{{{ $code=0; } -+ return 'sub { my $page=shift; my $specFuncsRef=shift; '.$code.' }'; ++ return 'sub { my $specFuncsRef=shift; my $page=shift; '.$code.' }'; +} #}}} + +sub pagespec_translate ($) { #{{{ + my $spec=shift; + + my $code = pagespec_makeperl($spec); -+ -+ print "Spec '$spec' led to perl '$code'\n"; + no warnings; - return eval 'sub { my $page=shift; '.$code.' }'; @@ -226,23 +238,23 @@ index e476521..07b71d7 100644 } #}}} sub pagespec_match ($$;@) { #{{{ -@@ -1673,7 +1692,7 @@ sub pagespec_match ($$;@) { #{{{ +@@ -1673,7 +1699,7 @@ sub pagespec_match ($$;@) { #{{{ my $sub=pagespec_translate($spec); return IkiWiki::FailReason->new("syntax error in pagespec \"$spec\"") if $@; - return $sub->($page, @params); -+ return $sub->($page, {}, @params); ++ return $sub->({}, $page, @params); } #}}} sub pagespec_valid ($) { #{{{ -@@ -1722,13 +1741,77 @@ sub new { #{{{ +@@ -1722,11 +1748,71 @@ sub new { #{{{ package IkiWiki::PageSpec; -sub match_glob ($$;@) { #{{{ +sub check_named_spec($$$;@) { -+ my $page=shift; + my $specFuncsRef=shift; ++ my $page=shift; + my $specName=shift; + my %params=@_; + @@ -250,24 +262,23 @@ index e476521..07b71d7 100644 + unless (substr($specName, 0, 1) eq '~'); + + $specName = substr($specName, 1); -+ print "Checking pagespec named $specName against page $page\n"; ++ + if (exists $specFuncsRef->{$specName}) { + # remove the named spec from the spec refs + # when we recurse to avoid infinite recursion + my $sub = $specFuncsRef->{$specName}; + $specFuncsRef->{$specName} = undef; -+ my $result = $sub->($page, $specFuncsRef, %params); ++ my $result = $sub->($specFuncsRef, $page, %params); + $specFuncsRef->{$specName} = $sub; + return $result; + } else { -+ print "Couldn't find pagespec\n"; -+ return IkiWiki::FailReason->new("Page spec $specName does not exist"); ++ return IkiWiki::FailReason->new("Page spec '$specName' does not exist"); + } +} + +sub check_named_spec_existential($$$$;@) { -+ my $page=shift; + my $specFuncsRef=shift; ++ my $page=shift; + my $specName=shift; + my $funcref=shift; + my %params=@_; @@ -276,8 +287,6 @@ index e476521..07b71d7 100644 + unless (substr($specName, 0, 1) eq '~'); + $specName = substr($specName, 1); + -+ print "Checking (existential) pagespec named $specName against page $page\n"; -+ + if (exists $specFuncsRef->{$specName}) { + # remove the named spec from the spec refs + # when we recurse to avoid infinite recursion @@ -285,150 +294,136 @@ index e476521..07b71d7 100644 + $specFuncsRef->{$specName} = undef; + + foreach my $nextpage (keys %IkiWiki::pagesources) { -+ print "Checking $nextpage against $specName\n"; -+ if ($sub->($nextpage, $specFuncsRef, %params)) { -+ print "Match! Checking spec $nextpage against function from original page $page\n"; -+ my $tempResult = $funcref->($page, $specFuncsRef, $nextpage, %params); ++ if ($sub->($specFuncsRef, $nextpage, %params)) { ++ my $tempResult = $funcref->($specFuncsRef, $page, $nextpage, %params); + return $tempResult if ($tempResult); + } + } + + $specFuncsRef->{$specName} = $sub; -+ return IkiWiki::FailReason->new("No page in spec $specName was successfully matched"); ++ return IkiWiki::FailReason->new("No page in spec '$specName' was successfully matched"); + } else { -+ print "Couldn't find pagespec\n"; -+ return IkiWiki::FailReason->new("Page spec $specName does not exist"); ++ return IkiWiki::FailReason->new("Named page spec '$specName' does not exist"); + } +} + +sub match_glob ($$$;@) { #{{{ - my $page=shift; + my $specFuncsRef=shift; + my $page=shift; my $glob=shift; my %params=@_; - my $from=exists $params{location} ? $params{location} : ''; - -+ print "Matching glob $glob \n"; -+ - # relative matching - if ($glob =~ m!^\./!) { - $from=~s#/?[^/]+$##; -@@ -1736,6 +1819,10 @@ sub match_glob ($$;@) { #{{{ - $glob="$from/$glob" if length $from; - } - + if (substr($glob, 0, 1) eq '~') { -+ return check_named_spec($page, $specFuncsRef, $glob); ++ return check_named_spec($specFuncsRef, $page, $glob); + } + - my $regexp=IkiWiki::glob2re($glob); - if ($page=~/^$regexp$/i) { - if (! IkiWiki::isinternal($page) || $params{internal}) { -@@ -1750,17 +1837,29 @@ sub match_glob ($$;@) { #{{{ + my $from=exists $params{location} ? $params{location} : ''; + + # relative matching +@@ -1750,17 +1836,23 @@ sub match_glob ($$;@) { #{{{ } } #}}} -sub match_internal ($$;@) { #{{{ - return match_glob($_[0], $_[1], @_, internal => 1) +sub match_internal ($$$;@) { #{{{ -+ my $page=shift; -+ my $specFuncsRef=shift; -+ my $glob=shift; -+ -+ return match_glob($page, $specFuncsRef, $glob, @_, internal => 1) ++ return match_glob(shift, shift, shift, @_, internal => 1) } #}}} -sub match_link ($$;@) { #{{{ +sub match_link ($$$;@) { #{{{ ++ my $specFuncsRef=shift; my $page=shift; - my $link=lc(shift); -+ my $specFuncsRef=shift; + my $fulllink=shift; + my $link=lc($fulllink); my %params=@_; -+ print "Matching link $fulllink \n"; -+ - my $from=exists $params{location} ? $params{location} : ''; - +- my $from=exists $params{location} ? $params{location} : ''; + if (substr($fulllink, 0, 1) eq '~') { -+ return check_named_spec_existential($page, $specFuncsRef, $fulllink, \&match_link); ++ return check_named_spec_existential($specFuncsRef, $page, $fulllink, \&match_link); + } -+ + ++ my $from=exists $params{location} ? $params{location} : ''; ++ # relative matching if ($link =~ m!^\.! && defined $from) { $from=~s#/?[^/]+$##; -@@ -1784,12 +1883,16 @@ sub match_link ($$;@) { #{{{ +@@ -1778,17 +1870,21 @@ sub match_link ($$;@) { #{{{ + } + else { + return IkiWiki::SuccessReason->new("$page links to page $p matching $link") +- if match_glob($p, $link, %params); ++ if match_glob($specFuncsRef, $p, $link, %params); + } + } return IkiWiki::FailReason->new("$page does not link to $link"); } #}}} -sub match_backlink ($$;@) { #{{{ - return match_link($_[1], $_[0], @_); +sub match_backlink ($$$;@) { #{{{ -+ my $page=shift; + my $specFuncsRef=shift; ++ my $page=shift; + my $backlink=shift; -+ return match_link($backlink, $specFuncsRef, $page, @_); ++ return match_link($specFuncsRef, $backlink, $page, @_); } #}}} -sub match_created_before ($$;@) { #{{{ +sub match_created_before ($$$;@) { #{{{ - my $page=shift; + my $specFuncsRef=shift; + my $page=shift; my $testpage=shift; - if (exists $IkiWiki::pagectime{$testpage}) { -@@ -1805,8 +1908,9 @@ sub match_created_before ($$;@) { #{{{ +@@ -1805,7 +1901,8 @@ sub match_created_before ($$;@) { #{{{ } } #}}} -sub match_created_after ($$;@) { #{{{ +sub match_created_after ($$$;@) { #{{{ - my $page=shift; + my $specFuncsRef=shift; + my $page=shift; my $testpage=shift; - if (exists $IkiWiki::pagectime{$testpage}) { -@@ -1822,8 +1926,12 @@ sub match_created_after ($$;@) { #{{{ +@@ -1822,8 +1919,12 @@ sub match_created_after ($$;@) { #{{{ } } #}}} -sub match_creation_day ($$;@) { #{{{ - if ((gmtime($IkiWiki::pagectime{shift()}))[3] == shift) { +sub match_creation_day ($$$;@) { #{{{ -+ my $page=shift; + shift; ++ my $page=shift; + my $time=shift; + + if ((gmtime($IkiWiki::pagectime{$page}))[3] == $time) { return IkiWiki::SuccessReason->new('creation_day matched'); } else { -@@ -1831,8 +1939,12 @@ sub match_creation_day ($$;@) { #{{{ +@@ -1831,8 +1932,12 @@ sub match_creation_day ($$;@) { #{{{ } } #}}} -sub match_creation_month ($$;@) { #{{{ - if ((gmtime($IkiWiki::pagectime{shift()}))[4] + 1 == shift) { +sub match_creation_month ($$$;@) { #{{{ -+ my $page=shift; + shift; ++ my $page=shift; + my $time=shift; + + if ((gmtime($IkiWiki::pagectime{$page}))[4] + 1 == $time) { return IkiWiki::SuccessReason->new('creation_month matched'); } else { -@@ -1840,8 +1952,12 @@ sub match_creation_month ($$;@) { #{{{ +@@ -1840,8 +1945,12 @@ sub match_creation_month ($$;@) { #{{{ } } #}}} -sub match_creation_year ($$;@) { #{{{ - if ((gmtime($IkiWiki::pagectime{shift()}))[5] + 1900 == shift) { +sub match_creation_year ($$$;@) { #{{{ -+ my $page=shift; + shift; ++ my $page=shift; + my $time=shift; + + if ((gmtime($IkiWiki::pagectime{$page}))[5] + 1900 == $time) { @@ -460,7 +455,7 @@ index f1f792a..a410e48 100644 my $ip=shift; my %params=@_; diff --git a/IkiWiki/Plugin/conditional.pm b/IkiWiki/Plugin/conditional.pm -index 7716fce..2110ca0 100644 +index 7716fce..c0dbb50 100644 --- a/IkiWiki/Plugin/conditional.pm +++ b/IkiWiki/Plugin/conditional.pm @@ -70,7 +70,8 @@ sub preprocess_if (@) { #{{{ @@ -479,14 +474,14 @@ index 7716fce..2110ca0 100644 -sub match_sourcepage ($$;@) { #{{{ +sub match_sourcepage ($$$;@) { #{{{ - shift; + my $specFuncsRef=shift; + shift; my $glob=shift; my %params=@_; return IkiWiki::FailReason->new("cannot match sourcepage") unless exists $params{sourcepage}; - if (match_glob($params{sourcepage}, $glob, @_)) { -+ if (match_glob($params{sourcepage}, $specFuncsRef, $glob, @_)) { ++ if (match_glob($specFuncsRef, $params{sourcepage}, $glob, @_)) { return IkiWiki::SuccessReason->new("sourcepage matches $glob"); } else { @@ -496,14 +491,14 @@ index 7716fce..2110ca0 100644 -sub match_destpage ($$;@) { #{{{ +sub match_destpage ($$$;@) { #{{{ - shift; + my $specFuncsRef=shift; + shift; my $glob=shift; my %params=@_; return IkiWiki::FailReason->new("cannot match destpage") unless exists $params{destpage}; - if (match_glob($params{destpage}, $glob, @_)) { -+ if (match_glob($params{destpage}, $specFuncsRef, $glob, @_)) { ++ if (match_glob($specFuncsRef, $params{destpage}, $glob, @_)) { return IkiWiki::SuccessReason->new("destpage matches $glob"); } else { @@ -518,53 +513,49 @@ index 7716fce..2110ca0 100644 shift; my %params=@_; diff --git a/IkiWiki/Plugin/filecheck.pm b/IkiWiki/Plugin/filecheck.pm -index 6f71be3..bf472c5 100644 +index 6f71be3..3592342 100644 --- a/IkiWiki/Plugin/filecheck.pm +++ b/IkiWiki/Plugin/filecheck.pm -@@ -66,8 +66,9 @@ sub humansize ($) { #{{{ +@@ -66,7 +66,8 @@ sub humansize ($) { #{{{ package IkiWiki::PageSpec; -sub match_maxsize ($$;@) { #{{{ +sub match_maxsize ($$$;@) { #{{{ - my $page=shift; + shift; + my $page=shift; my $maxsize=eval{IkiWiki::Plugin::attachment::parsesize(shift)}; if ($@) { - return IkiWiki::FailReason->new("unable to parse maxsize (or number too large)"); -@@ -87,8 +88,9 @@ sub match_maxsize ($$;@) { #{{{ +@@ -87,7 +88,8 @@ sub match_maxsize ($$;@) { #{{{ } } #}}} -sub match_minsize ($$;@) { #{{{ +sub match_minsize ($$$;@) { #{{{ - my $page=shift; + shift; + my $page=shift; my $minsize=eval{IkiWiki::Plugin::attachment::parsesize(shift)}; if ($@) { - return IkiWiki::FailReason->new("unable to parse minsize (or number too large)"); -@@ -108,8 +110,9 @@ sub match_minsize ($$;@) { #{{{ +@@ -108,7 +110,8 @@ sub match_minsize ($$;@) { #{{{ } } #}}} -sub match_mimetype ($$;@) { #{{{ +sub match_mimetype ($$$;@) { #{{{ - my $page=shift; + shift; + my $page=shift; my $wanted=shift; - my %params=@_; -@@ -138,8 +141,9 @@ sub match_mimetype ($$;@) { #{{{ +@@ -138,7 +141,8 @@ sub match_mimetype ($$;@) { #{{{ } } #}}} -sub match_virusfree ($$;@) { #{{{ +sub match_virusfree ($$$;@) { #{{{ - my $page=shift; + shift; + my $page=shift; my $wanted=shift; - my %params=@_; @@ -180,7 +184,7 @@ sub match_virusfree ($$;@) { #{{{ } } #}}} @@ -575,17 +566,17 @@ index 6f71be3..bf472c5 100644 if (defined IkiWiki::pagetype($filename)) { diff --git a/IkiWiki/Plugin/meta.pm b/IkiWiki/Plugin/meta.pm -index b2c85c8..1ee6a69 100644 +index b2c85c8..788f248 100644 --- a/IkiWiki/Plugin/meta.pm +++ b/IkiWiki/Plugin/meta.pm -@@ -264,6 +264,7 @@ sub pagetemplate (@) { #{{{ +@@ -263,6 +263,7 @@ sub pagetemplate (@) { #{{{ + sub match { #{{{ my $field=shift; - my $page=shift; + shift; + my $page=shift; # turn glob into a safe regexp - my $re=IkiWiki::glob2re(shift); @@ -291,23 +292,23 @@ sub match { #{{{ package IkiWiki::PageSpec; -- cgit v1.2.3