Skip Menu |

This queue is for tickets about the Devel-Declare CPAN distribution.

Report information
The Basics
Id: 47547
Status: resolved
Priority: 0/
Queue: Devel-Declare

People
Owner: Nobody in particular
Requestors: zefram [...] fysh.org
Cc:
AdminCc:

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



Subject: D::D and source filters
Date: Fri, 3 Jul 2009 16:56:54 +0100
To: bug-Devel-Declare [...] rt.cpan.org
From: Zefram <zefram [...] fysh.org>
The attached test script demonstrates a bad interaction of Devel::Declare with source filters. The code sets up a no-op Devel::Declare arrangement, which is never used. It also uses a very simple source filter, to inject a small piece of test code by a roundabout route; the filter deletes itself as soon as it is invoked. When parsing reaches the end of the file, the compilation dies with the error message "filter_del can only delete in reverse order (currently)". If the filter is applied *before* the Devel::Declare setup, everything works as expected. It only fails when the filter is applied afterwards. Don't know whether this is a bug in Devel::Declare, Filter::Util::Call, or the perl core. -zefram

Message body is not shown because sender requested not to inline it.

perl5i just banged into this bug. If a thing which uses Devel::Declare is run before a thing which uses Filter::Simple then toke.c throws up its hands in disgust. # For example use Method::Signatures; use Data::Dumper::Simple; A simple Filter::Simple module will set it off. package Foo; use Filter::Simple sub { 1 }; The error is inside toke.c in Perl_filter_del.
Partial workaround in Devel-Declare-0.006009.