Upgrade to I18N::LangTags 0.30.
[p5sagit/p5-mst-13.2.git] / autodoc.pl
index 2044dab..da05962 100644 (file)
@@ -5,7 +5,7 @@ require 5.003;  # keep this compatible, an old perl is all we may have before
 
 BEGIN {
   push @INC, 'lib';
-  require 'regen.pl';
+  require 'regen_lib.pl';
 }      # glob() below requires File::Glob
 
 
@@ -82,10 +82,6 @@ FUNC:
            my $docs = "";
 DOC:
            while (defined($doc = <$fh>)) {
-                if ($doc =~ /^=head1 (.*)/) {
-                    $curheader = $1;
-                    next DOC;
-                }
                $line++;
                last DOC if $doc =~ /^=\w+/;
                if ($doc =~ m:^\*/$:) {
@@ -107,7 +103,7 @@ DOC:
                $docfuncs{$name} = [$flags, $docs, $ret, $file, $curheader, @args];
            }
            if (defined $doc) {
-               if ($doc =~ /^=for/) {
+               if ($doc =~ /^=(?:for|head)/) {
                    $in = $doc;
                    redo FUNC;
                }
@@ -209,7 +205,8 @@ The listing is alphabetical, case insensitive.
 _EOB_
 
 my $key;
-for $key (sort { uc($a) cmp uc($b); } keys %apidocs) { # case insensitive sort
+# case insensitive sort, with fallback for determinacy
+for $key (sort { uc($a) cmp uc($b) || $a cmp $b } keys %apidocs) {
     my $section = $apidocs{$key}; 
     print DOC "\n=head1 $key\n\n=over 8\n\n";
     for my $key (sort { uc($a) cmp uc($b); } keys %$section) {