зеркало из https://github.com/mozilla/pjs.git
Modify parse_devedge_doc.pl so it didn't lose the description after the first note (this was bad.)
Madify parse_apidoc.pl to warn (not croak) on empty tags, and to be able to deal with duplicate tags.
This commit is contained in:
Родитель
8a88f3dc07
Коммит
82ad8fc593
|
@ -375,7 +375,9 @@ sub EndTag {
|
||||||
if (grep(/^$tagname$/, @CDATA_TAGS)) {
|
if (grep(/^$tagname$/, @CDATA_TAGS)) {
|
||||||
$iscontainer = 1;
|
$iscontainer = 1;
|
||||||
if ($pending_text eq "") {
|
if ($pending_text eq "") {
|
||||||
$expat->xpcroak ("Empty container '$tagname'.");
|
print STDERR "WARNING: Empty container '$tagname' at line " .
|
||||||
|
$expat->current_line . " ignored.\n";
|
||||||
|
#$expat->xpcroak ("Empty container '$tagname'.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -492,7 +494,7 @@ sub EndTag {
|
||||||
} elsif ($tagname eq $TAGS[$FOOT]) {
|
} elsif ($tagname eq $TAGS[$FOOT]) {
|
||||||
$user_foot .= $result_text;
|
$user_foot .= $result_text;
|
||||||
} else {
|
} else {
|
||||||
$c->{$tagname} = $result_text;
|
$c->{$tagname} .= $result_text;
|
||||||
}
|
}
|
||||||
|
|
||||||
$pending_text = pop (@text_stack);
|
$pending_text = pop (@text_stack);
|
||||||
|
|
|
@ -62,7 +62,7 @@ my @TAGS = ("API", "ENTRY", "TYPE", "SUMMARY", "SYNTAX", "PARAM", "RETVAL",
|
||||||
|
|
||||||
my $NAMESPACE = ""; # "APIDOC";
|
my $NAMESPACE = ""; # "APIDOC";
|
||||||
|
|
||||||
my $TAB = " ";
|
my $TAB = " ";
|
||||||
my $indent_pfx = "";
|
my $indent_pfx = "";
|
||||||
|
|
||||||
die ("I said, dont use this script! Don't you read the comments?\n");
|
die ("I said, dont use this script! Don't you read the comments?\n");
|
||||||
|
@ -190,9 +190,10 @@ sub parse_entry {
|
||||||
&open_container ($TAGS[$mode]);
|
&open_container ($TAGS[$mode]);
|
||||||
} elsif (($mode == $NOTE) && ($line =~ /<\/BLOCKQUOTE>/)) {
|
} elsif (($mode == $NOTE) && ($line =~ /<\/BLOCKQUOTE>/)) {
|
||||||
# note over
|
# note over
|
||||||
$partialline = '<H4><A NAME="Head3;"></A>';
|
output ("<P/>\n");
|
||||||
# dirty little hack to get it to execute the
|
&close_container ($TAGS[$mode]);
|
||||||
# 'figure out next mode' logic above.
|
$mode = $DESCRIPTION;
|
||||||
|
&open_container ($TAGS[$mode]);
|
||||||
} elsif (($mode == $SYNTAX) || ($mode == $EXAMPLE)) {
|
} elsif (($mode == $SYNTAX) || ($mode == $EXAMPLE)) {
|
||||||
if (($mode == $SYNTAX) &&
|
if (($mode == $SYNTAX) &&
|
||||||
($line =~ /(.*)<TABLE BORDER="0">/)) {
|
($line =~ /(.*)<TABLE BORDER="0">/)) {
|
||||||
|
@ -271,10 +272,11 @@ sub parse_entry {
|
||||||
} elsif ($mode == $SEE_ALSO) {
|
} elsif ($mode == $SEE_ALSO) {
|
||||||
if ($line =~ /(.*)<\/P>/) {
|
if ($line =~ /(.*)<\/P>/) {
|
||||||
my $list = &fixup ($1);
|
my $list = &fixup ($1);
|
||||||
my @refs = split(/,\s*/, $list);
|
my @refs = split(/\s*,\s*/, $list);
|
||||||
for (@refs) {
|
for (@refs) {
|
||||||
if ($_) {
|
if ($_) {
|
||||||
&tag ($TAGS[$mode], "value", $_);
|
$_ =~ /^\s*(\S+)\s*$/;
|
||||||
|
&tag ($TAGS[$mode], "value", $1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$mode = $COMPLETED;
|
$mode = $COMPLETED;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче