X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/2111bf0408620a307c8c0373489ef34ca6626fd2..0db4d920aafa0c7a6b53c59e2605230134ed45eb:/IkiWiki/Render.pm

diff --git a/IkiWiki/Render.pm b/IkiWiki/Render.pm
index 1114e05c8..0e5336f22 100644
--- a/IkiWiki/Render.pm
+++ b/IkiWiki/Render.pm
@@ -431,7 +431,7 @@ sub remove_del (@) {
 	foreach my $file (@_) {
 		my $page=pagename($file);
 		if (! isinternal($page)) {
-			debug(sprintf(gettext("removing old page %s"), $page));
+			debug(sprintf(gettext("removing obsolete %s"), $page));
 		}
 	
 		foreach my $old (@{$oldrenderedfiles{$page}}) {
@@ -526,7 +526,7 @@ sub link_types_changed ($$) {
 	my $old = shift;
 
 	return 0 if !defined $new && !defined $old;
-	return 1 if !defined $new || !defined $old;
+	return 1 if (!defined $new && %$old) || (!defined $old && %$new);
 
 	while (my ($type, $links) = each %$new) {
 		foreach my $link (keys %$links) {
@@ -634,34 +634,35 @@ sub render_dependent ($$$$$$$) {
 							if ($type == $IkiWiki::DEPEND_LINKS) {
 								next unless $linkchangers->{lc($page)};
 							}
-							return $page;
+							$reason=$page;
+							return 1;
 						}
 					}
 					return undef;
 				};
 
 				if ($depends{$p}{$dep} & $IkiWiki::DEPEND_CONTENT) {
-					last if $reason =
-						$in->(\@changed, $IkiWiki::DEPEND_CONTENT);
-					last if $internal_dep && ($reason =
+					last if $in->(\@changed, $IkiWiki::DEPEND_CONTENT);
+					last if $internal_dep && (
 						$in->($internal_new, $IkiWiki::DEPEND_CONTENT) ||
 						$in->($internal_del, $IkiWiki::DEPEND_CONTENT) ||
-						$in->($internal_changed, $IkiWiki::DEPEND_CONTENT));
+						$in->($internal_changed, $IkiWiki::DEPEND_CONTENT)
+					);
 				}
 				if ($depends{$p}{$dep} & $IkiWiki::DEPEND_PRESENCE) {
-					last if $reason = 
-						$in->(\@exists_changed, $IkiWiki::DEPEND_PRESENCE);
-					last if $internal_dep && ($reason =
+					last if $in->(\@exists_changed, $IkiWiki::DEPEND_PRESENCE);
+					last if $internal_dep && (
 						$in->($internal_new, $IkiWiki::DEPEND_PRESENCE) ||
-						$in->($internal_del, $IkiWiki::DEPEND_PRESENCE));
+						$in->($internal_del, $IkiWiki::DEPEND_PRESENCE)
+					);
 				}
 				if ($depends{$p}{$dep} & $IkiWiki::DEPEND_LINKS) {
-					last if $reason =
-						$in->(\@changed, $IkiWiki::DEPEND_LINKS);
-					last if $internal_dep && ($reason =
+					last if $in->(\@changed, $IkiWiki::DEPEND_LINKS);
+					last if $internal_dep && (
 						$in->($internal_new, $IkiWiki::DEPEND_LINKS) ||
 						$in->($internal_del, $IkiWiki::DEPEND_LINKS) ||
-						$in->($internal_changed, $IkiWiki::DEPEND_LINKS));
+						$in->($internal_changed, $IkiWiki::DEPEND_LINKS)
+					);
 				}
 			}
 		}