[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
texinfo/tp/Texinfo/Convert Info.pm
From: |
Patrice Dumas |
Subject: |
texinfo/tp/Texinfo/Convert Info.pm |
Date: |
Sun, 30 Jan 2011 09:44:08 +0000 |
CVSROOT: /sources/texinfo
Module name: texinfo
Changes by: Patrice Dumas <pertusus> 11/01/30 09:44:08
Modified files:
tp/Texinfo/Convert: Info.pm
Log message:
Use (and set) directly OUTFILE when outputting info, and not while doing
theheader but in the main output routine.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/Texinfo/Convert/Info.pm?cvsroot=texinfo&r1=1.17&r2=1.18
Patches:
Index: Info.pm
===================================================================
RCS file: /sources/texinfo/texinfo/tp/Texinfo/Convert/Info.pm,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -b -r1.17 -r1.18
--- Info.pm 29 Jan 2011 23:57:21 -0000 1.17
+++ Info.pm 30 Jan 2011 09:44:07 -0000 1.18
@@ -56,6 +56,44 @@
my $result;
+ #Â determine input file base name
+ my $input_basename;
+ if (defined($self->{'info'}->{'input_file_name'})) {
+ $input_basename = $self->{'info'}->{'input_file_name'};
+ } else {
+ #Â This could happen if called on a piece of texinfo
+ $input_basename = '';
+ }
+ $input_basename =~ s/^.*\///;
+ $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'})) {
+ 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'};
+ } elsif ($input_basename ne '') {
+ $self->{'OUTFILE'} = $input_basename;
+ $self->{'OUTFILE'} =~ s/\.te?x(i|info)?$//;
+ $self->{'OUTFILE'} .= '.'.$INFO_EXTENSION;
+ } else {
+ $self->{'OUTFILE'} = '';
+ }
+ if (defined($self->{'SUBDIR'}) and $self->{'OUTFILE'} ne '') {
+ $self->{'OUTFILE'} = "$self->{'SUBDIR'}/$self->{'OUTFILE'}";
+ }
+ }
+ my $output_basename = $self->{'OUTFILE'};
+ $output_basename =~ s/^.*\///;
+ $self->{'output_filename'} = $output_basename;
+ my $output_dir = $self->{'OUTFILE'};
+ $output_dir =~ s|[^/]*$||;
+ if ($output_dir ne '') {
+ $self->{'output_dir'} = $output_dir;
+ }
+
push @{$self->{'count_context'}}, {'lines' => 0, 'bytes' => 0,
'locations' => []};
my $header = $self->_info_header();
@@ -72,12 +110,12 @@
my $elements = Texinfo::Structuring::split_by_node($root);
my $fh;
- if (! $self->{'output_file'} eq '') {
- $fh = $self->Texinfo::Common::open_out ($self->{'output_file'},
+ if (! $self->{'OUTFILE'} eq '') {
+ $fh = $self->Texinfo::Common::open_out ($self->{'OUTFILE'},
$self->{'encoding'});
if (!$fh) {
$self->document_error(sprintf($self->__("Could not open %s for writing:
$!"),
- $self->{'output_file'}));
+ $self->{'OUTFILE'}));
return undef;
}
}
@@ -116,25 +154,25 @@
$out_file_nr * $self->{'SPLIT_SIZE'} and @nodes and $fh) {
close ($fh);
if ($out_file_nr == 1) {
- unless (rename ($self->{'output_file'},
- $self->{'output_file'}.'-'.$out_file_nr)) {
+ unless (rename ($self->{'OUTFILE'},
+ $self->{'OUTFILE'}.'-'.$out_file_nr)) {
$self->document_error(sprintf($self->__("Rename %s failed: $!"),
- $self->{'output_file'}));
+ $self->{'OUTFILE'}));
}
push @{$self->{'opened_files'}},
- $self->{'output_file'}.'-'.$out_file_nr;
+ $self->{'OUTFILE'}.'-'.$out_file_nr;
push @indirect_files, [$self->{'output_filename'}.'-'.$out_file_nr,
$first_node_bytes_count];
#print STDERR join(' --> ', @{$indirect_files[-1]}) ."\n";
}
$out_file_nr++;
$fh = $self->Texinfo::Common::open_out (
- $self->{'output_file'}.'-'.$out_file_nr,
+ $self->{'OUTFILE'}.'-'.$out_file_nr,
$self->{'encoding'});
if (!$fh) {
$self->document_error(sprintf(
$self->__("Could not open %s for writing: $!"),
- $self->{'output_file'}.'-'.$out_file_nr));
+ $self->{'OUTFILE'}.'-'.$out_file_nr));
return undef;
}
print $fh $header;
@@ -147,12 +185,12 @@
my $tag_text = '';
if ($out_file_nr > 1) {
close ($fh);
- $fh = $self->Texinfo::Common::open_out($self->{'output_file'},
+ $fh = $self->Texinfo::Common::open_out($self->{'OUTFILE'},
$self->{'encoding'});
if (!$fh) {
$self->document_error(sprintf(
$self->__("Could not open %s for writing: $!"),
- $self->{'output_file'}.'-'.$out_file_nr));
+ $self->{'OUTFILE'}.'-'.$out_file_nr));
return undef;
}
$tag_text = $header;
@@ -188,50 +226,12 @@
return $result;
}
-#Â this also determines the output file
sub _info_header($)
{
my $self = shift;
- my $input_basename;
- if (defined($self->{'info'}->{'input_file_name'})) {
- $input_basename = $self->{'info'}->{'input_file_name'};
- } else {
- #Â This could happen if called on a piece of texinfo
- $input_basename = '';
- }
- $input_basename =~ s/^.*\///;
- $input_basename = $STDIN_DOCU_NAME if ($input_basename eq '-');
- my $output_file;
- if (defined($self->{'OUTFILE'})) {
- $output_file = $self->{'OUTFILE'};
- } else {
- if ($self->{'extra'} and $self->{'extra'}->{'setfilename'}
- and $self->{'extra'}->{'setfilename'}->{'extra'}
- and
defined($self->{'extra'}->{'setfilename'}->{'extra'}->{'text_arg'})) {
- $output_file =
$self->{'extra'}->{'setfilename'}->{'extra'}->{'text_arg'};
- } elsif ($input_basename ne '') {
- $output_file = $input_basename;
- $output_file =~ s/\.te?x(i|info)?$//;
- $output_file .= '.'.$INFO_EXTENSION;
- } else {
- $output_file = '';
- }
- if (defined($self->{'SUBDIR'}) and $output_file ne '') {
- $output_file = "$self->{'SUBDIR'}/$output_file";
- }
- }
- $self->{'output_file'} = $output_file if ($output_file ne '');
- my $output_basename = $output_file;
- $output_basename =~ s/^.*\///;
- $self->{'output_filename'} = $output_basename;
- my $output_dir = $output_file;
- $output_dir =~ s|[^/]*$||;
- if ($output_dir ne '') {
- $self->{'output_dir'} = $output_dir;
- }
#Â FIXME version/program
- my $text = "This is $output_basename, produced by makeinfo version 4.13 from
$input_basename.";
+ my $text = "This is $self->{'output_filename'}, produced by makeinfo version
4.13 from $self->{'input_basename'}.";
my $paragraph = Texinfo::Convert::Paragraph->new();
my $result = $paragraph->add_text($text);
$result .= $paragraph->end();
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- texinfo/tp/Texinfo/Convert Info.pm,
Patrice Dumas <=