diff --git a/scripts/kernel-doc b/scripts/kernel-doc
index 2dea5f81baef..c7109ca40ba4 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 "
$section\n";
if ($section =~ m/EXAMPLE/i) {
print "\n";
+ $output_preformatted = 1;
} else {
print "\n";
}
output_highlight($args{'sections'}{$section});
+ $output_preformatted = 0;
if ($section =~ m/EXAMPLE/i) {
print "\n";
} else {
@@ -949,10 +954,12 @@ sub output_blockhead_xml(%) {
}
if ($section =~ m/EXAMPLE/i) {
print "\n";
+ $output_preformatted = 1;
} else {
print "\n";
}
output_highlight($args{'sections'}{$section});
+ $output_preformatted = 0;
if ($section =~ m/EXAMPLE/i) {
print "\n";
} else {
@@ -1028,10 +1035,12 @@ sub output_function_gnome {
print "\n $section\n";
if ($section =~ m/EXAMPLE/i) {
print "\n";
+ $output_preformatted = 1;
} else {
}
print "\n";
output_highlight($args{'sections'}{$section});
+ $output_preformatted = 0;
print "\n";
if ($section =~ m/EXAMPLE/i) {
print "\n";