[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
branch master updated: Complete Plaintext/Info menus with nodedescriptio
From: |
Patrice Dumas |
Subject: |
branch master updated: Complete Plaintext/Info menus with nodedescription |
Date: |
Mon, 24 Jul 2023 02:44:47 -0400 |
This is an automated email from the git hooks/post-receive script.
pertusus pushed a commit to branch master
in repository texinfo.
The following commit(s) were added to refs/heads/master by this push:
new f92a2d11c7 Complete Plaintext/Info menus with nodedescription
f92a2d11c7 is described below
commit f92a2d11c7c764833c7eed539894c40b9104111b
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Mon Jul 24 08:44:36 2023 +0200
Complete Plaintext/Info menus with nodedescription
* tp/Texinfo/Convert/Plaintext.pm (_convert): use nodedescription
if a menu_entry_description is empty, using a new paragraph container.
* tp/Texinfo/Convert/ParagraphNonXS.pm (counter),
tp/Texinfo/XS/XSParagraph.xs (xspara_counter), tp/Texinfo/XS/xspara.c
(xspara_counter): add counter() to get the current column counter value.
* tp/Makefile.tres, tp/t/10menu.t (nodedescription_descriptions): new
test to test @nodedescription added descriptions.
---
ChangeLog | 16 +-
tp/Makefile.tres | 1 +
tp/Texinfo/Convert/ParagraphNonXS.pm | 6 +
tp/Texinfo/Convert/Plaintext.pm | 49 +-
tp/Texinfo/XS/XSParagraph.xs | 9 +
tp/Texinfo/XS/xspara.c | 6 +
tp/Texinfo/XS/xspara.h | 1 +
tp/t/10menu.t | 34 +-
tp/t/results/menu/nodedescription_descriptions.pl | 1408 +++++++++++++++++++++
9 files changed, 1525 insertions(+), 5 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index f0cf7eec75..f61ca0a401 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2023-07-23 Patrice Dumas <pertusus@free.fr>
+
+ Complete Plaintext/Info menus with nodedescription
+
+ * tp/Texinfo/Convert/Plaintext.pm (_convert): use nodedescription
+ if a menu_entry_description is empty, using a new paragraph container.
+
+ * tp/Texinfo/Convert/ParagraphNonXS.pm (counter),
+ tp/Texinfo/XS/XSParagraph.xs (xspara_counter), tp/Texinfo/XS/xspara.c
+ (xspara_counter): add counter() to get the current column counter value.
+
+ * tp/Makefile.tres, tp/t/10menu.t (nodedescription_descriptions): new
+ test to test @nodedescription added descriptions.
+
2023-07-23 Gavin Smith <gavinsmith0123@gmail.com>
Fix parsetexi compilation errors
@@ -9,7 +23,7 @@
2023-07-23 Patrice Dumas <pertusus@free.fr>
- @nodedescription parsing in texi1any
+ @nodedescription parsing in texi2any
* tp/Texinfo/ParserNonXS.pm (%contain_full_text_commands)
(_handle_line_command), tp/Texinfo/XS/parsetexi/handle_commands.c
diff --git a/tp/Makefile.tres b/tp/Makefile.tres
index 76926e59ca..69e5e32cba 100644
--- a/tp/Makefile.tres
+++ b/tp/Makefile.tres
@@ -1408,6 +1408,7 @@ test_files_generated_list =
$(test_tap_files_generated_list) \
t/results/menu/missing_detailmenu_on_subnodes.pl \
t/results/menu/multiple_menus.pl \
t/results/menu/no_colon_in_menu.pl \
+ t/results/menu/nodedescription_descriptions.pl \
t/results/menu/reference_to_external_manual.pl \
t/results/menu/sc_in_menu.pl \
t/results/menu/simple.pl \
diff --git a/tp/Texinfo/Convert/ParagraphNonXS.pm
b/tp/Texinfo/Convert/ParagraphNonXS.pm
index 1c074121c5..3f0c7dfd8b 100644
--- a/tp/Texinfo/Convert/ParagraphNonXS.pm
+++ b/tp/Texinfo/Convert/ParagraphNonXS.pm
@@ -78,6 +78,12 @@ sub end_line_count($)
return $paragraph->{'end_line_count'};
}
+sub counter($)
+{
+ my $paragraph = shift;
+ return $paragraph->{'counter'};
+}
+
sub end_line($)
{
my $paragraph = shift;
diff --git a/tp/Texinfo/Convert/Plaintext.pm b/tp/Texinfo/Convert/Plaintext.pm
index fe0cf7387c..3e8e55e919 100644
--- a/tp/Texinfo/Convert/Plaintext.pm
+++ b/tp/Texinfo/Convert/Plaintext.pm
@@ -739,7 +739,8 @@ sub new_formatter($$;$)
set_space_protection($container, undef, 1, 1);
}
- my $formatter = {'container' => $container, 'upper_case_stack' => [{}],
+ my $formatter = {'container' => $container,
+ 'upper_case_stack' => [{}],
'font_type_stack' => [{}],
'w' => 0, 'type' => $type,
'frenchspacing_stack' => [$self->{'conf'}->{'frenchspacing'}],
@@ -1712,6 +1713,8 @@ sub _get_form_feeds($)
return $form_feeds;
}
+my $description_indent_length = 31;
+
sub _convert($$);
# Convert the Texinfo tree under $ROOT to plain text.
@@ -3371,8 +3374,10 @@ sub _convert($$)
}
} elsif ($type eq 'menu_entry') {
my $entry_name_seen = 0;
+ my $menu_entry_node;
foreach my $content (@{$element->{'contents'}}) {
if ($content->{'type'} eq 'menu_entry_node') {
+ $menu_entry_node = $content;
my ($pre_quote, $post_quote);
$self->{'formatters'}->[-1]->{'suppress_styles'} = 1;
$self->{'formatters'}->[-1]->{'no_added_eol'} = 1;
@@ -3438,6 +3443,46 @@ sub _convert($$)
}
}
$result .= $pre_quote . $entry_name . $post_quote;
+
+ # empty description
+ } elsif ($content->{'type'} eq 'menu_entry_description'
+ and $content->{'contents'}
+ and scalar(@{$content->{'contents'}}) == 1
+ # preformatted inside menu_entry_description
+ and $content->{'contents'}->[0]->{'contents'}
+ and scalar(@{$content->{'contents'}->[0]->{'contents'}}) == 1
+ and
defined($content->{'contents'}->[0]->{'contents'}->[0]->{'text'})
+ and $content->{'contents'}->[0]->{'contents'}->[0]->{'text'}
!~ /\S/) {
+ if ($menu_entry_node and $menu_entry_node->{'extra'}
+ and defined($menu_entry_node->{'extra'}->{'normalized'})
+ and $self->{'labels'}
+ ->{$menu_entry_node->{'extra'}->{'normalized'}}
+ and $self->{'labels'}
+ ->{$menu_entry_node->{'extra'}->{'normalized'}}->{'extra'}
+ and $self->{'labels'}
+ ->{$menu_entry_node->{'extra'}->{'normalized'}}->{'extra'}
+ ->{'node_description'})
{
+ my $description_element = $self->{'labels'}
+ ->{$menu_entry_node->{'extra'}->{'normalized'}}->{'extra'}
+ ->{'node_description'};
+ # flush the current unfilled container
+ $result .= _count_added($self,
+ $formatter->{'container'},
+ add_pending_word($formatter->{'container'}, 1));
+ # push a paragraph container to format the description.
+ my $description_para = $self->new_formatter('paragraph',
+ { 'indent_length' => $description_indent_length,
+ 'counter'
+ =>
Texinfo::Convert::Paragraph::counter($formatter->{'container'}),
+ });
+ push @{$self->{'formatters'}}, $description_para;
+ $result .= _convert($self, $description_element->{'args'}->[0]);
+ $result .= _count_added($self, $description_para->{'container'},
+
Texinfo::Convert::Paragraph::end($description_para->{'container'}));
+ pop @{$self->{'formatters'}};
+ } else {
+ $result .= _convert($self, $content);
+ }
} else {
$result .= _convert($self, $content);
}
@@ -3456,7 +3501,7 @@ sub _convert($$)
$formatter->{'container'},
add_pending_word($formatter->{'container'}));
end_line($formatter->{'container'});
- $result = $self->ensure_end_of_line($result) ;
+ $result = $self->ensure_end_of_line($result);
}
return $result;
diff --git a/tp/Texinfo/XS/XSParagraph.xs b/tp/Texinfo/XS/XSParagraph.xs
index 02f8875da8..bb5276b556 100644
--- a/tp/Texinfo/XS/XSParagraph.xs
+++ b/tp/Texinfo/XS/XSParagraph.xs
@@ -78,6 +78,15 @@ xspara_end_line_count (paragraph)
OUTPUT:
RETVAL
+int
+xspara_counter (paragraph)
+ SV *paragraph
+ CODE:
+ xspara_set_state (paragraph);
+ RETVAL = xspara_counter ();
+ OUTPUT:
+ RETVAL
+
void
xspara__end_line (paragraph)
SV *paragraph
diff --git a/tp/Texinfo/XS/xspara.c b/tp/Texinfo/XS/xspara.c
index 6832da328c..9afc4d6a6d 100644
--- a/tp/Texinfo/XS/xspara.c
+++ b/tp/Texinfo/XS/xspara.c
@@ -517,6 +517,12 @@ xspara_end_line_count (void)
return state.end_line_count;
}
+int
+xspara_counter (void)
+{
+ return state.counter;
+}
+
/* End a line (throwing away a pending space, which we don't need)
Note _end_line in Paragraph.pm returned "\n". */
void
diff --git a/tp/Texinfo/XS/xspara.h b/tp/Texinfo/XS/xspara.h
index 57520efb51..cc5d08ae5e 100644
--- a/tp/Texinfo/XS/xspara.h
+++ b/tp/Texinfo/XS/xspara.h
@@ -18,3 +18,4 @@ void xspara_allow_end_sentence (void);
void xspara_remove_end_sentence (void);
void xspara_add_end_sentence (int value);
int xspara_end_line_count (void);
+int xspara_counter (void);
diff --git a/tp/t/10menu.t b/tp/t/10menu.t
index 72904664b2..8a3dc74893 100644
--- a/tp/t/10menu.t
+++ b/tp/t/10menu.t
@@ -513,6 +513,38 @@ Text
@node chap @: b
@chapter Chap
'],
+['nodedescription_descriptions',
+'@node Top
+@top test of nodedescription used in menu
+
+@menu
+* toto::
+* titi:: desc of titi
+* name of other: other.
+
+* name of last: last. desc of last
+@end menu
+
+@node toto
+@chapter Toto
+
+@nodedescription toto is there:: and the @emph{is a description}@w{slightly
long} and @ver{:vv somewhat:} @ringaccent anexpected
+
+@node titi
+@chapter Titi
+
+@nodedescription this describes titi
+
+@node other
+@chapter Other
+
+@nodedescription other comes here
+
+@node last
+@chapter Last
+
+@nodedescription we are last
+']
);
my @test_invalid = (
@@ -592,8 +624,6 @@ my @test_invalid = (
* Example: Examples of Login Verification Functions
@end menu
'],
-
-
);
foreach my $test (@test_cases) {
diff --git a/tp/t/results/menu/nodedescription_descriptions.pl
b/tp/t/results/menu/nodedescription_descriptions.pl
new file mode 100644
index 0000000000..4c6aa403bd
--- /dev/null
+++ b/tp/t/results/menu/nodedescription_descriptions.pl
@@ -0,0 +1,1408 @@
+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_elements %result_directions_text %result_indices_sort_strings);
+
+use utf8;
+
+$result_trees{'nodedescription_descriptions'} = {
+ 'contents' => [
+ {
+ 'type' => 'before_node_section'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'Top'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'Top'
+ },
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => ''
+ }
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'test of nodedescription used in menu'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'top',
+ 'contents' => [
+ {
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'args' => [
+ {
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'block_line_arg'
+ }
+ ],
+ 'cmdname' => 'menu',
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'text' => '* ',
+ 'type' => 'menu_entry_leading_text'
+ },
+ {
+ 'contents' => [
+ {
+ 'text' => 'toto'
+ }
+ ],
+ 'extra' => {
+ 'node_content' => [
+ {}
+ ],
+ 'normalized' => 'toto'
+ },
+ 'type' => 'menu_entry_node'
+ },
+ {
+ 'text' => ':: ',
+ 'type' => 'menu_entry_separator'
+ },
+ {
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'text' => '
+'
+ }
+ ],
+ 'type' => 'preformatted'
+ }
+ ],
+ 'type' => 'menu_entry_description'
+ }
+ ],
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 5,
+ 'macro' => ''
+ },
+ 'type' => 'menu_entry'
+ },
+ {
+ 'contents' => [
+ {
+ 'text' => '* ',
+ 'type' => 'menu_entry_leading_text'
+ },
+ {
+ 'contents' => [
+ {
+ 'text' => 'titi'
+ }
+ ],
+ 'extra' => {
+ 'node_content' => [
+ {}
+ ],
+ 'normalized' => 'titi'
+ },
+ 'type' => 'menu_entry_node'
+ },
+ {
+ 'text' => ':: ',
+ 'type' => 'menu_entry_separator'
+ },
+ {
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'desc of titi
+'
+ }
+ ],
+ 'type' => 'preformatted'
+ }
+ ],
+ 'type' => 'menu_entry_description'
+ }
+ ],
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 6,
+ 'macro' => ''
+ },
+ 'type' => 'menu_entry'
+ },
+ {
+ 'contents' => [
+ {
+ 'text' => '* ',
+ 'type' => 'menu_entry_leading_text'
+ },
+ {
+ 'contents' => [
+ {
+ 'text' => 'name of other'
+ }
+ ],
+ 'type' => 'menu_entry_name'
+ },
+ {
+ 'text' => ': ',
+ 'type' => 'menu_entry_separator'
+ },
+ {
+ 'contents' => [
+ {
+ 'text' => 'other'
+ }
+ ],
+ 'extra' => {
+ 'node_content' => [
+ {}
+ ],
+ 'normalized' => 'other'
+ },
+ 'type' => 'menu_entry_node'
+ },
+ {
+ 'text' => '.',
+ 'type' => 'menu_entry_separator'
+ },
+ {
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'text' => '
+'
+ }
+ ],
+ 'type' => 'preformatted'
+ }
+ ],
+ 'type' => 'menu_entry_description'
+ }
+ ],
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 7,
+ 'macro' => ''
+ },
+ 'type' => 'menu_entry'
+ },
+ {
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'text' => '
+',
+ 'type' => 'after_menu_description_line'
+ }
+ ],
+ 'type' => 'preformatted'
+ }
+ ],
+ 'type' => 'menu_comment'
+ },
+ {
+ 'contents' => [
+ {
+ 'text' => '* ',
+ 'type' => 'menu_entry_leading_text'
+ },
+ {
+ 'contents' => [
+ {
+ 'text' => 'name of last'
+ }
+ ],
+ 'type' => 'menu_entry_name'
+ },
+ {
+ 'text' => ': ',
+ 'type' => 'menu_entry_separator'
+ },
+ {
+ 'contents' => [
+ {
+ 'text' => 'last'
+ }
+ ],
+ 'extra' => {
+ 'node_content' => [
+ {}
+ ],
+ 'normalized' => 'last'
+ },
+ 'type' => 'menu_entry_node'
+ },
+ {
+ 'text' => '. ',
+ 'type' => 'menu_entry_separator'
+ },
+ {
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'desc of last
+'
+ }
+ ],
+ 'type' => 'preformatted'
+ }
+ ],
+ 'type' => 'menu_entry_description'
+ }
+ ],
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 9,
+ 'macro' => ''
+ },
+ 'type' => 'menu_entry'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'menu'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'end',
+ 'extra' => {
+ 'text_arg' => 'menu'
+ },
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 10,
+ 'macro' => ''
+ }
+ }
+ ],
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 4,
+ 'macro' => ''
+ }
+ },
+ {
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ }
+ ],
+ 'extra' => {},
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 2,
+ 'macro' => ''
+ }
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'toto'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'node_description' => {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'toto is there:: and the '
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'is a description'
+ }
+ ],
+ 'type' => 'brace_command_arg'
+ }
+ ],
+ 'cmdname' => 'emph',
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 15,
+ 'macro' => ''
+ }
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'slightly long'
+ }
+ ],
+ 'type' => 'brace_command_arg'
+ }
+ ],
+ 'cmdname' => 'w',
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 15,
+ 'macro' => ''
+ }
+ },
+ {
+ 'text' => ' and :vv somewhat: '
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'a'
+ }
+ ],
+ 'type' => 'following_arg'
+ }
+ ],
+ 'cmdname' => 'ringaccent',
+ 'info' => {
+ 'spaces_after_cmd_before_arg' => {
+ 'text' => ' '
+ }
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 15,
+ 'macro' => ''
+ }
+ },
+ {
+ 'text' => 'nexpected'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'nodedescription',
+ 'extra' => {
+ 'element_node' => {}
+ },
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 15,
+ 'macro' => ''
+ }
+ },
+ 'normalized' => 'toto'
+ },
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 12,
+ 'macro' => ''
+ }
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'Toto'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'chapter',
+ 'contents' => [
+ {
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {},
+ {
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ }
+ ],
+ 'extra' => {},
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 13,
+ 'macro' => ''
+ }
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'titi'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'node_description' => {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'this describes titi'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'nodedescription',
+ 'extra' => {
+ 'element_node' => {}
+ },
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 20,
+ 'macro' => ''
+ }
+ },
+ 'normalized' => 'titi'
+ },
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 17,
+ 'macro' => ''
+ }
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'Titi'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'chapter',
+ 'contents' => [
+ {
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {},
+ {
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ }
+ ],
+ 'extra' => {},
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 18,
+ 'macro' => ''
+ }
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'other'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'node_description' => {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'other comes here'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'nodedescription',
+ 'extra' => {
+ 'element_node' => {}
+ },
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 25,
+ 'macro' => ''
+ }
+ },
+ 'normalized' => 'other'
+ },
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 22,
+ 'macro' => ''
+ }
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'Other'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'chapter',
+ 'contents' => [
+ {
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {},
+ {
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ }
+ ],
+ 'extra' => {},
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 23,
+ 'macro' => ''
+ }
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'last'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'node_description' => {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'we are last'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'nodedescription',
+ 'extra' => {
+ 'element_node' => {}
+ },
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 30,
+ 'macro' => ''
+ }
+ },
+ 'normalized' => 'last'
+ },
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 27,
+ 'macro' => ''
+ }
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'Last'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'chapter',
+ 'contents' => [
+ {
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {}
+ ],
+ 'extra' => {},
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 28,
+ 'macro' => ''
+ }
+ }
+ ],
+ 'type' => 'document_root'
+};
+$result_trees{'nodedescription_descriptions'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'extra'}{'node_content'}[0]
=
$result_trees{'nodedescription_descriptions'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'contents'}[0];
+$result_trees{'nodedescription_descriptions'}{'contents'}[2]{'contents'}[1]{'contents'}[1]{'contents'}[1]{'extra'}{'node_content'}[0]
=
$result_trees{'nodedescription_descriptions'}{'contents'}[2]{'contents'}[1]{'contents'}[1]{'contents'}[1]{'contents'}[0];
+$result_trees{'nodedescription_descriptions'}{'contents'}[2]{'contents'}[1]{'contents'}[2]{'contents'}[3]{'extra'}{'node_content'}[0]
=
$result_trees{'nodedescription_descriptions'}{'contents'}[2]{'contents'}[1]{'contents'}[2]{'contents'}[3]{'contents'}[0];
+$result_trees{'nodedescription_descriptions'}{'contents'}[2]{'contents'}[1]{'contents'}[4]{'contents'}[3]{'extra'}{'node_content'}[0]
=
$result_trees{'nodedescription_descriptions'}{'contents'}[2]{'contents'}[1]{'contents'}[4]{'contents'}[3]{'contents'}[0];
+$result_trees{'nodedescription_descriptions'}{'contents'}[3]{'extra'}{'node_description'}{'extra'}{'element_node'}
= $result_trees{'nodedescription_descriptions'}{'contents'}[3];
+$result_trees{'nodedescription_descriptions'}{'contents'}[4]{'contents'}[1] =
$result_trees{'nodedescription_descriptions'}{'contents'}[3]{'extra'}{'node_description'};
+$result_trees{'nodedescription_descriptions'}{'contents'}[5]{'extra'}{'node_description'}{'extra'}{'element_node'}
= $result_trees{'nodedescription_descriptions'}{'contents'}[5];
+$result_trees{'nodedescription_descriptions'}{'contents'}[6]{'contents'}[1] =
$result_trees{'nodedescription_descriptions'}{'contents'}[5]{'extra'}{'node_description'};
+$result_trees{'nodedescription_descriptions'}{'contents'}[7]{'extra'}{'node_description'}{'extra'}{'element_node'}
= $result_trees{'nodedescription_descriptions'}{'contents'}[7];
+$result_trees{'nodedescription_descriptions'}{'contents'}[8]{'contents'}[1] =
$result_trees{'nodedescription_descriptions'}{'contents'}[7]{'extra'}{'node_description'};
+$result_trees{'nodedescription_descriptions'}{'contents'}[9]{'extra'}{'node_description'}{'extra'}{'element_node'}
= $result_trees{'nodedescription_descriptions'}{'contents'}[9];
+$result_trees{'nodedescription_descriptions'}{'contents'}[10]{'contents'}[1] =
$result_trees{'nodedescription_descriptions'}{'contents'}[9]{'extra'}{'node_description'};
+
+$result_texis{'nodedescription_descriptions'} = '@node Top
+@top test of nodedescription used in menu
+
+@menu
+* toto::
+* titi:: desc of titi
+* name of other: other.
+
+* name of last: last. desc of last
+@end menu
+
+@node toto
+@chapter Toto
+
+@nodedescription toto is there:: and the @emph{is a description}@w{slightly
long} and :vv somewhat: @ringaccent anexpected
+
+@node titi
+@chapter Titi
+
+@nodedescription this describes titi
+
+@node other
+@chapter Other
+
+@nodedescription other comes here
+
+@node last
+@chapter Last
+
+@nodedescription we are last
+';
+
+
+$result_texts{'nodedescription_descriptions'} = 'test of nodedescription used
in menu
+************************************
+
+* toto::
+* titi:: desc of titi
+* name of other: other.
+
+* name of last: last. desc of last
+
+1 Toto
+******
+
+
+2 Titi
+******
+
+
+3 Other
+*******
+
+
+4 Last
+******
+
+';
+
+$result_sectioning{'nodedescription_descriptions'} = {
+ 'structure' => {
+ 'section_childs' => [
+ {
+ 'cmdname' => 'top',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'Top'
+ },
+ 'structure' => {}
+ }
+ },
+ 'structure' => {
+ 'section_childs' => [
+ {
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'toto'
+ },
+ 'structure' => {}
+ }
+ },
+ 'structure' => {
+ 'section_level' => 1,
+ 'section_number' => 1,
+ 'section_up' => {},
+ 'toplevel_prev' => {},
+ 'toplevel_up' => {}
+ }
+ },
+ {
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'titi'
+ },
+ 'structure' => {}
+ }
+ },
+ 'structure' => {
+ 'section_level' => 1,
+ 'section_number' => 2,
+ 'section_prev' => {},
+ 'section_up' => {},
+ 'toplevel_prev' => {},
+ 'toplevel_up' => {}
+ }
+ },
+ {
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'other'
+ },
+ 'structure' => {}
+ }
+ },
+ 'structure' => {
+ 'section_level' => 1,
+ 'section_number' => 3,
+ 'section_prev' => {},
+ 'section_up' => {},
+ 'toplevel_prev' => {},
+ 'toplevel_up' => {}
+ }
+ },
+ {
+ 'cmdname' => 'chapter',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'last'
+ },
+ 'structure' => {}
+ }
+ },
+ 'structure' => {
+ 'section_level' => 1,
+ 'section_number' => 4,
+ 'section_prev' => {},
+ 'section_up' => {},
+ 'toplevel_prev' => {},
+ 'toplevel_up' => {}
+ }
+ }
+ ],
+ 'section_level' => 0,
+ 'section_up' => {}
+ }
+ }
+ ],
+ 'section_level' => -1
+ }
+};
+$result_sectioning{'nodedescription_descriptions'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[0]{'structure'}{'section_up'}
=
$result_sectioning{'nodedescription_descriptions'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'nodedescription_descriptions'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[0]{'structure'}{'toplevel_prev'}
=
$result_sectioning{'nodedescription_descriptions'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'nodedescription_descriptions'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[0]{'structure'}{'toplevel_up'}
=
$result_sectioning{'nodedescription_descriptions'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'nodedescription_descriptions'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[1]{'structure'}{'section_prev'}
=
$result_sectioning{'nodedescription_descriptions'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[0];
+$result_sectioning{'nodedescription_descriptions'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[1]{'structure'}{'section_up'}
=
$result_sectioning{'nodedescription_descriptions'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'nodedescription_descriptions'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[1]{'structure'}{'toplevel_prev'}
=
$result_sectioning{'nodedescription_descriptions'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[0];
+$result_sectioning{'nodedescription_descriptions'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[1]{'structure'}{'toplevel_up'}
=
$result_sectioning{'nodedescription_descriptions'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'nodedescription_descriptions'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[2]{'structure'}{'section_prev'}
=
$result_sectioning{'nodedescription_descriptions'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[1];
+$result_sectioning{'nodedescription_descriptions'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[2]{'structure'}{'section_up'}
=
$result_sectioning{'nodedescription_descriptions'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'nodedescription_descriptions'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[2]{'structure'}{'toplevel_prev'}
=
$result_sectioning{'nodedescription_descriptions'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[1];
+$result_sectioning{'nodedescription_descriptions'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[2]{'structure'}{'toplevel_up'}
=
$result_sectioning{'nodedescription_descriptions'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'nodedescription_descriptions'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[3]{'structure'}{'section_prev'}
=
$result_sectioning{'nodedescription_descriptions'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[2];
+$result_sectioning{'nodedescription_descriptions'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[3]{'structure'}{'section_up'}
=
$result_sectioning{'nodedescription_descriptions'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'nodedescription_descriptions'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[3]{'structure'}{'toplevel_prev'}
=
$result_sectioning{'nodedescription_descriptions'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[2];
+$result_sectioning{'nodedescription_descriptions'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[3]{'structure'}{'toplevel_up'}
=
$result_sectioning{'nodedescription_descriptions'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'nodedescription_descriptions'}{'structure'}{'section_childs'}[0]{'structure'}{'section_up'}
= $result_sectioning{'nodedescription_descriptions'};
+
+$result_nodes{'nodedescription_descriptions'} = {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'associated_section' => {
+ 'cmdname' => 'top',
+ 'extra' => {},
+ 'structure' => {}
+ },
+ 'menus' => [
+ {
+ 'cmdname' => 'menu'
+ }
+ ],
+ 'normalized' => 'Top'
+ },
+ 'structure' => {
+ 'menu_child' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'associated_section' => {
+ 'cmdname' => 'chapter',
+ 'extra' => {},
+ 'structure' => {
+ 'section_number' => 1
+ }
+ },
+ 'normalized' => 'toto'
+ },
+ 'structure' => {
+ 'node_next' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'associated_section' => {
+ 'cmdname' => 'chapter',
+ 'extra' => {},
+ 'structure' => {
+ 'section_number' => 2
+ }
+ },
+ 'normalized' => 'titi'
+ },
+ 'structure' => {
+ 'node_next' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'associated_section' => {
+ 'cmdname' => 'chapter',
+ 'extra' => {},
+ 'structure' => {
+ 'section_number' => 3
+ }
+ },
+ 'normalized' => 'other'
+ },
+ 'structure' => {
+ 'node_next' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'associated_section' => {
+ 'cmdname' => 'chapter',
+ 'extra' => {},
+ 'structure' => {
+ 'section_number' => 4
+ }
+ },
+ 'normalized' => 'last'
+ },
+ 'structure' => {
+ 'node_prev' => {},
+ 'node_up' => {}
+ }
+ },
+ 'node_prev' => {},
+ 'node_up' => {}
+ }
+ },
+ 'node_prev' => {},
+ 'node_up' => {}
+ }
+ },
+ 'node_prev' => {},
+ 'node_up' => {}
+ }
+ },
+ 'node_next' => {}
+ }
+};
+$result_nodes{'nodedescription_descriptions'}{'structure'}{'menu_child'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_prev'}
=
$result_nodes{'nodedescription_descriptions'}{'structure'}{'menu_child'}{'structure'}{'node_next'}{'structure'}{'node_next'};
+$result_nodes{'nodedescription_descriptions'}{'structure'}{'menu_child'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_up'}
= $result_nodes{'nodedescription_descriptions'};
+$result_nodes{'nodedescription_descriptions'}{'structure'}{'menu_child'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_prev'}
=
$result_nodes{'nodedescription_descriptions'}{'structure'}{'menu_child'}{'structure'}{'node_next'};
+$result_nodes{'nodedescription_descriptions'}{'structure'}{'menu_child'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_up'}
= $result_nodes{'nodedescription_descriptions'};
+$result_nodes{'nodedescription_descriptions'}{'structure'}{'menu_child'}{'structure'}{'node_next'}{'structure'}{'node_prev'}
= $result_nodes{'nodedescription_descriptions'}{'structure'}{'menu_child'};
+$result_nodes{'nodedescription_descriptions'}{'structure'}{'menu_child'}{'structure'}{'node_next'}{'structure'}{'node_up'}
= $result_nodes{'nodedescription_descriptions'};
+$result_nodes{'nodedescription_descriptions'}{'structure'}{'menu_child'}{'structure'}{'node_prev'}
= $result_nodes{'nodedescription_descriptions'};
+$result_nodes{'nodedescription_descriptions'}{'structure'}{'menu_child'}{'structure'}{'node_up'}
= $result_nodes{'nodedescription_descriptions'};
+$result_nodes{'nodedescription_descriptions'}{'structure'}{'node_next'} =
$result_nodes{'nodedescription_descriptions'}{'structure'}{'menu_child'};
+
+$result_menus{'nodedescription_descriptions'} = {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'Top'
+ },
+ 'structure' => {
+ 'menu_child' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'toto'
+ },
+ 'structure' => {
+ 'menu_next' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'titi'
+ },
+ 'structure' => {
+ 'menu_next' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'other'
+ },
+ 'structure' => {
+ 'menu_next' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'last'
+ },
+ 'structure' => {
+ 'menu_prev' => {},
+ 'menu_up' => {},
+ 'menu_up_hash' => {
+ 'Top' => 1
+ }
+ }
+ },
+ 'menu_prev' => {},
+ 'menu_up' => {},
+ 'menu_up_hash' => {
+ 'Top' => 1
+ }
+ }
+ },
+ 'menu_prev' => {},
+ 'menu_up' => {},
+ 'menu_up_hash' => {
+ 'Top' => 1
+ }
+ }
+ },
+ 'menu_up' => {},
+ 'menu_up_hash' => {
+ 'Top' => 1
+ }
+ }
+ }
+ }
+};
+$result_menus{'nodedescription_descriptions'}{'structure'}{'menu_child'}{'structure'}{'menu_next'}{'structure'}{'menu_next'}{'structure'}{'menu_next'}{'structure'}{'menu_prev'}
=
$result_menus{'nodedescription_descriptions'}{'structure'}{'menu_child'}{'structure'}{'menu_next'}{'structure'}{'menu_next'};
+$result_menus{'nodedescription_descriptions'}{'structure'}{'menu_child'}{'structure'}{'menu_next'}{'structure'}{'menu_next'}{'structure'}{'menu_next'}{'structure'}{'menu_up'}
= $result_menus{'nodedescription_descriptions'};
+$result_menus{'nodedescription_descriptions'}{'structure'}{'menu_child'}{'structure'}{'menu_next'}{'structure'}{'menu_next'}{'structure'}{'menu_prev'}
=
$result_menus{'nodedescription_descriptions'}{'structure'}{'menu_child'}{'structure'}{'menu_next'};
+$result_menus{'nodedescription_descriptions'}{'structure'}{'menu_child'}{'structure'}{'menu_next'}{'structure'}{'menu_next'}{'structure'}{'menu_up'}
= $result_menus{'nodedescription_descriptions'};
+$result_menus{'nodedescription_descriptions'}{'structure'}{'menu_child'}{'structure'}{'menu_next'}{'structure'}{'menu_prev'}
= $result_menus{'nodedescription_descriptions'}{'structure'}{'menu_child'};
+$result_menus{'nodedescription_descriptions'}{'structure'}{'menu_child'}{'structure'}{'menu_next'}{'structure'}{'menu_up'}
= $result_menus{'nodedescription_descriptions'};
+$result_menus{'nodedescription_descriptions'}{'structure'}{'menu_child'}{'structure'}{'menu_up'}
= $result_menus{'nodedescription_descriptions'};
+
+$result_errors{'nodedescription_descriptions'} = [
+ {
+ 'error_line' => 'unknown command `ver\'
+',
+ 'file_name' => '',
+ 'line_nr' => 15,
+ 'macro' => '',
+ 'text' => 'unknown command `ver\'',
+ 'type' => 'error'
+ },
+ {
+ 'error_line' => 'misplaced {
+',
+ 'file_name' => '',
+ 'line_nr' => 15,
+ 'macro' => '',
+ 'text' => 'misplaced {',
+ 'type' => 'error'
+ },
+ {
+ 'error_line' => 'misplaced }
+',
+ 'file_name' => '',
+ 'line_nr' => 15,
+ 'macro' => '',
+ 'text' => 'misplaced }',
+ 'type' => 'error'
+ }
+];
+
+
+$result_floats{'nodedescription_descriptions'} = {};
+
+
+
+$result_converted{'plaintext'}->{'nodedescription_descriptions'} = 'test of
nodedescription used in menu
+************************************
+
+* Menu:
+
+* toto:: toto is there:: and the _is a
+ description_slightly long and :vv
+ somewhat: ånexpected
+* titi:: desc of titi
+* name of other: other. other comes here
+
+* name of last: last. desc of last
+
+1 Toto
+******
+
+2 Titi
+******
+
+3 Other
+*******
+
+4 Last
+******
+
+';
+
+
+$result_converted{'html'}->{'nodedescription_descriptions'} = '<!DOCTYPE html>
+<html>
+<!-- Created by texinfo, http://www.gnu.org/software/texinfo/ -->
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>test of nodedescription used in menu</title>
+
+<meta name="description" content="test of nodedescription used in menu">
+<meta name="keywords" content="test of nodedescription used in menu">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+
+<link href="#Top" rel="start" title="Top">
+<style type="text/css">
+<!--
+a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
+pre.menu-comment-preformatted {font-family: serif}
+span:hover a.copiable-link {visibility: visible}
+td.menu-entry-description {vertical-align: top}
+td.menu-entry-destination {vertical-align: top}
+th.menu-comment {text-align:left}
+-->
+</style>
+
+
+</head>
+
+<body lang="en">
+<div class="top-level-extent" id="Top">
+<div class="nav-panel">
+<p>
+Next: <a href="#toto" accesskey="n" rel="next">Toto</a> </p>
+</div>
+<h1 class="top" id="test-of-nodedescription-used-in-menu"><span>test of
nodedescription used in menu<a class="copiable-link"
href="#test-of-nodedescription-used-in-menu"> ¶</a></span></h1>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td class="menu-entry-destination">• <a href="#toto"
accesskey="1">toto</a>:</td><td> </td><td
class="menu-entry-description">
+</td></tr>
+<tr><td class="menu-entry-destination">• <a href="#titi"
accesskey="2">titi</a>:</td><td> </td><td
class="menu-entry-description">desc of titi
+</td></tr>
+<tr><td class="menu-entry-destination">• <a href="#other"
accesskey="3">name of other</a>:</td><td> </td><td
class="menu-entry-description">
+</td></tr>
+<tr><th class="menu-comment" colspan="3"><pre
class="menu-comment-preformatted">
+
+</pre></th></tr><tr><td class="menu-entry-destination">• <a href="#last"
accesskey="4">name of last</a>:</td><td> </td><td
class="menu-entry-description">desc of last
+</td></tr>
+</table>
+
+<hr>
+<div class="chapter-level-extent" id="toto">
+<div class="nav-panel">
+<p>
+Next: <a href="#titi" accesskey="n" rel="next">Titi</a>, Previous: <a
href="#Top" accesskey="p" rel="prev">test of nodedescription used in menu</a>,
Up: <a href="#Top" accesskey="u" rel="up">test of nodedescription used in
menu</a> </p>
+</div>
+<h2 class="chapter" id="Toto"><span>1 Toto<a class="copiable-link"
href="#Toto"> ¶</a></span></h2>
+
+
+<hr>
+</div>
+<div class="chapter-level-extent" id="titi">
+<div class="nav-panel">
+<p>
+Next: <a href="#other" accesskey="n" rel="next">Other</a>, Previous: <a
href="#toto" accesskey="p" rel="prev">Toto</a>, Up: <a href="#Top"
accesskey="u" rel="up">test of nodedescription used in menu</a> </p>
+</div>
+<h2 class="chapter" id="Titi"><span>2 Titi<a class="copiable-link"
href="#Titi"> ¶</a></span></h2>
+
+
+<hr>
+</div>
+<div class="chapter-level-extent" id="other">
+<div class="nav-panel">
+<p>
+Next: <a href="#last" accesskey="n" rel="next">Last</a>, Previous: <a
href="#titi" accesskey="p" rel="prev">Titi</a>, Up: <a href="#Top"
accesskey="u" rel="up">test of nodedescription used in menu</a> </p>
+</div>
+<h2 class="chapter" id="Other"><span>3 Other<a class="copiable-link"
href="#Other"> ¶</a></span></h2>
+
+
+<hr>
+</div>
+<div class="chapter-level-extent" id="last">
+<div class="nav-panel">
+<p>
+Previous: <a href="#other" accesskey="p" rel="prev">Other</a>, Up: <a
href="#Top" accesskey="u" rel="up">test of nodedescription used in menu</a>
</p>
+</div>
+<h2 class="chapter" id="Last"><span>4 Last<a class="copiable-link"
href="#Last"> ¶</a></span></h2>
+
+</div>
+</div>
+
+
+
+</body>
+</html>
+';
+
+
+$result_converted{'xml'}->{'nodedescription_descriptions'} = '<node name="Top"
spaces=" "><nodename>Top</nodename><nodenext
automatic="on">toto</nodenext></node>
+<top spaces=" "><sectiontitle>test of nodedescription used in
menu</sectiontitle>
+
+<menu endspaces=" ">
+<menuentry><menuleadingtext>*
</menuleadingtext><menunode>toto</menunode><menuseparator>::
</menuseparator><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry><menuleadingtext>*
</menuleadingtext><menunode>titi</menunode><menuseparator>::
</menuseparator><menudescription><pre xml:space="preserve">desc of titi
+</pre></menudescription></menuentry><menuentry><menuleadingtext>*
</menuleadingtext><menutitle>name of other</menutitle><menuseparator>:
</menuseparator><menunode>other</menunode><menuseparator>.</menuseparator><menudescription><pre
xml:space="preserve">
+</pre></menudescription></menuentry><menucomment><pre xml:space="preserve">
+</pre></menucomment><menuentry><menuleadingtext>*
</menuleadingtext><menutitle>name of last</menutitle><menuseparator>:
</menuseparator><menunode>last</menunode><menuseparator>.
</menuseparator><menudescription><pre xml:space="preserve">desc of last
+</pre></menudescription></menuentry></menu>
+
+</top>
+<node name="toto" spaces=" "><nodename>toto</nodename><nodenext
automatic="on">titi</nodenext><nodeprev automatic="on">Top</nodeprev><nodeup
automatic="on">Top</nodeup></node>
+<chapter spaces=" "><sectiontitle>Toto</sectiontitle>
+
+<nodedescription spaces=" ">toto is there:: and the <emph>is a
description</emph><w>slightly long</w> and :vv somewhat: <accent type="ring"
spacesaftercmd=" " bracketed="off">a</accent>nexpected</nodedescription>
+
+</chapter>
+<node name="titi" spaces=" "><nodename>titi</nodename><nodenext
automatic="on">other</nodenext><nodeprev automatic="on">toto</nodeprev><nodeup
automatic="on">Top</nodeup></node>
+<chapter spaces=" "><sectiontitle>Titi</sectiontitle>
+
+<nodedescription spaces=" ">this describes titi</nodedescription>
+
+</chapter>
+<node name="other" spaces=" "><nodename>other</nodename><nodenext
automatic="on">last</nodenext><nodeprev automatic="on">titi</nodeprev><nodeup
automatic="on">Top</nodeup></node>
+<chapter spaces=" "><sectiontitle>Other</sectiontitle>
+
+<nodedescription spaces=" ">other comes here</nodedescription>
+
+</chapter>
+<node name="last" spaces=" "><nodename>last</nodename><nodeprev
automatic="on">other</nodeprev><nodeup automatic="on">Top</nodeup></node>
+<chapter spaces=" "><sectiontitle>Last</sectiontitle>
+
+<nodedescription spaces=" ">we are last</nodedescription>
+</chapter>
+';
+
+1;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- branch master updated: Complete Plaintext/Info menus with nodedescription,
Patrice Dumas <=