texinfo-commits
[Top][All Lists]
Advanced

[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;



reply via email to

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