texinfo-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

texinfo/tp TODO Texinfo/Convert/Info.pm Texinfo...


From: Patrice Dumas
Subject: texinfo/tp TODO Texinfo/Convert/Info.pm Texinfo...
Date: Sat, 29 Jan 2011 14:04:37 +0000

CVSROOT:        /sources/texinfo
Module name:    texinfo
Changes by:     Patrice Dumas <pertusus>        11/01/29 14:04:37

Modified files:
        tp             : TODO 
        tp/Texinfo/Convert: Info.pm Plaintext.pm 
        tp/t           : 08misc_commands.t 
        tp/t/results/def: end_of_lines_protected_in_footnote.pl 
Added files:
        tp/t/results/misc_commands: no_empty_line_between_headings.pl 

Log message:
        Fix count of lines in contents output.
        More empty lines if needed.
        Better accounting for empty lines in multitable.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/TODO?cvsroot=texinfo&r1=1.69&r2=1.70
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/Texinfo/Convert/Info.pm?cvsroot=texinfo&r1=1.15&r2=1.16
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/Texinfo/Convert/Plaintext.pm?cvsroot=texinfo&r1=1.58&r2=1.59
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/08misc_commands.t?cvsroot=texinfo&r1=1.9&r2=1.10
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/def/end_of_lines_protected_in_footnote.pl?cvsroot=texinfo&r1=1.14&r2=1.15
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/misc_commands/no_empty_line_between_headings.pl?cvsroot=texinfo&rev=1.1

Patches:
Index: TODO
===================================================================
RCS file: /sources/texinfo/texinfo/tp/TODO,v
retrieving revision 1.69
retrieving revision 1.70
diff -u -b -r1.69 -r1.70
--- TODO        29 Jan 2011 11:24:22 -0000      1.69
+++ TODO        29 Jan 2011 14:04:36 -0000      1.70
@@ -21,6 +21,17 @@
   -> replace acronym_like with the already formatted text and 
      explanation with convert(explanation).
 
+def/end_of_lines_protected_in_footnote.pl the footnote is
+   (1)  -- category: deffn_name arguments arg2 more args with end of line
+and not 
+   (1)
+ -- category: deffn_name arguments arg2 more args with end of line
+It is unclear whether it is right or wrong, but even less clear why it 
+happens this way.
+
+Test empty/no empty line at a multitable beginning, between 2 rows and
+after a multitable.
+
 Test end_line_count in Texinfo/Convert/ containers.
 
 Following should be an error:

Index: Texinfo/Convert/Info.pm
===================================================================
RCS file: /sources/texinfo/texinfo/tp/Texinfo/Convert/Info.pm,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- Texinfo/Convert/Info.pm     23 Jan 2011 23:46:16 -0000      1.15
+++ Texinfo/Convert/Info.pm     29 Jan 2011 14:04:37 -0000      1.16
@@ -261,7 +261,7 @@
   my $section_root = shift;
   my $contents_or_shortcontents = shift;
 
-  return '';
+  return ('', 0);
 }
 
 my $index_length_to_node = 41;

Index: Texinfo/Convert/Plaintext.pm
===================================================================
RCS file: /sources/texinfo/texinfo/tp/Texinfo/Convert/Plaintext.pm,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -b -r1.58 -r1.59
--- Texinfo/Convert/Plaintext.pm        28 Jan 2011 23:54:30 -0000      1.58
+++ Texinfo/Convert/Plaintext.pm        29 Jan 2011 14:04:37 -0000      1.59
@@ -243,7 +243,7 @@
   'SUBDIR'               => undef,
   'documentlanguage'     => undef,
   'NUMBER_FOOTNOTES'     => 1,
-  'empty_lines_count'    => 0,
+  'empty_lines_count'    => undef,
   'SPLIT_SIZE'           => 300000,
   'expanded_formats'     => undef,
   'include_directories'  => undef,
@@ -682,6 +682,18 @@
   }
 }
 
