Consistently allow use of relative paths in all PageSpecs that take a page name param...
authorJoey Hess <joey@gnu.kitenet.net>
Sat, 10 Jan 2009 19:36:03 +0000 (14:36 -0500)
committerJoey Hess <joey@gnu.kitenet.net>
Sat, 10 Jan 2009 19:36:03 +0000 (14:36 -0500)
IkiWiki.pm
IkiWiki/Plugin/conditional.pm
debian/changelog
doc/todo/relative_pagespec_deficiency.mdwn

index 892b5b5a8863f7054995a3ae46708a1cbc04d182..4601d8590388d36cc2fc2aebca70318dfefa53ce 100644 (file)
@@ -1880,6 +1880,9 @@ sub match_backlink ($$;@) {
 sub match_created_before ($$;@) {
        my $page=shift;
        my $testpage=shift;
 sub match_created_before ($$;@) {
        my $page=shift;
        my $testpage=shift;
+       my %params=@_;
+       
+       $testpage=derel($testpage, $params{location});
 
        if (exists $IkiWiki::pagectime{$testpage}) {
                if ($IkiWiki::pagectime{$page} < $IkiWiki::pagectime{$testpage}) {
 
        if (exists $IkiWiki::pagectime{$testpage}) {
                if ($IkiWiki::pagectime{$page} < $IkiWiki::pagectime{$testpage}) {
@@ -1897,6 +1900,9 @@ sub match_created_before ($$;@) {
 sub match_created_after ($$;@) {
        my $page=shift;
        my $testpage=shift;
 sub match_created_after ($$;@) {
        my $page=shift;
        my $testpage=shift;
+       my %params=@_;
+       
+       $testpage=derel($testpage, $params{location});
 
        if (exists $IkiWiki::pagectime{$testpage}) {
                if ($IkiWiki::pagectime{$page} > $IkiWiki::pagectime{$testpage}) {
 
        if (exists $IkiWiki::pagectime{$testpage}) {
                if ($IkiWiki::pagectime{$page} > $IkiWiki::pagectime{$testpage}) {
index 4f3577b34fe7807f11762d80d971f9f1357f5f6f..7445dbdad71420bb4228f573543ac673732b197c 100644 (file)
@@ -87,6 +87,8 @@ sub match_sourcepage ($$;@) {
        shift;
        my $glob=shift;
        my %params=@_;
        shift;
        my $glob=shift;
        my %params=@_;
+       
+       $glob=derel($glob, $params{location});
 
        return IkiWiki::FailReason->new("cannot match sourcepage") unless exists $params{sourcepage};
        if (match_glob($params{sourcepage}, $glob, @_)) {
 
        return IkiWiki::FailReason->new("cannot match sourcepage") unless exists $params{sourcepage};
        if (match_glob($params{sourcepage}, $glob, @_)) {
@@ -102,6 +104,8 @@ sub match_destpage ($$;@) {
        my $glob=shift;
        my %params=@_;
        
        my $glob=shift;
        my %params=@_;
        
+       $glob=derel($glob, $params{location});
+
        return IkiWiki::FailReason->new("cannot match destpage") unless exists $params{destpage};
        if (match_glob($params{destpage}, $glob, @_)) {
                return IkiWiki::SuccessReason->new("destpage matches $glob");
        return IkiWiki::FailReason->new("cannot match destpage") unless exists $params{destpage};
        if (match_glob($params{destpage}, $glob, @_)) {
                return IkiWiki::SuccessReason->new("destpage matches $glob");
index 61aee299d655f6cbf0901fb956f88e44fad09e03..13ef9afed30dbb39ea6e347b0213fdbdea9fc5e1 100644 (file)
@@ -8,6 +8,10 @@ ikiwiki (3.02) UNRELEASED; urgency=low
   * goodstuff: Include repolist by default. (But it does nothing until
     configured with the repository locations.)
   * comments: Add support for removing comments via web interface. (smcv)
   * goodstuff: Include repolist by default. (But it does nothing until
     configured with the repository locations.)
   * comments: Add support for removing comments via web interface. (smcv)
+  * Consistently allow use of relative paths in all PageSpecs
+    that take a page name parameter. Previously, match_created_before(),
+    match_created_after(), match_sourcepage(), and match_destpage()
+    did not support that, and the docs were not clear.
 
  -- Joey Hess <joeyh@debian.org>  Tue, 06 Jan 2009 15:02:52 -0500
 
 
  -- Joey Hess <joeyh@debian.org>  Tue, 06 Jan 2009 15:02:52 -0500
 
index 9fdfe74b150c1f5f247a14ec21d44958c6d09fbf..4500581c760c1ae20ef78858c6c87d7422cbdd96 100644 (file)
@@ -4,3 +4,5 @@ such as `bdale/blog`, you cannot do
 references.
 
 The other pagespec functions should too, where appropriate.
 references.
 
 The other pagespec functions should too, where appropriate.
+
+[[done]]