summaryrefslogtreecommitdiffstats
path: root/src/script/fix_modeline.pl
diff options
context:
space:
mode:
Diffstat (limited to 'src/script/fix_modeline.pl')
-rwxr-xr-xsrc/script/fix_modeline.pl29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/script/fix_modeline.pl b/src/script/fix_modeline.pl
new file mode 100755
index 000000000..8eadde9b5
--- /dev/null
+++ b/src/script/fix_modeline.pl
@@ -0,0 +1,29 @@
+#!/usr/bin/perl
+
+use strict;
+my $fn = shift @ARGV;
+my $old = `cat $fn`;
+my $header = `cat doc/modeline.txt`;
+
+# strip existing modeline
+my $new = $old;
+$new =~ s/^\/\/ \-\*\- ([^\n]+) \-\*\-([^\n]*)\n//s; # emacs
+$new =~ s/^\/\/ vim: ([^\n]*)\n//s; # vim;
+$new =~ s/^\/\/ \-\*\- ([^\n]+) \-\*\-([^\n]*)\n//s; # emacs
+$new =~ s/^\/\/ vim: ([^\n]*)\n//s; # vim;
+$new =~ s/^\/\/ \-\*\- ([^\n]+) \-\*\-([^\n]*)\n//s; # emacs
+$new =~ s/^\/\/ vim: ([^\n]*)\n//s; # vim;
+
+# add correct header
+$new = $header . $new;
+
+if ($new ne $old) {
+ print "$fn\n";
+ open(O, ">$fn.new");
+ print O $new;
+ close O;
+ system "diff $fn $fn.new";
+ rename "$fn.new", $fn;
+ #unlink "$fn.new";
+}
+