+sub _add_newline_if_needed($) {
+  my $self = shift;
+  if (defined($self->{'empty_lines_count'}) 
+       and $self->{'empty_lines_count'} == 0) {
+    $self->_add_text_count("\n");
+    $self->_add_lines_count(1);
+    $self->{'empty_lines_count'} = 1;
+    return "\n";
+  }
+  return '';
+}
+
 my $footnote_indent = 3;
 sub _footnotes($$)
 {
@@ -690,16 +702,13 @@
 
   my $result = '';
   if (scalar(@{$self->{'pending_footnotes'}})) {
-    unless ($self->{'empty_lines_count'}) {
-      $result .= "\n";
-      $self->_add_text_count("\n");
-      $self->_add_lines_count(1);
-    }
+    $result .= $self->_add_newline_if_needed();
     if ($self->{'footnotestyle'} eq 'end' or !defined($element)) {
       my $footnotes_header = "   ---------- Footnotes ----------\n\n";
       $result .= $footnotes_header;
       $self->_add_text_count($footnotes_header);
       $self->_add_lines_count(2);
+      $self->{'empty_lines_count'} = 1;
     } else {
 
       my $footnotes_node = {
@@ -730,12 +739,7 @@
       $self->_add_text_count($footnote_text);
 
       $result .= $self->_convert($footnote->{'root'}->{'args'}->[0]); 
-      unless ($self->{'empty_lines_count'}) {
-        $result .= "\n";
-        $self->_add_text_count("\n");
-        $self->_add_lines_count(1);
-        $self->{'empty_lines_count'} = 1;
-      }
+      $result .= $self->_add_newline_if_needed();
       
       pop @{$self->{'context'}};
       pop @{$self->{'format_context'}};
@@ -865,8 +869,9 @@
   my $section = $section_root->{'section_childs'}->[0];
   my $root_level = $section->{'level'};
 
-  # FIXME return bytes count? lines count?
+  # FIXME return bytes count?
   my $result = '';
+  my $lines_count = 0;
   while ($section and $section ne $section_root) {
     push @{$self->{'count_context'}}, {'lines' => 0, 'bytes' => 0};
     my ($section_title) = $self->convert_line({'contents'
@@ -875,6 +880,7 @@
     my $text = Texinfo::Convert::Text::numbered_heading($section, 
                             $section_title, $self->{'NUMBER_SECTIONS'})."\n";
     $result .= (' ' x (2*($section->{'level'} - ($root_level+1)))) . $text;
+    $lines_count++;
     if ($section->{'section_childs'} 
           and ($contents or $section->{'level'} < $root_level+1)) {
       $section = $section->{'section_childs'}->[0];
@@ -890,7 +896,7 @@
       }
     }
   }
-  return $result;
+  return ($result, $lines_count);
 }
 
 sub _menu($$)
@@ -1376,7 +1382,8 @@
                'paragraph_count' => 0,
                'indent_level' => 
                    $self->{'format_context'}->[-1]->{'indent_level'},
-               'max' => $self->{'format_context'}->[-1]->{'max'} };
+               'max' => $self->{'format_context'}->[-1]->{'max'},
+             };
         $self->{'format_context'}->[-1]->{'indent_level'}++
            if ($indented_commands{$root->{'cmdname'}});
         if ($self->{'context'}->[-1] eq 'preformatted') {
@@ -1417,6 +1424,8 @@
         }
         print STDERR "MULTITABLE_SIZES @$columnsize\n" if ($self->{'DEBUG'});
         $self->{'format_context'}->[-1]->{'columns_size'} = $columnsize;
+        $self->{'format_context'}->[-1]->{'row_empty_lines_count'} 
+          = $self->{'empty_lines_count'};
       } elsif ($root->{'cmdname'} eq 'float' and $root->{'extra'}
                and $root->{'extra'}->{'normalized'}) {
         $result .= $self->_anchor($root);
@@ -1427,21 +1436,26 @@
     } elsif ($sectioning_commands{$root->{'cmdname'}}) {
       if ($self->{'setcontentsaftertitlepage'} 
            and $root_commands{$root->{'cmdname'}}) {
-        my $contents = 
$self->_contents($self->{'structuring'}->{'sectioning_root'}, 
-                              'contents') ."\n";
-        $self->{'empty_lines_count'} = 0;
+        my ($contents, $lines_count) 
+                = 
$self->_contents($self->{'structuring'}->{'sectioning_root'}, 
+                                  'contents');
+        $contents .= "\n";
+        $self->{'empty_lines_count'} = 1;
         $self->{'setcontentsaftertitlepage'} = 0;
         $self->_add_text_count($contents);
-        
+        $self->_add_lines_count($lines_count+1);
         $result .= $contents;
       } 
       if ($self->{'setshortcontentsaftertitlepage'} 
             and $root_commands{$root->{'cmdname'}}) {
-        my $contents = 
$self->_contents($self->{'structuring'}->{'sectioning_root'}, 
-                              'shortcontents')."\n";
-        $self->{'empty_lines_count'} = 0;
+        my ($contents, $lines_count) 
+                = 
$self->_contents($self->{'structuring'}->{'sectioning_root'}, 
+                              'shortcontents');
+        $contents .= "\n";
+        $self->{'empty_lines_count'} = 1;
         $self->{'setshortcontentsaftertitlepage'} = 0;
         $self->_add_text_count($contents);
+        $self->_add_lines_count($lines_count+1);
         $result .= $contents;
       }
       if ($root->{'args'}) {
@@ -1451,6 +1465,7 @@
         my $heading_underlined = 
              Texinfo::Convert::Text::heading ($root, $heading, 
                                               $self->{'NUMBER_SECTIONS'});
+        $result .= $self->_add_newline_if_needed();
         $self->{'empty_lines_count'} = 0 unless ($heading_underlined eq '');
         $self->_add_text_count($heading_underlined);
         # FIXME address@hidden and @c?
@@ -1512,6 +1527,9 @@
       print STDERR "CELL [$root->{'extra'}->{'cell_number'}]: 
address@hidden>{'cmdname'}. Width: $cell_width\n"
             if ($self->{'DEBUG'});
       die if (!defined($cell_width));
+      $self->{'empty_lines_count'} 
+         = $self->{'format_context'}->[-1]->{'row_empty_lines_count'};
+
       push @{$self->{'format_context'}},
            { 'cmdname' => $root->{'cmdname'},
              'paragraph_count' => 0,
@@ -1523,7 +1541,6 @@
         $preformatted = $self->new_formatter('unfilled');
         push @{$self->{'formatters'}}, $preformatted;
       }
-      $self->{'empty_lines_count'} = 0;
       $cell = 1;
     } elsif ($root->{'cmdname'} eq 'center') {
       #my ($counts, $new_locations);
@@ -1568,8 +1585,12 @@
           and 
@{$self->{'floats'}->{$root->{'extra'}->{'type'}->{'normalized'}}}) {
         push @{$self->{'count_context'}}, {'lines' => 0, 'bytes' => 0};
         my $lines_count = 0;
-        $result .= "\n" if (!$self->{'empty_lines_count'});
+        if (!$self->{'empty_lines_count'}) {
+          $result .= "\n";
+          $lines_count++;
+        }
         $result .= "* Menu:\n\n";
+        $lines_count += 2;
         foreach my $float 
(@{$self->{'floats'}->{$root->{'extra'}->{'type'}->{'normalized'}}}) {
           next if 
(!defined($float->{'extra'}->{'block_command_line_contents'}->[1]));
           my $float_entry;
@@ -1648,8 +1669,11 @@
       if (!defined($self->{'setcontentsaftertitlepage'})
            and $self->{'structuring'}
            and $self->{'structuring'}->{'sectioning_root'}) {
-        $result = 
$self->_contents($self->{'structuring'}->{'sectioning_root'}, 
+        my $lines_count;
+        ($result, $lines_count) 
+            = $self->_contents($self->{'structuring'}->{'sectioning_root'}, 
                               'contents');
+        $self->_add_lines_count($lines_count);
         $self->_add_text_count($result);
       }
       return $result;
@@ -1658,8 +1682,11 @@
       if (!defined($self->{'setshortcontentsaftertitlepage'})
             and $self->{'structuring'}
             and $self->{'structuring'}->{'sectioning_root'}) {
-        $result = 
$self->_contents($self->{'structuring'}->{'sectioning_root'}, 
+        my $lines_count;
+        ($result, $lines_count) 
+              = $self->_contents($self->{'structuring'}->{'sectioning_root'}, 
                               'shortcontents');
+        $self->_add_lines_count($lines_count);
         $self->_add_text_count($result);
       }
       return $result;
@@ -1857,9 +1884,10 @@
       # this is used to keep track of the last cell with content.
       my $max_cell = scalar(@{$self->{'format_context'}->[-1]->{'row'}});
       my $bytes_count = 0;
+      my $line;
       for (my $line_idx = 0; $line_idx < $max_lines; $line_idx++) {
         my $line_width = $indent_len;
-        my $line = '';
+        $line = '';
         # determine the last cell in the line, to fill spaces in 
         # cells preceding that cell on the line
         my $last_cell = 0;
@@ -1913,6 +1941,12 @@
         my $line = ' ' x $indent_len . '-' x $cell_beginning . "\n";
         $bytes_count += $self->count_bytes($line);
         $result .= $line;
+        $self->{'empty_lines_count'} = 0;
+        $max_lines++;
+      } elsif ($line eq "\n") {
+        $self->{'empty_lines_count'} = 1;
+      } else {
+        $self->{'empty_lines_count'} = 0;
       }
       $self->_update_locations_counts(address@hidden);
       push @{$self->{'count_context'}->[-1]->{'locations'}}, @row_locations;
@@ -1920,6 +1954,8 @@
       $self->{'count_context'}->[-1]->{'lines'} += $max_lines;
       $self->{'format_context'}->[-1]->{'row'} = [];
       $self->{'format_context'}->[-1]->{'row_counts'} = [];
+      $self->{'format_context'}->[-1]->{'row_empty_lines_count'} 
+        = $self->{'empty_lines_count'};
     }
   }
   if ($paragraph) {

Index: t/08misc_commands.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/08misc_commands.t,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- t/08misc_commands.t 28 Jan 2011 22:33:30 -0000      1.9
+++ t/08misc_commands.t 29 Jan 2011 14:04:37 -0000      1.10
@@ -199,6 +199,12 @@
 
 @strong{ is it really strong? }
 '],
+['no_empty_line_between_headings',
+'@top Top
address@hidden Subheading
address@hidden Chapter
address@hidden Section
+'],
 );
 
 foreach my $test (@converted_test_cases) {

Index: t/results/def/end_of_lines_protected_in_footnote.pl
===================================================================
RCS file: 
/sources/texinfo/texinfo/tp/t/results/def/end_of_lines_protected_in_footnote.pl,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- t/results/def/end_of_lines_protected_in_footnote.pl 7 Dec 2010 20:34:28 
-0000       1.14
+++ t/results/def/end_of_lines_protected_in_footnote.pl 29 Jan 2011 14:04:37 
-0000      1.15
@@ -340,8 +340,7 @@
 
    ---------- Footnotes ----------
 
-   (1) 
- -- category: deffn_name arguments arg2 more args with end of line
+   (1)  -- category: deffn_name arguments arg2 more args with end of line
           within with 3 @ @ one last arg
      deffn
 

Index: t/results/misc_commands/no_empty_line_between_headings.pl
===================================================================
RCS file: t/results/misc_commands/no_empty_line_between_headings.pl
diff -N t/results/misc_commands/no_empty_line_between_headings.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/misc_commands/no_empty_line_between_headings.pl   29 Jan 2011 
14:04:37 -0000      1.1
@@ -0,0 +1,266 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors 
+   %result_indices %result_sectioning %result_nodes %result_menus
+   %result_floats %result_converted %result_converted_errors);
+
+$result_trees{'no_empty_line_between_headings'} = {
+  'contents' => [
+    {
+      'contents' => [],
+      'parent' => {},
+      'type' => 'text_root'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'parent' => {},
+              'text' => 'Top'
+            },
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'spaces_at_end'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'top',
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'Subheading'
+                },
+                {
+                  'parent' => {},
+                  'text' => '
+',
+                  'type' => 'spaces_at_end'
+                }
+              ],
+              'parent' => {},
+              'type' => 'misc_line_arg'
+            }
+          ],
+          'cmdname' => 'subheading',
+          'extra' => {
+            'misc_content' => [
+              {}
+            ]
+          },
+          'level' => 3,
+          'line_nr' => {
+            'file_name' => '',
+            'line_nr' => 2,
+            'macro' => ''
+          },
+          'parent' => {}
+        }
+      ],
+      'extra' => {
+        'misc_content' => [
+          {}
+        ]
+      },
+      'level' => 0,
+      'line_nr' => {
+        'file_name' => '',
+        'line_nr' => 1,
+        'macro' => ''
+      },
+      'parent' => {}
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'parent' => {},
+              'text' => 'Chapter'
+            },
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'spaces_at_end'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'chapter',
+      'contents' => [],
+      'extra' => {
+        'misc_content' => [
+          {}
+        ]
+      },
+      'level' => 1,
+      'line_nr' => {
+        'file_name' => '',
+        'line_nr' => 3,
+        'macro' => ''
+      },
+      'number' => 1,
+      'parent' => {}
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'parent' => {},
+              'text' => 'Section'
+            },
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'spaces_at_end'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'section',
+      'contents' => [],
+      'extra' => {
+        'misc_content' => [
+          {}
+        ]
+      },
+      'level' => 2,
+      'line_nr' => {
+        'file_name' => '',
+        'line_nr' => 4,
+        'macro' => ''
+      },
+      'number' => '1.1',
+      'parent' => {}
+    }
+  ],
+  'type' => 'document_root'
+};
+$result_trees{'no_empty_line_between_headings'}{'contents'}[0]{'parent'} = 
$result_trees{'no_empty_line_between_headings'};
+$result_trees{'no_empty_line_between_headings'}{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'no_empty_line_between_headings'}{'contents'}[1]{'args'}[0];
+$result_trees{'no_empty_line_between_headings'}{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'no_empty_line_between_headings'}{'contents'}[1]{'args'}[0];
+$result_trees{'no_empty_line_between_headings'}{'contents'}[1]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'no_empty_line_between_headings'}{'contents'}[1]{'args'}[0];
+$result_trees{'no_empty_line_between_headings'}{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'no_empty_line_between_headings'}{'contents'}[1];
+$result_trees{'no_empty_line_between_headings'}{'contents'}[1]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'no_empty_line_between_headings'}{'contents'}[1]{'contents'}[0]{'args'}[0];
+$result_trees{'no_empty_line_between_headings'}{'contents'}[1]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'no_empty_line_between_headings'}{'contents'}[1]{'contents'}[0]{'args'}[0];
+$result_trees{'no_empty_line_between_headings'}{'contents'}[1]{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'no_empty_line_between_headings'}{'contents'}[1]{'contents'}[0]{'args'}[0];
+$result_trees{'no_empty_line_between_headings'}{'contents'}[1]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'no_empty_line_between_headings'}{'contents'}[1]{'contents'}[0];
+$result_trees{'no_empty_line_between_headings'}{'contents'}[1]{'contents'}[0]{'extra'}{'misc_content'}[0]
 = 
