texinfo-commits
[Top][All Lists]
Advanced

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

texinfo/tp texi2any.pl Texinfo/Convert/Info.pm ...


From: Patrice Dumas
Subject: texinfo/tp texi2any.pl Texinfo/Convert/Info.pm ...
Date: Sat, 05 Feb 2011 13:31:05 +0000

CVSROOT:        /sources/texinfo
Module name:    texinfo
Changes by:     Patrice Dumas <pertusus>        11/02/05 13:31:05

Modified files:
        tp             : texi2any.pl 
        tp/Texinfo/Convert: Info.pm Plaintext.pm 
        tp/t           : info_tests.t 
Added files:
        tp/t/results/info_tests: 
                                 
contents_setcontentsaftertitlepage_before_node.pl 

Log message:
        Warn if --split was given although the format doesn't handle it.
        Use setfilename to set basename in info header even if ouput is returned
        and not output in a file set from setfilename.
        Don't add an empty line if there is no output of @*contents and 
        @set*contentsaftertitlepage is set.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/texi2any.pl?cvsroot=texinfo&r1=1.13&r2=1.14
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/Texinfo/Convert/Info.pm?cvsroot=texinfo&r1=1.20&r2=1.21
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/Texinfo/Convert/Plaintext.pm?cvsroot=texinfo&r1=1.65&r2=1.66
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/info_tests.t?cvsroot=texinfo&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/info_tests/contents_setcontentsaftertitlepage_before_node.pl?cvsroot=texinfo&rev=1.1

Patches:
Index: texi2any.pl
===================================================================
RCS file: /sources/texinfo/texinfo/tp/texi2any.pl,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- texi2any.pl 2 Feb 2011 00:36:19 -0000       1.13
+++ texi2any.pl 5 Feb 2011 13:31:03 -0000       1.14
@@ -374,6 +374,20 @@
   warn sprintf(__p("warning: warning_message", "warning: %s\n"), $text);
 }
 
+sub handle_errors($$) {
+  my $self = shift;
+  my $error_count = shift;
+  my ($errors, $new_error_count) = $self->errors();
+  $error_count += $new_error_count if ($new_error_count);
+  foreach my $error_message (@$errors) {
+    warn $error_message->{'error_line'} if ($error_message->{'type'} eq 'error'
+                                           or !get_conf('NO_WARN'));
+  }
+  
+  exit (1) if ($error_count and (!get_conf('FORCE')
+     or $error_count > get_conf('ERROR_LIMIT')));
+  return $error_count;
+}
 
 my $result_options = Getopt::Long::GetOptions (
  'macro-expand|E=s' => sub { push @texi2dvi_args, '-E'; 
@@ -526,6 +540,14 @@
            },
 );
 
