Skip Menu |

This queue is for tickets about the Parse-RecDescent CPAN distribution.

Report information
The Basics
Id: 33366
Status: open
Priority: 0/
Queue: Parse-RecDescent

People
Owner: Nobody in particular
Requestors: rossiya [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: Inline::CPP and Can't use an undefined value as an ARRAY reference at (eval 73) line 7974.
Date: Sun, 17 Feb 2008 18:00:13 -0800
To: bug-Parse-RecDescent [...] rt.cpan.org
From: MC <rossiya [...] gmail.com>
Hello Parse-RecDescent 0.95 breaks Inline::CPP. I had my setup working in Sep'07 but today nothing worked. Only reverting to 0.80 got me back up and running: http://www.nntp.perl.org/group/perl.inline/2003/04/msg1917.html DB<13> R Warning: some settings and command-line options may be lost! Loading DB routines from perl5db.pl version 1.28 Editor support available. Enter h or `h h' for help, or `man perldebug' for more help. Inline::CODE(0x833ed28)((eval 8)[/usr/local/lib/perl5/site_perl/5.8.8/Inline.pm:191]:4): 4: $INIT++; DB<14> r Can't use an undefined value as an ARRAY reference at (eval 77)[/usr/local/lib/perl5/site_perl/5.8.8/Parse/RecDescent.pm:2620] line 7974. INIT failed--call queue aborted. at testPleaseFinishB4BushNukesNewYork.pl line 0 scalar context return from CODE(0x839b648): 0 Debugged program terminated. Use q to quit or R to restart, use o inhibit_exit to avoid stopping after program termination, h q, h R or h o to get additional info. $ uname -a FreeBSD pocket 6.2-RELEASE-p6 FreeBSD 6.2-RELEASE-p6 #1: Tue Jul 17 00:15:41 PDT 2007 root@pocket:/usr/obj/usr/src/sys/MC2 i386
The error persists with version 1.96.0. The following patch to Inline/CPP/grammar.pm fixes this particular error: --- grammar.pm_orig Wed Apr 15 19:47:11 2009 +++ grammar.pm Wed Apr 15 19:47:04 2009 @@ -348,7 +348,9 @@ type1: TYPE star(s?) { $return = $item[1]; - $return .= join '',' ',@{$item{$Inline::CPP::grammar::star}} if @{$item{$Inline::CPP::grammar::star}}; + if(defined($item{$Inline::CPP::grammar::star})) { + $return .= join '',' ',@{$item {$Inline::CPP::grammar::star}} if @{$item{$Inline::CPP::grammar::star}}; + } # print "type1: $return\n"; # return undef # unless(defined$thisparser->{data}{typeconv}{valid_types} {$return}); However, Inline::CPP-0.25 will still not successfully build against Parse::RecDescent-1.96.0. I don't know whether this represents bugs in Inline::CPP or bugs in Parse::RecDescent (or bugs in both). Cheers, Rob