$result_trees{'no_empty_line_between_headings'}{'contents'}[1]{'contents'}[0]{'args'}[0]{'contents'}[1];
+$result_trees{'no_empty_line_between_headings'}{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'no_empty_line_between_headings'}{'contents'}[1];
+$result_trees{'no_empty_line_between_headings'}{'contents'}[1]{'extra'}{'misc_content'}[0]
 = 
$result_trees{'no_empty_line_between_headings'}{'contents'}[1]{'args'}[0]{'contents'}[1];
+$result_trees{'no_empty_line_between_headings'}{'contents'}[1]{'parent'} = 
$result_trees{'no_empty_line_between_headings'};
+$result_trees{'no_empty_line_between_headings'}{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'no_empty_line_between_headings'}{'contents'}[2]{'args'}[0];
+$result_trees{'no_empty_line_between_headings'}{'contents'}[2]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'no_empty_line_between_headings'}{'contents'}[2]{'args'}[0];
+$result_trees{'no_empty_line_between_headings'}{'contents'}[2]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'no_empty_line_between_headings'}{'contents'}[2]{'args'}[0];
+$result_trees{'no_empty_line_between_headings'}{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'no_empty_line_between_headings'}{'contents'}[2];
+$result_trees{'no_empty_line_between_headings'}{'contents'}[2]{'extra'}{'misc_content'}[0]
 = 
