[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
texinfo/tp TODO Texinfo/Parser.pm Texinfo/Struc...
From: |
Patrice Dumas |
Subject: |
texinfo/tp TODO Texinfo/Parser.pm Texinfo/Struc... |
Date: |
Sat, 30 Oct 2010 18:31:51 +0000 |
CVSROOT: /sources/texinfo
Module name: texinfo
Changes by: Patrice Dumas <pertusus> 10/10/30 18:31:51
Modified files:
tp : TODO
tp/Texinfo : Parser.pm Structuring.pm
tp/t : 06columnfractions.t 30sectioning.t
test_utils.pl
tp/t/results/include: macro_and_commands_in_early_commands.pl
macro_in_early_commands.pl
value_expansion_in_include.pl
tp/t/results/invalid_nestings: ignored_text.pl
node_in_copying.pl
node_in_copying_not_closed.pl
on_section_line.pl
style_not_closed_before_first_node.pl
style_not_closed_no_newline_root_commands.pl
style_not_closed_root_commands.pl
unclosed_verb_on_section_line.pl
tp/t/results/macro: macro_in_misc_commands.pl
tp/t/results/sectioning: a_comma_after_node.pl
at_commands_in_node.pl
at_commands_in_refs.pl
character_and_spaces_in_node.pl
character_and_spaces_in_refs.pl
double_node_anchor_float.pl
double_top.pl empty_node.pl node.pl
node_empty_direction.pl
nodename_parentheses.pl
raiselowersections.pl sections.pl
some_at_commands_in_ref_nodes.pl
tp/t/results/value: value_in_misc_commands.pl value_in_node.pl
value_node_directions.pl
Added files:
tp/t/results/sectioning: unknown_node_in_menu.pl
Log message:
Don't do a separate tree for the node structure or the section structure
tree, instead filter better in the tests.
Determine the menus directions.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/TODO?cvsroot=texinfo&r1=1.46&r2=1.47
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/Texinfo/Parser.pm?cvsroot=texinfo&r1=1.128&r2=1.129
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/Texinfo/Structuring.pm?cvsroot=texinfo&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/06columnfractions.t?cvsroot=texinfo&r1=1.13&r2=1.14
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/30sectioning.t?cvsroot=texinfo&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/test_utils.pl?cvsroot=texinfo&r1=1.31&r2=1.32
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/include/macro_and_commands_in_early_commands.pl?cvsroot=texinfo&r1=1.15&r2=1.16
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/include/macro_in_early_commands.pl?cvsroot=texinfo&r1=1.14&r2=1.15
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/include/value_expansion_in_include.pl?cvsroot=texinfo&r1=1.14&r2=1.15
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/invalid_nestings/ignored_text.pl?cvsroot=texinfo&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/invalid_nestings/node_in_copying.pl?cvsroot=texinfo&r1=1.9&r2=1.10
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/invalid_nestings/node_in_copying_not_closed.pl?cvsroot=texinfo&r1=1.9&r2=1.10
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/invalid_nestings/on_section_line.pl?cvsroot=texinfo&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/invalid_nestings/style_not_closed_before_first_node.pl?cvsroot=texinfo&r1=1.9&r2=1.10
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/invalid_nestings/style_not_closed_no_newline_root_commands.pl?cvsroot=texinfo&r1=1.12&r2=1.13
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/invalid_nestings/style_not_closed_root_commands.pl?cvsroot=texinfo&r1=1.11&r2=1.12
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/invalid_nestings/unclosed_verb_on_section_line.pl?cvsroot=texinfo&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/macro/macro_in_misc_commands.pl?cvsroot=texinfo&r1=1.24&r2=1.25
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/sectioning/a_comma_after_node.pl?cvsroot=texinfo&r1=1.9&r2=1.10
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/sectioning/at_commands_in_node.pl?cvsroot=texinfo&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/sectioning/at_commands_in_refs.pl?cvsroot=texinfo&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/sectioning/character_and_spaces_in_node.pl?cvsroot=texinfo&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/sectioning/character_and_spaces_in_refs.pl?cvsroot=texinfo&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/sectioning/double_node_anchor_float.pl?cvsroot=texinfo&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/sectioning/double_top.pl?cvsroot=texinfo&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/sectioning/empty_node.pl?cvsroot=texinfo&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/sectioning/node.pl?cvsroot=texinfo&r1=1.20&r2=1.21
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/sectioning/node_empty_direction.pl?cvsroot=texinfo&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/sectioning/nodename_parentheses.pl?cvsroot=texinfo&r1=1.9&r2=1.10
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/sectioning/raiselowersections.pl?cvsroot=texinfo&r1=1.12&r2=1.13
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/sectioning/sections.pl?cvsroot=texinfo&r1=1.12&r2=1.13
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/sectioning/some_at_commands_in_ref_nodes.pl?cvsroot=texinfo&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/sectioning/unknown_node_in_menu.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/value/value_in_misc_commands.pl?cvsroot=texinfo&r1=1.20&r2=1.21
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/value/value_in_node.pl?cvsroot=texinfo&r1=1.23&r2=1.24
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/value/value_node_directions.pl?cvsroot=texinfo&r1=1.19&r2=1.20
Patches:
Index: TODO
===================================================================
RCS file: /sources/texinfo/texinfo/tp/TODO,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -b -r1.46 -r1.47
--- TODO 29 Oct 2010 23:04:32 -0000 1.46
+++ TODO 30 Oct 2010 18:31:49 -0000 1.47
@@ -86,6 +86,7 @@
sectioning/nodename_parentheses.texi
sectioning/double_node_anchor_float.texi
sectioning/double_top.texi (but not @ref and menu)
+sectioning/nodes_test.texi (only done: unknown entry in menu)
indices/unknown_index_entry.texi
indices/more_unknown_index_entry.texi (but without the document structure)
Index: Texinfo/Parser.pm
===================================================================
RCS file: /sources/texinfo/texinfo/tp/Texinfo/Parser.pm,v
retrieving revision 1.128
retrieving revision 1.129
diff -u -b -r1.128 -r1.129
--- Texinfo/Parser.pm 30 Oct 2010 11:28:36 -0000 1.128
+++ Texinfo/Parser.pm 30 Oct 2010 18:31:49 -0000 1.129
@@ -141,7 +141,7 @@
# errors_warnings a structure with the errors and warnings.
# error_nrs number of errors.
# current_node last seen node.
-# nodes list? hash? of nodes.
+# nodes list of nodes
# A line information is an hash reference with the keys:
# line_nr the line number
@@ -2047,9 +2047,8 @@
$current->{'args'}->[0], $command, $line_nr)) {
if (_register_label($self, $current,
$current->{'extra'}->{'nodes_manuals'}->[0], $line_nr)) {
- $self->{'current_node'} = { 'node' => $current };
- $self->{'nodes'}->{$current->{'extra'}->{'normalized'}}
- = $self->{'current_node'};
+ $self->{'current_node'} = $current;
+ push @{$self->{'nodes'}}, $self->{'current_node'};
}
}
} elsif ($command eq 'listoffloats') {
@@ -2087,10 +2086,16 @@
$current = $current->{'contents'}->[-1];
}
} elsif ($root_commands{$command}) {
- #delete $current->{'contents'}->[-1]->{'remaining_args'};
$current = $current->{'contents'}->[-1];
delete $current->{'remaining_args'};
$current->{'contents'} = [];
+ # associate the section (not part) with the current node.
+ if ($command ne 'node' and $command ne 'part'
+ and $self->{'current_node'}
+ and !$self->{'current_node'}->{'extra'}->{'associated_section'}) {
+ $self->{'current_node'}->{'extra'}->{'associated_section'} = $current;
+ $current->{'extra'}->{'associated_node'} = $self->{'current_node'};
+ }
}
# do that last in order to have the line processed if one of the above
# case is also set.
Index: Texinfo/Structuring.pm
===================================================================
RCS file: /sources/texinfo/texinfo/tp/Texinfo/Structuring.pm,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- Texinfo/Structuring.pm 30 Oct 2010 09:36:45 -0000 1.7
+++ Texinfo/Structuring.pm 30 Oct 2010 18:31:49 -0000 1.8
@@ -25,6 +25,7 @@
use strict;
use Texinfo::Convert::Text;
+use Texinfo::Parser qw(tree_to_texi);
require Exporter;
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
@@ -198,8 +199,8 @@
return undef;
}
- my $sec_root = {'text' => '_ROOT'};
- my $previous_command;
+ my $sec_root = {};
+ my $previous_section;
my $in_appendix = 0;
# lowest level with a number. This is the lowest level above 0.
@@ -221,25 +222,22 @@
$level = $max_level;
}
}
- my $command = { 'section' => $content, 'level' => $level,
- # 'name' => $content->{'cmdname'},
- # 'text' =>
- # Texinfo::Convert::Text::convert($content->{'args'}->[0])
- };
- if ($previous_command) {
+ $content->{'level'} = $level;
+
+ if ($previous_section) {
# new command is below
- if ($previous_command->{'level'} < $level) {
- if ($level - $previous_command->{'level'} > 1) {
+ if ($previous_section->{'level'} < $level) {
+ if ($level - $previous_section->{'level'} > 1) {
$self->_line_error(sprintf($self->__("Upping the section level of
address@hidden which is too low"),
$content->{'cmdname'}),
$content->{'line_nr'});
- $command->{'level'} = $previous_command->{'level'} + 1;
+ $content->{'level'} = $previous_section->{'level'} + 1;
}
- $previous_command->{'childs'} = [$command];
- $command->{'up'} = $previous_command;
- $command_numbers[$command->{'level'}] = undef;
+ $previous_section->{'childs'} = [$content];
+ $content->{'up'} = $previous_section;
+ $command_numbers[$content->{'level'}] = undef;
} else {
- my $up = $previous_command->{'up'};
- if ($previous_command->{'level'} != $level) {
+ my $up = $previous_section->{'up'};
+ if ($previous_section->{'level'} != $level) {
# means it is above the previous command, the up is to be found
while ($up->{'up'} and $up->{'level'} >= $level) {
$up = $up->{'up'};
@@ -247,52 +245,91 @@
if ($level <= $up->{'level'}) {
$self->_line_error(sprintf($self->__("Lowering the section level
of address@hidden appearing after a lower element"),
$content->{'cmdname'}),
$content->{'line_nr'});
- $command->{'level'} = $up->{'level'} + 1;
+ $content->{'level'} = $up->{'level'} + 1;
}
}
- push @{$up->{'childs'}}, $command;
- $command->{'up'} = $up;
- $command->{'prev'} = $up->{'childs'}->[-2];
- $command->{'prev'}->{'next'} = $command;
+ push @{$up->{'childs'}}, $content;
+ $content->{'up'} = $up;
+ $content->{'prev'} = $up->{'childs'}->[-2];
+ $content->{'prev'}->{'next'} = $content;
if (!$unnumbered_commands{$content->{'cmdname'}}) {
- $command_numbers[$command->{'level'}]++;
+ $command_numbers[$content->{'level'}]++;
}
}
} else { # first section determines the level of the root. It is
# typically -1 when there is a @top.
- $command->{'up'} = $sec_root;
+ $content->{'up'} = $sec_root;
$sec_root->{'level'} = $level - 1;
- $sec_root->{'childs'} = [$command];
+ $sec_root->{'childs'} = [$content];
$number_top_level = $level;
$number_top_level++ if (!$number_top_level);
}
- if (!defined($command_numbers[$command->{'level'}])) {
+ if (!defined($command_numbers[$content->{'level'}])) {
if ($unnumbered_commands{$content->{'cmdname'}}) {
- $command_numbers[$command->{'level'}] = 0;
+ $command_numbers[$content->{'level'}] = 0;
} else {
- $command_numbers[$command->{'level'}] = 1;
+ $command_numbers[$content->{'level'}] = 1;
}
}
if ($appendix_commands{$content->{'cmdname'}} and !$in_appendix) {
$in_appendix = 1;
- $command_numbers[$command->{'level'}] = 'A';
+ $command_numbers[$content->{'level'}] = 'A';
}
if (!$unnumbered_commands{$content->{'cmdname'}}) {
# construct the number
- $command->{'number'} = $command_numbers[$number_top_level];
- for (my $i = $number_top_level+1; $i <= $command->{'level'}; $i++) {
- $command->{'number'} .= ".$command_numbers[$i]";
+ $content->{'number'} = $command_numbers[$number_top_level];
+ for (my $i = $number_top_level+1; $i <= $content->{'level'}; $i++) {
+ $content->{'number'} .= ".$command_numbers[$i]";
}
}
- $previous_command = $command;
+ $previous_section = $content;
#my $number = '';
- #$number = $command->{'number'} if defined($command->{'number'});
- #print STDERR
"($command->{'level'}|$level|$sec2level{$content->{'cmdname'}})[$command_numbers[$command->{'level'}]]($in_appendix)
$number address@hidden>{'cmdname'}
".Texinfo::Convert::Text::convert($content->{'args'}->[0])."\n";
+ #$number = $content->{'number'} if defined($content->{'number'});
+ #print STDERR
"($content->{'level'}|$level|$sec2level{$content->{'cmdname'}})[$command_numbers[$content->{'level'}]]($in_appendix)
$number address@hidden>{'cmdname'}
".Texinfo::Convert::Text::convert($content->{'args'}->[0])."\n";
}
}
return $sec_root;
}
+# first go through all the menu and set menu_up, menu_next, menu_prev
+# and warn for unknown nodes.
+# then go through all the nodes and set directions
+sub nodes_tree ($)
+{
+ my $self = shift;
+ return undef unless ($self->{'nodes'} and @{$self->{'nodes'}});
+ foreach my $node (@{$self->{'nodes'}}) {
+ if ($node->{'menus'}) {
+ foreach my $menu (@{$node->{'menus'}}) {
+ my $previous_node;
+ foreach my $menu_content (@{$menu->{'contents'}}) {
+ if ($menu_content->{'extra'}
+ and $menu_content->{'extra'}->{'menu_entry_node'}
+ and
!$menu_content->{'extra'}->{'menu_entry_node'}->{'manual_content'}) {
+ if
(!$self->{'labels'}->{$menu_content->{'extra'}->{'menu_entry_node'}->{'normalized'}})
{
+ # FIXME novalidate
+ $self->_line_error (sprintf($self->__("Menu reference to
nonexistent node `%s'"),
+ tree_to_texi({ 'contents' =>
$menu_content->{'extra'}->{'menu_entry_node'}->{'node_content'} })),
+ $menu_content->{'line_nr'});
+ } else {
+ my $menu_node =
+
$self->{'labels'}->{$menu_content->{'extra'}->{'menu_entry_node'}->{'normalized'}};
+ $menu_node->{'menu_up'} = $node;
+ if ($previous_node) {
+ $menu_node->{'menu_prev'} = $previous_node;
+ $previous_node->{'menu_next'} = $menu_node;
+ } else {
+ $node->{'menu_child'} = $menu_node;
+ }
+ $previous_node = $menu_node;
+ }
+ }
+ } # end menu
+ }
+ }
+ }
+}
+
1;
Index: t/06columnfractions.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/06columnfractions.t,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- t/06columnfractions.t 29 Oct 2010 07:25:01 -0000 1.13
+++ t/06columnfractions.t 30 Oct 2010 18:31:49 -0000 1.14
@@ -26,6 +26,7 @@
our $arg_generate;
our $arg_test_case;
our $arg_debug;
+our $nr_comparisons;
ok(1);
@@ -43,5 +44,5 @@
plan tests => 2;
}
else {
- plan tests => (2 + scalar(@done_tests) * 6);
+ plan tests => (2 + scalar(@done_tests) * $nr_comparisons);
}
Index: t/30sectioning.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/30sectioning.t,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- t/30sectioning.t 30 Oct 2010 09:36:45 -0000 1.10
+++ t/30sectioning.t 30 Oct 2010 18:31:49 -0000 1.11
@@ -67,6 +67,13 @@
['at_commands_in_node',
'@node A @sc{sc} node @"i @"address@hidden @address@hidden @l{}
@,address@hidden'C} @exclamdown{}'
],
+['unknown_node_in_menu',
+'@node Top
+
address@hidden
+* unknown::
address@hidden menu
+'],
['character_and_spaces_in_refs',
'@node Top
@top Test refs
Index: t/test_utils.pl
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/test_utils.pl,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -b -r1.31 -r1.32
--- t/test_utils.pl 29 Oct 2010 23:04:32 -0000 1.31
+++ t/test_utils.pl 30 Oct 2010 18:31:49 -0000 1.32
@@ -20,6 +20,7 @@
our $arg_generate;
our $arg_debug;
our $arg_complete;
+our $nr_comparisons = 6;
Getopt::Long::Configure("gnu_getopt");
GetOptions('g|generate' => \$arg_generate, 'd|debug' => \$arg_debug,
@@ -45,9 +46,36 @@
return $test;
}
-sub filter_keys { [grep {$_ ne 'next'} ( sort keys %{$_[0]} )] }
+my @contents_keys = ('contents', 'args', 'parent', 'line_nr');
+my @menus_keys = ('menu_child', 'menu_next', 'menu_up', 'menu_prev');
+my %avoided_keys_content;
+my @avoided_keys_content = ('next', 'prev', 'up', 'childs',
+ 'associated_section', 'associated_node', 'menus', @menus_keys);
+foreach my $avoided_key(@avoided_keys_content) {
+ $avoided_keys_content{$avoided_key} = 1;
+}
+sub filter_content_keys { [grep {!$avoided_keys_content{$_}} ( sort keys
%{$_[0]} )] }
#sub filter_keys { [grep {$_ ne 'parent' and $_ ne 'next'} ( sort keys
%{$_[0]} )] }
-sub filter_main_tree { [grep {$_ ne 'section' and $_ ne 'next'} ( sort keys
%{$_[0]} )] }
+
+my @avoided_compare_tree = (@avoided_keys_content, 'parent', 'node_content');
+
+my %avoided_keys_sectioning;
+my @avoided_keys_sectioning = ('next', 'node_content', 'nodes_manuals',
+ 'associated_section', @contents_keys, 'menus', @menus_keys);
+foreach my $avoided_key(@avoided_keys_sectioning) {
+ $avoided_keys_sectioning{$avoided_key} = 1;
+}
+sub filter_sectioning_keys { [grep {!$avoided_keys_sectioning{$_}}
+ ( sort keys %{$_[0]} )] }
+
+
+my %avoided_compare_structure;
+my @avoided_compare_structure = (@avoided_keys_sectioning, 'prev', 'up');
+foreach my $avoided_key(@avoided_compare_structure) {
+ $avoided_compare_structure{$avoided_key} = 1;
+}
+sub filter_compare_structure { [grep {!$avoided_compare_structure{$_}}
+ ( sort keys %{$_[0]} )] }
sub test($$)
{
@@ -85,6 +113,8 @@
my $structure = Texinfo::Structuring::sectioning_structure($parser, $result);
+ Texinfo::Structuring::nodes_tree($parser);
+
my ($errors, $error_nrs) = $parser->errors();
my ($index_names, $merged_indices) = $parser->indices_information();
my $indices;
@@ -110,7 +140,7 @@
#print STDERR "Generate: ".Data::Dumper->Dump([$result], ['$res']);
my $out_result;
{
- local $Data::Dumper::Sortkeys = \&filter_keys;
+ local $Data::Dumper::Sortkeys = \&filter_content_keys;
$out_result = Data::Dumper->Dump([$result],
['$result_trees{\''.$test_name.'\'}']);
}
my $texi_string_result = tree_to_texi($result);
@@ -123,8 +153,8 @@
$out_result .= "\n".'$result_texis{\''.$test_name.'\'} =
\''.$perl_string_result."';\n\n";
$out_result .= "\n".'$result_texts{\''.$test_name.'\'} =
\''.$perl_string_converted_text."';\n\n";
{
- local $Data::Dumper::Sortkeys = \&filter_main_tree;
- $out_result .= Data::Dumper->Dump([$structure],
['$result_sectioning{\''.$test_name.'\'}'])
+ local $Data::Dumper::Sortkeys = \&filter_sectioning_keys;
+ $out_result .= Data::Dumper->Dump([$structure],
['$result_sectioning{\''.$test_name.'\'}'])."\n"
if ($structure);
}
{
@@ -163,11 +193,19 @@
#print STDERR "".Data::Dumper->Dump([$diff->raw()], ['$diff']);
#}
ok (Data::Compare::Compare($result, $result_trees{$test_name},
- { 'ignore_hash_keys' => [qw(parent next node_content)] }),
+ { 'ignore_hash_keys' => address@hidden }),
$test_name.' tree' );
+
ok (Data::Compare::Compare($structure, $result_sectioning{$test_name},
- { 'ignore_hash_keys' => [qw(next prev up section)] }),
+ { 'ignore_hash_keys' => address@hidden }),
$test_name.' sectioning' );
+ if (!Data::Compare::Compare($structure, $result_sectioning{$test_name},
+ { 'ignore_hash_keys' => address@hidden }))
+ {
+ local $Data::Dumper::Sortkeys = \&filter_compare_structure;
+ print STDERR Data::Dumper->Dump([$structure], ['$structure']);
+ print STDERR Data::Dumper->Dump([$result_sectioning{$test_name}],
['$result_sectioning{\''.$test_name.'\'}']);
+ }
ok (Data::Compare::Compare($errors, $result_errors{$test_name}),
$test_name.' errors' );
ok (Data::Compare::Compare($indices, $result_indices{$test_name}),
@@ -209,7 +247,7 @@
if ($generate or $arg_complete) {
plan tests => 1;
} else {
- plan tests => (1 + scalar(@$ran_tests) * 6);
+ plan tests => (1 + scalar(@$ran_tests) * $nr_comparisons);
}
}
@@ -240,7 +278,7 @@
if ($generate or $arg_complete) {
plan tests => 1;
} else {
- plan tests => (1 + scalar(@$ran_tests) * 6);
+ plan tests => (1 + scalar(@$ran_tests) * $nr_comparisons);
}
}
Index: t/results/include/macro_and_commands_in_early_commands.pl
===================================================================
RCS file:
/sources/texinfo/texinfo/tp/t/results/include/macro_and_commands_in_early_commands.pl,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- t/results/include/macro_and_commands_in_early_commands.pl 30 Oct 2010
11:28:36 -0000 1.15
+++ t/results/include/macro_and_commands_in_early_commands.pl 30 Oct 2010
18:31:49 -0000 1.16
@@ -425,6 +425,8 @@
'parent' => {}
}
],
+ 'extra' => {},
+ 'level' => 0,
'line_nr' => {
'file_name' => '',
'line_nr' => 19,
@@ -544,14 +546,23 @@
$result_sectioning{'macro_and_commands_in_early_commands'} = {
'childs' => [
{
+ 'cmdname' => 'top',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'Top'
+ }
+ }
+ },
'level' => 0,
'up' => {}
}
],
- 'level' => -1,
- 'text' => '_ROOT'
+ 'level' => -1
};
$result_sectioning{'macro_and_commands_in_early_commands'}{'childs'}[0]{'up'}
= $result_sectioning{'macro_and_commands_in_early_commands'};
+
$result_errors{'macro_and_commands_in_early_commands'} = [
{
'error_line' => ':11: warning: Encoding address@hidden' is not a canonical
texinfo encoding
Index: t/results/include/macro_in_early_commands.pl
===================================================================
RCS file:
/sources/texinfo/texinfo/tp/t/results/include/macro_in_early_commands.pl,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- t/results/include/macro_in_early_commands.pl 30 Oct 2010 11:28:36
-0000 1.14
+++ t/results/include/macro_in_early_commands.pl 30 Oct 2010 18:31:49
-0000 1.15
@@ -488,6 +488,8 @@
'type' => 'paragraph'
}
],
+ 'extra' => {},
+ 'level' => 0,
'line_nr' => {
'file_name' => '',
'line_nr' => 26,
@@ -625,14 +627,23 @@
$result_sectioning{'macro_in_early_commands'} = {
'childs' => [
{
+ 'cmdname' => 'top',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'Top'
+ }
+ }
+ },
'level' => 0,
'up' => {}
}
],
- 'level' => -1,
- 'text' => '_ROOT'
+ 'level' => -1
};
$result_sectioning{'macro_in_early_commands'}{'childs'}[0]{'up'} =
$result_sectioning{'macro_in_early_commands'};
+
$result_errors{'macro_in_early_commands'} = [
{
'error_line' => ':18: warning: @documentencoding-command defined with zero
or more than one argument should be invoked with {}
Index: t/results/include/value_expansion_in_include.pl
===================================================================
RCS file:
/sources/texinfo/texinfo/tp/t/results/include/value_expansion_in_include.pl,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- t/results/include/value_expansion_in_include.pl 30 Oct 2010 11:28:36
-0000 1.14
+++ t/results/include/value_expansion_in_include.pl 30 Oct 2010 18:31:49
-0000 1.15
@@ -559,9 +559,8 @@
test_var verbatiminclude: ';
-$result_sectioning{'value_expansion_in_include'} = {
- 'text' => '_ROOT'
-};
+$result_sectioning{'value_expansion_in_include'} = {};
+
$result_errors{'value_expansion_in_include'} = [
{
'error_line' => ':12: warning: @include should only appear at a line
beginning
Index: t/results/invalid_nestings/ignored_text.pl
===================================================================
RCS file:
/sources/texinfo/texinfo/tp/t/results/invalid_nestings/ignored_text.pl,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- t/results/invalid_nestings/ignored_text.pl 29 Oct 2010 07:25:01 -0000
1.5
+++ t/results/invalid_nestings/ignored_text.pl 30 Oct 2010 18:31:50 -0000
1.6
@@ -46,9 +46,8 @@
$result_texts{'ignored_text'} = '';
-$result_sectioning{'ignored_text'} = {
- 'text' => '_ROOT'
-};
+$result_sectioning{'ignored_text'} = {};
+
$result_errors{'ignored_text'} = [
{
'error_line' => ':1: warning: @ifinfo should only appear at a line
beginning
Index: t/results/invalid_nestings/node_in_copying.pl
===================================================================
RCS file:
/sources/texinfo/texinfo/tp/t/results/invalid_nestings/node_in_copying.pl,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- t/results/invalid_nestings/node_in_copying.pl 30 Oct 2010 11:28:36
-0000 1.9
+++ t/results/invalid_nestings/node_in_copying.pl 30 Oct 2010 18:31:50
-0000 1.10
@@ -102,9 +102,8 @@
$result_texts{'node_in_copying'} = '
';
-$result_sectioning{'node_in_copying'} = {
- 'text' => '_ROOT'
-};
+$result_sectioning{'node_in_copying'} = {};
+
$result_errors{'node_in_copying'} = [
{
'error_line' => ':2: No matching address@hidden copying\'
Index: t/results/invalid_nestings/node_in_copying_not_closed.pl
===================================================================
RCS file:
/sources/texinfo/texinfo/tp/t/results/invalid_nestings/node_in_copying_not_closed.pl,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- t/results/invalid_nestings/node_in_copying_not_closed.pl 30 Oct 2010
11:28:36 -0000 1.9
+++ t/results/invalid_nestings/node_in_copying_not_closed.pl 30 Oct 2010
18:31:50 -0000 1.10
@@ -135,6 +135,8 @@
'
}
],
+ 'extra' => {},
+ 'level' => 0,
'line_nr' => {
'file_name' => '',
'line_nr' => 7,
@@ -188,14 +190,23 @@
$result_sectioning{'node_in_copying_not_closed'} = {
'childs' => [
{
+ 'cmdname' => 'top',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'Top'
+ }
+ }
+ },
'level' => 0,
'up' => {}
}
],
- 'level' => -1,
- 'text' => '_ROOT'
+ 'level' => -1
};
$result_sectioning{'node_in_copying_not_closed'}{'childs'}[0]{'up'} =
$result_sectioning{'node_in_copying_not_closed'};
+
$result_errors{'node_in_copying_not_closed'} = [
{
'error_line' => ':6: No matching address@hidden copying\'
Index: t/results/invalid_nestings/on_section_line.pl
===================================================================
RCS file:
/sources/texinfo/texinfo/tp/t/results/invalid_nestings/on_section_line.pl,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- t/results/invalid_nestings/on_section_line.pl 30 Oct 2010 11:28:36
-0000 1.10
+++ t/results/invalid_nestings/on_section_line.pl 30 Oct 2010 18:31:50
-0000 1.11
@@ -132,7 +132,9 @@
],
'cmdname' => 'section',
'contents' => [],
+ 'level' => 2,
'line_nr' => {},
+ 'number' => 1,
'parent' => {}
}
],
@@ -175,15 +177,16 @@
$result_sectioning{'on_section_line'} = {
'childs' => [
{
+ 'cmdname' => 'section',
'level' => 2,
'number' => 1,
'up' => {}
}
],
- 'level' => 1,
- 'text' => '_ROOT'
+ 'level' => 1
};
$result_sectioning{'on_section_line'}{'childs'}[0]{'up'} =
$result_sectioning{'on_section_line'};
+
$result_errors{'on_section_line'} = [
{
'error_line' => ':1: warning: @noindent should not appear in @section
Index: t/results/invalid_nestings/style_not_closed_before_first_node.pl
===================================================================
RCS file:
/sources/texinfo/texinfo/tp/t/results/invalid_nestings/style_not_closed_before_first_node.pl,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- t/results/invalid_nestings/style_not_closed_before_first_node.pl 30 Oct
2010 11:28:36 -0000 1.9
+++ t/results/invalid_nestings/style_not_closed_before_first_node.pl 30 Oct
2010 18:31:50 -0000 1.10
@@ -124,9 +124,8 @@
In node
';
-$result_sectioning{'style_not_closed_before_first_node'} = {
- 'text' => '_ROOT'
-};
+$result_sectioning{'style_not_closed_before_first_node'} = {};
+
$result_errors{'style_not_closed_before_first_node'} = [
{
'error_line' => ':2: @code missing close brace
Index: t/results/invalid_nestings/style_not_closed_no_newline_root_commands.pl
===================================================================
RCS file:
/sources/texinfo/texinfo/tp/t/results/invalid_nestings/style_not_closed_no_newline_root_commands.pl,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- t/results/invalid_nestings/style_not_closed_no_newline_root_commands.pl
30 Oct 2010 11:28:36 -0000 1.12
+++ t/results/invalid_nestings/style_not_closed_no_newline_root_commands.pl
30 Oct 2010 18:31:50 -0000 1.13
@@ -258,11 +258,14 @@
'type' => 'paragraph'
}
],
+ 'extra' => {},
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 9,
'macro' => ''
},
+ 'number' => 1,
'parent' => {}
},
{
@@ -342,15 +345,24 @@
$result_sectioning{'style_not_closed_no_newline_root_commands'} = {
'childs' => [
{
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'chapter'
+ }
+ }
+ },
'level' => 1,
'number' => 1,
'up' => {}
}
],
- 'level' => 0,
- 'text' => '_ROOT'
+ 'level' => 0
};
$result_sectioning{'style_not_closed_no_newline_root_commands'}{'childs'}[0]{'up'}
= $result_sectioning{'style_not_closed_no_newline_root_commands'};
+
$result_errors{'style_not_closed_no_newline_root_commands'} = [
{
'error_line' => ':8: warning: @node should not appear in @code
Index: t/results/invalid_nestings/style_not_closed_root_commands.pl
===================================================================
RCS file:
/sources/texinfo/texinfo/tp/t/results/invalid_nestings/style_not_closed_root_commands.pl,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- t/results/invalid_nestings/style_not_closed_root_commands.pl 30 Oct
2010 11:28:36 -0000 1.11
+++ t/results/invalid_nestings/style_not_closed_root_commands.pl 30 Oct
2010 18:31:50 -0000 1.12
@@ -270,11 +270,14 @@
'type' => 'paragraph'
}
],
+ 'extra' => {},
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 10,
'macro' => ''
},
+ 'number' => 1,
'parent' => {}
},
{
@@ -360,15 +363,24 @@
$result_sectioning{'style_not_closed_root_commands'} = {
'childs' => [
{
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'chapter'
+ }
+ }
+ },
'level' => 1,
'number' => 1,
'up' => {}
}
],
- 'level' => 0,
- 'text' => '_ROOT'
+ 'level' => 0
};
$result_sectioning{'style_not_closed_root_commands'}{'childs'}[0]{'up'} =
$result_sectioning{'style_not_closed_root_commands'};
+
$result_errors{'style_not_closed_root_commands'} = [
{
'error_line' => ':8: @code missing close brace
Index: t/results/invalid_nestings/unclosed_verb_on_section_line.pl
===================================================================
RCS file:
/sources/texinfo/texinfo/tp/t/results/invalid_nestings/unclosed_verb_on_section_line.pl,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- t/results/invalid_nestings/unclosed_verb_on_section_line.pl 29 Oct 2010
07:25:03 -0000 1.5
+++ t/results/invalid_nestings/unclosed_verb_on_section_line.pl 30 Oct 2010
18:31:50 -0000 1.6
@@ -57,11 +57,13 @@
}
],
'cmdname' => 'section',
+ 'level' => 2,
'line_nr' => {
'file_name' => '',
'line_nr' => 1,
'macro' => ''
},
+ 'number' => 1,
'parent' => {}
}
],
@@ -91,15 +93,16 @@
$result_sectioning{'unclosed_verb_on_section_line'} = {
'childs' => [
{
+ 'cmdname' => 'section',
'level' => 2,
'number' => 1,
'up' => {}
}
],
- 'level' => 1,
- 'text' => '_ROOT'
+ 'level' => 1
};
$result_sectioning{'unclosed_verb_on_section_line'}{'childs'}[0]{'up'} =
$result_sectioning{'unclosed_verb_on_section_line'};
+
$result_errors{'unclosed_verb_on_section_line'} = [
{
'error_line' => ':3: @verb missing closing delimiter sequence: T}
Index: t/results/macro/macro_in_misc_commands.pl
===================================================================
RCS file:
/sources/texinfo/texinfo/tp/t/results/macro/macro_in_misc_commands.pl,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -b -r1.24 -r1.25
--- t/results/macro/macro_in_misc_commands.pl 30 Oct 2010 11:28:36 -0000
1.24
+++ t/results/macro/macro_in_misc_commands.pl 30 Oct 2010 18:31:50 -0000
1.25
@@ -2916,6 +2916,8 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 0,
'line_nr' => {
'file_name' => '',
'line_nr' => 10,
@@ -3099,11 +3101,14 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 196,
'macro' => ''
},
+ 'number' => 1,
'parent' => {}
},
{
@@ -3830,20 +3835,38 @@
{
'childs' => [
{
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'node-atext'
+ }
+ }
+ },
'level' => 1,
'number' => 1,
'up' => {}
}
],
+ 'cmdname' => 'top',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'Top'
+ }
+ }
+ },
'level' => 0,
'up' => {}
}
],
- 'level' => -1,
- 'text' => '_ROOT'
+ 'level' => -1
};
$result_sectioning{'macro_in_misc_commands'}{'childs'}[0]{'childs'}[0]{'up'} =
$result_sectioning{'macro_in_misc_commands'}{'childs'}[0];
$result_sectioning{'macro_in_misc_commands'}{'childs'}[0]{'up'} =
$result_sectioning{'macro_in_misc_commands'};
+
$result_errors{'macro_in_misc_commands'} = [
{
'error_line' => ':26: Bad argument to @headings: on line following
headings atext
Index: t/results/sectioning/a_comma_after_node.pl
===================================================================
RCS file:
/sources/texinfo/texinfo/tp/t/results/sectioning/a_comma_after_node.pl,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- t/results/sectioning/a_comma_after_node.pl 30 Oct 2010 11:28:37 -0000
1.9
+++ t/results/sectioning/a_comma_after_node.pl 30 Oct 2010 18:31:50 -0000
1.10
@@ -139,9 +139,8 @@
A comma in text, end.
';
-$result_sectioning{'a_comma_after_node'} = {
- 'text' => '_ROOT'
-};
+$result_sectioning{'a_comma_after_node'} = {};
+
$result_errors{'a_comma_after_node'} = [];
Index: t/results/sectioning/at_commands_in_node.pl
===================================================================
RCS file:
/sources/texinfo/texinfo/tp/t/results/sectioning/at_commands_in_node.pl,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- t/results/sectioning/at_commands_in_node.pl 30 Oct 2010 11:28:37 -0000
1.6
+++ t/results/sectioning/at_commands_in_node.pl 30 Oct 2010 18:31:50 -0000
1.7
@@ -265,9 +265,8 @@
$result_texts{'at_commands_in_node'} = '';
-$result_sectioning{'at_commands_in_node'} = {
- 'text' => '_ROOT'
-};
+$result_sectioning{'at_commands_in_node'} = {};
+
$result_errors{'at_commands_in_node'} = [];
Index: t/results/sectioning/at_commands_in_refs.pl
===================================================================
RCS file:
/sources/texinfo/texinfo/tp/t/results/sectioning/at_commands_in_refs.pl,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- t/results/sectioning/at_commands_in_refs.pl 30 Oct 2010 11:28:37 -0000
1.8
+++ t/results/sectioning/at_commands_in_refs.pl 30 Oct 2010 18:31:50 -0000
1.9
@@ -3565,6 +3565,8 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 0,
'line_nr' => {
'file_name' => '',
'line_nr' => 2,
@@ -3686,11 +3688,14 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 32,
'macro' => ''
},
+ 'number' => 1,
'parent' => {}
},
{
@@ -3915,11 +3920,14 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 35,
'macro' => ''
},
+ 'number' => 2,
'parent' => {}
},
{
@@ -4220,11 +4228,14 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 38,
'macro' => ''
},
+ 'number' => 3,
'parent' => {}
},
{
@@ -4491,11 +4502,14 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 41,
'macro' => ''
},
+ 'number' => 4,
'parent' => {}
},
{
@@ -4660,11 +4674,14 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 44,
'macro' => ''
},
+ 'number' => 5,
'parent' => {}
},
{
@@ -4965,11 +4982,14 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 47,
'macro' => ''
},
+ 'number' => 6,
'parent' => {}
},
{
@@ -5202,11 +5222,14 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 50,
'macro' => ''
},
+ 'number' => 7,
'parent' => {}
},
{
@@ -5745,11 +5768,14 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 53,
'macro' => ''
},
+ 'number' => 8,
'parent' => {}
},
{
@@ -6308,11 +6334,14 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 56,
'macro' => ''
},
+ 'number' => 9,
'parent' => {}
},
{
@@ -6683,11 +6712,14 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 59,
'macro' => ''
},
+ 'number' => 10,
'parent' => {}
},
{
@@ -6954,11 +6986,14 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 62,
'macro' => ''
},
+ 'number' => 11,
'parent' => {}
},
{
@@ -7225,11 +7260,14 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 65,
'macro' => ''
},
+ 'number' => 12,
'parent' => {}
},
{
@@ -7310,11 +7348,14 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 68,
'macro' => ''
},
+ 'number' => 13,
'parent' => {}
},
{
@@ -7537,11 +7578,14 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 71,
'macro' => ''
},
+ 'number' => 14,
'parent' => {}
},
{
@@ -7764,11 +7808,14 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 75,
'macro' => ''
},
+ 'number' => 15,
'parent' => {}
},
{
@@ -7979,11 +8026,14 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 79,
'macro' => ''
},
+ 'number' => 16,
'parent' => {}
},
{
@@ -8214,11 +8264,14 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 83,
'macro' => ''
},
+ 'number' => 17,
'parent' => {}
},
{
@@ -8329,11 +8382,14 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 88,
'macro' => ''
},
+ 'number' => 18,
'parent' => {}
},
{
@@ -8876,11 +8932,14 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 92,
'macro' => ''
},
+ 'number' => 19,
'parent' => {}
},
{
@@ -9285,11 +9344,14 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 95,
'macro' => ''
},
+ 'number' => 20,
'parent' => {}
},
{
@@ -9405,11 +9467,14 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 98,
'macro' => ''
},
+ 'number' => 21,
'parent' => {}
},
{
@@ -9560,11 +9625,14 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 101,
'macro' => ''
},
+ 'number' => 22,
'parent' => {}
},
{
@@ -9671,11 +9739,14 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 104,
'macro' => ''
},
+ 'number' => 23,
'parent' => {}
},
{
@@ -12570,11 +12641,14 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 107,
'macro' => ''
},
+ 'number' => 24,
'parent' => {}
},
{
@@ -15375,155 +15449,379 @@
{
'childs' => [
{
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => '-_007b-_007d'
+ }
+ }
+ },
'level' => 1,
'number' => 1,
'up' => {}
},
{
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => '----_0021---_002e--_002e-_003f-_0040'
+ }
+ }
+ },
'level' => 1,
'number' => 2,
'prev' => {},
'up' => {}
},
{
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' =>
'LaTeX-TeX-_2022-_002c-_00a9-_2026-_002e_002e_002e'
+ }
+ }
+ },
'level' => 1,
'number' => 3,
'prev' => {},
'up' => {}
},
{
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' =>
'_2261-error_002d_002d_003e-_20ac-_00a1-_2192-_2212'
+ }
+ }
+ },
'level' => 1,
'number' => 4,
'prev' => {},
'up' => {}
},
{
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => '_2265-_2264-_2192'
+ }
+ }
+ },
'level' => 1,
'number' => 5,
'prev' => {},
'up' => {}
},
{
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => '_00aa-_00ba-_2605-_00a3-_22a3-_00bf-_00ae'
+ }
+ }
+ },
'level' => 1,
'number' => 6,
'prev' => {},
'up' => {}
},
{
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => '_21d2-_00b0-a-b--_00e5'
+ }
+ }
+ },
'level' => 1,
'number' => 7,
'prev' => {},
'up' => {}
},
{
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' =>
'_00c5-_00e6-_0153-_00c6-_0152-_00f8-_00d8-_00df-_0142-_0141-_00d0-_00f0-_00de-_00fe'
+ }
+ }
+ },
'level' => 1,
'number' => 8,
'prev' => {},
'up' => {}
},
{
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' =>
'_00e4-_1ebd-_00ee-_00e2-_00e0-_00e9-_00e7-_0113-e_030a-e_030b-_0119'
+ }
+ }
+ },
'level' => 1,
'number' => 9,
'prev' => {},
'up' => {}
},
{
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => '_0117-_0115-e_0332-_1eb9-_011b-j-ee_0361'
+ }
+ }
+ },
'level' => 1,
'number' => 10,
'prev' => {},
'up' => {}
},
{
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => '_201c-_201d-_2018-_2019-_201e-_201a'
+ }
+ }
+ },
'level' => 1,
'number' => 11,
'prev' => {},
'up' => {}
},
{
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => '_00ab-_00bb-_00ab-_00bb-_2039-_203a'
+ }
+ }
+ },
'level' => 1,
'number' => 12,
'prev' => {},
'up' => {}
},
{
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' =>
'_0060_0060-_0027_0027-_002d_002d_002d-_002d_002d'
+ }
+ }
+ },
'level' => 1,
'number' => 13,
'prev' => {},
'up' => {}
},
{
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'AAA-AAA-BBB'
+ }
+ }
+ },
'level' => 1,
'number' => 14,
'prev' => {},
'up' => {}
},
{
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'CCC-CCC-DDD'
+ }
+ }
+ },
'level' => 1,
'number' => 15,
'prev' => {},
'up' => {}
},
{
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'the-someone-no_005fexplain_0040there'
+ }
+ }
+ },
'level' => 1,
'number' => 16,
'prev' => {},
'up' => {}
},
{
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'f_002d_002dile1-f_002d_002dile'
+ }
+ }
+ },
'level' => 1,
'number' => 17,
'prev' => {},
'up' => {}
},
{
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => '-_0040-_007b_007d-_002e-'
+ }
+ }
+ },
'level' => 1,
'number' => 18,
'prev' => {},
'up' => {}
},
{
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'cite-asis-in-_0040w-b-in-r-SC-str-t-var-dfn-i'
+ }
+ }
+ },
'level' => 1,
'number' => 19,
'prev' => {},
'up' => {}
},
{
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'env-code-option-samp-command-file-C_002dx-ESC'
+ }
+ }
+ },
'level' => 1,
'number' => 20,
'prev' => {},
'up' => {}
},
{
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => '8_002e27in'
+ }
+ }
+ },
'level' => 1,
'number' => 21,
'prev' => {},
'up' => {}
},
{
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'sansserif-slanted'
+ }
+ }
+ },
'level' => 1,
'number' => 22,
'prev' => {},
'up' => {}
},
{
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'indicateurl'
+ }
+ }
+ },
'level' => 1,
'number' => 23,
'prev' => {},
'up' => {}
},
{
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' =>
'http_003a_002f_002fsomewhere_005faaa-url-_002fman_002ecgi_002f1_002fls'
+ }
+ }
+ },
'level' => 1,
'number' => 24,
'prev' => {},
'up' => {}
}
],
+ 'cmdname' => 'top',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'Top'
+ }
+ }
+ },
'level' => 0,
'up' => {}
}
],
- 'level' => -1,
- 'text' => '_ROOT'
+ 'level' => -1
};
$result_sectioning{'at_commands_in_refs'}{'childs'}[0]{'childs'}[0]{'up'} =
$result_sectioning{'at_commands_in_refs'}{'childs'}[0];
$result_sectioning{'at_commands_in_refs'}{'childs'}[0]{'childs'}[1]{'prev'} =
$result_sectioning{'at_commands_in_refs'}{'childs'}[0]{'childs'}[0];
@@ -15573,6 +15871,7 @@
$result_sectioning{'at_commands_in_refs'}{'childs'}[0]{'childs'}[23]{'prev'} =
$result_sectioning{'at_commands_in_refs'}{'childs'}[0]{'childs'}[22];
$result_sectioning{'at_commands_in_refs'}{'childs'}[0]{'childs'}[23]{'up'} =
$result_sectioning{'at_commands_in_refs'}{'childs'}[0];
$result_sectioning{'at_commands_in_refs'}{'childs'}[0]{'up'} =
$result_sectioning{'at_commands_in_refs'};
+
$result_errors{'at_commands_in_refs'} = [];
Index: t/results/sectioning/character_and_spaces_in_node.pl
===================================================================
RCS file:
/sources/texinfo/texinfo/tp/t/results/sectioning/character_and_spaces_in_node.pl,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- t/results/sectioning/character_and_spaces_in_node.pl 30 Oct 2010
11:28:37 -0000 1.6
+++ t/results/sectioning/character_and_spaces_in_node.pl 30 Oct 2010
18:31:50 -0000 1.7
@@ -534,9 +534,8 @@
$result_texts{'character_and_spaces_in_node'} = '
';
-$result_sectioning{'character_and_spaces_in_node'} = {
- 'text' => '_ROOT'
-};
+$result_sectioning{'character_and_spaces_in_node'} = {};
+
$result_errors{'character_and_spaces_in_node'} = [];
Index: t/results/sectioning/character_and_spaces_in_refs.pl
===================================================================
RCS file:
/sources/texinfo/texinfo/tp/t/results/sectioning/character_and_spaces_in_refs.pl,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- t/results/sectioning/character_and_spaces_in_refs.pl 30 Oct 2010
11:28:37 -0000 1.8
+++ t/results/sectioning/character_and_spaces_in_refs.pl 30 Oct 2010
18:31:50 -0000 1.9
@@ -524,6 +524,8 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 0,
'line_nr' => {
'file_name' => '',
'line_nr' => 2,
@@ -843,11 +845,14 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 21,
'macro' => ''
},
+ 'number' => 1,
'parent' => {}
},
{
@@ -1421,20 +1426,38 @@
{
'childs' => [
{
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'other-nodes'
+ }
+ }
+ },
'level' => 1,
'number' => 1,
'up' => {}
}
],
+ 'cmdname' => 'top',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'Top'
+ }
+ }
+ },
'level' => 0,
'up' => {}
}
],
- 'level' => -1,
- 'text' => '_ROOT'
+ 'level' => -1
};
$result_sectioning{'character_and_spaces_in_refs'}{'childs'}[0]{'childs'}[0]{'up'}
= $result_sectioning{'character_and_spaces_in_refs'}{'childs'}[0];
$result_sectioning{'character_and_spaces_in_refs'}{'childs'}[0]{'up'} =
$result_sectioning{'character_and_spaces_in_refs'};
+
$result_errors{'character_and_spaces_in_refs'} = [];
Index: t/results/sectioning/double_node_anchor_float.pl
===================================================================
RCS file:
/sources/texinfo/texinfo/tp/t/results/sectioning/double_node_anchor_float.pl,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- t/results/sectioning/double_node_anchor_float.pl 30 Oct 2010 11:28:37
-0000 1.2
+++ t/results/sectioning/double_node_anchor_float.pl 30 Oct 2010 18:31:50
-0000 1.3
@@ -601,9 +601,8 @@
';
-$result_sectioning{'double_node_anchor_float'} = {
- 'text' => '_ROOT'
-};
+$result_sectioning{'double_node_anchor_float'} = {};
+
$result_errors{'double_node_anchor_float'} = [
{
'error_line' => ':3: @node `node1\' previously defined
Index: t/results/sectioning/double_top.pl
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/results/sectioning/double_top.pl,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- t/results/sectioning/double_top.pl 30 Oct 2010 11:28:37 -0000 1.2
+++ t/results/sectioning/double_top.pl 30 Oct 2010 18:31:50 -0000 1.3
@@ -246,9 +246,8 @@
.
';
-$result_sectioning{'double_top'} = {
- 'text' => '_ROOT'
-};
+$result_sectioning{'double_top'} = {};
+
$result_errors{'double_top'} = [
{
'error_line' => ':3: @node `top\' previously defined
Index: t/results/sectioning/empty_node.pl
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/results/sectioning/empty_node.pl,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- t/results/sectioning/empty_node.pl 29 Oct 2010 21:43:24 -0000 1.1
+++ t/results/sectioning/empty_node.pl 30 Oct 2010 18:31:50 -0000 1.2
@@ -166,9 +166,8 @@
$result_texts{'empty_node'} = '
';
-$result_sectioning{'empty_node'} = {
- 'text' => '_ROOT'
-};
+$result_sectioning{'empty_node'} = {};
+
$result_errors{'empty_node'} = [
{
'error_line' => ':1: Empty argument in @node
Index: t/results/sectioning/node.pl
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/results/sectioning/node.pl,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -b -r1.20 -r1.21
--- t/results/sectioning/node.pl 30 Oct 2010 11:28:37 -0000 1.20
+++ t/results/sectioning/node.pl 30 Oct 2010 18:31:50 -0000 1.21
@@ -747,9 +747,8 @@
';
-$result_sectioning{'node'} = {
- 'text' => '_ROOT'
-};
+$result_sectioning{'node'} = {};
+
$result_errors{'node'} = [
{
'error_line' => ':6: warning: Superfluous arguments for node
Index: t/results/sectioning/node_empty_direction.pl
===================================================================
RCS file:
/sources/texinfo/texinfo/tp/t/results/sectioning/node_empty_direction.pl,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- t/results/sectioning/node_empty_direction.pl 30 Oct 2010 11:28:37
-0000 1.2
+++ t/results/sectioning/node_empty_direction.pl 30 Oct 2010 18:31:50
-0000 1.3
@@ -72,9 +72,8 @@
$result_texts{'node_empty_direction'} = '';
-$result_sectioning{'node_empty_direction'} = {
- 'text' => '_ROOT'
-};
+$result_sectioning{'node_empty_direction'} = {};
+
$result_errors{'node_empty_direction'} = [];
Index: t/results/sectioning/nodename_parentheses.pl
===================================================================
RCS file:
/sources/texinfo/texinfo/tp/t/results/sectioning/nodename_parentheses.pl,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- t/results/sectioning/nodename_parentheses.pl 30 Oct 2010 11:28:37
-0000 1.9
+++ t/results/sectioning/nodename_parentheses.pl 30 Oct 2010 18:31:50
-0000 1.10
@@ -267,6 +267,8 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 0,
'line_nr' => {
'file_name' => '',
'line_nr' => 2,
@@ -369,11 +371,14 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 11,
'macro' => ''
},
+ 'number' => 1,
'parent' => {}
},
{
@@ -530,11 +535,14 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 16,
'macro' => ''
},
+ 'number' => 2,
'parent' => {}
},
{
@@ -689,11 +697,14 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 23,
'macro' => ''
},
+ 'number' => 3,
'parent' => {}
}
],
@@ -869,29 +880,64 @@
{
'childs' => [
{
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'Node-_0028with-parentheses_0029'
+ }
+ }
+ },
'level' => 1,
'number' => 1,
'up' => {}
},
{
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'Other-node'
+ }
+ }
+ },
'level' => 1,
'number' => 2,
'prev' => {},
'up' => {}
},
{
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'node'
+ }
+ }
+ },
'level' => 1,
'number' => 3,
'prev' => {},
'up' => {}
}
],
+ 'cmdname' => 'top',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'Top'
+ }
+ }
+ },
'level' => 0,
'up' => {}
}
],
- 'level' => -1,
- 'text' => '_ROOT'
+ 'level' => -1
};
$result_sectioning{'nodename_parentheses'}{'childs'}[0]{'childs'}[0]{'up'} =
$result_sectioning{'nodename_parentheses'}{'childs'}[0];
$result_sectioning{'nodename_parentheses'}{'childs'}[0]{'childs'}[1]{'prev'} =
$result_sectioning{'nodename_parentheses'}{'childs'}[0]{'childs'}[0];
@@ -899,6 +945,7 @@
$result_sectioning{'nodename_parentheses'}{'childs'}[0]{'childs'}[2]{'prev'} =
$result_sectioning{'nodename_parentheses'}{'childs'}[0]{'childs'}[1];
$result_sectioning{'nodename_parentheses'}{'childs'}[0]{'childs'}[2]{'up'} =
$result_sectioning{'nodename_parentheses'}{'childs'}[0];
$result_sectioning{'nodename_parentheses'}{'childs'}[0]{'up'} =
$result_sectioning{'nodename_parentheses'};
+
$result_errors{'nodename_parentheses'} = [
{
'error_line' => ':22: Syntax for an external node used for ` (manual)node
Index: t/results/sectioning/raiselowersections.pl
===================================================================
RCS file:
/sources/texinfo/texinfo/tp/t/results/sectioning/raiselowersections.pl,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- t/results/sectioning/raiselowersections.pl 30 Oct 2010 11:28:37 -0000
1.12
+++ t/results/sectioning/raiselowersections.pl 30 Oct 2010 18:31:50 -0000
1.13
@@ -222,6 +222,8 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 0,
'line_nr' => {
'file_name' => '',
'line_nr' => 4,
@@ -451,11 +453,14 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 11,
'macro' => ''
},
+ 'number' => 1,
'parent' => {}
},
{
@@ -613,11 +618,13 @@
'extra' => {
'sections_level' => -1
},
+ 'level' => 2,
'line_nr' => {
'file_name' => 't/include//section_file.texi',
'line_nr' => 14,
'macro' => ''
},
+ 'number' => '1.1',
'parent' => {}
},
{
@@ -775,11 +782,13 @@
'extra' => {
'sections_level' => -1
},
+ 'level' => 3,
'line_nr' => {
'file_name' => 't/include//section_file.texi',
'line_nr' => 21,
'macro' => ''
},
+ 'number' => '1.1.1',
'parent' => {}
},
{
@@ -900,11 +909,13 @@
'extra' => {
'sections_level' => -1
},
+ 'level' => 4,
'line_nr' => {
'file_name' => 't/include//section_file.texi',
'line_nr' => 28,
'macro' => ''
},
+ 'number' => '1.1.1.1',
'parent' => {}
},
{
@@ -1006,11 +1017,14 @@
'parent' => {}
}
],
+ 'extra' => {},
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 31,
'macro' => ''
},
+ 'number' => 2,
'parent' => {}
},
{
@@ -1278,38 +1292,94 @@
{
'childs' => [
{
+ 'cmdname' => 'subsection',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'Subsection'
+ }
+ },
+ 'sections_level' => -1
+ },
'level' => 4,
'number' => '1.1.1.1',
'up' => {}
}
],
+ 'cmdname' => 'section',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'Section'
+ }
+ },
+ 'sections_level' => -1
+ },
'level' => 3,
'number' => '1.1.1',
'up' => {}
}
],
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'Chapter-in-included-file'
+ }
+ },
+ 'sections_level' => -1
+ },
'level' => 2,
'number' => '1.1',
'up' => {}
}
],
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'Chapter'
+ }
+ }
+ },
'level' => 1,
'number' => 1,
'up' => {}
},
{
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'Second-chapter'
+ }
+ }
+ },
'level' => 1,
'number' => 2,
'prev' => {},
'up' => {}
}
],
+ 'cmdname' => 'top',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'Top'
+ }
+ }
+ },
'level' => 0,
'up' => {}
}
],
- 'level' => -1,
- 'text' => '_ROOT'
+ 'level' => -1
};
$result_sectioning{'raiselowersections'}{'childs'}[0]{'childs'}[0]{'childs'}[0]{'childs'}[0]{'childs'}[0]{'up'}
=
$result_sectioning{'raiselowersections'}{'childs'}[0]{'childs'}[0]{'childs'}[0]{'childs'}[0];
$result_sectioning{'raiselowersections'}{'childs'}[0]{'childs'}[0]{'childs'}[0]{'childs'}[0]{'up'}
=
$result_sectioning{'raiselowersections'}{'childs'}[0]{'childs'}[0]{'childs'}[0];
@@ -1318,6 +1388,7 @@
$result_sectioning{'raiselowersections'}{'childs'}[0]{'childs'}[1]{'prev'} =
$result_sectioning{'raiselowersections'}{'childs'}[0]{'childs'}[0];
$result_sectioning{'raiselowersections'}{'childs'}[0]{'childs'}[1]{'up'} =
$result_sectioning{'raiselowersections'}{'childs'}[0];
$result_sectioning{'raiselowersections'}{'childs'}[0]{'up'} =
$result_sectioning{'raiselowersections'};
+
$result_errors{'raiselowersections'} = [];
Index: t/results/sectioning/sections.pl
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/results/sectioning/sections.pl,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- t/results/sectioning/sections.pl 29 Oct 2010 07:25:07 -0000 1.12
+++ t/results/sectioning/sections.pl 30 Oct 2010 18:31:50 -0000 1.13
@@ -32,11 +32,13 @@
],
'cmdname' => 'chapter',
'contents' => [],
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 1,
'macro' => ''
},
+ 'number' => 1,
'parent' => {}
}
],
@@ -58,15 +60,16 @@
$result_sectioning{'sections'} = {
'childs' => [
{
+ 'cmdname' => 'chapter',
'level' => 1,
'number' => 1,
'up' => {}
}
],
- 'level' => 0,
- 'text' => '_ROOT'
+ 'level' => 0
};
$result_sectioning{'sections'}{'childs'}[0]{'up'} =
$result_sectioning{'sections'};
+
$result_errors{'sections'} = [];
Index: t/results/sectioning/some_at_commands_in_ref_nodes.pl
===================================================================
RCS file:
/sources/texinfo/texinfo/tp/t/results/sectioning/some_at_commands_in_ref_nodes.pl,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- t/results/sectioning/some_at_commands_in_ref_nodes.pl 30 Oct 2010
11:28:37 -0000 1.8
+++ t/results/sectioning/some_at_commands_in_ref_nodes.pl 30 Oct 2010
18:31:50 -0000 1.9
@@ -329,6 +329,8 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 0,
'line_nr' => {
'file_name' => '',
'line_nr' => 3,
@@ -934,11 +936,14 @@
'type' => 'paragraph'
}
],
+ 'extra' => {},
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 10,
'macro' => ''
},
+ 'number' => 1,
'parent' => {}
}
],
@@ -1162,20 +1167,38 @@
{
'childs' => [
{
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'A-SC-node-_00ef-_00ef-_1e14-_0142-_1e08-_00a1'
+ }
+ }
+ },
'level' => 1,
'number' => 1,
'up' => {}
}
],
+ 'cmdname' => 'top',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'Top'
+ }
+ }
+ },
'level' => 0,
'up' => {}
}
],
- 'level' => -1,
- 'text' => '_ROOT'
+ 'level' => -1
};
$result_sectioning{'some_at_commands_in_ref_nodes'}{'childs'}[0]{'childs'}[0]{'up'}
= $result_sectioning{'some_at_commands_in_ref_nodes'}{'childs'}[0];
$result_sectioning{'some_at_commands_in_ref_nodes'}{'childs'}[0]{'up'} =
$result_sectioning{'some_at_commands_in_ref_nodes'};
+
$result_errors{'some_at_commands_in_ref_nodes'} = [];
Index: t/results/value/value_in_misc_commands.pl
===================================================================
RCS file:
/sources/texinfo/texinfo/tp/t/results/value/value_in_misc_commands.pl,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -b -r1.20 -r1.21
--- t/results/value/value_in_misc_commands.pl 30 Oct 2010 11:28:37 -0000
1.20
+++ t/results/value/value_in_misc_commands.pl 30 Oct 2010 18:31:50 -0000
1.21
@@ -2531,6 +2531,8 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 0,
'line_nr' => {
'file_name' => '',
'line_nr' => 4,
@@ -3152,14 +3154,23 @@
$result_sectioning{'value_in_misc_commands'} = {
'childs' => [
{
+ 'cmdname' => 'top',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'Top'
+ }
+ }
+ },
'level' => 0,
'up' => {}
}
],
- 'level' => -1,
- 'text' => '_ROOT'
+ 'level' => -1
};
$result_sectioning{'value_in_misc_commands'}{'childs'}[0]{'up'} =
$result_sectioning{'value_in_misc_commands'};
+
$result_errors{'value_in_misc_commands'} = [
{
'error_line' => ':17: Bad argument to @headings: on line following
headings atext
Index: t/results/value/value_in_node.pl
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/results/value/value_in_node.pl,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -b -r1.23 -r1.24
--- t/results/value/value_in_node.pl 30 Oct 2010 11:28:37 -0000 1.23
+++ t/results/value/value_in_node.pl 30 Oct 2010 18:31:50 -0000 1.24
@@ -257,6 +257,8 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 0,
'line_nr' => {
'file_name' => '',
'line_nr' => 4,
@@ -488,11 +490,14 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 11,
'macro' => ''
},
+ 'number' => 1,
'parent' => {}
},
{
@@ -769,20 +774,38 @@
{
'childs' => [
{
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'Node-1'
+ }
+ }
+ },
'level' => 1,
'number' => 1,
'up' => {}
}
],
+ 'cmdname' => 'top',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'Top'
+ }
+ }
+ },
'level' => 0,
'up' => {}
}
],
- 'level' => -1,
- 'text' => '_ROOT'
+ 'level' => -1
};
$result_sectioning{'value_in_node'}{'childs'}[0]{'childs'}[0]{'up'} =
$result_sectioning{'value_in_node'}{'childs'}[0];
$result_sectioning{'value_in_node'}{'childs'}[0]{'up'} =
$result_sectioning{'value_in_node'};
+
$result_errors{'value_in_node'} = [];
Index: t/results/value/value_node_directions.pl
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/results/value/value_node_directions.pl,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -r1.19 -r1.20
--- t/results/value/value_node_directions.pl 30 Oct 2010 11:28:37 -0000
1.19
+++ t/results/value/value_node_directions.pl 30 Oct 2010 18:31:50 -0000
1.20
@@ -186,6 +186,8 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 0,
'line_nr' => {
'file_name' => '',
'line_nr' => 4,
@@ -333,11 +335,14 @@
'type' => 'empty_line'
}
],
+ 'extra' => {},
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 8,
'macro' => ''
},
+ 'number' => 1,
'parent' => {}
},
{
@@ -464,11 +469,14 @@
],
'cmdname' => 'chapter',
'contents' => [],
+ 'extra' => {},
+ 'level' => 1,
'line_nr' => {
'file_name' => '',
'line_nr' => 11,
'macro' => ''
},
+ 'number' => 2,
'parent' => {}
}
],
@@ -572,28 +580,55 @@
{
'childs' => [
{
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'bar'
+ }
+ }
+ },
'level' => 1,
'number' => 1,
'up' => {}
},
{
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'BarFoo'
+ }
+ }
+ },
'level' => 1,
'number' => 2,
'prev' => {},
'up' => {}
}
],
+ 'cmdname' => 'top',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'Top'
+ }
+ }
+ },
'level' => 0,
'up' => {}
}
],
- 'level' => -1,
- 'text' => '_ROOT'
+ 'level' => -1
};
$result_sectioning{'value_node_directions'}{'childs'}[0]{'childs'}[0]{'up'} =
$result_sectioning{'value_node_directions'}{'childs'}[0];
$result_sectioning{'value_node_directions'}{'childs'}[0]{'childs'}[1]{'prev'}
= $result_sectioning{'value_node_directions'}{'childs'}[0]{'childs'}[0];
$result_sectioning{'value_node_directions'}{'childs'}[0]{'childs'}[1]{'up'} =
$result_sectioning{'value_node_directions'}{'childs'}[0];
$result_sectioning{'value_node_directions'}{'childs'}[0]{'up'} =
$result_sectioning{'value_node_directions'};
+
$result_errors{'value_node_directions'} = [];
Index: t/results/sectioning/unknown_node_in_menu.pl
===================================================================
RCS file: t/results/sectioning/unknown_node_in_menu.pl
diff -N t/results/sectioning/unknown_node_in_menu.pl
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ t/results/sectioning/unknown_node_in_menu.pl 30 Oct 2010 18:31:50
-0000 1.1
@@ -0,0 +1,179 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors
%results_indices);
+
+$result_trees{'unknown_node_in_menu'} = {
+ 'contents' => [
+ {
+ 'contents' => [],
+ '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' => 'node',
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'cmdname' => 'menu',
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'empty_line_after_command'
+ },
+ {
+ 'args' => [
+ {
+ 'parent' => {},
+ 'text' => '* ',
+ 'type' => 'menu_entry_leading_text'
+ },
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'unknown'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'menu_entry_node'
+ },
+ {
+ 'parent' => {},
+ 'text' => '::',
+ 'type' => 'menu_entry_separator'
+ },
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => '
+'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'menu_entry_description'
+ }
+ ],
+ 'extra' => {
+ 'menu_entry_node' => {
+ 'node_content' => [
+ {}
+ ],
+ 'normalized' => 'unknown'
+ }
+ },
+ 'line_nr' => {
+ 'file_name' => '',
+ 'line_nr' => 4,
+ 'macro' => ''
+ },
+ 'parent' => {},
+ 'type' => 'menu_entry'
+ }
+ ],
+ 'parent' => {}
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'empty_line_after_command'
+ }
+ ],
+ 'extra' => {
+ 'node_content' => [
+ {}
+ ],
+ 'nodes_manuals' => [
+ {
+ 'node_content' => [],
+ 'normalized' => 'Top'
+ }
+ ],
+ 'normalized' => 'Top'
+ },
+ 'line_nr' => {
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => ''
+ },
+ 'parent' => {}
+ }
+ ],
+ 'type' => 'document_root'
+};
+$result_trees{'unknown_node_in_menu'}{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
= $result_trees{'unknown_node_in_menu'}{'contents'}[1]{'args'}[0];
+$result_trees{'unknown_node_in_menu'}{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
= $result_trees{'unknown_node_in_menu'}{'contents'}[1]{'args'}[0];
+$result_trees{'unknown_node_in_menu'}{'contents'}[1]{'args'}[0]{'contents'}[2]{'parent'}
= $result_trees{'unknown_node_in_menu'}{'contents'}[1]{'args'}[0];
+$result_trees{'unknown_node_in_menu'}{'contents'}[1]{'args'}[0]{'parent'} =
$result_trees{'unknown_node_in_menu'}{'contents'}[1];
+$result_trees{'unknown_node_in_menu'}{'contents'}[1]{'contents'}[0]{'parent'}
= $result_trees{'unknown_node_in_menu'}{'contents'}[1];
+$result_trees{'unknown_node_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'parent'}
= $result_trees{'unknown_node_in_menu'}{'contents'}[1]{'contents'}[1];
+$result_trees{'unknown_node_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[0]{'parent'}
=
$result_trees{'unknown_node_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[1];
+$result_trees{'unknown_node_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[1]{'contents'}[0]{'parent'}
=
$result_trees{'unknown_node_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[1];
+$result_trees{'unknown_node_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[1]{'parent'}
=
$result_trees{'unknown_node_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[1];
+$result_trees{'unknown_node_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[2]{'parent'}
=
$result_trees{'unknown_node_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[1];
+$result_trees{'unknown_node_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[3]{'contents'}[0]{'parent'}
=
$result_trees{'unknown_node_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[3];
+$result_trees{'unknown_node_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[3]{'parent'}
=
$result_trees{'unknown_node_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[1];
+$result_trees{'unknown_node_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'extra'}{'menu_entry_node'}{'node_content'}[0]
=
$result_trees{'unknown_node_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[1]{'contents'}[0];
+$result_trees{'unknown_node_in_menu'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'parent'}
= $result_trees{'unknown_node_in_menu'}{'contents'}[1]{'contents'}[1];
+$result_trees{'unknown_node_in_menu'}{'contents'}[1]{'contents'}[1]{'parent'}
= $result_trees{'unknown_node_in_menu'}{'contents'}[1];
+$result_trees{'unknown_node_in_menu'}{'contents'}[1]{'contents'}[2]{'parent'}
= $result_trees{'unknown_node_in_menu'}{'contents'}[1];
+$result_trees{'unknown_node_in_menu'}{'contents'}[1]{'extra'}{'node_content'}[0]
=
$result_trees{'unknown_node_in_menu'}{'contents'}[1]{'args'}[0]{'contents'}[1];
+$result_trees{'unknown_node_in_menu'}{'contents'}[1]{'extra'}{'nodes_manuals'}[0]{'node_content'}
=
$result_trees{'unknown_node_in_menu'}{'contents'}[1]{'extra'}{'node_content'};
+$result_trees{'unknown_node_in_menu'}{'contents'}[1]{'parent'} =
$result_trees{'unknown_node_in_menu'};
+
+$result_texis{'unknown_node_in_menu'} = '@node Top
+
address@hidden
+* unknown::
address@hidden menu
+';
+
+
+$result_texts{'unknown_node_in_menu'} = '
+* unknown::
+';
+
+$result_sectioning{'unknown_node_in_menu'} = {};
+
+$result_errors{'unknown_node_in_menu'} = [
+ {
+ 'error_line' => ':4: Menu reference to nonexistent node `unknown\'
+',
+ 'file_name' => '',
+ 'line_nr' => 4,
+ 'macro' => '',
+ 'text' => 'Menu reference to nonexistent node `unknown\'',
+ 'type' => 'error'
+ }
+];
+
+
+1;