diff --git a/gobject/glib-mkenums.in b/gobject/glib-mkenums.in index 219a16615..9316e57f5 100755 --- a/gobject/glib-mkenums.in +++ b/gobject/glib-mkenums.in @@ -19,6 +19,7 @@ my $option_lowercase_name; # DEPRECATED. A lower case name to use as part # uses abnormal capitalization and we can not # guess where to put the underscores. my $seenbitshift; # Have we seen bitshift operators? +my $seenprivate; # Have we seen a private option? my $enum_prefix; # Prefix for this enumeration my $enumname; # Name for this enumeration my $enumshort; # $enumname without prefix @@ -115,6 +116,8 @@ sub parse_entries { $seenbitshift = 1; } + next if $seenprivate; + if (defined $options) { my %options = parse_trigraph($options); if (!defined $options{skip}) { @@ -125,6 +128,21 @@ sub parse_entries { } } elsif (m@^\s*\#@) { # ignore preprocessor directives + } elsif (m@^\s* + /\*< (([^*]|\*(?!/))*) >\s*\*/ + \s*$ + @x) { + my ($options) = ($1); + + if (defined $options) { + my %options = parse_trigraph($options); + if (defined $options{private}) { + $seenprivate = 1; + } + elsif (defined $options{public}) { + $seenprivate = 0; + } + } } else { print STDERR "$0: $file_name:$.: Failed to parse `$_'\n"; } @@ -353,6 +371,7 @@ while (<>) { } $seenbitshift = 0; + $seenprivate = 0; @entries = (); # Now parse the entries