summaryrefslogtreecommitdiff
path: root/macros/texinfo/texinfo/tp/Texinfo
diff options
context:
space:
mode:
Diffstat (limited to 'macros/texinfo/texinfo/tp/Texinfo')
-rw-r--r--macros/texinfo/texinfo/tp/Texinfo/Common.pm2
-rw-r--r--macros/texinfo/texinfo/tp/Texinfo/Convert/Converter.pm2
-rw-r--r--macros/texinfo/texinfo/tp/Texinfo/Convert/DocBook.pm2
-rw-r--r--macros/texinfo/texinfo/tp/Texinfo/Convert/HTML.pm2
-rw-r--r--macros/texinfo/texinfo/tp/Texinfo/Convert/IXIN.pm2
-rw-r--r--macros/texinfo/texinfo/tp/Texinfo/Convert/IXINSXML.pm2
-rw-r--r--macros/texinfo/texinfo/tp/Texinfo/Convert/Info.pm2
-rw-r--r--macros/texinfo/texinfo/tp/Texinfo/Convert/LaTeX.pm2
-rw-r--r--macros/texinfo/texinfo/tp/Texinfo/Convert/NodeNameNormalization.pm2
-rw-r--r--macros/texinfo/texinfo/tp/Texinfo/Convert/Paragraph.pm2
-rw-r--r--macros/texinfo/texinfo/tp/Texinfo/Convert/ParagraphNonXS.pm4
-rw-r--r--macros/texinfo/texinfo/tp/Texinfo/Convert/PlainTexinfo.pm2
-rw-r--r--macros/texinfo/texinfo/tp/Texinfo/Convert/Plaintext.pm2
-rw-r--r--macros/texinfo/texinfo/tp/Texinfo/Convert/Texinfo.pm2
-rw-r--r--macros/texinfo/texinfo/tp/Texinfo/Convert/TexinfoMarkup.pm2
-rw-r--r--macros/texinfo/texinfo/tp/Texinfo/Convert/TexinfoSXML.pm2
-rw-r--r--macros/texinfo/texinfo/tp/Texinfo/Convert/TexinfoXML.pm2
-rw-r--r--macros/texinfo/texinfo/tp/Texinfo/Convert/Text.pm2
-rw-r--r--macros/texinfo/texinfo/tp/Texinfo/Convert/TextContent.pm2
-rw-r--r--macros/texinfo/texinfo/tp/Texinfo/Convert/Unicode.pm10
-rw-r--r--macros/texinfo/texinfo/tp/Texinfo/Convert/Utils.pm2
-rw-r--r--macros/texinfo/texinfo/tp/Texinfo/MiscXS.pm2
-rw-r--r--macros/texinfo/texinfo/tp/Texinfo/Parser.pm2
-rw-r--r--macros/texinfo/texinfo/tp/Texinfo/ParserNonXS.pm92
-rw-r--r--macros/texinfo/texinfo/tp/Texinfo/Structuring.pm2
-rw-r--r--macros/texinfo/texinfo/tp/Texinfo/Transformations.pm2
-rw-r--r--macros/texinfo/texinfo/tp/Texinfo/XSLoader.pm2
27 files changed, 88 insertions, 66 deletions
diff --git a/macros/texinfo/texinfo/tp/Texinfo/Common.pm b/macros/texinfo/texinfo/tp/Texinfo/Common.pm
index 12409e5d02..565af34a3e 100644
--- a/macros/texinfo/texinfo/tp/Texinfo/Common.pm
+++ b/macros/texinfo/texinfo/tp/Texinfo/Common.pm
@@ -71,7 +71,7 @@ valid_tree_transformation
__ __p
);
-$VERSION = '7.0.2';
+$VERSION = '7.0.3';
# i18n
diff --git a/macros/texinfo/texinfo/tp/Texinfo/Convert/Converter.pm b/macros/texinfo/texinfo/tp/Texinfo/Convert/Converter.pm
index 0cba457522..0e30b97437 100644
--- a/macros/texinfo/texinfo/tp/Texinfo/Convert/Converter.pm
+++ b/macros/texinfo/texinfo/tp/Texinfo/Convert/Converter.pm
@@ -58,7 +58,7 @@ xml_accents
@EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
-$VERSION = '7.0.2';
+$VERSION = '7.0.3';
my %defaults = (
'documentlanguage' => undef,
diff --git a/macros/texinfo/texinfo/tp/Texinfo/Convert/DocBook.pm b/macros/texinfo/texinfo/tp/Texinfo/Convert/DocBook.pm
index 952aed1029..27e38bc102 100644
--- a/macros/texinfo/texinfo/tp/Texinfo/Convert/DocBook.pm
+++ b/macros/texinfo/texinfo/tp/Texinfo/Convert/DocBook.pm
@@ -43,7 +43,7 @@ require Exporter;
use vars qw($VERSION @ISA);
@ISA = qw(Texinfo::Convert::Converter);
-$VERSION = '7.0.2';
+$VERSION = '7.0.3';
my %brace_commands = %Texinfo::Commands::brace_commands;
diff --git a/macros/texinfo/texinfo/tp/Texinfo/Convert/HTML.pm b/macros/texinfo/texinfo/tp/Texinfo/Convert/HTML.pm
index e33e17479b..3c37af41ef 100644
--- a/macros/texinfo/texinfo/tp/Texinfo/Convert/HTML.pm
+++ b/macros/texinfo/texinfo/tp/Texinfo/Convert/HTML.pm
@@ -78,7 +78,7 @@ require Exporter;
use vars qw($VERSION @ISA);
@ISA = qw(Texinfo::Convert::Converter);
-$VERSION = '7.0.2';
+$VERSION = '7.0.3';
our $module_loaded = 0;
sub import {
diff --git a/macros/texinfo/texinfo/tp/Texinfo/Convert/IXIN.pm b/macros/texinfo/texinfo/tp/Texinfo/Convert/IXIN.pm
index b296541437..a3e41d119d 100644
--- a/macros/texinfo/texinfo/tp/Texinfo/Convert/IXIN.pm
+++ b/macros/texinfo/texinfo/tp/Texinfo/Convert/IXIN.pm
@@ -78,7 +78,7 @@ use Texinfo::Convert::TexinfoSXML;
use vars qw($VERSION @ISA);
@ISA = qw(Texinfo::Convert::Converter);
-$VERSION = '7.0.2';
+$VERSION = '7.0.3';
my $ixin_version = 1;
diff --git a/macros/texinfo/texinfo/tp/Texinfo/Convert/IXINSXML.pm b/macros/texinfo/texinfo/tp/Texinfo/Convert/IXINSXML.pm
index d15c95d5b6..3640031455 100644
--- a/macros/texinfo/texinfo/tp/Texinfo/Convert/IXINSXML.pm
+++ b/macros/texinfo/texinfo/tp/Texinfo/Convert/IXINSXML.pm
@@ -39,7 +39,7 @@ use Carp qw(cluck);
use vars qw($VERSION @ISA);
@ISA = qw(Texinfo::Convert::TexinfoSXML Texinfo::Convert::IXIN);
-$VERSION = '7.0.2';
+$VERSION = '7.0.3';
my %defaults = (
diff --git a/macros/texinfo/texinfo/tp/Texinfo/Convert/Info.pm b/macros/texinfo/texinfo/tp/Texinfo/Convert/Info.pm
index 6ddff734e5..90c470ba9b 100644
--- a/macros/texinfo/texinfo/tp/Texinfo/Convert/Info.pm
+++ b/macros/texinfo/texinfo/tp/Texinfo/Convert/Info.pm
@@ -36,7 +36,7 @@ use Texinfo::Convert::Paragraph;
use vars qw($VERSION @ISA);
@ISA = qw(Texinfo::Convert::Plaintext);
-$VERSION = '7.0.2';
+$VERSION = '7.0.3';
my $STDIN_DOCU_NAME = 'stdin';
diff --git a/macros/texinfo/texinfo/tp/Texinfo/Convert/LaTeX.pm b/macros/texinfo/texinfo/tp/Texinfo/Convert/LaTeX.pm
index 517f4258e2..c1150e2ec6 100644
--- a/macros/texinfo/texinfo/tp/Texinfo/Convert/LaTeX.pm
+++ b/macros/texinfo/texinfo/tp/Texinfo/Convert/LaTeX.pm
@@ -187,7 +187,7 @@ use Texinfo::Convert::Converter;
use vars qw($VERSION @ISA);
@ISA = qw(Texinfo::Convert::Converter);
-$VERSION = '7.0.2';
+$VERSION = '7.0.3';
# could export convert_to_latex_math
diff --git a/macros/texinfo/texinfo/tp/Texinfo/Convert/NodeNameNormalization.pm b/macros/texinfo/texinfo/tp/Texinfo/Convert/NodeNameNormalization.pm
index 0886d9e20c..1d295cdd6c 100644
--- a/macros/texinfo/texinfo/tp/Texinfo/Convert/NodeNameNormalization.pm
+++ b/macros/texinfo/texinfo/tp/Texinfo/Convert/NodeNameNormalization.pm
@@ -56,7 +56,7 @@ use vars qw($VERSION @ISA @EXPORT_OK %EXPORT_TAGS);
@EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
-$VERSION = '7.0.2';
+$VERSION = '7.0.3';
my %normalize_node_brace_no_arg_commands
diff --git a/macros/texinfo/texinfo/tp/Texinfo/Convert/Paragraph.pm b/macros/texinfo/texinfo/tp/Texinfo/Convert/Paragraph.pm
index ae383c0450..69301c668a 100644
--- a/macros/texinfo/texinfo/tp/Texinfo/Convert/Paragraph.pm
+++ b/macros/texinfo/texinfo/tp/Texinfo/Convert/Paragraph.pm
@@ -20,7 +20,7 @@ use 5.00405;
use strict;
use warnings;
-our $VERSION = '7.0.2';
+our $VERSION = '7.0.3';
use Texinfo::XSLoader;
diff --git a/macros/texinfo/texinfo/tp/Texinfo/Convert/ParagraphNonXS.pm b/macros/texinfo/texinfo/tp/Texinfo/Convert/ParagraphNonXS.pm
index 1cb442846b..19add4f402 100644
--- a/macros/texinfo/texinfo/tp/Texinfo/Convert/ParagraphNonXS.pm
+++ b/macros/texinfo/texinfo/tp/Texinfo/Convert/ParagraphNonXS.pm
@@ -213,7 +213,7 @@ sub _add_next($;$$$)
$paragraph->{'last_char'} = 'a';
} elsif ($word =~
/([^$end_sentence_character$after_punctuation_characters])
- [$end_sentence_character$after_punctuation_characters]*$/x) {
+ [$end_sentence_character$after_punctuation_characters]*$/ox) {
# Save the last character in $word before punctuation
$paragraph->{'last_char'} = $1;
}
@@ -406,7 +406,7 @@ sub add_text($$)
and $tmp =~
/(^|[^\p{Upper}$after_punctuation_characters$end_sentence_character])
[$after_punctuation_characters]*[$end_sentence_character]
- [$end_sentence_character\x08$after_punctuation_characters]*$/x) {
+ [$end_sentence_character\x08$after_punctuation_characters]*$/ox) {
if ($paragraph->{'frenchspacing'}) {
$paragraph->{'end_sentence'} = -1;
} else {
diff --git a/macros/texinfo/texinfo/tp/Texinfo/Convert/PlainTexinfo.pm b/macros/texinfo/texinfo/tp/Texinfo/Convert/PlainTexinfo.pm
index 0f4cd01d0b..7bc985ca85 100644
--- a/macros/texinfo/texinfo/tp/Texinfo/Convert/PlainTexinfo.pm
+++ b/macros/texinfo/texinfo/tp/Texinfo/Convert/PlainTexinfo.pm
@@ -31,7 +31,7 @@ use Texinfo::Convert::Converter;
use vars qw($VERSION @ISA);
@ISA = qw(Texinfo::Convert::Converter);
-$VERSION = '7.0.2';
+$VERSION = '7.0.3';
my %defaults = (
diff --git a/macros/texinfo/texinfo/tp/Texinfo/Convert/Plaintext.pm b/macros/texinfo/texinfo/tp/Texinfo/Convert/Plaintext.pm
index c9b54300e0..12d510d9b6 100644
--- a/macros/texinfo/texinfo/tp/Texinfo/Convert/Plaintext.pm
+++ b/macros/texinfo/texinfo/tp/Texinfo/Convert/Plaintext.pm
@@ -60,7 +60,7 @@ sub import {
goto &Exporter::import;
}
-$VERSION = '7.0.2';
+$VERSION = '7.0.3';
# commands that are of use for formatting.
diff --git a/macros/texinfo/texinfo/tp/Texinfo/Convert/Texinfo.pm b/macros/texinfo/texinfo/tp/Texinfo/Convert/Texinfo.pm
index e42d43910f..a7007af64b 100644
--- a/macros/texinfo/texinfo/tp/Texinfo/Convert/Texinfo.pm
+++ b/macros/texinfo/texinfo/tp/Texinfo/Convert/Texinfo.pm
@@ -42,7 +42,7 @@ use vars qw($VERSION @ISA @EXPORT_OK %EXPORT_TAGS);
@EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
-$VERSION = '7.0.2';
+$VERSION = '7.0.3';
my %brace_commands = %Texinfo::Commands::brace_commands;
diff --git a/macros/texinfo/texinfo/tp/Texinfo/Convert/TexinfoMarkup.pm b/macros/texinfo/texinfo/tp/Texinfo/Convert/TexinfoMarkup.pm
index b864b52962..317532ea7b 100644
--- a/macros/texinfo/texinfo/tp/Texinfo/Convert/TexinfoMarkup.pm
+++ b/macros/texinfo/texinfo/tp/Texinfo/Convert/TexinfoMarkup.pm
@@ -47,7 +47,7 @@ use Carp qw(cluck);
use vars qw($VERSION @ISA);
@ISA = qw(Texinfo::Convert::Converter);
-$VERSION = '7.0.2';
+$VERSION = '7.0.3';
# our because it is used in the xml to texi translator and subclasses.
diff --git a/macros/texinfo/texinfo/tp/Texinfo/Convert/TexinfoSXML.pm b/macros/texinfo/texinfo/tp/Texinfo/Convert/TexinfoSXML.pm
index e8b587acb5..c478204ca3 100644
--- a/macros/texinfo/texinfo/tp/Texinfo/Convert/TexinfoSXML.pm
+++ b/macros/texinfo/texinfo/tp/Texinfo/Convert/TexinfoSXML.pm
@@ -31,7 +31,7 @@ use Carp qw(cluck);
use vars qw($VERSION @ISA);
@ISA = qw(Texinfo::Convert::TexinfoMarkup);
-$VERSION = '7.0.2';
+$VERSION = '7.0.3';
# SXML specific
diff --git a/macros/texinfo/texinfo/tp/Texinfo/Convert/TexinfoXML.pm b/macros/texinfo/texinfo/tp/Texinfo/Convert/TexinfoXML.pm
index eaed8a1ef2..a6c61e102c 100644
--- a/macros/texinfo/texinfo/tp/Texinfo/Convert/TexinfoXML.pm
+++ b/macros/texinfo/texinfo/tp/Texinfo/Convert/TexinfoXML.pm
@@ -35,7 +35,7 @@ use Texinfo::Convert::Converter;
use vars qw($VERSION @ISA);
@ISA = qw(Texinfo::Convert::TexinfoMarkup Texinfo::Convert::Converter);
-$VERSION = '7.0.2';
+$VERSION = '7.0.3';
# TexinfoXML specific
diff --git a/macros/texinfo/texinfo/tp/Texinfo/Convert/Text.pm b/macros/texinfo/texinfo/tp/Texinfo/Convert/Text.pm
index 586c1b5f85..180f775875 100644
--- a/macros/texinfo/texinfo/tp/Texinfo/Convert/Text.pm
+++ b/macros/texinfo/texinfo/tp/Texinfo/Convert/Text.pm
@@ -51,7 +51,7 @@ use vars qw($VERSION @ISA @EXPORT_OK %EXPORT_TAGS);
@EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
-$VERSION = '7.0.2';
+$VERSION = '7.0.3';
# this is in fact not needed for 'footnote', 'shortcaption', 'caption'
diff --git a/macros/texinfo/texinfo/tp/Texinfo/Convert/TextContent.pm b/macros/texinfo/texinfo/tp/Texinfo/Convert/TextContent.pm
index 3aaf2ca777..a9be0dd32e 100644
--- a/macros/texinfo/texinfo/tp/Texinfo/Convert/TextContent.pm
+++ b/macros/texinfo/texinfo/tp/Texinfo/Convert/TextContent.pm
@@ -34,7 +34,7 @@ use Texinfo::Convert::Converter;
use vars qw($VERSION @ISA);
@ISA = qw(Texinfo::Convert::Converter);
-$VERSION = '7.0.2';
+$VERSION = '7.0.3';
my %ignored_brace_commands;
diff --git a/macros/texinfo/texinfo/tp/Texinfo/Convert/Unicode.pm b/macros/texinfo/texinfo/tp/Texinfo/Convert/Unicode.pm
index 3fcc4b307a..b9767b6494 100644
--- a/macros/texinfo/texinfo/tp/Texinfo/Convert/Unicode.pm
+++ b/macros/texinfo/texinfo/tp/Texinfo/Convert/Unicode.pm
@@ -64,7 +64,7 @@ use vars qw($VERSION @EXPORT_OK %EXPORT_TAGS);
@EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
-$VERSION = '7.0.2';
+$VERSION = '7.0.3';
our %unicode_diacritics = (
@@ -1566,6 +1566,14 @@ sub string_width($)
{
my $string = shift;
+ # Optimise for the common case where we can just return the length
+ # of the string. These regexes are faster than making the substitutions
+ # below.
+ if ($string =~ /^[\p{IsPrint}\p{IsSpace}]*$/
+ and $string !~ /[\p{InFullwidth}\pM]/) {
+ return length($string);
+ }
+
$string =~ s/\p{InFullwidth}/\x{02}/g;
$string =~ s/\pM/\x{00}/g;
$string =~ s/\p{IsPrint}/\x{01}/g;
diff --git a/macros/texinfo/texinfo/tp/Texinfo/Convert/Utils.pm b/macros/texinfo/texinfo/tp/Texinfo/Convert/Utils.pm
index 5093541d6a..d9816598d4 100644
--- a/macros/texinfo/texinfo/tp/Texinfo/Convert/Utils.pm
+++ b/macros/texinfo/texinfo/tp/Texinfo/Convert/Utils.pm
@@ -56,7 +56,7 @@ add_heading_number
@EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
-$VERSION = '7.0.2';
+$VERSION = '7.0.3';
our @MONTH_NAMES =
diff --git a/macros/texinfo/texinfo/tp/Texinfo/MiscXS.pm b/macros/texinfo/texinfo/tp/Texinfo/MiscXS.pm
index 151d0bf032..9c39472c5c 100644
--- a/macros/texinfo/texinfo/tp/Texinfo/MiscXS.pm
+++ b/macros/texinfo/texinfo/tp/Texinfo/MiscXS.pm
@@ -22,7 +22,7 @@ use 5.00405;
use strict;
use warnings;
-our $VERSION = '7.0.2';
+our $VERSION = '7.0.3';
use Texinfo::XSLoader;
diff --git a/macros/texinfo/texinfo/tp/Texinfo/Parser.pm b/macros/texinfo/texinfo/tp/Texinfo/Parser.pm
index 482629d78c..4f52f6db8b 100644
--- a/macros/texinfo/texinfo/tp/Texinfo/Parser.pm
+++ b/macros/texinfo/texinfo/tp/Texinfo/Parser.pm
@@ -20,7 +20,7 @@ use 5.00405;
use strict;
use warnings;
-our $VERSION = '7.0.2';
+our $VERSION = '7.0.3';
use Texinfo::XSLoader;
diff --git a/macros/texinfo/texinfo/tp/Texinfo/ParserNonXS.pm b/macros/texinfo/texinfo/tp/Texinfo/ParserNonXS.pm
index 81ca96b3b6..cf87a6d219 100644
--- a/macros/texinfo/texinfo/tp/Texinfo/ParserNonXS.pm
+++ b/macros/texinfo/texinfo/tp/Texinfo/ParserNonXS.pm
@@ -119,7 +119,7 @@ sub import {
@EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
-$VERSION = '7.0.2';
+$VERSION = '7.0.3';
# these are the default values for the parser state
@@ -3920,8 +3920,8 @@ sub _process_remaining_on_line($$$$)
'contents' => [],
'extra' => {'arg_line' => $line }};
$current = $current->{'contents'}->[-1];
- $retval = $GET_A_NEW_LINE;
- goto funexit;
+ return ($current, $line, $source_info, $GET_A_NEW_LINE);
+ # goto funexit; # used in XS code
} elsif ($line =~ /^(\s*?)\@end\s+([a-zA-Z][\w-]*)/
and ($2 eq $current->{'cmdname'})) {
if ($line =~ s/^(\s+)//) {
@@ -3979,8 +3979,8 @@ sub _process_remaining_on_line($$$$)
} else {
push @{$current->{'contents'}},
{ 'text' => $line, 'type' => 'raw', 'parent' => $current };
- $retval = $GET_A_NEW_LINE;
- goto funexit;
+ return ($current, $line, $source_info, $GET_A_NEW_LINE);
+ # goto funexit; # used in XS code
}
# in ignored conditional block command
} elsif ($current->{'cmdname'}
@@ -4030,8 +4030,8 @@ sub _process_remaining_on_line($$$$)
}
}
# anything remaining on the line and any other line is ignored here
- $retval = $GET_A_NEW_LINE;
- goto funexit;
+ return ($current, $line, $source_info, $GET_A_NEW_LINE);
+ # goto funexit; # used in XS code
# in @verb. type should be 'brace_command_arg'
} elsif ($current->{'parent'} and $current->{'parent'}->{'cmdname'}
and $current->{'parent'}->{'cmdname'} eq 'verb') {
@@ -4057,8 +4057,8 @@ sub _process_remaining_on_line($$$$)
push @{$current->{'contents'}},
{ 'text' => $line, 'type' => 'raw', 'parent' => $current };
print STDERR "LINE VERB: $line" if ($self->{'DEBUG'});
- $retval = $GET_A_NEW_LINE;
- goto funexit;
+ return ($current, $line, $source_info, $GET_A_NEW_LINE);
+ # goto funexit; # used in XS code
}
} elsif ($current->{'cmdname'}
and $block_commands{$current->{'cmdname'}}
@@ -4097,8 +4097,8 @@ sub _process_remaining_on_line($$$$)
$current = _end_line($self, $current, $source_info);
# It may happen that there is an @include file on the line, it
# will be picked up at NEXT_LINE, beginning a new line
- $retval = $GET_A_NEW_LINE;
- goto funexit;
+ return ($current, $line, $source_info, $GET_A_NEW_LINE);
+ # goto funexit; # used in XS code
}
}
@@ -4158,14 +4158,16 @@ sub _process_remaining_on_line($$$$)
if ($self->{'DEBUG'});
# empty result. It is ignored here.
if ($expanded eq '') {
- goto funexit;
+ return ($current, $line, $source_info, $retval);
+ # goto funexit; # used in XS code
}
if ($self->{'MAX_MACRO_CALL_NESTING'}
and scalar(@{$self->{'macro_stack'}}) > $self->{'MAX_MACRO_CALL_NESTING'}) {
$self->_line_warn(sprintf(__(
"macro call nested too deeply (set MAX_NESTED_MACROS to override; current value %d)"),
$self->{'MAX_MACRO_CALL_NESTING'}), $source_info);
- goto funexit;
+ return ($current, $line, $source_info, $retval);
+ # goto funexit; # used in XS code
}
if ($expanded_macro->{'cmdname'} eq 'macro') {
my $found = 0;
@@ -4178,16 +4180,21 @@ sub _process_remaining_on_line($$$$)
last;
}
}
- goto funexit if ($found);
+ return ($current, $line, $source_info, $retval) if $found;
+ # goto funexit if $found; # used in XS code
}
my $expanded_lines = _text_to_lines($expanded);
- goto funexit if (!@$expanded_lines);
+ return ($current, $line, $source_info, $retval)
+ if (!@$expanded_lines);
+ # goto funexit if (!@$expanded_lines); # used in XS code
chomp ($expanded_lines->[-1]);
pop @$expanded_lines if ($expanded_lines->[-1] eq '');
print STDERR "MACRO EXPANSION LINES: ".join('|', @$expanded_lines)
."|\nEND LINES MACRO EXPANSION\n" if ($self->{'DEBUG'});
- goto funexit if (!@$expanded_lines);
+ return ($current, $line, $source_info, $retval)
+ if (!@$expanded_lines);
+ # goto funexit if (!@$expanded_lines); # used in XS code
unshift @{$self->{'macro_stack'}}, $expanded_macro;
print STDERR "UNSHIFT MACRO_STACK: $expanded_macro->{'args'}->[0]->{'text'}\n"
if ($self->{'DEBUG'});
@@ -4207,7 +4214,8 @@ sub _process_remaining_on_line($$$$)
# then put the following macro expansion lines with information on the
# pending text with information stack
unshift @{$self->{'input'}->[0]->{'pending'}}, @$new_lines;
- goto funexit;
+ return ($current, $line, $source_info, $retval);
+ # goto funexit; # used in XS code
}
# expand value if it can change the line. It considered again
# together with other commands below for all the other cases
@@ -4223,7 +4231,8 @@ sub _process_remaining_on_line($$$$)
my $value = $1;
if (exists($self->{'values'}->{$value})) {
$line = $self->{'values'}->{$value} . $expanded_line;
- goto funexit;
+ return ($current, $line, $source_info, $retval);
+ # goto funexit; # used in XS code
}
}
}
@@ -4275,7 +4284,8 @@ sub _process_remaining_on_line($$$$)
_abort_empty_line($self, $current);
my $paragraph = _begin_paragraph($self, $current, $source_info);
$current = $paragraph if ($paragraph);
- goto funexit;
+ return ($current, $line, $source_info, $retval);
+ # goto funexit; # used in XS code
}
# this situation arises when after the $current->{'cmdname'}
@@ -4504,7 +4514,8 @@ sub _process_remaining_on_line($$$$)
$self->_line_error(sprintf(__("bad syntax for %c%s"), ord('@'),
$command), $source_info);
}
- goto funexit;
+ return ($current, $line, $source_info, $retval);
+ # goto funexit; # used in XS code
}
if (defined($deprecated_commands{$command})) {
@@ -4528,8 +4539,8 @@ sub _process_remaining_on_line($$$$)
_check_valid_nesting ($self, $current, $command, $source_info);
if ($def_line_continuation) {
- $retval = $GET_A_NEW_LINE;
- goto funexit;
+ return ($current, $line, $source_info, $GET_A_NEW_LINE);
+ # goto funexit; # used in XS code
}
unless ($self->{'no_paragraph_commands'}->{$command}) {
@@ -4594,8 +4605,8 @@ sub _process_remaining_on_line($$$$)
}
if ($command eq "\n") {
$current = _end_line($self, $current, $source_info);
- $retval = $GET_A_NEW_LINE;
- goto funexit;
+ return ($current, $line, $source_info, $GET_A_NEW_LINE);
+ # goto funexit; # used in XS code
}
} else { # other
_register_global_command($self, $misc, $source_info);
@@ -4806,15 +4817,15 @@ sub _process_remaining_on_line($$$$)
}
if ($command eq 'bye') {
- $retval = $FINISHED_TOTALLY;
- goto funexit;
+ return ($current, $line, $source_info, $FINISHED_TOTALLY);
+ # goto funexit; # used in XS code
}
# Even if _end_line is called, it is not done since there is
# no line_arg
$current = _begin_preformatted($self, $current)
if ($close_preformatted_commands{$command});
- $retval = $GET_A_NEW_LINE;
- goto funexit;
+ return ($current, $line, $source_info, $GET_A_NEW_LINE);
+ # goto funexit; # used in XS code
} else {
# $arg_spec is text, line or a number
# @item or @itemx in @table
@@ -4963,8 +4974,8 @@ sub _process_remaining_on_line($$$$)
$current, $source_info);
push @{$current->{'contents'}}, $macro;
$current = $current->{'contents'}->[-1];
- $retval = $GET_A_NEW_LINE;
- goto funexit;
+ return ($current, $line, $source_info, $GET_A_NEW_LINE);
+ # goto funexit; # used in XS code
} elsif ($block_commands{$command} eq 'conditional') {
my $ifvalue_true = 0;
if ($command eq 'ifclear' or $command eq 'ifset') {
@@ -5037,8 +5048,8 @@ sub _process_remaining_on_line($$$$)
}
# FIXME(Karl) ignore what is remaining on the line, to eat
# the end of line?
- $retval = $GET_A_NEW_LINE;
- goto funexit;
+ return ($current, $line, $source_info, $GET_A_NEW_LINE);
+ # goto funexit; # used in XS code
} else {
my $block;
# a menu command closes a menu_comment, but not the other
@@ -5627,8 +5638,9 @@ sub _process_remaining_on_line($$$$)
my $new_text;
($new_text, $source_info) = _next_text($self, $source_info);
if (!$new_text) {
- $retval = $GET_A_NEW_LINE; # error - unbalanced brace
- goto funexit;
+ # error - unbalanced brace
+ return ($current, $line, $source_info, $GET_A_NEW_LINE);
+ # goto funexit; # used in XS code
}
$line .= $new_text;
}
@@ -5662,15 +5674,17 @@ sub _process_remaining_on_line($$$$)
my $new_text;
($new_text, $source_info) = _next_text($self, $source_info);
if (!$new_text) {
- $retval = $GET_A_NEW_LINE; # error - unbalanced brace
- goto funexit;
+ # error - unbalanced brace
+ return ($current, $line, $source_info, $GET_A_NEW_LINE);
+ # goto funexit; # used in XS code
}
$line .= $new_text;
}
}
$current = $current->{'args'}->[-1];
$line = '}' . $line;
- goto funexit;
+ return ($current, $line, $source_info, $retval);
+ # goto funexit; # used in XS code
}
}
$current->{'remaining_args'}--;
@@ -5732,8 +5746,8 @@ sub _process_remaining_on_line($$$$)
}
}
$current = _end_line($self, $current, $source_info);
- $retval = $GET_A_NEW_LINE;
- goto funexit;
+ return ($current, $line, $source_info, $GET_A_NEW_LINE);
+ # goto funexit; # used in XS code
}
funexit:
diff --git a/macros/texinfo/texinfo/tp/Texinfo/Structuring.pm b/macros/texinfo/texinfo/tp/Texinfo/Structuring.pm
index 1ca33e1e05..4f820ac56a 100644
--- a/macros/texinfo/texinfo/tp/Texinfo/Structuring.pm
+++ b/macros/texinfo/texinfo/tp/Texinfo/Structuring.pm
@@ -69,7 +69,7 @@ use vars qw($VERSION @ISA @EXPORT_OK %EXPORT_TAGS);
@EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
-$VERSION = '7.0.2';
+$VERSION = '7.0.3';
my %types_to_enter;
diff --git a/macros/texinfo/texinfo/tp/Texinfo/Transformations.pm b/macros/texinfo/texinfo/tp/Texinfo/Transformations.pm
index 4c7499acc4..ff784a86f7 100644
--- a/macros/texinfo/texinfo/tp/Texinfo/Transformations.pm
+++ b/macros/texinfo/texinfo/tp/Texinfo/Transformations.pm
@@ -46,7 +46,7 @@ reference_to_arg_in_tree
@EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
-$VERSION = '7.0.2';
+$VERSION = '7.0.3';
# Add raise/lowersections to be back at the normal level
sub _correct_level($$;$)
diff --git a/macros/texinfo/texinfo/tp/Texinfo/XSLoader.pm b/macros/texinfo/texinfo/tp/Texinfo/XSLoader.pm
index d95798dc45..e9720ceac8 100644
--- a/macros/texinfo/texinfo/tp/Texinfo/XSLoader.pm
+++ b/macros/texinfo/texinfo/tp/Texinfo/XSLoader.pm
@@ -33,7 +33,7 @@ BEGIN {
our $TEXINFO_XS;
-our $VERSION = '7.0.2';
+our $VERSION = '7.0.3';
our $disable_XS;