Eric Blake <eblake@redhat.com> writes:
> On 10/02/2017 10:25 AM, Markus Armbruster wrote:
>> Signed-off-by: Markus Armbruster <armbru@redhat.com>
>> ---
>> scripts/texi2pod.pl | 11 +++++++++--
>> 1 file changed, 9 insertions(+), 2 deletions(-)
>
> My perl is a bit rusty, but I think I can handle this one.
>
>>
>> diff --git a/scripts/texi2pod.pl b/scripts/texi2pod.pl
>> index 39ce584a32..2171f8b819 100755
>> --- a/scripts/texi2pod.pl
>> +++ b/scripts/texi2pod.pl
>> @@ -85,6 +85,13 @@ if (defined $out) {
>>
>> while(defined $inf) {
>> while(<$inf>) {
>> + # Verbatim environment
>> + if (defined $endw and $endw eq "verbatim"
>> + and not (/^\@end\s+([a-z]+)/ and $1 eq $endw)) {
>
> You anchored to the beginning, but not the end, of the line; that means
> you accept '@end verbatim garbage' as an end marker. Worth adding $?
Cribbed from
# End-block handler goes up here because it needs to operate even
# if we are skipping.
/^\@end\s+([a-z]+)/ and do {
# Ignore @end foo, where foo is not an operation which may
# cause us to skip, if we are presently skipping.
my $ended = $1;
next if $skipping && $ended !~ /^(?:ifset|ifclear|ignore|menu|iftex|copying)$/;
die "\@end $ended without \@$ended at line $.\n" unless defined $endw;
die "\@$endw ended by \@end $ended at line $.\n" unless $ended eq $endw;
$endw = pop @endwstack;
I'd prefer to stick to this regexp.
texi2pod.pl parses quite sloppily in general.
> If that's the only change, I'm okay with adding:
>
> Reviewed-by: Eric Blake <eblake@redhat.com>
Does this apply to the unchanged patch, too?