# Information about the current enumeration
my $flags; # Is enumeration a bitmask
-my $seenbitshift; # Have we seen bitshift operators?
+my $seenbitshift; # Have we seen bitshift operators?
my $prefix; # Prefix for this enumeration
my $enumname; # Name for this enumeration
my $firstenum = 1; # Is this the first enumeration in file?
# Handle include files
if (/^\#include\s*<([^>]*)>/ ) {
- my $file= "$ENV{'srcdir'}/../$1";
+ my $file= "../$1";
open NEWFILE, $file or die "Cannot open include file $file: $!\n";
if (parse_entries (\*NEWFILE)) {
print ")\n";
} else {
- ($valuename = $enumname) =~ s/([A-Z][a-z])/_$1/g;
- $valuename =~ s/([a-z])([A-Z])/$1_$2/g;
- $valuename = lc($valuename);
+ my $valuename = $enumname;
+ $valuename =~ s/([^A-Z])([A-Z])/$1_$2/g;
+ $valuename =~ s/([A-Z][A-Z])([A-Z][0-9a-z])/$1_$2/g;
+ $valuename = lc($valuename);
- print "static GtkEnumValue $ {valuename}_values[] = {\n";
+ print "static const GtkEnumValue _${valuename}_values[] = {\n";
for (@entries) {
my ($name,$nick) = @{$_};
print qq( { $name, "$name", "$nick" },\n);