]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki.pm
improve comment
[git.ikiwiki.info.git] / IkiWiki.pm
index cdc0ab74e76e9e541f17887a12d286f75aea773a..fc4e044d0c944cea010e7a02126eba45816f6422 100644 (file)
@@ -658,7 +658,7 @@ sub linkify ($$$) { #{{{
        run_hooks(linkify => sub {
                $content=shift->(
                        page => $page,
-                       destpage => $page,
+                       destpage => $destpage,
                        content => $content,
                );
        });
@@ -962,7 +962,7 @@ sub saveindex () { #{{{
                if (exists $pagestate{$page}) {
                        foreach my $id (@hookids) {
                                foreach my $key (keys %{$pagestate{$page}{$id}}) {
-                                       $line.=' '.$id.'_'.encode_entities($key)."=".encode_entities($pagestate{$page}{$id}{$key}, " \t\n");
+                                       $line.=' '.$id.'_'.encode_entities($key, " \t\n")."=".encode_entities($pagestate{$page}{$id}{$key}, " \t\n");
                                }
                        }
                }
@@ -1106,6 +1106,8 @@ sub add_depends ($$) { #{{{
        my $page=shift;
        my $pagespec=shift;
        
+       return unless pagespec_valid($pagespec);
+
        if (! exists $depends{$page}) {
                $depends{$page}=$pagespec;
        }
@@ -1167,7 +1169,7 @@ sub pagespec_merge ($$) { #{{{
 } #}}}
 
 sub pagespec_translate ($) { #{{{
-       # This assumes that $page is in scope in the function
+       # This assumes that $page and @params are in scope in the function
        # that evalulates the translated pagespec code.
        my $spec=shift;
 
@@ -1234,6 +1236,17 @@ sub pagespec_match ($$;@) { #{{{
        return $ret;
 } #}}}
 
+sub pagespec_valid ($) { #{{{
+       my $spec=shift;
+
+       # used by generated code
+       my $page="";
+       my @params;
+
+       eval pagespec_translate($spec);
+       return ! $@;
+} #}}}
+
 package IkiWiki::FailReason;
 
 use overload ( #{{{