Fix #if/#else bug introduced with MACOS_TRADITIONAL patches in change 9479.
[p5sagit/p5-mst-13.2.git] / keywords.pl
index eb0c0af..6ede805 100755 (executable)
@@ -2,10 +2,9 @@
 use strict;
 
 require 'regen_lib.pl';
-safer_unlink ("keywords.h");
-open(KW, ">keywords.h") || die "Can't create keywords.h: $!\n";
-binmode KW;
-select KW;
+
+my $kw = safer_open("keywords.h-new");
+select $kw;
 
 print <<EOM;
 /* -*- buffer-read-only: t -*-
@@ -35,9 +34,11 @@ while (<DATA>) {
     print &tab(5, "#define KEY_$keyword"), $keynum++, "\n";
 }
 
-print KW "\n/* ex: set ro: */\n";
+print $kw "\n/* ex: set ro: */\n";
+
+safer_close($kw);
 
-close KW or die "Error closing keywords.h: $!";
+rename_if_different("keywords.h-new", "keywords.h");
 
 ###########################################################################
 sub tab {