regen/overload.pl should use rename_if_different() for lib/overload/numbers.pm
authorNicholas Clark <nick@ccl4.org>
Sun, 23 Jan 2011 07:35:47 +0000 (07:35 +0000)
committerNicholas Clark <nick@ccl4.org>
Sun, 23 Jan 2011 07:35:47 +0000 (07:35 +0000)
It was the only file generated by any of the regen/*.pl scripts which was
always written out directly, instead of first creating a temporary file, and
only moving that if successfully generated (and different).

regen/overload.pl
t/porting/regen.t

index 343629f..d01348a 100644 (file)
@@ -30,11 +30,10 @@ while (<DATA>) {
   push @names, $name;
 }
 
-safer_unlink ('lib/overload/numbers.pm');
 my $c = safer_open("overload.c-new");
 my $h = safer_open("overload.h-new");
 mkdir("lib/overload", 0777) unless -d 'lib/overload';
-my $p = safer_open('lib/overload/numbers.pm');
+my $p = safer_open('lib/overload/numbers.pm-new');
 
 
 select $p;
@@ -135,6 +134,7 @@ safer_close($c);
 safer_close($p);
 rename_if_different("overload.c-new", "overload.c");
 rename_if_different("overload.h-new","overload.h");
+rename_if_different('lib/overload/numbers.pm-new', 'lib/overload/numbers.pm');
 
 __DATA__
 # Fallback should be the first
index 9699d55..810aa35 100644 (file)
@@ -18,6 +18,6 @@ $ENV{PERL5LIB} = rel2abs($lib);
 
 chdir '..' if $in_t;
 
-print "1..17\n"; # I can't see a clean way to calculate this automatically.
+print "1..18\n"; # I can't see a clean way to calculate this automatically.
 
 system "$^X regen.pl --tap";