[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
branch master updated: * tp/Texinfo/ParserNonXS.pm (_prepare_input_from_
From: |
Patrice Dumas |
Subject: |
branch master updated: * tp/Texinfo/ParserNonXS.pm (_prepare_input_from_text) (parse_texi_piece, parse_texi_text), tp/Texinfo/XS/parsetexi/Parsetexi.pm (parse_texi_piece) (get_parser_info, parse_texi_text), tp/Texinfo/XS/parsetexi/Parsetexi.xs (parse_piece), tp/Texinfo/XS/parsetexi/api.c (parse_text, parse_piece): change meaning of parse_texi_text() to be parsing a text as a whole manual. Add parse_texi_piece() to do what parse_texi_text() formerly did. |
Date: |
Sun, 09 Jan 2022 14:00:23 -0500 |
This is an automated email from the git hooks/post-receive script.
pertusus pushed a commit to branch master
in repository texinfo.
The following commit(s) were added to refs/heads/master by this push:
new 5fb1d38422 * tp/Texinfo/ParserNonXS.pm (_prepare_input_from_text)
(parse_texi_piece, parse_texi_text), tp/Texinfo/XS/parsetexi/Parsetexi.pm
(parse_texi_piece) (get_parser_info, parse_texi_text),
tp/Texinfo/XS/parsetexi/Parsetexi.xs (parse_piece),
tp/Texinfo/XS/parsetexi/api.c (parse_text, parse_piece): change meaning of
parse_texi_text() to be parsing a text as a whole manual. Add
parse_texi_piece() to do what parse_texi_text() formerly did.
5fb1d38422 is described below
commit 5fb1d38422564ac5e69bd0fe2685afe2bfc79479
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Sun Jan 9 20:00:12 2022 +0100
* tp/Texinfo/ParserNonXS.pm (_prepare_input_from_text)
(parse_texi_piece, parse_texi_text),
tp/Texinfo/XS/parsetexi/Parsetexi.pm (parse_texi_piece)
(get_parser_info, parse_texi_text),
tp/Texinfo/XS/parsetexi/Parsetexi.xs (parse_piece),
tp/Texinfo/XS/parsetexi/api.c (parse_text, parse_piece):
change meaning of parse_texi_text() to be parsing a text as
a whole manual. Add parse_texi_piece() to do what parse_texi_text()
formerly did.
---
ChangeLog | 12 +++
tp/Texinfo/Convert/LaTeX.pm | 4 +-
tp/Texinfo/ParserNonXS.pm | 114 +++++++++++++++++--------
tp/Texinfo/XS/parsetexi/Parsetexi.pm | 95 +++++++++++++++------
tp/Texinfo/XS/parsetexi/Parsetexi.xs | 5 ++
tp/Texinfo/XS/parsetexi/api.c | 13 ++-
tp/Texinfo/XS/parsetexi/api.h | 5 +-
tp/t/accents.t | 2 +-
tp/t/automatic_nodes.t | 8 +-
tp/t/do_master_menu.t | 8 +-
tp/t/index_before_item.t | 4 +-
tp/t/nodenormalization.t | 6 +-
tp/t/protect_character_in_texinfo.t | 4 +-
tp/t/reference_to_text_in_tree.t | 2 +-
tp/t/test_brace_count.t | 2 +-
tp/t/test_fill_gaps_in_sectioning.t | 8 +-
tp/t/test_is_content_empty.t | 4 +-
tp/t/test_parser_registrar.t | 2 +-
tp/t/test_protect_hashchar_at_line_beginning.t | 2 +-
tp/t/test_tree_copy.t | 2 +-
tp/t/test_utils.pl | 2 +-
21 files changed, 210 insertions(+), 94 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index f6016ad422..cb9443de62 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2022-01-09 Patrice Dumas <pertusus@free.fr>
+
+ * tp/Texinfo/ParserNonXS.pm (_prepare_input_from_text)
+ (parse_texi_piece, parse_texi_text),
+ tp/Texinfo/XS/parsetexi/Parsetexi.pm (parse_texi_piece)
+ (get_parser_info, parse_texi_text),
+ tp/Texinfo/XS/parsetexi/Parsetexi.xs (parse_piece),
+ tp/Texinfo/XS/parsetexi/api.c (parse_text, parse_piece):
+ change meaning of parse_texi_text() to be parsing a text as
+ a whole manual. Add parse_texi_piece() to do what parse_texi_text()
+ formerly did.
+
2022-01-09 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/ParserNonXS.pm (parse_texi_file, _parse_texi_document),
diff --git a/tp/Texinfo/Convert/LaTeX.pm b/tp/Texinfo/Convert/LaTeX.pm
index 8ff8653e1f..51f32d293f 100644
--- a/tp/Texinfo/Convert/LaTeX.pm
+++ b/tp/Texinfo/Convert/LaTeX.pm
@@ -915,10 +915,10 @@ sub output($$)
}
# FIXME is it a good thing to redo what could have been done after the
- # parsing? Should the preamble be setup after parse_texi_text() too?
+ # parsing? Should the preamble be setup after parse_texi_piece() too?
#
# check if preamble is already present and determine at which index it should
- # be inserted. Preamble is not set if parser was called with
parse_texi_text().
+ # be inserted. Preamble is not set if parser was called with
parse_texi_piece().
# We do not use Texinfo::Common::add_preamble_before_content as we already
# have the location as a side effect of checking if the preamble is there,
and we do
# not seet a container for the preamble but simply add a marker, with less
diff --git a/tp/Texinfo/ParserNonXS.pm b/tp/Texinfo/ParserNonXS.pm
index 59e63a7571..156b7541d2 100644
--- a/tp/Texinfo/ParserNonXS.pm
+++ b/tp/Texinfo/ParserNonXS.pm
@@ -82,10 +82,12 @@ sub import {
}
%EXPORT_TAGS = ( 'all' => [ qw(
- parser
- parse_texi_text
- parse_texi_line
- parse_texi_file
+ parser
+ parse_texi_file
+ parse_texi_line
+ parse_texi_piece
+ parse_texi_text
+
) ] );
@EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
@@ -227,10 +229,10 @@ my %parser_default_configuration = (
# The input structure is an array, the first is the most recently included
# file. The last element may be a file if the parsing is done on a file,
-# with parse_texi_file, or simply pending text, if called as parse_texi_text.
+# with parse_texi_file, or simply pending text, if called on text.
# each element of the array is a hash reference. The key are:
# pending an array reference containing pending text fragments, either the
-# text given as parse_texi_text or macro expansion text.
+# text given in input or macro expansion text.
# name file name
# line_nr current line number in the file
# fh filehandle for the file
@@ -869,13 +871,11 @@ sub _complete_line_nr($$;$$$)
return $new_lines;
}
-# entry point for text fragments.
-# Used in tests.
-sub parse_texi_text($$;$$$$)
+sub _prepare_input_from_text($$;$$$$)
{
my ($self, $text, $lines_nr, $file, $macro, $fixed_line_number) = @_;
- return undef if (!defined($text));
+ return 0 if (!defined($text));
if (ref($text) eq '') {
$text = _text_to_lines($text);
@@ -887,19 +887,58 @@ sub parse_texi_text($$;$$$$)
my $lines_array = _complete_line_nr($text, $lines_nr, $file,
$macro, $fixed_line_number);
- $self = parser() if (!defined($self));
$self->{'input'} = [{'pending' => $lines_array}];
+ return 1;
+}
+
+# entry point for text fragments.
+# Used in some tests.
+sub parse_texi_piece($$;$$$$)
+{
+ my ($self, $text, $lines_nr, $file, $macro, $fixed_line_number) = @_;
+
+ $self = parser() if (!defined($self));
+
+ return undef unless (_prepare_input_from_text($self, $text, $lines_nr, $file,
+ $macro, $fixed_line_number));
my ($document_root, $before_node_section)
= _setup_document_root_and_before_node_section();
my $tree = $self->_parse_texi($document_root, $before_node_section);
+ # TODO remove
$self->_set_global_informations();
return $tree;
}
+sub parse_texi_line($$;$$$$)
+{
+ my ($self, $text, $lines_nr, $file, $macro, $fixed_line_number) = @_;
+
+ $self = parser() if (!defined($self));
+
+ return undef unless (_prepare_input_from_text($self, $text, $lines_nr, $file,
+ $macro, $fixed_line_number));
+
+ my $root = {'contents' => [], 'type' => 'root_line'};
+ my $tree = $self->_parse_texi($root, $root);
+ return $tree;
+}
+
+sub parse_texi_text($$;$$$$)
+{
+ my ($self, $text, $lines_nr, $file, $macro, $fixed_line_number) = @_;
+
+ $self = parser() if (!defined($self));
+
+ return undef unless (_prepare_input_from_text($self, $text, $lines_nr, $file,
+ $macro, $fixed_line_number));
+
+ return $self->_parse_texi_document();
+}
+
sub _open_in {
my ($self, $filehandle, $file_name) = @_;
@@ -1005,29 +1044,6 @@ sub _parse_texi_document($)
return $tree;
}
-sub parse_texi_line($$;$$$$)
-{
- my ($self, $text, $lines_nr, $file, $macro, $fixed_line_number) = @_;
-
- return undef if (!defined($text));
-
- if (ref($text) eq '') {
- $text = _text_to_lines($text);
- }
- if (not defined($lines_nr)) {
- $lines_nr = 1;
- }
-
- my $lines_array = _complete_line_nr($text, $lines_nr, $file,
- $macro, $fixed_line_number);
-
- $self = parser() if (!defined($self));
- $self->{'input'} = [{'pending' => $lines_array}];
- my $root = {'contents' => [], 'type' => 'root_line'};
- my $tree = $self->_parse_texi($root, $root);
- return $tree;
-}
-
# return indices informations
sub indices_information($)
{
@@ -6092,7 +6108,8 @@ Same as values set by C<@set>.
=head2 Parsing Texinfo text
There are three methods that may be called to parse some Texinfo code:
-C<parse_texi_line> for a line, C<parse_texi_text> for a text fragment,
+C<parse_texi_line> for a line, C<parse_texi_piece> for a fragment of
+Texinfo, C<parse_texi_text> for a string corresponding to a full document
and C<parse_texi_file> for a file.
For all those functions, if the I<$parser> argument is undef, a new
@@ -6142,13 +6159,38 @@ The XS parser implements only part of the arguments and
allows only a
restricted set of arguments types compared to the perl parser. We want users
to use only what is in common, so document only what is in common.
+=item $tree = parse_texi_piece ($parser, $text, $line_numbers_specification,
$file_name, $macro_name, $fixed_line_number)
+
+=end comment
+
+=item $tree = parse_texi_piece ($parser, $text, $first_line_number)
+
+This function is used to parse some Texinfo fragments.
+
+I<$text> is the string containing the texinfo text. I<$first_line_number> is
+the line number of the first text line, if undef, it will be set to 1.
+
+=begin comment
+
+I<$text> may be either an array reference of lines, or a text.
+
+The other arguments are optional and allow specifying the position
+information of the Texinfo code. I<$first_line_number> is the line number
+of the first text line. I<$file_name> is the name of the file the
+text comes from. I<$macro> is for the user-defined macro name the text
+is expanded from. If I<$fixed_line_number> is set, the line number is
+not increased for the different lines, as if the text was the expansion
+of a macro.
+
+=end comment
+
=item $tree = parse_texi_text ($parser, $text, $line_numbers_specification,
$file_name, $macro_name, $fixed_line_number)
=end comment
=item $tree = parse_texi_text ($parser, $text, $first_line_number)
-This function is used to parse some Texinfo text.
+This function is used to parse a text as a whole document.
I<$text> is the string containing the texinfo text. I<$first_line_number> is
the line number of the first text line, if undef, it will be set to 1.
diff --git a/tp/Texinfo/XS/parsetexi/Parsetexi.pm
b/tp/Texinfo/XS/parsetexi/Parsetexi.pm
index c72395a778..b9bf52df47 100644
--- a/tp/Texinfo/XS/parsetexi/Parsetexi.pm
+++ b/tp/Texinfo/XS/parsetexi/Parsetexi.pm
@@ -40,9 +40,10 @@ use Texinfo::Translations;
our @ISA = qw(Exporter Texinfo::Translations);
our %EXPORT_TAGS = ( 'all' => [ qw(
parser
- parse_texi_text
- parse_texi_line
parse_texi_file
+ parse_texi_line
+ parse_texi_piece
+ parse_texi_text
) ] );
our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
@@ -207,11 +208,6 @@ sub get_parser_info {
$self->{'info'} = $GLOBAL_INFO;
$self->{'commands_info'} = $GLOBAL_INFO2;
- if ($self->get_conf('novalidate')
- or $self->global_commands_information()->{'novalidate'}) {
- $self->{'info'}->{'novalidate'} = 1;
- }
-
_set_errors_node_lists_labels_indices($self);
}
@@ -235,6 +231,11 @@ sub parse_texi_file ($$)
my $TREE = build_texinfo_tree ();
get_parser_info ($self);
+ if ($self->get_conf('novalidate')
+ or $self->global_commands_information()->{'novalidate'}) {
+ $self->{'info'}->{'novalidate'} = 1;
+ }
+
_associate_node_menus ($self, $TREE);
my $before_node_section = $TREE->{'contents'}->[0];
@@ -273,35 +274,81 @@ sub _get_errors($)
}
+# Replacement for Texinfo::Parser::parse_texi_piece
+#
+# Used in tests under tp/t.
+sub parse_texi_piece($$;$$$$)
+{
+ my $self = shift;
+ my $text = shift;
+ my $lines_nr = shift;
+ my $file = shift;
+ my $macro = shift;
+ my $fixed_line_number = shift;
+
+ return undef if (!defined($text));
+
+ $lines_nr = 1 if (not defined($lines_nr));
+
+ $self = parser() if (!defined($self));
+
+ # make sure that internal byte buffer is in UTF-8 before we pass
+ # it in to the XS code.
+ utf8::upgrade($text);
+
+ parse_piece($text, $lines_nr);
+ my $tree = build_texinfo_tree ();
+
+ get_parser_info($self);
+ _associate_node_menus ($self, $tree);
+
+ # TODO remove
+ if ($self->get_conf('novalidate')
+ or $self->global_commands_information()->{'novalidate'}) {
+ $self->{'info'}->{'novalidate'} = 1;
+ }
+
+ return $tree;
+}
+
# Replacement for Texinfo::Parser::parse_texi_text
#
# Used in tests under tp/t.
sub parse_texi_text($$;$$$$)
{
- my $self = shift;
- my $text = shift;
- my $lines_nr = shift;
- my $file = shift;
- my $macro = shift;
- my $fixed_line_number = shift;
+ my $self = shift;
+ my $text = shift;
+ my $lines_nr = shift;
+ my $file = shift;
+ my $macro = shift;
+ my $fixed_line_number = shift;
- return undef if (!defined($text));
+ return undef if (!defined($text));
- $lines_nr = 1 if (not defined($lines_nr));
+ $lines_nr = 1 if (not defined($lines_nr));
- $self = parser() if (!defined($self));
+ $self = parser() if (!defined($self));
- # make sure that internal byte buffer is in UTF-8 before we pass
- # it in to the XS code.
- utf8::upgrade($text);
+ # make sure that internal byte buffer is in UTF-8 before we pass
+ # it in to the XS code.
+ utf8::upgrade($text);
- parse_text($text, $lines_nr);
- my $tree = build_texinfo_tree ();
+ parse_text($text, $lines_nr);
+ my $tree = build_texinfo_tree ();
- get_parser_info($self);
- _associate_node_menus ($self, $tree);
+ get_parser_info($self);
- return $tree;
+ if ($self->get_conf('novalidate')
+ or $self->global_commands_information()->{'novalidate'}) {
+ $self->{'info'}->{'novalidate'} = 1;
+ }
+
+ _associate_node_menus ($self, $tree);
+
+ my $before_node_section = $tree->{'contents'}->[0];
+
+ Texinfo::Common::rearrange_tree_beginning($self, $before_node_section);
+ return $tree;
}
# Replacement for Texinfo::Parser::parse_texi_line
diff --git a/tp/Texinfo/XS/parsetexi/Parsetexi.xs
b/tp/Texinfo/XS/parsetexi/Parsetexi.xs
index a60f0ce85a..1f00ab76bd 100644
--- a/tp/Texinfo/XS/parsetexi/Parsetexi.xs
+++ b/tp/Texinfo/XS/parsetexi/Parsetexi.xs
@@ -36,6 +36,11 @@ int
parse_file(filename)
char * filename
+void
+parse_piece(string, line_nr)
+ char * string
+ int line_nr
+
void
parse_string(string, line_nr)
char * string
diff --git a/tp/Texinfo/XS/parsetexi/api.c b/tp/Texinfo/XS/parsetexi/api.c
index a81282a440..dbe5a8f121 100644
--- a/tp/Texinfo/XS/parsetexi/api.c
+++ b/tp/Texinfo/XS/parsetexi/api.c
@@ -198,6 +198,15 @@ parse_file (char *filename)
return 1;
}
+/* Used for parse_texi_text. STRING should be a UTF-8 buffer. */
+void
+parse_text (char *string, int line_nr)
+{
+ reset_parser_except_conf ();
+ input_push_text_with_line_nos (strdup (string), line_nr);
+ Root = parse_texi_document ();
+}
+
/* Set ROOT to root of tree obtained by parsing the Texinfo code in STRING.
STRING should be a UTF-8 buffer. Used for parse_texi_line. */
void
@@ -210,9 +219,9 @@ parse_string (char *string, int line_nr)
Root = parse_texi (root_elt, root_elt);
}
-/* Used for parse_texi_text. STRING should be a UTF-8 buffer. */
+/* Used for parse_texi_piece. STRING should be a UTF-8 buffer. */
void
-parse_text (char *string, int line_nr)
+parse_piece (char *string, int line_nr)
{
ELEMENT *before_node_section = setup_document_root_and_before_node_section
();
ELEMENT *document_root = before_node_section->parent;
diff --git a/tp/Texinfo/XS/parsetexi/api.h b/tp/Texinfo/XS/parsetexi/api.h
index ed6081b980..7c328d06be 100644
--- a/tp/Texinfo/XS/parsetexi/api.h
+++ b/tp/Texinfo/XS/parsetexi/api.h
@@ -5,9 +5,10 @@ extern ELEMENT *Root;
int init (int texinfo_uninstalled, char *srcdir_in);
-void parse_text (char *, int line_nr);
-void parse_string(char *, int line_nr);
int parse_file (char *filename);
+void parse_piece (char *, int line_nr);
+void parse_string (char *, int line_nr);
+void parse_text (char *, int line_nr);
void reset_parser (void);
void reset_parser_except_conf (void);
void set_debug (int);
diff --git a/tp/t/accents.t b/tp/t/accents.t
index 1a707ebbb0..2805e2b891 100644
--- a/tp/t/accents.t
+++ b/tp/t/accents.t
@@ -23,7 +23,7 @@ sub _find_accent($)
my $root = shift;
my $current = $root;
while ($current->{'type'} and ($current->{'type'} eq 'root_line'
- # following could be useful if parse_texi_text is
used
+ # following could be useful if parse_texi_piece is
used
or $current->{'type'} eq 'before_node_section'
or $current->{'type'} eq 'document_root'
or $current->{'type'} eq 'paragraph')) {
diff --git a/tp/t/automatic_nodes.t b/tp/t/automatic_nodes.t
index b64af8b33b..29143a3992 100644
--- a/tp/t/automatic_nodes.t
+++ b/tp/t/automatic_nodes.t
@@ -75,7 +75,7 @@ test_new_node ('@asis{}', '-1', '@node @asis{} 1
', 'empty node');
my $parser = Texinfo::Parser::parser();
-my $tree = $parser->parse_texi_text('@node a node
+my $tree = $parser->parse_texi_piece('@node a node
');
my $line_tree = Texinfo::Parser::parse_texi_line (undef, 'a node');
my $registrar = $parser->registered_errors();
@@ -154,7 +154,7 @@ Text.
@bye';
$parser = Texinfo::Parser::parser();
- $tree = $parser->parse_texi_text ($sections_text);
+ $tree = $parser->parse_texi_text($sections_text);
$registrar = $parser->registered_errors();
($labels, $targets_list, $nodes_list) = $parser->labels_information();
$parser_informations = $parser->global_informations();
@@ -170,7 +170,7 @@ Text.
#print STDERR "$result";
$parser = Texinfo::Parser::parser();
-$tree = $parser->parse_texi_text ('@node Top
+$tree = $parser->parse_texi_text('@node Top
@top top
@chapter chap
@@ -217,7 +217,7 @@ is ($labels->{'chap'},
$index_names->{'cp'}->{'index_entries'}->[0]->{'node'},
#
# @cindex entry
# ';
-# $tree = $parser->parse_texi_text ($text_duplicate_nodes);
+# $tree = $parser->parse_texi_piece($text_duplicate_nodes);
# # In fact, here we also check that there is no debugging message...
# ($labels, $targets_list, $nodes_list) = $parser->labels_information();
# ($new_content, $added_nodes)
diff --git a/tp/t/do_master_menu.t b/tp/t/do_master_menu.t
index 9b2363a991..5afc07f89f 100644
--- a/tp/t/do_master_menu.t
+++ b/tp/t/do_master_menu.t
@@ -123,7 +123,7 @@ my $no_detailmenu = _get_in('');
#print STDERR $in_detailmenu;
my $parser = Texinfo::Parser::parser();
-my $tree = $parser->parse_texi_text($in_detailmenu);
+my $tree = $parser->parse_texi_piece($in_detailmenu);
my $registrar = $parser->registered_errors();
my ($labels, $targets_list, $nodes_list) = $parser->labels_information();
my $parser_informations = $parser->global_informations();
@@ -168,7 +168,7 @@ unnumbered1
is ($out, $reference, 'master menu');
$parser = Texinfo::Parser::parser();
-$tree = $parser->parse_texi_text($no_detailmenu);
+$tree = $parser->parse_texi_piece($no_detailmenu);
$registrar = $parser->registered_errors();
($labels, $targets_list, $nodes_list) = $parser->labels_information();
$parser_informations = $parser->global_informations();
@@ -180,7 +180,7 @@ $out =
Texinfo::Convert::Texinfo::convert_to_texinfo($master_menu);
is ($out, $reference, 'master menu no detailmenu');
$parser = Texinfo::Parser::parser();
-$tree = $parser->parse_texi_text($in_detailmenu);
+$tree = $parser->parse_texi_piece($in_detailmenu);
$registrar = $parser->registered_errors();
($labels, $targets_list, $nodes_list) = $parser->labels_information();
$parser_informations = $parser->global_informations();
@@ -195,7 +195,7 @@ is ($out, _get_in($reference), 'regenerate with existing
detailmenu');
$parser = Texinfo::Parser::parser();
-$tree = $parser->parse_texi_text($no_detailmenu);
+$tree = $parser->parse_texi_piece($no_detailmenu);
$registrar = $parser->registered_errors();
($labels, $targets_list, $nodes_list) = $parser->labels_information();
$parser_informations = $parser->global_informations();
diff --git a/tp/t/index_before_item.t b/tp/t/index_before_item.t
index a567e49eea..845b6aaa44 100644
--- a/tp/t/index_before_item.t
+++ b/tp/t/index_before_item.t
@@ -7,7 +7,7 @@ use Test::More;
BEGIN { plan tests => 6; }
-use Texinfo::Parser qw(parse_texi_text);
+use Texinfo::Parser qw(parse_texi_piece);
use Texinfo::Common qw(move_index_entries_after_items_in_tree);
use Texinfo::Convert::Texinfo;
use DebugTexinfo::DebugTree;
@@ -20,7 +20,7 @@ sub run_test($$$)
my $out = shift;
my $name = shift;
- my $tree = parse_texi_text(undef, $in);
+ my $tree = parse_texi_piece(undef, $in);
#print STDERR DebugTexinfo::DebugTree::convert(undef, $tree)."\n";
diff --git a/tp/t/nodenormalization.t b/tp/t/nodenormalization.t
index d52f867d40..805c7cf5a7 100644
--- a/tp/t/nodenormalization.t
+++ b/tp/t/nodenormalization.t
@@ -49,7 +49,7 @@ in node
in top section
';
-my $node_tree = $parser->parse_texi_text($node_texi);
+my $node_tree = $parser->parse_texi_piece($node_texi);
my $normalized_node = normalize_node($node_tree);
is ($normalized_node, '', 'node ignored');
@@ -137,7 +137,7 @@ in float
@bye
';
-my $texinfo_manual_tree = $parser->parse_texi_text($texinfo_manual);
+my $texinfo_manual_tree = $parser->parse_texi_piece($texinfo_manual);
my $check_texinfo =
Texinfo::Convert::Texinfo::convert_to_texinfo($texinfo_manual_tree);
is ($texinfo_manual, $check_texinfo, 'check parsing of a manual');
@@ -174,7 +174,7 @@ my $top_and_space_before = ' tOp';
# when parsed with parse_texi_text, the text is put in a paragraph
# and spaces before the text is put in a speicial content for
# spaces before paragraphs, that are ignored afterwards
-my $top_and_space_before_tree_text =
$parser->parse_texi_text($top_and_space_before);
+my $top_and_space_before_tree_text =
$parser->parse_texi_piece($top_and_space_before);
my $top_and_space_before_text_normalized
= normalize_node($top_and_space_before_tree_text);
is ($top_and_space_before_text_normalized, 'Top',
diff --git a/tp/t/protect_character_in_texinfo.t
b/tp/t/protect_character_in_texinfo.t
index 08cbb029e6..f76a3679b2 100644
--- a/tp/t/protect_character_in_texinfo.t
+++ b/tp/t/protect_character_in_texinfo.t
@@ -7,7 +7,7 @@ use Test::More;
BEGIN { plan tests => 7; }
-use Texinfo::Parser qw(parse_texi_line parse_texi_text);
+use Texinfo::Parser qw(parse_texi_line parse_texi_piece);
use Texinfo::Common qw(protect_comma_in_tree protect_colon_in_tree
protect_node_after_label_in_tree);
use Texinfo::Convert::Texinfo;
@@ -27,7 +27,7 @@ sub run_test($$$$)
$reference_as_line = $reference_as_text if not defined($reference_as_line);
}
- my $tree_as_text = parse_texi_text(undef, $in);
+ my $tree_as_text = parse_texi_piece(undef, $in);
my $tree_as_line = parse_texi_line(undef, $in);
foreach my $tree ($tree_as_text, $tree_as_line) {
diff --git a/tp/t/reference_to_text_in_tree.t b/tp/t/reference_to_text_in_tree.t
index 756458f6bb..a9577ae340 100644
--- a/tp/t/reference_to_text_in_tree.t
+++ b/tp/t/reference_to_text_in_tree.t
@@ -20,7 +20,7 @@ sub run_test($$$)
my $name = shift;
my $parser = Texinfo::Parser::parser();
- my $tree = $parser->parse_texi_text($in);
+ my $tree = $parser->parse_texi_piece($in);
my $corrected_tree
= Texinfo::Transformations::reference_to_arg_in_tree($tree);
diff --git a/tp/t/test_brace_count.t b/tp/t/test_brace_count.t
index a335c7ad1d..8caf64832b 100644
--- a/tp/t/test_brace_count.t
+++ b/tp/t/test_brace_count.t
@@ -39,7 +39,7 @@ sub _find_text($)
my $root = shift;
my $current = $root;
while ($current->{'type'} and ($current->{'type'} eq 'root_line'
- # following could be useful if parse_texi_text is
used
+ # following could be useful if parse_texi_piece is
used
or $current->{'type'} eq 'before_node_section'
or $current->{'type'} eq 'document_root'
or $current->{'type'} eq 'paragraph')) {
diff --git a/tp/t/test_fill_gaps_in_sectioning.t
b/tp/t/test_fill_gaps_in_sectioning.t
index 2bdb1f0bdb..0fc1e47f7d 100644
--- a/tp/t/test_fill_gaps_in_sectioning.t
+++ b/tp/t/test_fill_gaps_in_sectioning.t
@@ -8,12 +8,12 @@ use Test::More;
BEGIN { plan tests => 8; }
use Texinfo::Transformations;
-use Texinfo::Parser qw(parse_texi_text);
+use Texinfo::Parser qw(parse_texi_piece);
use Texinfo::Convert::Texinfo;
ok(1, "modules loading");
-my $tree = parse_texi_text(undef, '@raisesections
+my $tree = parse_texi_piece(undef, '@raisesections
@section truc
');
@@ -26,7 +26,7 @@ ok (scalar(@correct_level_offset_commands) == 2,"one
lowersection");
ok ($correct_level_offset_commands[0]->{'cmdname'} eq 'lowersection' ,
"command is lowersection");
-$tree = parse_texi_text(undef, '@lowersections
+$tree = parse_texi_piece(undef, '@lowersections
@lowersections
@chapter truc
');
@@ -42,7 +42,7 @@ sub test_correction($$$)
my $in = shift;
my $out = shift;
my $name = shift;
- my $tree = parse_texi_text(undef, $in);
+ my $tree = parse_texi_piece(undef, $in);
my ($corrected_content, $added_sections)
= Texinfo::Transformations::fill_gaps_in_sectioning($tree);
$tree->{'contents'} = $corrected_content;
diff --git a/tp/t/test_is_content_empty.t b/tp/t/test_is_content_empty.t
index 4fe60062a1..02e5688657 100644
--- a/tp/t/test_is_content_empty.t
+++ b/tp/t/test_is_content_empty.t
@@ -7,7 +7,7 @@ use Test::More;
BEGIN { plan tests => 23; }
-use Texinfo::Parser qw(parse_texi_text parse_texi_line);
+use Texinfo::Parser qw(parse_texi_piece parse_texi_line);
#use Texinfo::Convert::Texinfo;
use Texinfo::Common;
use Data::Dumper;
@@ -20,7 +20,7 @@ sub test_is_empty($$$;$)
my $is_empty = shift;
my $in = shift;
my $do_not_ignore_index_entries = shift;
- my $tree_as_text = parse_texi_text(undef, $in);
+ my $tree_as_text = parse_texi_piece(undef, $in);
my $tree_as_line = parse_texi_line(undef, $in);
my $result_as_text = Texinfo::Common::is_content_empty($tree_as_text,
$do_not_ignore_index_entries);
diff --git a/tp/t/test_parser_registrar.t b/tp/t/test_parser_registrar.t
index e5a239df2a..349e5249a4 100644
--- a/tp/t/test_parser_registrar.t
+++ b/tp/t/test_parser_registrar.t
@@ -23,7 +23,7 @@ $registrar->document_error(undef, $initial_error);
my $parser = Texinfo::Parser::parser({'registrar' => $registrar});
# this also tests errors with line_errors not defined
-my $tree = $parser->parse_texi_text("\@end format\n");
+my $tree = $parser->parse_texi_piece("\@end format\n");
my $parser_registrar = $parser->registered_errors();
ok ($parser_registrar eq $registrar, 'reused registrar');
diff --git a/tp/t/test_protect_hashchar_at_line_beginning.t
b/tp/t/test_protect_hashchar_at_line_beginning.t
index d8613c320e..671100ada4 100644
--- a/tp/t/test_protect_hashchar_at_line_beginning.t
+++ b/tp/t/test_protect_hashchar_at_line_beginning.t
@@ -23,7 +23,7 @@ sub run_test($$$;$)
my $error_message = shift;
my $parser = Texinfo::Parser::parser();
- my $tree = $parser->parse_texi_text($in, 1);
+ my $tree = $parser->parse_texi_piece($in, 1);
my $registrar = $parser->registered_errors();
diff --git a/tp/t/test_tree_copy.t b/tp/t/test_tree_copy.t
index 0545aec28b..d88dcb41ee 100644
--- a/tp/t/test_tree_copy.t
+++ b/tp/t/test_tree_copy.t
@@ -76,7 +76,7 @@ T
';
-my $tree = Texinfo::Parser::parse_texi_text(undef, $text);
+my $tree = Texinfo::Parser::parse_texi_piece(undef, $text);
my $reference_associations = {};
my $copy = Texinfo::Common::copy_tree($tree, undef);
diff --git a/tp/t/test_utils.pl b/tp/t/test_utils.pl
index e3cc93ecb6..204d3d5532 100644
--- a/tp/t/test_utils.pl
+++ b/tp/t/test_utils.pl
@@ -880,7 +880,7 @@ sub test($$)
my $result;
if (!$test_file) {
print STDERR " TEST $test_name\n" if ($self->{'DEBUG'});
- $result = $parser->parse_texi_text($test_text);
+ $result = $parser->parse_texi_piece($test_text);
if (defined($test_input_file_name)) {
$parser->{'info'}->{'input_file_name'} = $test_input_file_name;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- branch master updated: * tp/Texinfo/ParserNonXS.pm (_prepare_input_from_text) (parse_texi_piece, parse_texi_text), tp/Texinfo/XS/parsetexi/Parsetexi.pm (parse_texi_piece) (get_parser_info, parse_texi_text), tp/Texinfo/XS/parsetexi/Parsetexi.xs (parse_piece), tp/Texinfo/XS/parsetexi/api.c (parse_text, parse_piece): change meaning of parse_texi_text() to be parsing a text as a whole manual. Add parse_texi_piece() to do what parse_texi_text() formerly did.,
Patrice Dumas <=