Fri Nov 16 19:58:21 2012: Request 81172 was acted upon.
Transaction: Correspondence added by SISYPHUS
Queue: Inline
Subject: using Inline with => 'Event' fails to compile
Broken in: (no value)
Severity: (no value)
Owner: Nobody
Requestors: [email protected]
Status: open
Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=81172 >
On Fri Nov 16 06:51:09 2012, [email protected] wrote:
> in fact it's the space(!) and not the double quotes!
>
> i.e.
>
> "-I /opt/perl5.12.2.debug/lib/site_perl/5.12.2/i86pc-solaris/Event"
>
> vs.
>
> "-I/opt/perl5.12.2.debug/lib/site_perl/5.12.2/i86pc-solaris/Event"
Well spotted - I had missed that there was a space stuck in there.
So ... the space between the -I and the /opt doesn't cause any problems
until the whole thing is enclosed in double-quotes ? (Please correct me
if that's wrong.)
I would have expected that space to be a problem even if there *weren't*
any enclosing double-quotes.
But, if that's not the case, then quote_space() probably needs to take
this into consideration.
I'm thinking quote_space() should be able to do this at the end of its
processing with
s/"\-I\s+\//"-I\//g
since any spaces between the leading -I and the first / can never be
meaningful (right ?).
If you want to give that a try, at the end of the quote_space()
subroutine in C.pm, change:
my $out = join '', @in;
$_[0] = $out;
to:
my $out = join '', @in;
out =~ s/"\-I\s+\//"-I\//g;
$_[0] = $out;
I haven't tested, however, so I'm being a bit premature here ...
There's also the case that
-I /foo
would be changed to
-I" /foo"
if it was the first element in the string, so that needs to be looked
at, too.
I'll release 0.51_01 in a couple of days time, and let you know when
that happens. It will contain, among other things, a fix for this issue.
Thanks for the report, and for the digging.
Cheers,
Rob