$result_trees{'no_empty_line_between_headings'}{'contents'}[2]{'args'}[0]{'contents'}[1];
+$result_trees{'no_empty_line_between_headings'}{'contents'}[2]{'parent'} = 
$result_trees{'no_empty_line_between_headings'};
+$result_trees{'no_empty_line_between_headings'}{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'no_empty_line_between_headings'}{'contents'}[3]{'args'}[0];
+$result_trees{'no_empty_line_between_headings'}{'contents'}[3]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'no_empty_line_between_headings'}{'contents'}[3]{'args'}[0];
+$result_trees{'no_empty_line_between_headings'}{'contents'}[3]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'no_empty_line_between_headings'}{'contents'}[3]{'args'}[0];
+$result_trees{'no_empty_line_between_headings'}{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'no_empty_line_between_headings'}{'contents'}[3];
+$result_trees{'no_empty_line_between_headings'}{'contents'}[3]{'extra'}{'misc_content'}[0]
 = 
$result_trees{'no_empty_line_between_headings'}{'contents'}[3]{'args'}[0]{'contents'}[1];
+$result_trees{'no_empty_line_between_headings'}{'contents'}[3]{'parent'} = 
$result_trees{'no_empty_line_between_headings'};
+
+$result_texis{'no_empty_line_between_headings'} = '@top Top
address@hidden Subheading
address@hidden Chapter
address@hidden Section
+';
+
+
+$result_texts{'no_empty_line_between_headings'} = 'Top
+***
+Subheading
+----------
+1 Chapter
+*********
+1.1 Section
+===========
+';
+
+$result_sectioning{'no_empty_line_between_headings'} = {
+  'level' => -1,
+  'section_childs' => [
+    {
+      'cmdname' => 'top',
+      'extra' => {},
+      'level' => 0,
+      'section_childs' => [
+        {
+          'cmdname' => 'chapter',
+          'extra' => {},
+          'level' => 1,
+          'number' => 1,
+          'section_childs' => [
+            {
+              'cmdname' => 'section',
+              'extra' => {},
+              'level' => 2,
+              'number' => '1.1',
+              'section_up' => {}
+            }
+          ],
+          'section_up' => {}
+        }
+      ],
+      'section_up' => {}
+    }
+  ]
+};
+$result_sectioning{'no_empty_line_between_headings'}{'section_childs'}[0]{'section_childs'}[0]{'section_childs'}[0]{'section_up'}
 = 
$result_sectioning{'no_empty_line_between_headings'}{'section_childs'}[0]{'section_childs'}[0];
+$result_sectioning{'no_empty_line_between_headings'}{'section_childs'}[0]{'section_childs'}[0]{'section_up'}
 = $result_sectioning{'no_empty_line_between_headings'}{'section_childs'}[0];
+$result_sectioning{'no_empty_line_between_headings'}{'section_childs'}[0]{'section_up'}
 = $result_sectioning{'no_empty_line_between_headings'};
+
+$result_errors{'no_empty_line_between_headings'} = [];
+
+
+
+$result_converted{'plaintext'}->{'no_empty_line_between_headings'} = 'Top
+***
+
+Subheading
+----------
+
+1 Chapter
+*********
+
+1.1 Section
+===========
+';
+
+1;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]