2 # -----------------------------------------------------------------------------
6 die "$0: must be run from top-level directory.\n"
7 unless (-r
"configure.ac" &&
15 if ($ARGV[0] =~ /^--doit/) {
16 # Nothing -- this is now the default
17 } elsif ($ARGV[0] =~ /^--test/) {
26 my $oldname = $ARGV[0];
27 my $newname = $ARGV[1];
28 if (defined ($oldname) && !defined ($newname)) {
30 if ($oldname =~ /^_?[A-Z].*[a-z]/) {
31 $newname =~ s/(_*)/$1Gnm/;
32 } elsif ($oldname =~ /^[a-z0-9_]+$/) {
33 $newname =~ s/(_*)/$1gnm_/;
34 } elsif ($oldname =~ /^[A-Z0-9_]+$/) {
35 $newname =~ s/(_*)/$1GNM_/;
38 die "Usage $0 oldname newname\n" unless $oldname && $newname;
39 die "$0: oldname and newname must be different\n" if $oldname eq $newname;
41 my @files = &find_files
();
44 &do_files
(\
@files, 1);
47 print STDERR
"Renaming $oldname to $newname\n";
48 &do_files
(\
@files, 0);
51 # -----------------------------------------------------------------------------
58 'gnumeric-config.h' => 1,
60 'src/dialogs/embedded-ui.c' => 1,
64 open (*FIL
, "find . '(' -name '*.[chy]' -type f -print ')' -o " .
65 "'(' -type d '(' -name intl -o -name macros -o -name .git -o -name win32 ')' -prune ')' |") or
66 die "$0: Cannot run find command.\n";
71 next if $generated{$_};
80 # -----------------------------------------------------------------------------
83 my ($pfiles,$test) = @_;
85 foreach my $filename (@
$pfiles) {
89 # print STDERR "Scanning $filename...\n";
90 my $newfilename = "$filename.new";
92 open (*SRC
, "<$filename") || die "$0: Cannot read $filename: $!\n";
94 open (*DST
, ">$newfilename") || die "$0: Cannot write $newfilename: $!\n";
101 foreach my $line (<SRC
>) {
102 my $linecopy = $line;
103 $line =~ s/\b$oldname\b/$newname/g;
104 $line =~ s/\b$newname\b/$oldname/g;
105 if ($line ne $linecopy) {
107 die "$0: Rename clash in $filename, line $lineno: $linecopy <-> $line\n";
112 foreach my $line (<SRC
>) {
113 $didit = 1 if $line =~ s/\b$oldname\b/$newname/g;
122 rename $newfilename, $filename;
130 # -----------------------------------------------------------------------------