[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
texinfo/tp Texinfo/Parser.pm t/02coverage.t t/r...
From: |
Patrice Dumas |
Subject: |
texinfo/tp Texinfo/Parser.pm t/02coverage.t t/r... |
Date: |
Sat, 25 Sep 2010 21:12:13 +0000 |
CVSROOT: /sources/texinfo
Module name: texinfo
Changes by: Patrice Dumas <pertusus> 10/09/25 21:12:13
Modified files:
tp/Texinfo : Parser.pm
tp/t : 02coverage.t
Added files:
tp/t/results/coverage: multitable.pl
Log message:
Use and rearrange multitable bracketed row specification.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/Texinfo/Parser.pm?cvsroot=texinfo&r1=1.17&r2=1.18
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/02coverage.t?cvsroot=texinfo&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/coverage/multitable.pl?cvsroot=texinfo&rev=1.1
Patches:
Index: Texinfo/Parser.pm
===================================================================
RCS file: /sources/texinfo/texinfo/tp/Texinfo/Parser.pm,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -b -r1.17 -r1.18
--- Texinfo/Parser.pm 25 Sep 2010 19:34:21 -0000 1.17
+++ Texinfo/Parser.pm 25 Sep 2010 21:12:13 -0000 1.18
@@ -1056,10 +1056,10 @@
push @{$row->{'contents'}}, { 'cmdname' => $command,
'parent' => $row };
$current = $row->{'contents'}->[-1];
- print STDERR "TAB\n";
+ print STDERR "TAB\n" if ($self->{'debug'});
}
} else {
- print STDERR "ROW\n";
+ print STDERR "ROW\n" if ($self->{'debug'});
my $row = { 'type' => 'row', 'contents' => [],
'special' => { 'cell_number' => 1 },
'parent' => $parent };
@@ -1230,14 +1230,14 @@
return undef if _line_error ($self,
$self->__("Unexpected \@"), $line_nr);
} elsif ($separator eq '{') {
- if ($current->{'cmdname'}
- and ($block_commands{$current->{'cmdname'}} eq 'multitable'
- or $block_commands{$current->{'cmdname'}} eq 'def')) {
- push @{$current->{'args'}},
+ if ($current->{'parent'} and $current->{'parent'}->{'cmdname'}
+ and ($block_commands{$current->{'parent'}->{'cmdname'}} eq
'multitable'
+ or $block_commands{$current->{'parent'}->{'cmdname'}} eq
'def')) {
+ push @{$current->{'contents'}},
{ 'type' => 'bracketed', 'contents' => [],
'parent' => $current };
- $current = $current->{'args'}->[-1];
-
+ $current = $current->{'contents'}->[-1];
+ print STDERR "BRACKETED\n" if ($self->{'debug'});
} else {
return undef
if _line_error ($self, sprintf($self->__("Misplaced %c"),
@@ -1367,6 +1367,48 @@
{ 'type' => 'fraction', 'text' => $fraction,
'parent' => $current };
}
+ } elsif ($current->{'parent'} and $current->{'parent'}->{'cmdname'}
+ and $current->{'parent'}->{'cmdname'} eq 'multitable') {
+ my $line_arg = $current;
+ my @rows;
+ my @other_contents;
+ # rearrange the row specifications as args, which mostly
+ # implies splitting non-bracketed text and reparenting.
+ foreach my $content (@{$current->{'contents'}}) {
+ if ($content->{'type'} and $content->{'type'} eq 'bracketed') {
+ $content->{'parent'} = $current->{'parent'};
+ push @rows, $content;
+ } elsif ($content->{'text'}) {
+ if ($content->{'text'} =~ /\S/) {
+ foreach my $raw_spec(split /\s+/, $content->{'text'}) {
+ push @rows, { 'text' => $raw_spec,
+ 'parent' => $current->{'parent'},
+ 'type' => 'row_specification' };
+ }
+ }
+ } else {
+ if (!$content->{'cmdname'}) {
+ _line_warn ($self, sprintf($self->
+ __("Unexpected argument on address@hidden line: %s"),
+ $current->{'cmdname'},
+ tree_to_texi( { $content->{'contents'} })), $line_nr);
+ push @other_contents, $content;
+ } elsif ($content->{'cmdname'} eq 'c'
+ and $content->{'cmdname'} eq 'comment') {
+ push @other_contents, $content;
+ } else {
+ push @rows, $content;
+ }
+ $content->{'parent'} = $current->{'parent'};
+ }
+ }
+
+ $current = $current->{'parent'};
+ $current->{'special'}->{'max_columns'} = scalar(@rows);
+ $current->{'args'} = address@hidden;
+ $current->{'contents'} = address@hidden;
+ # this is in order to have $current->{'parent'} being the
multitable
+ $current = $line_arg;
}
$current = $current->{'parent'};
if ($current->{'cmdname'}
@@ -1377,6 +1419,7 @@
}
} elsif ($current->{'type'}
and $current->{'type'} eq 'misc_line_arg') {
+ # first parent is the @command, second is the parent
$current = $current->{'parent'}->{'parent'};
}
last;
@@ -1404,6 +1447,7 @@
#print STDERR "cmd: $root->{'cmdname'}\n";
$result .= _expand_cmd_args_to_texi($root);
}
+ $result .= '{' if ($root->{'type'} and $root->{'type'} eq 'bracketed');
#print STDERR "$root->{'contents'} @{$root->{'contents'}}\n" if
(defined($root->{'contents'}));
if (defined($root->{'contents'})) {
die "bad contents type(" . ref($root->{'contents'})
@@ -1412,6 +1456,7 @@
$result .= tree_to_texi($child);
}
}
+ $result .= '}' if ($root->{'type'} and $root->{'type'} eq 'bracketed');
if ($root->{'cmdname'} and (defined($block_commands{$root->{'cmdname'}})))
{
$result .= '@end '.$root->{'cmdname'} ."\n"; # ."\n"?
}
@@ -1430,8 +1475,8 @@
or $block_commands{$cmd->{'cmdname'}} eq 'multitable')) {
foreach my $arg (@{$cmd->{'args'}}) {
my $arg_expanded = tree_to_texi ($arg);
- $arg_expanded = '{'.$arg_expanded.'}'
- if ($arg->{'type'} and $arg->{'type'} eq 'bracketed');
+# $arg_expanded = '{'.$arg_expanded.'}'
+# if ($arg->{'type'} and $arg->{'type'} eq 'bracketed');
$result .= ' '.$arg_expanded;
}
} elsif ($block_commands{$cmd->{'cmdname'}}
Index: t/02coverage.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/02coverage.t,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- t/02coverage.t 25 Sep 2010 19:34:21 -0000 1.8
+++ t/02coverage.t 25 Sep 2010 21:12:13 -0000 1.9
@@ -58,8 +58,6 @@
@end vtable
'],
-);
-my @todo = (
['multitable','
@multitable @columnfractions 6 7
@headitem mu--ltitable headitem @tab another tab
@@ -74,6 +72,8 @@
@item truc @tab bidule
@end multitable
'],
+);
+my @todo = (
['preformatted','
@example
e--xample some
Index: t/results/coverage/multitable.pl
===================================================================
RCS file: t/results/coverage/multitable.pl
diff -N t/results/coverage/multitable.pl
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ t/results/coverage/multitable.pl 25 Sep 2010 21:12:13 -0000 1.1
@@ -0,0 +1,378 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'multitable'} = {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'normal_line'
+ },
+ {
+ 'args' => [
+ {
+ 'args' => [
+ {
+ 'parent' => {},
+ 'text' => '6',
+ 'type' => 'fraction'
+ },
+ {
+ 'parent' => {},
+ 'text' => '7',
+ 'type' => 'fraction'
+ }
+ ],
+ 'cmdname' => 'columnfractions',
+ 'parent' => {}
+ }
+ ],
+ 'cmdname' => 'multitable',
+ 'contents' => [
+ {
+ 'contents' => [],
+ 'parent' => {},
+ 'type' => 'before_item'
+ },
+ {
+ 'contents' => [
+ {
+ 'cmdname' => 'headitem',
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'mu--ltitable headitem '
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'paragraph'
+ }
+ ],
+ 'parent' => {}
+ },
+ {
+ 'cmdname' => 'tab',
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'another tab
+'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'paragraph'
+ }
+ ],
+ 'parent' => {}
+ }
+ ],
+ 'parent' => {},
+ 'special' => {
+ 'cell_number' => 2
+ },
+ 'type' => 'row'
+ },
+ {
+ 'contents' => [
+ {
+ 'cmdname' => 'item',
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'mu--ltitable item '
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'paragraph'
+ }
+ ],
+ 'parent' => {}
+ },
+ {
+ 'cmdname' => 'tab',
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'multitable tab
+'
+ },
+ {
+ 'args' => [
+ {
+ 'parent' => {},
+ 'text' => ' comment in multitable
+',
+ 'type' => 'misc_arg'
+ }
+ ],
+ 'cmdname' => 'c',
+ 'parent' => {}
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'paragraph'
+ }
+ ],
+ 'parent' => {}
+ }
+ ],
+ 'parent' => {},
+ 'special' => {
+ 'cell_number' => 2
+ },
+ 'type' => 'row'
+ },
+ {
+ 'contents' => [
+ {
+ 'cmdname' => 'item',
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'mu--ltitable item 2 '
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'paragraph'
+ }
+ ],
+ 'parent' => {}
+ },
+ {
+ 'cmdname' => 'tab',
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'multitable tab 2
+'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'index entry within multitable
+'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'misc_line_arg'
+ }
+ ],
+ 'cmdname' => 'cindex',
+ 'parent' => {}
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'paragraph'
+ }
+ ],
+ 'parent' => {}
+ }
+ ],
+ 'parent' => {},
+ 'special' => {
+ 'cell_number' => 2
+ },
+ 'type' => 'row'
+ },
+ {
+ 'contents' => [
+ {
+ 'cmdname' => 'item',
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'lone mu--ltitable item
+'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'paragraph'
+ }
+ ],
+ 'parent' => {}
+ }
+ ],
+ 'parent' => {},
+ 'special' => {
+ 'cell_number' => 1
+ },
+ 'type' => 'row'
+ }
+ ],
+ 'parent' => {},
+ 'special' => {
+ 'max_columns' => 2
+ }
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'normal_line'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'truc'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'bracketed'
+ },
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'bidule'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'bracketed'
+ }
+ ],
+ 'cmdname' => 'multitable',
+ 'contents' => [
+ {
+ 'contents' => [],
+ 'parent' => {},
+ 'type' => 'before_item'
+ },
+ {
+ 'contents' => [
+ {
+ 'cmdname' => 'item',
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'truc '
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'paragraph'
+ }
+ ],
+ 'parent' => {}
+ },
+ {
+ 'cmdname' => 'tab',
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'bidule
+'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'paragraph'
+ }
+ ],
+ 'parent' => {}
+ }
+ ],
+ 'parent' => {},
+ 'special' => {
+ 'cell_number' => 2
+ },
+ 'type' => 'row'
+ }
+ ],
+ 'parent' => {},
+ 'special' => {
+ 'max_columns' => 2
+ }
+ }
+ ]
+};
+$result_trees{'multitable'}{'contents'}[0]{'parent'} =
$result_trees{'multitable'};
+$result_trees{'multitable'}{'contents'}[1]{'args'}[0]{'args'}[0]{'parent'} =
$result_trees{'multitable'}{'contents'}[1]{'args'}[0];
+$result_trees{'multitable'}{'contents'}[1]{'args'}[0]{'args'}[1]{'parent'} =
$result_trees{'multitable'}{'contents'}[1]{'args'}[0];
+$result_trees{'multitable'}{'contents'}[1]{'args'}[0]{'parent'} =
$result_trees{'multitable'}{'contents'}[1];
+$result_trees{'multitable'}{'contents'}[1]{'contents'}[0]{'parent'} =
$result_trees{'multitable'}{'contents'}[1];
+$result_trees{'multitable'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
=
$result_trees{'multitable'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'contents'}[0];
+$result_trees{'multitable'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'parent'}
= $result_trees{'multitable'}{'contents'}[1]{'contents'}[1]{'contents'}[0];
+$result_trees{'multitable'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'parent'}
= $result_trees{'multitable'}{'contents'}[1]{'contents'}[1];
+$result_trees{'multitable'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'parent'}
=
$result_trees{'multitable'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'contents'}[0];
+$result_trees{'multitable'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'contents'}[0]{'parent'}
= $result_trees{'multitable'}{'contents'}[1]{'contents'}[1]{'contents'}[1];
+$result_trees{'multitable'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'parent'}
= $result_trees{'multitable'}{'contents'}[1]{'contents'}[1];
+$result_trees{'multitable'}{'contents'}[1]{'contents'}[1]{'parent'} =
$result_trees{'multitable'}{'contents'}[1];
+$result_trees{'multitable'}{'contents'}[1]{'contents'}[2]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
=
$result_trees{'multitable'}{'contents'}[1]{'contents'}[2]{'contents'}[0]{'contents'}[0];
+$result_trees{'multitable'}{'contents'}[1]{'contents'}[2]{'contents'}[0]{'contents'}[0]{'parent'}
= $result_trees{'multitable'}{'contents'}[1]{'contents'}[2]{'contents'}[0];
+$result_trees{'multitable'}{'contents'}[1]{'contents'}[2]{'contents'}[0]{'parent'}
= $result_trees{'multitable'}{'contents'}[1]{'contents'}[2];
+$result_trees{'multitable'}{'contents'}[1]{'contents'}[2]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'parent'}
=
$result_trees{'multitable'}{'contents'}[1]{'contents'}[2]{'contents'}[1]{'contents'}[0];
+$result_trees{'multitable'}{'contents'}[1]{'contents'}[2]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'}
=
$result_trees{'multitable'}{'contents'}[1]{'contents'}[2]{'contents'}[1]{'contents'}[0]{'contents'}[1];
+$result_trees{'multitable'}{'contents'}[1]{'contents'}[2]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'parent'}
=
$result_trees{'multitable'}{'contents'}[1]{'contents'}[2]{'contents'}[1]{'contents'}[0];
+$result_trees{'multitable'}{'contents'}[1]{'contents'}[2]{'contents'}[1]{'contents'}[0]{'parent'}
= $result_trees{'multitable'}{'contents'}[1]{'contents'}[2]{'contents'}[1];
+$result_trees{'multitable'}{'contents'}[1]{'contents'}[2]{'contents'}[1]{'parent'}
= $result_trees{'multitable'}{'contents'}[1]{'contents'}[2];
+$result_trees{'multitable'}{'contents'}[1]{'contents'}[2]{'parent'} =
$result_trees{'multitable'}{'contents'}[1];
+$result_trees{'multitable'}{'contents'}[1]{'contents'}[3]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
=
$result_trees{'multitable'}{'contents'}[1]{'contents'}[3]{'contents'}[0]{'contents'}[0];
+$result_trees{'multitable'}{'contents'}[1]{'contents'}[3]{'contents'}[0]{'contents'}[0]{'parent'}
= $result_trees{'multitable'}{'contents'}[1]{'contents'}[3]{'contents'}[0];
+$result_trees{'multitable'}{'contents'}[1]{'contents'}[3]{'contents'}[0]{'parent'}
= $result_trees{'multitable'}{'contents'}[1]{'contents'}[3];
+$result_trees{'multitable'}{'contents'}[1]{'contents'}[3]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'parent'}
=
$result_trees{'multitable'}{'contents'}[1]{'contents'}[3]{'contents'}[1]{'contents'}[0];
+$result_trees{'multitable'}{'contents'}[1]{'contents'}[3]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
=
$result_trees{'multitable'}{'contents'}[1]{'contents'}[3]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'multitable'}{'contents'}[1]{'contents'}[3]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'}
=
$result_trees{'multitable'}{'contents'}[1]{'contents'}[3]{'contents'}[1]{'contents'}[0]{'contents'}[1];
+$result_trees{'multitable'}{'contents'}[1]{'contents'}[3]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'parent'}
=
$result_trees{'multitable'}{'contents'}[1]{'contents'}[3]{'contents'}[1]{'contents'}[0];
+$result_trees{'multitable'}{'contents'}[1]{'contents'}[3]{'contents'}[1]{'contents'}[0]{'parent'}
= $result_trees{'multitable'}{'contents'}[1]{'contents'}[3]{'contents'}[1];
+$result_trees{'multitable'}{'contents'}[1]{'contents'}[3]{'contents'}[1]{'parent'}
= $result_trees{'multitable'}{'contents'}[1]{'contents'}[3];
+$result_trees{'multitable'}{'contents'}[1]{'contents'}[3]{'parent'} =
$result_trees{'multitable'}{'contents'}[1];
+$result_trees{'multitable'}{'contents'}[1]{'contents'}[4]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
=
$result_trees{'multitable'}{'contents'}[1]{'contents'}[4]{'contents'}[0]{'contents'}[0];
+$result_trees{'multitable'}{'contents'}[1]{'contents'}[4]{'contents'}[0]{'contents'}[0]{'parent'}
= $result_trees{'multitable'}{'contents'}[1]{'contents'}[4]{'contents'}[0];
+$result_trees{'multitable'}{'contents'}[1]{'contents'}[4]{'contents'}[0]{'parent'}
= $result_trees{'multitable'}{'contents'}[1]{'contents'}[4];
+$result_trees{'multitable'}{'contents'}[1]{'contents'}[4]{'parent'} =
$result_trees{'multitable'}{'contents'}[1];
+$result_trees{'multitable'}{'contents'}[1]{'parent'} =
$result_trees{'multitable'};
+$result_trees{'multitable'}{'contents'}[2]{'parent'} =
$result_trees{'multitable'};
+$result_trees{'multitable'}{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
= $result_trees{'multitable'}{'contents'}[3]{'args'}[0];
+$result_trees{'multitable'}{'contents'}[3]{'args'}[0]{'parent'} =
$result_trees{'multitable'}{'contents'}[3];
+$result_trees{'multitable'}{'contents'}[3]{'args'}[1]{'contents'}[0]{'parent'}
= $result_trees{'multitable'}{'contents'}[3]{'args'}[1];
+$result_trees{'multitable'}{'contents'}[3]{'args'}[1]{'parent'} =
$result_trees{'multitable'}{'contents'}[3];
+$result_trees{'multitable'}{'contents'}[3]{'contents'}[0]{'parent'} =
$result_trees{'multitable'}{'contents'}[3];
+$result_trees{'multitable'}{'contents'}[3]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
=
$result_trees{'multitable'}{'contents'}[3]{'contents'}[1]{'contents'}[0]{'contents'}[0];
+$result_trees{'multitable'}{'contents'}[3]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'parent'}
= $result_trees{'multitable'}{'contents'}[3]{'contents'}[1]{'contents'}[0];
+$result_trees{'multitable'}{'contents'}[3]{'contents'}[1]{'contents'}[0]{'parent'}
= $result_trees{'multitable'}{'contents'}[3]{'contents'}[1];
+$result_trees{'multitable'}{'contents'}[3]{'contents'}[1]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'parent'}
=
$result_trees{'multitable'}{'contents'}[3]{'contents'}[1]{'contents'}[1]{'contents'}[0];
+$result_trees{'multitable'}{'contents'}[3]{'contents'}[1]{'contents'}[1]{'contents'}[0]{'parent'}
= $result_trees{'multitable'}{'contents'}[3]{'contents'}[1]{'contents'}[1];
+$result_trees{'multitable'}{'contents'}[3]{'contents'}[1]{'contents'}[1]{'parent'}
= $result_trees{'multitable'}{'contents'}[3]{'contents'}[1];
+$result_trees{'multitable'}{'contents'}[3]{'contents'}[1]{'parent'} =
$result_trees{'multitable'}{'contents'}[3];
+$result_trees{'multitable'}{'contents'}[3]{'parent'} =
$result_trees{'multitable'};
+
+$result_texts{'multitable'} = '
address@hidden @columnfractions 6 7
address@hidden mu--ltitable headitem @tab another tab
address@hidden mu--ltitable item @tab multitable tab
address@hidden comment in multitable
address@hidden mu--ltitable item 2 @tab multitable tab 2
address@hidden index entry within multitable
address@hidden lone mu--ltitable item
address@hidden multitable
+
address@hidden {truc} {bidule}
address@hidden truc @tab bidule
address@hidden multitable
+';
+
+$result_errors{'multitable'} = [];
+
+