From 3c1f116b24ec7d180e28f4a4ab1c72d75d8f95f4 Mon Sep 17 00:00:00 2001 From: Fabian Keil Date: Wed, 9 Jan 2013 15:05:59 +0000 Subject: [PATCH 1/1] Prevent completely empty lines and try to unfold unintentional line breaks --- utils/prepare-configfile.pl | 38 ++++++++++++++++++++++++++++++++++--- 1 file changed, 35 insertions(+), 3 deletions(-) diff --git a/utils/prepare-configfile.pl b/utils/prepare-configfile.pl index 7156342c..4cb8d5af 100755 --- a/utils/prepare-configfile.pl +++ b/utils/prepare-configfile.pl @@ -12,8 +12,23 @@ sub main() { my $hit_header = 0; my $hit_option = 0; my $header_len; + my $unfold_mode = 0; + my $unfolding_enabled = 0; + my $windows_section_reached = 0; while (<>) { + + if (!$unfolding_enabled and m/=========/) { + # We passed the table of contents + # and can try to unfold unintentional + # line breaks; + $unfolding_enabled = 1; + } + if (m/specific to the Windows GUI/) { + # The Windows section is formatted differently. + $windows_section_reached = 1; + } + s/^1\. \@\@TITLE\@\@/ /i; if (m/^(\d\.)(\d\.)(\d\.)?\s/) { @@ -27,9 +42,21 @@ sub main() { # Remember to underline it. $hit_header = 1; $header_len = length($_); + + # Separate it from the previous section. + print "#\n"; } - s/^/# /; + if ($unfold_mode) { + s/^\s+/ /; + $unfold_mode = 0; + } else { + s/^/# /; + } + if ($unfolding_enabled and m/(\s+#)\s*$/) { + $unfold_mode = 1; + chomp; + } # XXX: someone should figure out what this stuff # is supposed to do (and if it really does that). @@ -40,8 +67,13 @@ sub main() { s/^#\s*-{20,}//; s/ *$//; $hit_option = 1 if s/^#\s+@@//; - - print; + + if ($windows_section_reached) { + # Do not drop empty lines in the Windows section + s/^\s*$/#\n/; + } + + print unless (/^\s*$/); if ($hit_header) { # The previous line was a section -- 2.39.2