[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[no subject]
From: |
Patrice Dumas |
Date: |
Sat, 1 Apr 2023 13:07:48 -0400 (EDT) |
branch: master
commit f0fc5114cd8f965f55adab74f29a871c86c793aa
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Tue Mar 28 16:35:52 2023 +0200
* tp/Texinfo/ParserNonXS.pm (_end_line),
tp/Texinfo/XS/parsetexi/end_line.c (end_line): if a linemacro
command call is nested on a line, return instead of closing
the precedeing commands as they may use the expansion result.
* tp/Texinfo/ParserNonXS.pm (_end_line): fix name of linemacro
call type.
* tp/Texinfo/ParserNonXS.pm (_handle_close_brace): avoid a potential
undefinition message.
* tp/t/65linemacro.t, tp/Makefile.tres: add
simple_nested_linemacro_calls and nested_linemacro_calls tests.
* tp/t/60macro.t: always call @phooindex in
macro_alias_definfoenclose_defindex and not phoo.
---
ChangeLog | 19 +
tp/Makefile.tres | 2 +
tp/Texinfo/ParserNonXS.pm | 45 +-
tp/Texinfo/XS/parsetexi/end_line.c | 15 +
tp/t/60macro.t | 4 +-
tp/t/65linemacro.t | 41 +-
tp/t/results/linemacro/nested_linemacro_calls.pl | 761 ++++++++++++++++++++
.../linemacro/simple_nested_linemacro_calls.pl | 793 +++++++++++++++++++++
.../macro/macro_alias_definfoenclose_defindex.pl | 8 +-
9 files changed, 1674 insertions(+), 14 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 0acfe10ee3..bb50a63c70 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,22 @@
+2023-03-28 Patrice Dumas <pertusus@free.fr>
+
+ * tp/Texinfo/ParserNonXS.pm (_end_line),
+ tp/Texinfo/XS/parsetexi/end_line.c (end_line): if a linemacro
+ command call is nested on a line, return instead of closing
+ the precedeing commands as they may use the expansion result.
+
+ * tp/Texinfo/ParserNonXS.pm (_end_line): fix name of linemacro
+ call type.
+
+ * tp/Texinfo/ParserNonXS.pm (_handle_close_brace): avoid a potential
+ undefinition message.
+
+ * tp/t/65linemacro.t, tp/Makefile.tres: add
+ simple_nested_linemacro_calls and nested_linemacro_calls tests.
+
+ * tp/t/60macro.t: always call @phooindex in
+ macro_alias_definfoenclose_defindex and not phoo.
+
2023-03-28 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.texi (Line Macros): Write node documenting @linemacro.
diff --git a/tp/Makefile.tres b/tp/Makefile.tres
index ad5bb39cf4..ca3ebfd69d 100644
--- a/tp/Makefile.tres
+++ b/tp/Makefile.tres
@@ -1210,9 +1210,11 @@ test_files_generated_list =
$(test_tap_files_generated_list) \
t/results/linemacro/empty_last_argument.pl \
t/results/linemacro/last_argument_with_braces.pl \
t/results/linemacro/missing_formal_arg.pl \
+ t/results/linemacro/nested_linemacro_calls.pl \
t/results/linemacro/newline_and_continuation_in_brace.pl \
t/results/linemacro/no_arguments.pl \
t/results/linemacro/protected_spaces_on_line.pl \
+ t/results/linemacro/simple_nested_linemacro_calls.pl \
t/results/linemacro/spaces_after_command_in_call.pl \
t/results/linemacro/spaces_in_args.pl \
t/results/linemacro/spaces_in_call.pl \
diff --git a/tp/Texinfo/ParserNonXS.pm b/tp/Texinfo/ParserNonXS.pm
index 8acc0d05d1..07a9e03fae 100644
--- a/tp/Texinfo/ParserNonXS.pm
+++ b/tp/Texinfo/ParserNonXS.pm
@@ -2072,9 +2072,14 @@ sub _close_current($$$;$$)
#$current = _end_line_misc_line($self, $current, $source_info);
# We ignore the current returned $current, to be sure that
# we close the command too.
+ # TODO if returned $current is used, tests fails, should
+ # investigate why, maybe because it is redundant
+ # with _close_container below?
_end_line_misc_line($self, $current, $source_info);
} elsif ($current->{'type'} eq 'block_line_arg') {
_end_line_starting_block($self, $current, $source_info);
+ } else {
+ print STDERR "No need of type closing function\n" if ($self->{'DEBUG'});
}
$current = _close_container($self, $current);
} else { # Should never go here.
@@ -3299,7 +3304,8 @@ sub _end_line_misc_line($$$)
# associated to CM_item_LINE
$data_cmdname = 'item_LINE' if ($command eq 'item');
- # FIXME add a condition to avoid linecommands?
+ # FIXME add a condition to avoid this check in linemacro defined
+ # commands calls?
if ($self->{'basic_inline_commands'}
and $self->{'basic_inline_commands'}->{$data_cmdname}) {
pop @{$self->{'nesting_context'}->{'basic_inline_stack_on_line'}};
@@ -3674,8 +3680,8 @@ sub _end_line_def_line($$$)
# $def_command = $current->{'parent'}->{'extra'}->{'name'};
}
- print STDERR "END DEF LINE $def_command; current: "
- .Texinfo::Common::debug_print_element($current)."\n"
+ print STDERR "END DEF LINE $top_context $def_command; current: "
+ .Texinfo::Common::debug_print_element($current, 1)."\n"
if ($self->{'DEBUG'});
my $arguments = _parse_def($self, $def_command, $current, $source_info);
@@ -3734,6 +3740,15 @@ sub _end_line_def_line($$$)
# remove linemacro call from the tree, it remains associated
# to the source mark
my $popped = _pop_element_from_contents($self, $current);
+ #if ($popped ne $macro_source_mark->{'element'}) {
+ # $self->_bug_message("popped $popped ne $macro_source_mark->{'element'}"
+ # ." in linemacro command call\n", $source_info, $current);
+ #}
+ #if (!$popped->{'type'} or $popped->{'type'} ne 'linemacro_call') {
+ # $self->_bug_message("unexpected linemacro popped in parse_def "
+ # .Texinfo::Common::debug_print_element($popped, 1),
+ # $source_info, $current);
+ #}
delete $popped->{'parent'};
_register_source_mark($self, $current, $macro_source_mark);
$self->{'input'}->[0]->{'input_source_mark'} = $macro_source_mark;
@@ -4273,6 +4288,8 @@ sub _end_line($$$)
my $current_old = $current;
+ my $in_macro_expansion;
+
# a line consisting only of spaces.
if ($current->{'contents'} and @{$current->{'contents'}}
and $current->{'contents'}->[-1]->{'type'}
@@ -4342,6 +4359,11 @@ sub _end_line($$$)
# misc command line arguments
# Never go here if lineraw/noarg/...
} elsif ($current->{'type'} and $current->{'type'} eq 'line_arg') {
+ if ($current->{'parent'}->{'type'}
+ and $current->{'parent'}->{'type'} eq 'linemacro_call') {
+ # we could have checked the context too
+ $in_macro_expansion = $current->{'parent'}->{'extra'}->{'name'};
+ }
$current = _end_line_misc_line($self, $current, $source_info);
}
@@ -4350,8 +4372,17 @@ sub _end_line($$$)
my $top_context = $self->_top_context();
if ($top_context eq 'ct_line' or $top_context eq 'ct_def'
or $top_context eq 'ct_linecommand') {
+ if (defined($in_macro_expansion)) {
+ # if in a linemacro command call nested on a line, we do not close
+ # the preceding commands yet, as they might use the expansion
+ print STDERR "Expanded \@$in_macro_expansion still line/block"
+ ." command $top_context:"
+ .Texinfo::Common::debug_print_element($current)."\n"
+ if ($self->{'DEBUG'});
+ return $current;
+ }
print STDERR "Still opened line/block command $top_context:"
- .Texinfo::Common::debug_print_element($current)
+ .Texinfo::Common::debug_print_element($current)."\n"
if ($self->{'DEBUG'});
if ($top_context eq 'ct_def') {
while ($current->{'parent'} and !($current->{'parent'}->{'type'}
@@ -4360,7 +4391,7 @@ sub _end_line($$$)
}
} elsif ($top_context eq 'ct_linecommand') {
while ($current->{'parent'} and !($current->{'parent'}->{'type'}
- and $current->{'parent'}->{'type'} eq 'linecommand_call')) {
+ and $current->{'parent'}->{'type'} eq 'linemacro_call')) {
$current = _close_current($self, $current, $source_info);
}
} else {
@@ -5378,6 +5409,8 @@ sub _handle_line_command($$$$$$)
# Do not make the @subentry element a child of the index
# command. This means that spaces are preserved properly
# when converting back to Texinfo.
+ # FIXME check that it is correct to end the line if in a
+ # linemacro command invokation
$current = _end_line($self, $current, $source_info);
} elsif ($sectioning_heading_commands{$data_cmdname}) {
if ($self->{'sections_level'}) {
@@ -5858,7 +5891,7 @@ sub _handle_close_brace($$$)
if ($current->{'type'} and $current->{'type'} eq 'balanced_braces') {
$current = _merge_text($self, $current, '}');
$current = $current->{'parent'};
- } elsif ($current->{'type'} eq 'bracketed_arg') {
+ } elsif ($current->{'type'} and $current->{'type'} eq 'bracketed_arg') {
_abort_empty_line($self, $current);
$current = $current->{'parent'};
} elsif ($current->{'parent'}
diff --git a/tp/Texinfo/XS/parsetexi/end_line.c
b/tp/Texinfo/XS/parsetexi/end_line.c
index d43ef7a6c5..735e45b5fd 100644
--- a/tp/Texinfo/XS/parsetexi/end_line.c
+++ b/tp/Texinfo/XS/parsetexi/end_line.c
@@ -1896,6 +1896,7 @@ ELEMENT *
end_line (ELEMENT *current)
{
ELEMENT *current_old = current; /* Used at very end of function */
+ char *in_macro_expansion = 0;
/* If empty line, start a new paragraph. */
if (last_contents_child (current)
@@ -1965,6 +1966,11 @@ end_line (ELEMENT *current)
else if (current->type == ET_line_arg)
{
+ if (current->parent->type == ET_linemacro_call)
+ {
+ KEY_PAIR *k = lookup_extra (current->parent, "name");
+ in_macro_expansion = (char *)k->value;
+ }
current = end_line_misc_line (current);
}
@@ -1973,6 +1979,15 @@ end_line (ELEMENT *current)
if (current_context () == ct_line || current_context () == ct_def
|| current_context () == ct_linecommand)
{
+ if (in_macro_expansion)
+ /* if in a linemacro command call nested on a line, we do not close
+ the preceding commands yet, as they might use the expansion */
+ {
+ debug ("Expanded @%s still line/block %d:", in_macro_expansion,
+ current_context ());
+ debug_print_element (current, 1); debug("");
+ return current;
+ }
debug_nonl ("Still opened line command %d:", current_context ());
debug_print_element (current, 1); debug("");
if (current_context () == ct_def)
diff --git a/tp/t/60macro.t b/tp/t/60macro.t
index 7419f06976..a119a3c664 100644
--- a/tp/t/60macro.t
+++ b/tp/t/60macro.t
@@ -1469,10 +1469,10 @@ X\arg\X
@alias phooindex = strong
@phooindex{all}
-@macro phoo {arg}
+@macro phooindex {arg}
%%\arg\%%
@end macro
-@phoo{mmm}
+@phooindex{mmm}
@printindex phoo
', {'test_formats' => ['plaintext'],}],
diff --git a/tp/t/65linemacro.t b/tp/t/65linemacro.t
index a9655e4665..9566927cd2 100644
--- a/tp/t/65linemacro.t
+++ b/tp/t/65linemacro.t
@@ -170,10 +170,47 @@ If @var{axis} is not a valid axis of @var{a}.
@end defblock
@end defblock
-']
-# TODO add linemacro call in linemacro
+'],
+['simple_nested_linemacro_calls',
+'@node Top
+
+@linemacro inside {a, b, rest}
+inside {\a\ operator \b\} \rest\
+@end linemacro
+
+@linemacro outside {one, two, three}
+@defline \one\ {\two\} \three\
+@cindex \two\
+@end linemacro
+
+@defblock
+@outside {type} {a function} @inside {X} {Y} ( remaining, type typed )
+@end defblock
+'],
+# following example has incorrect braces in many places and
+# in particular the bracketed opened with @inside in it is
+# not closed, this makes it an interesting case.
+['nested_linemacro_calls',
+'@linemacro inside {a, b}
+inside {\a\ operator \b\}
+@end linemacro
+
+@linemacro outside {one, two, three}
+@defline \one\ {\two\} \three\
+@cindex \two\
+@end linemacro
+
+@defblock
+@outside {type} {@inside {X} {Y}} ( remaining, type typed )
+@end defblock
+'],
+# TODO
# add recursive linemacro call
# add macro call in linemacro
+# test cases of line commands, including linemacros on the same
+# line to check commands closing in that context.
+# test @c in line macro command invokation, including in
+# braces
);
diff --git a/tp/t/results/linemacro/nested_linemacro_calls.pl
b/tp/t/results/linemacro/nested_linemacro_calls.pl
new file mode 100644
index 0000000000..1ccd88ab8e
--- /dev/null
+++ b/tp/t/results/linemacro/nested_linemacro_calls.pl
@@ -0,0 +1,761 @@
+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_elements %result_directions_text %result_indices_sort_strings);
+
+use utf8;
+
+$result_trees{'nested_linemacro_calls'} = {
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'args' => [
+ {
+ 'text' => 'inside',
+ 'type' => 'macro_name'
+ },
+ {
+ 'text' => 'a',
+ 'type' => 'macro_arg'
+ },
+ {
+ 'text' => 'b',
+ 'type' => 'macro_arg'
+ }
+ ],
+ 'cmdname' => 'linemacro',
+ 'contents' => [
+ {
+ 'text' => 'inside {\\a\\ operator \\b\\}
+',
+ 'type' => 'raw'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'linemacro'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'end',
+ 'extra' => {
+ 'text_arg' => 'linemacro'
+ },
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 3,
+ 'macro' => ''
+ }
+ }
+ ],
+ 'info' => {
+ 'arg_line' => ' inside {a, b}
+'
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => ''
+ }
+ },
+ {
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'args' => [
+ {
+ 'text' => 'outside',
+ 'type' => 'macro_name'
+ },
+ {
+ 'text' => 'one',
+ 'type' => 'macro_arg'
+ },
+ {
+ 'text' => 'two',
+ 'type' => 'macro_arg'
+ },
+ {
+ 'text' => 'three',
+ 'type' => 'macro_arg'
+ }
+ ],
+ 'cmdname' => 'linemacro',
+ 'contents' => [
+ {
+ 'text' => '@defline \\one\\ {\\two\\} \\three\\
+',
+ 'type' => 'raw'
+ },
+ {
+ 'text' => '@cindex \\two\\
+',
+ 'type' => 'raw'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'linemacro'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'end',
+ 'extra' => {
+ 'text_arg' => 'linemacro'
+ },
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 8,
+ 'macro' => ''
+ }
+ }
+ ],
+ 'info' => {
+ 'arg_line' => ' outside {one, two, three}
+'
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 5,
+ 'macro' => ''
+ }
+ },
+ {
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'args' => [
+ {
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'block_line_arg'
+ }
+ ],
+ 'cmdname' => 'defblock',
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'source_marks' => [
+ {
+ 'counter' => 2,
+ 'element' => {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'type'
+ }
+ ],
+ 'type' => 'bracketed_arg'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'contents' => [
+ {
+ 'source_marks' => [
+ {
+ 'counter' => 1,
+ 'element' => {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'X'
+ }
+ ],
+ 'type' => 'bracketed_arg'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'Y'
+ }
+ ],
+ 'type' => 'bracketed_arg'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'text' => '('
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'text' => 'remaining,'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'text' => 'type'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'text' => 'typed'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'text' => ')'
+ }
+ ],
+ 'type' => 'def_aggregate'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'extra' => {
+ 'name' => 'inside'
+ },
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'type' => 'linemacro_call'
+ },
+ 'sourcemark_type' =>
'linemacro_expansion',
+ 'status' => 'start'
+ }
+ ],
+ 'text' => ''
+ },
+ {
+ 'text' => 'inside '
+ },
+ {
+ 'contents' => [
+ {
+ 'text' => '{X operator '
+ },
+ {
+ 'contents' => [
+ {
+ 'text' => '{Y}'
+ }
+ ],
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 11,
+ 'macro' => 'inside'
+ },
+ 'type' => 'balanced_braces'
+ },
+ {
+ 'text' => ' ( remaining, type typed )}'
+ }
+ ],
+ 'source_info' => {},
+ 'type' => 'balanced_braces'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'bracketed_arg'
+ }
+ ],
+ 'type' => 'line_arg'
+ }
+ ],
+ 'extra' => {
+ 'name' => 'outside'
+ },
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'type' => 'linemacro_call'
+ },
+ 'sourcemark_type' => 'linemacro_expansion',
+ 'status' => 'start'
+ }
+ ],
+ 'text' => '',
+ 'type' => 'empty_line'
+ }
+ ],
+ 'type' => 'def_item'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'extra' => {
+ 'def_role' => 'category'
+ },
+ 'text' => 'type'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'contents' => [
+ {
+ 'text' => 'inside X operator Y'
+ }
+ ],
+ 'extra' => {
+ 'def_role' => 'name'
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 11,
+ 'macro' => 'outside'
+ },
+ 'type' => 'bracketed_arg'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'delimiter'
+ },
+ 'text' => '(',
+ 'type' => 'delimiter'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'arg'
+ },
+ 'text' => 'remaining'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'delimiter'
+ },
+ 'text' => ',',
+ 'type' => 'delimiter'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'arg'
+ },
+ 'text' => 'type'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'arg'
+ },
+ 'text' => 'typed'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'delimiter'
+ },
+ 'text' => ')',
+ 'type' => 'delimiter'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'defline',
+ 'extra' => {
+ 'def_command' => 'defline',
+ 'def_index_element' => {},
+ 'original_def_cmdname' => 'defline'
+ },
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 11,
+ 'macro' => 'outside'
+ },
+ 'type' => 'def_line'
+ },
+ {
+ 'contents' => [
+ {
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'inside X operator Y ( remaining, type
typed )'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'cindex',
+ 'extra' => {
+ 'index_entry' => [
+ 'cp',
+ 1
+ ]
+ },
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 11,
+ 'macro' => 'outside'
+ },
+ 'type' => 'index_entry_command'
+ },
+ {
+ 'source_marks' => [
+ {
+ 'counter' => 2,
+ 'position' => 1,
+ 'sourcemark_type' => 'linemacro_expansion',
+ 'status' => 'end'
+ },
+ {
+ 'counter' => 1,
+ 'position' => 1,
+ 'sourcemark_type' => 'linemacro_expansion',
+ 'status' => 'end'
+ }
+ ],
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ }
+ ],
+ 'type' => 'def_item'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'defblock'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'end',
+ 'extra' => {
+ 'text_arg' => 'defblock'
+ },
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 12,
+ 'macro' => ''
+ }
+ }
+ ],
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 10,
+ 'macro' => ''
+ }
+ }
+ ],
+ 'type' => 'before_node_section'
+ }
+ ],
+ 'type' => 'document_root'
+};
+$result_trees{'nested_linemacro_calls'}{'contents'}[0]{'contents'}[4]{'contents'}[0]{'contents'}[0]{'source_marks'}[0]{'element'}{'args'}[0]{'contents'}[2]{'contents'}[2]{'source_info'}
=
$result_trees{'nested_linemacro_calls'}{'contents'}[0]{'contents'}[4]{'contents'}[0]{'contents'}[0]{'source_marks'}[0]{'element'}{'args'}[0]{'contents'}[2]{'contents'}[2]{'contents'}[1]{'source_info'};
+$result_trees{'nested_linemacro_calls'}{'contents'}[0]{'contents'}[4]{'contents'}[1]{'extra'}{'def_index_element'}
=
$result_trees{'nested_linemacro_calls'}{'contents'}[0]{'contents'}[4]{'contents'}[1]{'args'}[0]{'contents'}[2];
+
+$result_texis{'nested_linemacro_calls'} = '@linemacro inside {a, b}
+inside {\\a\\ operator \\b\\}
+@end linemacro
+
+@linemacro outside {one, two, three}
+@defline \\one\\ {\\two\\} \\three\\
+@cindex \\two\\
+@end linemacro
+
+@defblock
+@defline type {inside X operator Y} ( remaining, type typed )
+
+@cindex inside X operator Y ( remaining, type typed )
+
+@end defblock
+';
+
+
+$result_texts{'nested_linemacro_calls'} = '
+
+type: inside X operator Y ( remaining, type typed )
+
+
+';
+
+$result_errors{'nested_linemacro_calls'} = [
+ {
+ 'error_line' => 'misplaced }
+',
+ 'file_name' => '',
+ 'line_nr' => 11,
+ 'macro' => '',
+ 'text' => 'misplaced }',
+ 'type' => 'error'
+ },
+ {
+ 'error_line' => 'misplaced { (possibly involving @inside)
+',
+ 'file_name' => '',
+ 'line_nr' => 11,
+ 'macro' => 'inside',
+ 'text' => 'misplaced {',
+ 'type' => 'error'
+ },
+ {
+ 'error_line' => 'misplaced { (possibly involving @outside)
+',
+ 'file_name' => '',
+ 'line_nr' => 11,
+ 'macro' => 'outside',
+ 'text' => 'misplaced {',
+ 'type' => 'error'
+ },
+ {
+ 'error_line' => 'misplaced { (possibly involving @outside)
+',
+ 'file_name' => '',
+ 'line_nr' => 11,
+ 'macro' => 'outside',
+ 'text' => 'misplaced {',
+ 'type' => 'error'
+ },
+ {
+ 'error_line' => 'misplaced } (possibly involving @outside)
+',
+ 'file_name' => '',
+ 'line_nr' => 11,
+ 'macro' => 'outside',
+ 'text' => 'misplaced }',
+ 'type' => 'error'
+ },
+ {
+ 'error_line' => 'misplaced } (possibly involving @outside)
+',
+ 'file_name' => '',
+ 'line_nr' => 11,
+ 'macro' => 'outside',
+ 'text' => 'misplaced }',
+ 'type' => 'error'
+ },
+ {
+ 'error_line' => 'misplaced { (possibly involving @outside)
+',
+ 'file_name' => '',
+ 'line_nr' => 11,
+ 'macro' => 'outside',
+ 'text' => 'misplaced {',
+ 'type' => 'error'
+ },
+ {
+ 'error_line' => 'misplaced { (possibly involving @outside)
+',
+ 'file_name' => '',
+ 'line_nr' => 11,
+ 'macro' => 'outside',
+ 'text' => 'misplaced {',
+ 'type' => 'error'
+ },
+ {
+ 'error_line' => 'misplaced } (possibly involving @outside)
+',
+ 'file_name' => '',
+ 'line_nr' => 11,
+ 'macro' => 'outside',
+ 'text' => 'misplaced }',
+ 'type' => 'error'
+ },
+ {
+ 'error_line' => 'misplaced } (possibly involving @outside)
+',
+ 'file_name' => '',
+ 'line_nr' => 11,
+ 'macro' => 'outside',
+ 'text' => 'misplaced }',
+ 'type' => 'error'
+ },
+ {
+ 'error_line' => 'warning: entry for index `cp\' outside of any node
(possibly involving @outside)
+',
+ 'file_name' => '',
+ 'line_nr' => 11,
+ 'macro' => 'outside',
+ 'text' => 'entry for index `cp\' outside of any node',
+ 'type' => 'warning'
+ }
+];
+
+
+$result_floats{'nested_linemacro_calls'} = {};
+
+
+$result_indices_sort_strings{'nested_linemacro_calls'} = {
+ 'cp' => [
+ 'inside X operator Y ( remaining, type typed )'
+ ]
+};
+
+
+1;
diff --git a/tp/t/results/linemacro/simple_nested_linemacro_calls.pl
b/tp/t/results/linemacro/simple_nested_linemacro_calls.pl
new file mode 100644
index 0000000000..a3179043a2
--- /dev/null
+++ b/tp/t/results/linemacro/simple_nested_linemacro_calls.pl
@@ -0,0 +1,793 @@
+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_elements %result_directions_text %result_indices_sort_strings);
+
+use utf8;
+
+$result_trees{'simple_nested_linemacro_calls'} = {
+ 'contents' => [
+ {
+ 'type' => 'before_node_section'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'Top'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'node',
+ 'contents' => [
+ {
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'args' => [
+ {
+ 'text' => 'inside',
+ 'type' => 'macro_name'
+ },
+ {
+ 'text' => 'a',
+ 'type' => 'macro_arg'
+ },
+ {
+ 'text' => 'b',
+ 'type' => 'macro_arg'
+ },
+ {
+ 'text' => 'rest',
+ 'type' => 'macro_arg'
+ }
+ ],
+ 'cmdname' => 'linemacro',
+ 'contents' => [
+ {
+ 'text' => 'inside {\\a\\ operator \\b\\} \\rest\\
+',
+ 'type' => 'raw'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'linemacro'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'end',
+ 'extra' => {
+ 'text_arg' => 'linemacro'
+ },
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 5,
+ 'macro' => ''
+ }
+ }
+ ],
+ 'info' => {
+ 'arg_line' => ' inside {a, b, rest}
+'
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 3,
+ 'macro' => ''
+ }
+ },
+ {
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'args' => [
+ {
+ 'text' => 'outside',
+ 'type' => 'macro_name'
+ },
+ {
+ 'text' => 'one',
+ 'type' => 'macro_arg'
+ },
+ {
+ 'text' => 'two',
+ 'type' => 'macro_arg'
+ },
+ {
+ 'text' => 'three',
+ 'type' => 'macro_arg'
+ }
+ ],
+ 'cmdname' => 'linemacro',
+ 'contents' => [
+ {
+ 'text' => '@defline \\one\\ {\\two\\} \\three\\
+',
+ 'type' => 'raw'
+ },
+ {
+ 'text' => '@cindex \\two\\
+',
+ 'type' => 'raw'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'linemacro'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'end',
+ 'extra' => {
+ 'text_arg' => 'linemacro'
+ },
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 10,
+ 'macro' => ''
+ }
+ }
+ ],
+ 'info' => {
+ 'arg_line' => ' outside {one, two, three}
+'
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 7,
+ 'macro' => ''
+ }
+ },
+ {
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'args' => [
+ {
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'block_line_arg'
+ }
+ ],
+ 'cmdname' => 'defblock',
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'source_marks' => [
+ {
+ 'counter' => 2,
+ 'element' => {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'type'
+ }
+ ],
+ 'type' => 'bracketed_arg'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'contents' => [
+ {
+ 'text' => 'a function'
+ }
+ ],
+ 'type' => 'bracketed_arg'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'source_marks' => [
+ {
+ 'counter' => 1,
+ 'element' => {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'X'
+ }
+ ],
+ 'type' => 'bracketed_arg'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'contents' => [
+ {
+ 'text' => 'Y'
+ }
+ ],
+ 'type' => 'bracketed_arg'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'contents' => [
+ {
+ 'text' => '('
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'text' => 'remaining,'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'text' => 'type'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'text' => 'typed'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'text' => ')'
+ }
+ ],
+ 'type' => 'def_aggregate'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'extra' => {
+ 'name' => 'inside'
+ },
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'type' => 'linemacro_call'
+ },
+ 'position' => 1,
+ 'sourcemark_type' => 'linemacro_expansion',
+ 'status' => 'start'
+ }
+ ],
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'contents' => [
+ {
+ 'text' => 'inside'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'contents' => [
+ {
+ 'text' => 'X operator Y'
+ }
+ ],
+ 'type' => 'bracketed_arg'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'text' => '('
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'text' => 'remaining,'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'text' => 'type'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'text' => 'typed'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'text' => ')'
+ }
+ ],
+ 'type' => 'def_aggregate'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'extra' => {
+ 'name' => 'outside'
+ },
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'type' => 'linemacro_call'
+ },
+ 'sourcemark_type' => 'linemacro_expansion',
+ 'status' => 'start'
+ }
+ ],
+ 'text' => '',
+ 'type' => 'empty_line'
+ }
+ ],
+ 'type' => 'def_item'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'extra' => {
+ 'def_role' => 'category'
+ },
+ 'text' => 'type'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'contents' => [
+ {
+ 'text' => 'a function'
+ }
+ ],
+ 'extra' => {
+ 'def_role' => 'name'
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 13,
+ 'macro' => 'outside'
+ },
+ 'type' => 'bracketed_arg'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'arg'
+ },
+ 'text' => 'inside'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'contents' => [
+ {
+ 'text' => 'X operator Y'
+ }
+ ],
+ 'extra' => {
+ 'def_role' => 'arg'
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 13,
+ 'macro' => 'outside'
+ },
+ 'type' => 'bracketed_arg'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'delimiter'
+ },
+ 'text' => '(',
+ 'type' => 'delimiter'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'arg'
+ },
+ 'text' => 'remaining'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'delimiter'
+ },
+ 'text' => ',',
+ 'type' => 'delimiter'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'arg'
+ },
+ 'text' => 'type'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'arg'
+ },
+ 'text' => 'typed'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'delimiter'
+ },
+ 'text' => ')',
+ 'type' => 'delimiter'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'defline',
+ 'extra' => {
+ 'def_command' => 'defline',
+ 'def_index_element' => {},
+ 'original_def_cmdname' => 'defline'
+ },
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 13,
+ 'macro' => 'outside'
+ },
+ 'type' => 'def_line'
+ },
+ {
+ 'contents' => [
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'a function'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'cindex',
+ 'extra' => {
+ 'element_node' => {},
+ 'index_entry' => [
+ 'cp',
+ 1
+ ]
+ },
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 13,
+ 'macro' => 'outside'
+ },
+ 'source_marks' => [
+ {
+ 'counter' => 2,
+ 'sourcemark_type' => 'linemacro_expansion',
+ 'status' => 'end'
+ },
+ {
+ 'counter' => 1,
+ 'sourcemark_type' => 'linemacro_expansion',
+ 'status' => 'end'
+ }
+ ],
+ 'type' => 'index_entry_command'
+ }
+ ],
+ 'type' => 'def_item'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'defblock'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => {
+ 'text' => '
+'
+ }
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'end',
+ 'extra' => {
+ 'text_arg' => 'defblock'
+ },
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 14,
+ 'macro' => ''
+ }
+ }
+ ],
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 12,
+ 'macro' => ''
+ }
+ }
+ ],
+ 'extra' => {
+ 'normalized' => 'Top'
+ },
+ 'info' => {
+ 'spaces_before_argument' => {
+ 'text' => ' '
+ }
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => ''
+ }
+ }
+ ],
+ 'type' => 'document_root'
+};
+$result_trees{'simple_nested_linemacro_calls'}{'contents'}[1]{'contents'}[5]{'contents'}[1]{'extra'}{'def_index_element'}
=
$result_trees{'simple_nested_linemacro_calls'}{'contents'}[1]{'contents'}[5]{'contents'}[1]{'args'}[0]{'contents'}[2];
+$result_trees{'simple_nested_linemacro_calls'}{'contents'}[1]{'contents'}[5]{'contents'}[2]{'contents'}[0]{'extra'}{'element_node'}
= $result_trees{'simple_nested_linemacro_calls'}{'contents'}[1];
+
+$result_texis{'simple_nested_linemacro_calls'} = '@node Top
+
+@linemacro inside {a, b, rest}
+inside {\\a\\ operator \\b\\} \\rest\\
+@end linemacro
+
+@linemacro outside {one, two, three}
+@defline \\one\\ {\\two\\} \\three\\
+@cindex \\two\\
+@end linemacro
+
+@defblock
+@defline type {a function} inside {X operator Y} ( remaining, type typed )
+@cindex a function
+@end defblock
+';
+
+
+$result_texts{'simple_nested_linemacro_calls'} = '
+
+
+type: a function inside X operator Y ( remaining, type typed )
+';
+
+$result_nodes{'simple_nested_linemacro_calls'} = {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'Top'
+ }
+};
+
+$result_menus{'simple_nested_linemacro_calls'} = {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'Top'
+ }
+};
+
+$result_errors{'simple_nested_linemacro_calls'} = [];
+
+
+$result_floats{'simple_nested_linemacro_calls'} = {};
+
+
+$result_indices_sort_strings{'simple_nested_linemacro_calls'} = {
+ 'cp' => [
+ 'a function'
+ ]
+};
+
+
+1;
diff --git a/tp/t/results/macro/macro_alias_definfoenclose_defindex.pl
b/tp/t/results/macro/macro_alias_definfoenclose_defindex.pl
index 7aeb8648a4..5caf3ad99e 100644
--- a/tp/t/results/macro/macro_alias_definfoenclose_defindex.pl
+++ b/tp/t/results/macro/macro_alias_definfoenclose_defindex.pl
@@ -1124,7 +1124,7 @@ $result_trees{'macro_alias_definfoenclose_defindex'} = {
{
'args' => [
{
- 'text' => 'phoo',
+ 'text' => 'phooindex',
'type' => 'macro_name'
},
{
@@ -1173,7 +1173,7 @@ $result_trees{'macro_alias_definfoenclose_defindex'} = {
}
],
'info' => {
- 'arg_line' => ' phoo {arg}
+ 'arg_line' => ' phooindex {arg}
'
},
'source_info' => {
@@ -1196,7 +1196,7 @@ $result_trees{'macro_alias_definfoenclose_defindex'} = {
}
],
'extra' => {
- 'name' => 'phoo'
+ 'name' => 'phooindex'
},
'type' => 'macro_call'
},
@@ -1329,7 +1329,7 @@ $result_texis{'macro_alias_definfoenclose_defindex'} =
'@node Top
@alias phooindex = strong
@strong{all}
-@macro phoo {arg}
+@macro phooindex {arg}
%%\\arg\\%%
@end macro
%%mmm%%