[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
texinfo/tp Texinfo/Convert/Plaintext.pm t/info_...
From: |
Patrice Dumas |
Subject: |
texinfo/tp Texinfo/Convert/Plaintext.pm t/info_... |
Date: |
Thu, 17 Feb 2011 21:37:00 +0000 |
CVSROOT: /sources/texinfo
Module name: texinfo
Changes by: Patrice Dumas <pertusus> 11/02/17 21:37:00
Modified files:
tp/Texinfo/Convert: Plaintext.pm
tp/t : info_tests.t
Added files:
tp/t/results/info_tests: footnote_no_number_separate.pl
Log message:
Add the ref for the footnote if footnotestyle is separate.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/Texinfo/Convert/Plaintext.pm?cvsroot=texinfo&r1=1.86&r2=1.87
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/info_tests.t?cvsroot=texinfo&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/info_tests/footnote_no_number_separate.pl?cvsroot=texinfo&rev=1.1
Patches:
Index: Texinfo/Convert/Plaintext.pm
===================================================================
RCS file: /sources/texinfo/texinfo/tp/Texinfo/Convert/Plaintext.pm,v
retrieving revision 1.86
retrieving revision 1.87
diff -u -b -r1.86 -r1.87
--- Texinfo/Convert/Plaintext.pm 17 Feb 2011 20:38:26 -0000 1.86
+++ Texinfo/Convert/Plaintext.pm 17 Feb 2011 21:36:58 -0000 1.87
@@ -452,6 +452,9 @@
die "Too much count_context\n" if (scalar(@{$self->{'count_context'}}) != 1);
$self->{'count_context'}->[-1]->{'lines'} = 0;
+ #Â FIXME this is used for footnote, maybe associate a node to the footnote
+ #Â in Parser?
+ $self->{'node'} = $node;
$result .= $self->_convert($node);
print STDERR "END NODE
($self->{'count_context'}->[-1]->{'lines'},$self->{'count_context'}->[-1]->{'bytes'})\n"
if ($self->{'DEBUG'});
@@ -742,7 +745,7 @@
}
my $footnote_indent = 3;
-sub _footnotes($$)
+sub _footnotes($;$)
{
my $self = shift;
my $element = shift;
@@ -1383,8 +1386,19 @@
push @{$self->{'pending_footnotes'}}, {'root' => $root,
'number' => $self->{'footnote_index'}}
unless ($self->{'multiple_pass'});
- return $self->_count_added($formatter->{'container'},
+ $result .= $self->_count_added($formatter->{'container'},
$formatter->{'container'}->add_text("($formatted_footnote_number)"));
+ if ($self->{'footnotestyle'} eq 'separate' and $self->{'node'}) {
+ $result .= $self->_convert({'contents' =>
+ [{'text' => ' ('},
+ {'cmdname' => 'pxref',
+ 'extra' => {'brace_command_contents' =>
+
address@hidden>{'node'}->{'extra'}->{'node'}->{'extra'}->{'node_content'}},
+ {'text' => "-Footnote-$self->{'footnote_index'}"}]]}},
+ {'text' => ')'}],
+ });
+ }
+ return $result;
} elsif ($command eq 'anchor') {
$result = $self->_count_added($formatter->{'container'},
$formatter->{'container'}->add_pending_word());
Index: t/info_tests.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/info_tests.t,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- t/info_tests.t 17 Feb 2011 20:38:27 -0000 1.10
+++ t/info_tests.t 17 Feb 2011 21:36:59 -0000 1.11
@@ -42,6 +42,13 @@
address@hidden 2.}.
',{} , {'NUMBER_FOOTNOTES' => 0}],
+['footnote_no_number_separate',
+'@node Top
+
address@hidden 1.}.
+
address@hidden 2.}.
+',{} , {'NUMBER_FOOTNOTES' => 0, 'footnotestyle' => 'separate'}],
['ref_tests',
'
@node Top
Index: t/results/info_tests/footnote_no_number_separate.pl
===================================================================
RCS file: t/results/info_tests/footnote_no_number_separate.pl
diff -N t/results/info_tests/footnote_no_number_separate.pl
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ t/results/info_tests/footnote_no_number_separate.pl 17 Feb 2011 21:36:59
-0000 1.1
@@ -0,0 +1,254 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors
+ %result_indices %result_sectioning %result_nodes %result_menus
+ %result_floats %result_converted %result_converted_errors);
+
+$result_trees{'footnote_no_number_separate'} = {
+ 'contents' => [
+ {
+ 'contents' => [],
+ 'parent' => {},
+ 'type' => 'text_root'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => ' ',
+ 'type' => 'empty_spaces_after_command'
+ },
+ {
+ 'parent' => {},
+ 'text' => 'Top'
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'spaces_at_end'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'misc_line_arg'
+ }
+ ],
+ 'cmdname' => 'node',
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'Para'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'Footnote 1.'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'paragraph'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'brace_command_context'
+ }
+ ],
+ 'cmdname' => 'footnote',
+ 'contents' => [],
+ 'line_nr' => {
+ 'file_name' => '',
+ 'line_nr' => 3,
+ 'macro' => ''
+ },
+ 'parent' => {}
+ },
+ {
+ 'parent' => {},
+ 'text' => '.
+'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'paragraph'
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'Para2'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'Footnote 2.'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'paragraph'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'brace_command_context'
+ }
+ ],
+ 'cmdname' => 'footnote',
+ 'contents' => [],
+ 'line_nr' => {
+ 'file_name' => '',
+ 'line_nr' => 5,
+ 'macro' => ''
+ },
+ 'parent' => {}
+ },
+ {
+ 'parent' => {},
+ 'text' => '.
+'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'paragraph'
+ }
+ ],
+ '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{'footnote_no_number_separate'}{'contents'}[0]{'parent'} =
$result_trees{'footnote_no_number_separate'};
+$result_trees{'footnote_no_number_separate'}{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
= $result_trees{'footnote_no_number_separate'}{'contents'}[1]{'args'}[0];
+$result_trees{'footnote_no_number_separate'}{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
= $result_trees{'footnote_no_number_separate'}{'contents'}[1]{'args'}[0];
+$result_trees{'footnote_no_number_separate'}{'contents'}[1]{'args'}[0]{'contents'}[2]{'parent'}
= $result_trees{'footnote_no_number_separate'}{'contents'}[1]{'args'}[0];
+$result_trees{'footnote_no_number_separate'}{'contents'}[1]{'args'}[0]{'parent'}
= $result_trees{'footnote_no_number_separate'}{'contents'}[1];
+$result_trees{'footnote_no_number_separate'}{'contents'}[1]{'contents'}[0]{'parent'}
= $result_trees{'footnote_no_number_separate'}{'contents'}[1];
+$result_trees{'footnote_no_number_separate'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'parent'}
= $result_trees{'footnote_no_number_separate'}{'contents'}[1]{'contents'}[1];
+$result_trees{'footnote_no_number_separate'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
=
$result_trees{'footnote_no_number_separate'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'footnote_no_number_separate'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
=
$result_trees{'footnote_no_number_separate'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[0];
+$result_trees{'footnote_no_number_separate'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'args'}[0]{'parent'}
=
$result_trees{'footnote_no_number_separate'}{'contents'}[1]{'contents'}[1]{'contents'}[1];
+$result_trees{'footnote_no_number_separate'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'parent'}
= $result_trees{'footnote_no_number_separate'}{'contents'}[1]{'contents'}[1];
+$result_trees{'footnote_no_number_separate'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'parent'}
= $result_trees{'footnote_no_number_separate'}{'contents'}[1]{'contents'}[1];
+$result_trees{'footnote_no_number_separate'}{'contents'}[1]{'contents'}[1]{'parent'}
= $result_trees{'footnote_no_number_separate'}{'contents'}[1];
+$result_trees{'footnote_no_number_separate'}{'contents'}[1]{'contents'}[2]{'parent'}
= $result_trees{'footnote_no_number_separate'}{'contents'}[1];
+$result_trees{'footnote_no_number_separate'}{'contents'}[1]{'contents'}[3]{'contents'}[0]{'parent'}
= $result_trees{'footnote_no_number_separate'}{'contents'}[1]{'contents'}[3];
+$result_trees{'footnote_no_number_separate'}{'contents'}[1]{'contents'}[3]{'contents'}[1]{'args'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
=
$result_trees{'footnote_no_number_separate'}{'contents'}[1]{'contents'}[3]{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'footnote_no_number_separate'}{'contents'}[1]{'contents'}[3]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
=
$result_trees{'footnote_no_number_separate'}{'contents'}[1]{'contents'}[3]{'contents'}[1]{'args'}[0];
+$result_trees{'footnote_no_number_separate'}{'contents'}[1]{'contents'}[3]{'contents'}[1]{'args'}[0]{'parent'}
=
$result_trees{'footnote_no_number_separate'}{'contents'}[1]{'contents'}[3]{'contents'}[1];
+$result_trees{'footnote_no_number_separate'}{'contents'}[1]{'contents'}[3]{'contents'}[1]{'parent'}
= $result_trees{'footnote_no_number_separate'}{'contents'}[1]{'contents'}[3];
+$result_trees{'footnote_no_number_separate'}{'contents'}[1]{'contents'}[3]{'contents'}[2]{'parent'}
= $result_trees{'footnote_no_number_separate'}{'contents'}[1]{'contents'}[3];
+$result_trees{'footnote_no_number_separate'}{'contents'}[1]{'contents'}[3]{'parent'}
= $result_trees{'footnote_no_number_separate'}{'contents'}[1];
+$result_trees{'footnote_no_number_separate'}{'contents'}[1]{'extra'}{'node_content'}[0]
=
$result_trees{'footnote_no_number_separate'}{'contents'}[1]{'args'}[0]{'contents'}[1];
+$result_trees{'footnote_no_number_separate'}{'contents'}[1]{'extra'}{'nodes_manuals'}[0]{'node_content'}
=
$result_trees{'footnote_no_number_separate'}{'contents'}[1]{'extra'}{'node_content'};
+$result_trees{'footnote_no_number_separate'}{'contents'}[1]{'parent'} =
$result_trees{'footnote_no_number_separate'};
+
+$result_texis{'footnote_no_number_separate'} = '@node Top
+
address@hidden 1.}.
+
address@hidden 2.}.
+';
+
+
+$result_texts{'footnote_no_number_separate'} = '
+Para.
+
+Para2.
+';
+
+$result_sectioning{'footnote_no_number_separate'} = {};
+
+$result_nodes{'footnote_no_number_separate'} = {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'Top'
+ },
+ 'node_up' => {
+ 'extra' => {
+ 'manual_content' => [
+ {
+ 'text' => 'dir'
+ }
+ ]
+ }
+ }
+};
+
+$result_menus{'footnote_no_number_separate'} = {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'Top'
+ }
+};
+
+$result_errors{'footnote_no_number_separate'} = [];
+
+
+
+$result_converted{'info'}->{'footnote_no_number_separate'} = 'This is ,
produced by makeinfo version 4.13 from .
+
+
+File: , Node: Top, Up: (dir)
+
+Para(*) (*note Top-Footnote-1::).
+
+ Para2(*) (*note Top-Footnote-2::).
+
+
+File: , Node: Top-Footnotes, Up: Top
+
+ (*) Footnote 1.
+
+ (*) Footnote 2.
+
+
+
+Tag Table:
+Node: Top52
+Node: Top-Footnotes160
+Ref: Top-Footnote-1202
+Ref: Top-Footnote-2222
+
+End Tag Table
+';
+
+1;