+if (get_conf('SPLIT') and !$formats_table{$format}->{'split'}) {
+  document_warn (sprintf(__('Ignoring splitting for format %s'), $format));
+  # FIXME see if the following is required.  Should not be
+  # since defaults are per format.
+  #set_from_cmdline('SPLIT', ''); 
+  #set_from_cmdline('FRAMES', 0); 
+}
+
 # Main processing, process all the files given on the command line
 
 my $failure_text =  sprintf(__("Try `%s --help' for more information.\n"), 
@@ -536,21 +558,6 @@
 die sprintf(__("%s: missing file argument.\n"), $real_command_name) 
    .$failure_text unless (scalar(@input_files) >= 1);
 
-sub handle_errors($$) {
-  my $self = shift;
-  my $error_count = shift;
-  my ($errors, $new_error_count) = $self->errors();
-  $error_count += $new_error_count if ($new_error_count);
-  foreach my $error_message (@$errors) {
-    warn $error_message->{'error_line'} if ($error_message->{'type'} eq 'error'
-                                           or !get_conf('NO_WARN'));
-  }
-  
-  exit (1) if ($error_count and (!get_conf('FORCE')
-     or $error_count > get_conf('ERROR_LIMIT')));
-  return $error_count;
-}
-
 my $file_number = -1;
 # main processing
 while(@input_files)

Index: Texinfo/Convert/Info.pm
===================================================================
RCS file: /sources/texinfo/texinfo/tp/Texinfo/Convert/Info.pm,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -b -r1.20 -r1.21
--- Texinfo/Convert/Info.pm     2 Feb 2011 23:50:20 -0000       1.20
+++ Texinfo/Convert/Info.pm     5 Feb 2011 13:31:04 -0000       1.21
@@ -68,12 +68,16 @@
   $input_basename = $STDIN_DOCU_NAME if ($input_basename eq '-');
   $self->{'input_basename'} = $input_basename;
 
-  # determine output file and output file name
-  if (!defined($self->{'OUTFILE'})) {
+  my $setfilename;
+  $setfilename = $self->{'extra'}->{'setfilename'}->{'extra'}->{'text_arg'}
     if ($self->{'extra'} and $self->{'extra'}->{'setfilename'}
            and $self->{'extra'}->{'setfilename'}->{'extra'}
-           and 
defined($self->{'extra'}->{'setfilename'}->{'extra'}->{'text_arg'})) {
-      $self->{'OUTFILE'} = 
$self->{'extra'}->{'setfilename'}->{'extra'}->{'text_arg'};
+        and 
defined($self->{'extra'}->{'setfilename'}->{'extra'}->{'text_arg'}));
+
+  # determine output file and output file name
+  if (!defined($self->{'OUTFILE'})) {
+    if (defined($setfilename)) {
+      $self->{'OUTFILE'} = $setfilename;
     } elsif ($input_basename ne '') {
       $self->{'OUTFILE'} = $input_basename;
       $self->{'OUTFILE'} =~ s/\.te?x(i|info)?$//;
@@ -85,7 +89,13 @@
       $self->{'OUTFILE'} = "$self->{'SUBDIR'}/$self->{'OUTFILE'}";
     }
   }
+
   my $output_basename = $self->{'OUTFILE'};
+  # this is a case that should happen rarely: one wants to get 
+  # the result in a string and there is a setfilename.
+  if ($self->{'OUTFILE'} eq '' and defined($setfilename)) {
+    $output_basename = $setfilename;
+  }
   $output_basename =~ s/^.*\///;
   $self->{'output_filename'} = $output_basename;
   my $output_dir = $self->{'OUTFILE'};

Index: Texinfo/Convert/Plaintext.pm
===================================================================
RCS file: /sources/texinfo/texinfo/tp/Texinfo/Convert/Plaintext.pm,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -b -r1.65 -r1.66
--- Texinfo/Convert/Plaintext.pm        5 Feb 2011 12:34:46 -0000       1.65
+++ Texinfo/Convert/Plaintext.pm        5 Feb 2011 13:31:04 -0000       1.66
@@ -1493,11 +1493,13 @@
         my ($contents, $lines_count) 
                 = 
$self->_contents($self->{'structuring'}->{'sectioning_root'}, 
                                   'contents');
+        if ($contents ne '') {
         $contents .= "\n";
         $self->{'empty_lines_count'} = 1;
-        $self->{'setcontentsaftertitlepage'} = 0;
         $self->_add_text_count($contents);
         $self->_add_lines_count($lines_count+1);
+        }
+        $self->{'setcontentsaftertitlepage'} = 0;
         $result .= $contents;
       } 
       if ($self->{'setshortcontentsaftertitlepage'} 
@@ -1505,11 +1507,14 @@
         my ($contents, $lines_count) 
                 = 
$self->_contents($self->{'structuring'}->{'sectioning_root'}, 
                               'shortcontents');
+        if ($contents ne '') {
         $contents .= "\n";
         $self->{'empty_lines_count'} = 1;
-        $self->{'setshortcontentsaftertitlepage'} = 0;
         $self->_add_text_count($contents);
         $self->_add_lines_count($lines_count+1);
+        }
+
+        $self->{'setshortcontentsaftertitlepage'} = 0;
         $result .= $contents;
       }
       if ($root->{'args'}) {

Index: t/info_tests.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/info_tests.t,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- t/info_tests.t      3 Feb 2011 23:38:02 -0000       1.3
+++ t/info_tests.t      5 Feb 2011 13:31:04 -0000       1.4
@@ -61,7 +61,17 @@
 @address@hidden(m)bad nested xref}}.
 @xref{(m)in ref ending with a dot., name} ! after xref and dot inside.
 @xref{(m)in ref followed by symbol}# g.
