3 # This script is used by the config-file target in GNUMakefile.
5 # It removes garbage in the w3m output and separates comments
6 # and active directives.
16 my $unfolding_enabled = 0;
17 my $windows_section_reached = 0;
21 if (!$unfolding_enabled and m/=========/) {
22 # We passed the table of contents
23 # and can try to unfold unintentional
25 $unfolding_enabled = 1;
27 if (m/specific to the Windows GUI/) {
28 # The Windows section is formatted differently.
29 $windows_section_reached = 1;
32 s/^1\. \@\@TITLE\@\@/ /i;
34 if (m/^(\d*\.){1,3}\s/) {
35 # Remove the first digit as it's the
36 # config file section in the User Manual.
39 # If it's a section header, uppercase it.
40 $_ = uc() if (/^\d\.\s+/);
42 # Remember to underline it.
44 $header_len = length($_);
46 # Separate it from the previous section.
56 if ($unfolding_enabled and m/(\s+#)\s*$/) {
61 # XXX: someone should figure out what this stuff
62 # is supposed to do (and if it really does that).
63 s/^# #/####/ if /^# #{12,}/;
64 s/^.*$// if $hit_option;
69 $hit_option = 1 if s/^#\s+@@//;
71 if ($windows_section_reached) {
72 # Do not drop empty lines in the Windows section
76 print unless (/^\s*$/);
79 # The previous line was a section
80 # header so we better underline it.
81 die "Invalid header length" unless defined $header_len;
82 print "# " . "=" x $header_len . "\n";