From: Daniel Santos <daniel.santos@pobox.com>
To: Randy Dunlap <rdunlap@xenotime.net>,
Pavel Pisa <pisa@cmp.felk.cvut.cz>,
Richard Weinberger <richard@nod.at>,
LKML <linux-kernel@vger.kernel.org>,
Michel Lespinasse <walken@google.com>,
Andrea Arcangeli <aarcange@redhat.com>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Rik van Riel <riel@redhat.com>
Cc: Daniel Santos <daniel.santos@pobox.com>
Subject: [PATCH v5 16/25] kernel-doc: bugfix - empty line in Example section
Date: Tue, 25 Sep 2012 18:31:40 -0500 [thread overview]
Message-ID: <1348615900-10490-1-git-send-email-daniel.santos@pobox.com> (raw)
In-Reply-To: <1348615467-9850-1-git-send-email-daniel.santos@pobox.com>
If you have a section named "Example" that contains an empty line,
attempting to generate htmldocs give you the error:
/path/Documentation/DocBook/kernel-api.xml:3455: parser error : Opening and ending tag mismatch: programlisting line 3449 and para
</para><para>
^
/path/Documentation/DocBook/kernel-api.xml:3473: parser error : Opening and ending tag mismatch: para line 3467 and programlisting
</programlisting></informalexample>
^
/path/Documentation/DocBook/kernel-api.xml:3678: parser error : Opening and ending tag mismatch: programlisting line 3672 and para
</para><para>
^
/path/Documentation/DocBook/kernel-api.xml:3701: parser error : Opening and ending tag mismatch: para line 3690 and programlisting
</programlisting></informalexample>
^
unable to parse
/path/Documentation/DocBook/kernel-api.xml
Essentially, the script attempts to close a <programlisting> with a
closing tag for a <para> block. This patch corrects the problem by
simply not outputting anything extra when we're dumping pre-formatted
text, since the empty line will be rendered correctly anyway.
Signed-off-by: Daniel Santos <daniel.santos@pobox.com>
---
scripts/kernel-doc | 11 ++++++++++-
1 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/scripts/kernel-doc b/scripts/kernel-doc
index 55ab5e4..69efb2f 100755
--- a/scripts/kernel-doc
+++ b/scripts/kernel-doc
@@ -230,6 +230,7 @@ my $dohighlight = "";
my $verbose = 0;
my $output_mode = "man";
+my $output_preformatted = 0;
my $no_doc_sections = 0;
my %highlights = %highlights_man;
my $blankline = $blankline_man;
@@ -460,7 +461,9 @@ sub output_highlight {
foreach $line (split "\n", $contents) {
if ($line eq ""){
- print $lineprefix, local_unescape($blankline);
+ if (! $output_preformatted) {
+ print $lineprefix, local_unescape($blankline);
+ }
} else {
$line =~ s/\\\\\\/\&/g;
if ($output_mode eq "man" && substr($line, 0, 1) eq ".") {
@@ -643,10 +646,12 @@ sub output_section_xml(%) {
print "<title>$section</title>\n";
if ($section =~ m/EXAMPLE/i) {
print "<informalexample><programlisting>\n";
+ $output_preformatted = 1;
} else {
print "<para>\n";
}
output_highlight($args{'sections'}{$section});
+ $output_preformatted = 0;
if ($section =~ m/EXAMPLE/i) {
print "</programlisting></informalexample>\n";
} else {
@@ -949,10 +954,12 @@ sub output_blockhead_xml(%) {
}
if ($section =~ m/EXAMPLE/i) {
print "<example><para>\n";
+ $output_preformatted = 1;
} else {
print "<para>\n";
}
output_highlight($args{'sections'}{$section});
+ $output_preformatted = 0;
if ($section =~ m/EXAMPLE/i) {
print "</para></example>\n";
} else {
@@ -1028,10 +1035,12 @@ sub output_function_gnome {
print "<simplesect>\n <title>$section</title>\n";
if ($section =~ m/EXAMPLE/i) {
print "<example><programlisting>\n";
+ $output_preformatted = 1;
} else {
}
print "<para>\n";
output_highlight($args{'sections'}{$section});
+ $output_preformatted = 0;
print "</para>\n";
if ($section =~ m/EXAMPLE/i) {
print "</programlisting></example>\n";
--
1.7.3.4
next prev parent reply other threads:[~2012-09-25 23:38 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1348615467-9850-1-git-send-email-daniel.santos@pobox.com>
2012-09-25 23:29 ` [PATCH v5 1/25] compiler-gcc4.h: Correct verion check for __compiletime_error Daniel Santos
2012-09-25 23:30 ` [PATCH v5 2/25] compiler-gcc4.h: Reorder macros based upon gcc ver Daniel Santos
2012-09-25 23:30 ` [PATCH v5 3/25] compiler-gcc.h: Add gcc-recommended GCC_VERSION macro Daniel Santos
2012-09-25 23:30 ` [PATCH v5 4/25] compiler-gcc{3,4}.h: Use " Daniel Santos
2012-09-25 23:30 ` [PATCH v5 5/25] compiler{,-gcc4}.h: Remove duplicate macros Daniel Santos
2012-09-25 23:30 ` [PATCH v5 6/25] bug.h: Replace __linktime_error with __compiletime_error Daniel Santos
2012-09-25 23:30 ` [PATCH v5 7/25] compiler{,-gcc4}.h: Introduce __flatten function attribute Daniel Santos
2012-09-25 23:30 ` [PATCH v5 8/25] bug.h: Make BUILD_BUG_ON generate compile-time error Daniel Santos
2012-09-25 23:30 ` [PATCH v5 9/25] bug.h: Add BUILD_BUG_ON_NON_CONST macro Daniel Santos
2012-09-25 23:31 ` [PATCH v5 10/25] bug.h: Add gcc 4.2+ versions of BUILD_BUG_ON_* macros Daniel Santos
2012-09-25 23:31 ` [PATCH v5 11/25] rbtree.h: Generic Red-Black Trees Daniel Santos
2012-09-25 23:31 ` [PATCH v5 12/25] rbtree.h: include kconfig.h Daniel Santos
2012-09-25 23:31 ` [PATCH v5 13/25] fair.c: Use generic rbtree impl in fair scheduler Daniel Santos
2012-09-25 23:31 ` [PATCH v5 15/25] kernel-doc: bugfix - multi-line macros Daniel Santos
2012-09-25 23:31 ` Daniel Santos [this message]
2012-09-25 23:31 ` [PATCH v5 17/25] kernel-doc: Don't mangle whitespace in Example section Daniel Santos
2012-09-25 23:31 ` [PATCH v5 19/25] rbtree.h: add doc comments for struct rb_node Daniel Santos
2012-09-25 23:32 ` [PATCH v5 20/25] selftest: Add generic tree self-test common code Daniel Santos
2012-09-25 23:32 ` [PATCH v5 21/25] selftest: Add userspace test program Daniel Santos
2012-09-25 23:32 ` [PATCH v5 22/25] selftest: Add script to compile & run " Daniel Santos
2012-09-25 23:32 ` [PATCH v5 23/25] selftest: Add basic compiler iterator test script Daniel Santos
2012-09-25 23:32 ` [PATCH v5 24/25] selftest: report generation script for test results Daniel Santos
2012-09-25 23:32 ` [PATCH v5 25/25] rbtree.h: (optional?) Add RB_INSERT_DUPE_RIGHT flag Daniel Santos
[not found] ` <1348618742.22822.39.camel@gandalf.local.home>
2012-09-26 1:02 ` [PATCH v5 0/25] Generic Red-Black Trees (still WIP) Daniel Santos
2012-09-26 1:28 ` Steven Rostedt
2012-09-26 5:07 ` Daniel Santos
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1348615900-10490-1-git-send-email-daniel.santos@pobox.com \
--to=daniel.santos@pobox.com \
--cc=a.p.zijlstra@chello.nl \
--cc=aarcange@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=pisa@cmp.felk.cvut.cz \
--cc=rdunlap@xenotime.net \
--cc=richard@nod.at \
--cc=riel@redhat.com \
--cc=walken@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®