-']);
+'],
+['contents_setcontentsaftertitlepage_before_node',
+'
address@hidden
address@hidden
+
address@hidden Top
address@hidden Double contents
+']
+
+);
 
 foreach my $test (@test_cases) {
   $test->[2]->{'test_formats'} = ['info'];

Index: t/results/info_tests/contents_setcontentsaftertitlepage_before_node.pl
===================================================================
RCS file: t/results/info_tests/contents_setcontentsaftertitlepage_before_node.pl
diff -N t/results/info_tests/contents_setcontentsaftertitlepage_before_node.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/info_tests/contents_setcontentsaftertitlepage_before_node.pl      
5 Feb 2011 13:31:05 -0000       1.1
@@ -0,0 +1,222 @@
+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{'contents_setcontentsaftertitlepage_before_node'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'cmdname' => 'contents',
+          'parent' => {}
+        },
+        {
+          'cmdname' => 'setcontentsaftertitlepage',
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      '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' => [],
+      'extra' => {
+        'node_content' => [
+          {}
+        ],
+        'nodes_manuals' => [
+          {
+            'node_content' => [],
+            'normalized' => 'Top'
+          }
+        ],
+        'normalized' => 'Top'
+      },
+      'line_nr' => {
+        'file_name' => '',
+        'line_nr' => 5,
+        'macro' => ''
+      },
+      'parent' => {}
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'parent' => {},
+              'text' => 'Double contents'
+            },
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'spaces_at_end'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'top',
+      'contents' => [],
+      'extra' => {
+        'misc_content' => [
+          {}
+        ]
+      },
+      'level' => 0,
+      'line_nr' => {
+        'file_name' => '',
+        'line_nr' => 6,
+        'macro' => ''
+      },
+      'parent' => {}
+    }
+  ],
+  'type' => 'document_root'
+};
+$result_trees{'contents_setcontentsaftertitlepage_before_node'}{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'contents_setcontentsaftertitlepage_before_node'}{'contents'}[0];
+$result_trees{'contents_setcontentsaftertitlepage_before_node'}{'contents'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'contents_setcontentsaftertitlepage_before_node'}{'contents'}[0];
+$result_trees{'contents_setcontentsaftertitlepage_before_node'}{'contents'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'contents_setcontentsaftertitlepage_before_node'}{'contents'}[0];
+$result_trees{'contents_setcontentsaftertitlepage_before_node'}{'contents'}[0]{'contents'}[3]{'parent'}
 = 
$result_trees{'contents_setcontentsaftertitlepage_before_node'}{'contents'}[0];
+$result_trees{'contents_setcontentsaftertitlepage_before_node'}{'contents'}[0]{'parent'}
 = $result_trees{'contents_setcontentsaftertitlepage_before_node'};
+$result_trees{'contents_setcontentsaftertitlepage_before_node'}{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'contents_setcontentsaftertitlepage_before_node'}{'contents'}[1]{'args'}[0];
+$result_trees{'contents_setcontentsaftertitlepage_before_node'}{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'contents_setcontentsaftertitlepage_before_node'}{'contents'}[1]{'args'}[0];
+$result_trees{'contents_setcontentsaftertitlepage_before_node'}{'contents'}[1]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'contents_setcontentsaftertitlepage_before_node'}{'contents'}[1]{'args'}[0];
+$result_trees{'contents_setcontentsaftertitlepage_before_node'}{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'contents_setcontentsaftertitlepage_before_node'}{'contents'}[1];
+$result_trees{'contents_setcontentsaftertitlepage_before_node'}{'contents'}[1]{'extra'}{'node_content'}[0]
 = 
