chomp;
if (/^---/) { $st = NEWPKG; }
elsif ($st eq NEWPKG && /^Package `[-\w]+'/) { $st = LIST; }
- elsif ($st eq LIST && /^Classes:/) { $st = LIMBO; }
+ elsif ($st eq LIST && /^(Classes|Leaked slot names):/) { $st = LIMBO; }
elsif ($st eq LIMBO && /^Methods:/) { $st = METHODS; }
elsif (/^\s*$/) { }
elsif ($st eq LIMBO) { }
scansyms %LABEL, "doc/SYMBOLS";
scanaux %DEF, "sod.aux";
+my $BAD = 0;
+
+sub bad ($) {
+ my ($what) = @_;
+ print STDERR "$0: $what\n";
+ $BAD = 2;
+}
+
SYM: for my $sym (sort keys %LABEL) {
if ($DEF{$sym}) { next SYM; }
my ($tag, $name) = $sym =~ /^([^:]+):(.*)$/;
$DEF{"fun:sod-frontend:augment-options"}) { }
elsif ($sym eq "gf:setf/generic-function-methods") { }
elsif ($tag eq "cty") { }
- else { print ";; missing $tag:$name (defined in $LABEL{$sym})\n"; }
+ else { bad "missing $tag:$name (defined in $LABEL{$sym})"; }
}
SYM: for my $sym (sort keys %DEF) {
elsif ($sym eq "plug:class-item" || $sym eq "plug:module") { }
elsif ($sym eq "sym:int") { }
elsif ($name =~ /^sod-frontend:(.*)$/ && $LABEL{"$tag:$1"}) { }
- else { print ";; unexpected $tag:$name (described in $DEF{$sym})\n"; }
+ else { bad "unexpected $tag:$name (described in $DEF{$sym})"; }
}
+
+exit $BAD;