]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki/Render.pm
(no commit message)
[git.ikiwiki.info.git] / IkiWiki / Render.pm
index a90d202eef0c10fd480b00459c1238f58052b094..58b374ad75c10896f06bb2105475c86b6747b40d 100644 (file)
@@ -770,9 +770,17 @@ sub refresh () {
        my ($new, $internal_new)=find_new_files($files);
        my ($del, $internal_del)=find_del_files($pages);
        my ($changed, $internal_changed)=find_changed($files);
        my ($new, $internal_new)=find_new_files($files);
        my ($del, $internal_del)=find_del_files($pages);
        my ($changed, $internal_changed)=find_changed($files);
+       my %existingfiles;
        run_hooks(needsbuild => sub {
                my $ret=shift->($changed, [@$del, @$internal_del]);
        run_hooks(needsbuild => sub {
                my $ret=shift->($changed, [@$del, @$internal_del]);
-               $changed=$ret if ref $ret eq 'ARRAY';
+               if (ref $ret eq 'ARRAY' && $ret != $changed) {
+                       if (! %existingfiles) {
+                               foreach my $f (@$files) {
+                                       $existingfiles{$f}=1;
+                               }
+                       }
+                       @$changed=grep $existingfiles{$_}, @$ret;
+               }
        });
        my $oldlink_targets=calculate_old_links($changed, $del);
 
        });
        my $oldlink_targets=calculate_old_links($changed, $del);