$result_trees{'contents_setcontentsaftertitlepage_before_node'}{'contents'}[1]{'args'}[0]{'contents'}[1];
+$result_trees{'contents_setcontentsaftertitlepage_before_node'}{'contents'}[1]{'extra'}{'nodes_manuals'}[0]{'node_content'}
 = 
$result_trees{'contents_setcontentsaftertitlepage_before_node'}{'contents'}[1]{'extra'}{'node_content'};
+$result_trees{'contents_setcontentsaftertitlepage_before_node'}{'contents'}[1]{'parent'}
 = $result_trees{'contents_setcontentsaftertitlepage_before_node'};
+$result_trees{'contents_setcontentsaftertitlepage_before_node'}{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'contents_setcontentsaftertitlepage_before_node'}{'contents'}[2]{'args'}[0];
+$result_trees{'contents_setcontentsaftertitlepage_before_node'}{'contents'}[2]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'contents_setcontentsaftertitlepage_before_node'}{'contents'}[2]{'args'}[0];
+$result_trees{'contents_setcontentsaftertitlepage_before_node'}{'contents'}[2]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'contents_setcontentsaftertitlepage_before_node'}{'contents'}[2]{'args'}[0];
+$result_trees{'contents_setcontentsaftertitlepage_before_node'}{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'contents_setcontentsaftertitlepage_before_node'}{'contents'}[2];
+$result_trees{'contents_setcontentsaftertitlepage_before_node'}{'contents'}[2]{'extra'}{'misc_content'}[0]
 = 
$result_trees{'contents_setcontentsaftertitlepage_before_node'}{'contents'}[2]{'args'}[0]{'contents'}[1];
+$result_trees{'contents_setcontentsaftertitlepage_before_node'}{'contents'}[2]{'parent'}
 = $result_trees{'contents_setcontentsaftertitlepage_before_node'};
+
+$result_texis{'contents_setcontentsaftertitlepage_before_node'} = '
address@hidden
address@hidden
+
address@hidden Top
address@hidden Double contents
+';
+
+
+$result_texts{'contents_setcontentsaftertitlepage_before_node'} = '
+
+Double contents
+***************
+';
+
+$result_sectioning{'contents_setcontentsaftertitlepage_before_node'} = {
+  'level' => -1,
+  'section_childs' => [
+    {
+      'cmdname' => 'top',
+      'extra' => {
+        'associated_node' => {
+          'cmdname' => 'node',
+          'extra' => {
+            'normalized' => 'Top'
+          }
+        }
+      },
+      'level' => 0,
+      'section_up' => {}
+    }
+  ]
+};
+$result_sectioning{'contents_setcontentsaftertitlepage_before_node'}{'section_childs'}[0]{'section_up'}
 = $result_sectioning{'contents_setcontentsaftertitlepage_before_node'};
+
+$result_nodes{'contents_setcontentsaftertitlepage_before_node'} = {
+  'cmdname' => 'node',
+  'extra' => {
+    'associated_section' => {
+      'cmdname' => 'top',
+      'extra' => {},
+      'level' => 0
+    },
+    'normalized' => 'Top'
+  },
+  'node_up' => {
+    'extra' => {
+      'manual_content' => [
+        {
+          'text' => 'dir'
+        }
+      ]
+    }
+  }
+};
+
+$result_menus{'contents_setcontentsaftertitlepage_before_node'} = {
+  'cmdname' => 'node',
+  'extra' => {
+    'normalized' => 'Top'
+  }
+};
+
+$result_errors{'contents_setcontentsaftertitlepage_before_node'} = [];
+
+
+
+$result_converted{'info'}->{'contents_setcontentsaftertitlepage_before_node'} 
= 'This is , produced by makeinfo version 4.13 from .
+
+
+File: ,  Node: Top,  Up: (dir)
+
+Double contents
+***************
+
+
+
+Tag Table:
+Node: Top52
+
+End Tag Table
+';
+
+1;



reply via email to

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