optimize for common case where list is not changed
authorJoey Hess <joey@kitenet.net>
Wed, 10 Jul 2013 21:40:33 +0000 (17:40 -0400)
committerJoey Hess <joey@kitenet.net>
Wed, 10 Jul 2013 21:40:33 +0000 (17:40 -0400)
IkiWiki/Render.pm

index c41dac9f6aa775e89081545e7f294b361a53a501..58b374ad75c10896f06bb2105475c86b6747b40d 100644 (file)
@@ -773,7 +773,7 @@ sub refresh () {
        my %existingfiles;
        run_hooks(needsbuild => sub {
                my $ret=shift->($changed, [@$del, @$internal_del]);
        my %existingfiles;
        run_hooks(needsbuild => sub {
                my $ret=shift->($changed, [@$del, @$internal_del]);
-               if (ref $ret eq 'ARRAY') {
+               if (ref $ret eq 'ARRAY' && $ret != $changed) {
                        if (! %existingfiles) {
                                foreach my $f (@$files) {
                                        $existingfiles{$f}=1;
                        if (! %existingfiles) {
                                foreach my $f (@$files) {
                                        $existingfiles{$f}=1;