* Detect invalid pagespecs and do not merge them in add_depends,

as that can result in a broken merged pagespec that matches nothing.
master
Joey Hess 2008-03-17 14:04:59 -04:00
parent 6ce7454cc3
commit 8a29361c32
2 changed files with 15 additions and 0 deletions

View File

@ -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;
}
@ -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 ( #{{{

2
debian/changelog vendored
View File

@ -45,6 +45,8 @@ ikiwiki (2.41) UNRELEASED; urgency=low
* external: Add getargv and setargv methods to allow access to ikiwiki's
@ARGV.
* Correct bug in encoding of %pagestate keys, fixes edittemplate.
* Detect invalid pagespecs and do not merge them in add_depends,
as that can result in a broken merged pagespec that matches nothing.
-- martin f. krafft <madduck@debian.org> Sun, 02 Mar 2008 17:46:38 +0100