]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki.pm
expand the set of things that can be matched contentless
[ikiwiki.git] / IkiWiki.pm
index 56e2d4e714466931c76c5a62cf8e591a86ec6a60..5e5dc739d2696cce58374c2717b453d104521f11 100644 (file)
@@ -1771,18 +1771,19 @@ sub add_depends ($$;@) {
        my $page=shift;
        my $pagespec=shift;
 
+       my $simple=$pagespec =~ /$config{wiki_file_regexp}/ &&
+               $pagespec !~ /[\s*?()!]/;
+
        my $deptype=$DEPEND_CONTENT | $DEPEND_EXISTS;
        if (@_) {
                my %params=@_;
                if (defined $params{content} && $params{content} == 0 &&
-                   pagespec_contentless($pagespec)) {
+                   ($simple || pagespec_contentless($pagespec))) {
                        $deptype=$deptype & ~$DEPEND_CONTENT;
                }
        }
 
-       if ($pagespec =~ /$config{wiki_file_regexp}/ &&
-               $pagespec !~ /[\s*?()!]/) {
-               # a simple dependency, which can be matched by string eq
+       if ($simple) {
                $depends_simple{$page}{lc $pagespec} |= $deptype;
                return 1;
        }
@@ -1981,9 +1982,7 @@ sub pagespec_contentless ($) {
        while ($spec=~m{
                (\w+)\([^\)]*\) # only match pagespec functions
        }igx) {
-               # only glob and internal can be matched contentless
-               # (first approximation)
-               return 0 if $1 ne "glob" && $1 ne "internal";
+               return 0 unless $1=~/^(glob|internal|creation_month|creation_day|creation_year|created_before|created_after)$/;
        }
 
        return 1;