[Top][All Lists]
[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;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- texinfo/tp texi2any.pl Texinfo/Convert/Info.pm ...,
Patrice Dumas <=