|
List Info
Thread: BBC(Bleadperl Breaks CPAN) Today: PerlPoint::Parser (0.451)
|
|
| BBC(Bleadperl Breaks CPAN) Today:
PerlPoint::Parser (0.451) |

|
2007-10-08 15:19:53 |
Thanks, Jochen, for bringing another BBC case to my
attention.
Your collection of modules
JSTENZEL/PerlPoint-Package-0.451.tar.gz
works with bleadperl up to 31081 and starts failing with
31082.
(http://public.activestate.com/cgi-bin/perlbrowse/p/26487
)
Change 31082 by rgs stcosmo on 2007/04/26 10:51:36
Subject: Re: The Strict trap
From: Johan Vromans <jvromans squirrel.nl>
Date: Wed, 25 Apr 2007 16:12:58 +0200
Message-ID: <m2lkggilud.fsf phoenix.squirrel.nl>
which leads to a test failure:
t/l0_ifilters.........[Error 1] Could not load lang
import filter module: 'caller' trapped by operation mask at
/home/src/perl/repoperls/installed-perls/perl/pLm6hV6/perl-5
.8.0 32034/lib/5.10.0/strict.pm line 8, <GEN4> line
3.
Compilation failed in require at
/home/sand/.cpan/build/PerlPoint-Package-0.451-8942QO/t/Perl
Point/Import/LANG.pm line 29, <GEN4> line 3.
BEGIN failed--compilation aborted at
/home/sand/.cpan/build/PerlPoint-Package-0.451-8942QO/t/Perl
Point/Import/LANG.pm line 29, <GEN4> line 3.
Compilation failed in require at (eval 580) line 1,
<GEN4> line 3.
.
[Info] Input contains 1 semantic error.
# Failed test at t/l0_ifilters.t line 280.
I'm too tired to dig any deeper and Hope This Helps,
--
andreas
|
|
| Re: BBC(Bleadperl Breaks CPAN) Today:
PerlPoint::Parser (0.451) |

|
2007-10-09 03:44:32 |
On 08/10/2007, Andreas J. Koenig
<andreas.koenig.7os6VVqR franz.ak.mind.de>
wrote:
> Thanks, Jochen, for bringing another BBC case to my
attention.
>
> Your collection of modules
JSTENZEL/PerlPoint-Package-0.451.tar.gz
> works with bleadperl up to 31081 and starts failing
with 31082.
>
> (http://public.activestate.com/cgi-bin/perlbrowse/p/26487
)
> Change 31082 by rgs stcosmo on 2007/04/26
10:51:36
>
> Subject: Re: The Strict trap
> From: Johan Vromans <jvromans squirrel.nl>
> Date: Wed, 25 Apr 2007 16:12:58 +0200
> Message-ID: <m2lkggilud.fsf phoenix.squirrel.nl>
>
> which leads to a test failure:
>
> t/l0_ifilters.........[Error 1] Could not load lang
import filter module: 'caller' trapped by operation mask at
/home/src/perl/repoperls/installed-perls/perl/pLm6hV6/perl-5
.8.0 32034/lib/5.10.0/strict.pm line 8, <GEN4> line
3.
Since strict.pm now uses caller(), your Safe compartment now
needs to
allow caller() in addition to require().
|
|
| Re: BBC(Bleadperl Breaks CPAN) Today:
PerlPoint::Parser (0.451) |

|
2007-10-09 11:19:51 |
On Tue, Oct 09, 2007 at 10:44:32AM +0200, Rafael
Garcia-Suarez wrote:
} On 08/10/2007, Andreas J. Koenig
} <andreas.koenig.7os6VVqR franz.ak.mind.de>
wrote:
} > Thanks, Jochen, for bringing another BBC case to my
attention.
} >
} > Your collection of modules
JSTENZEL/PerlPoint-Package-0.451.tar.gz
} > works with bleadperl up to 31081 and starts failing
with 31082.
} >
} > (http://public.activestate.com/cgi-bin/perlbrowse/p/26487
)
} > Change 31082 by rgs stcosmo on 2007/04/26
10:51:36
} >
} > Subject: Re: The Strict trap
} > From: Johan Vromans <jvromans squirrel.nl>
} > Date: Wed, 25 Apr 2007 16:12:58 +0200
} > Message-ID: <m2lkggilud.fsf phoenix.squirrel.nl>
} >
} > which leads to a test failure:
} >
} > t/l0_ifilters.........[Error 1] Could not load
lang import filter module: 'caller' trapped by operation
mask at
/home/src/perl/repoperls/installed-perls/perl/pLm6hV6/perl-5
.8.0 32034/lib/5.10.0/strict.pm line 8, <GEN4> line
3.
}
} Since strict.pm now uses caller(), your Safe compartment
now needs to
} allow caller() in addition to require().
Isn't the idea that caller() was also demoted from a
"safe" to "we're
not sure about this" kind of operation? The new caller
does some
direct peeking inside the optree and maybe it shouldn't be
considered
safe.
--
Josh
|
|
| Re: BBC(Bleadperl Breaks CPAN) Today:
PerlPoint::Parser (0.451) |

|
2007-10-09 11:29:10 |
On 09/10/2007, josh <twists gmail.com> wrote:
> } Since strict.pm now uses caller(), your Safe
compartment now needs to
> } allow caller() in addition to require().
>
> Isn't the idea that caller() was also demoted from a
"safe" to "we're
> not sure about this" kind of operation? The new
caller does some
> direct peeking inside the optree and maybe it shouldn't
be considered
> safe.
caller() was never demoted. It was never put in a
well-defined
category; I just put it in a :load category with require()
and do().
(#32073).
|
|
| Re: BBC(Bleadperl Breaks CPAN) Today:
PerlPoint::Parser (0.451) |

|
2007-10-09 12:11:19 |
On Tue, Oct 09, 2007 at 06:29:10PM +0200, Rafael
Garcia-Suarez wrote:
} On 09/10/2007, josh <twists gmail.com> wrote:
} > } Since strict.pm now uses caller(), your Safe
compartment now needs to
} > } allow caller() in addition to require().
} >
} > Isn't the idea that caller() was also demoted from a
"safe" to "we're
} > not sure about this" kind of operation? The new
caller does some
} > direct peeking inside the optree and maybe it
shouldn't be considered
} > safe.
}
} caller() was never demoted. It was never put in a
well-defined
} category; I just put it in a :load category with require()
and do().
} (#32073).
Just as an aside, I tried to perturb the hash returned from
caller
inside a Safe compartment. Nothing I'm doing seems to alter
it for
future calls. It also appears that every call to caller()
returns a
fresh copy of this data.
So uh, huzzah. It looks like it might not be allowing writes
to the
optree.
--
Josh
|
|
| Re: BBC(Bleadperl Breaks CPAN) Today:
PerlPoint::Parser (0.451) |

|
2007-10-09 22:11:17 |
>>>>> On Tue, 9 Oct 2007 10:44:32 +0200,
"Rafael Garcia-Suarez" <rgarciasuarez gmail.com> said:
> On 08/10/2007, Andreas J. Koenig
> <andreas.koenig.7os6VVqR franz.ak.mind.de>
wrote:
>> Thanks, Jochen, for bringing another BBC case to
my attention.
>>
>> Your collection of modules
JSTENZEL/PerlPoint-Package-0.451.tar.gz
>> works with bleadperl up to 31081 and starts
failing with 31082.
>>
>> (http://public.activestate.com/cgi-bin/perlbrowse/p/26487
)
>> Change 31082 by rgs stcosmo on 2007/04/26
10:51:36
>>
>> Subject: Re: The Strict trap
>> From: Johan Vromans <jvromans squirrel.nl>
>> Date: Wed, 25 Apr 2007 16:12:58 +0200
>> Message-ID: <m2lkggilud.fsf phoenix.squirrel.nl>
>>
>> which leads to a test failure:
>>
>> t/l0_ifilters.........[Error 1] Could not load
lang import filter module: 'caller' trapped by operation
mask at
/home/src/perl/repoperls/installed-perls/perl/pLm6hV6/perl-5
.8.0 32034/lib/5.10.0/strict.pm line 8, <GEN4> line
3.
> Since strict.pm now uses caller(), your Safe
compartment now needs to
> allow caller() in addition to require().
Thanks, verified with this pseudo patch:
 
t/l0_ifilters.t (line 95)  
- $safe->permit(qw(require));
+ $safe->permit(qw(require caller));
gives
t/l0_ifilters......412/0 Use of uninitialized value $"
in join or string at
/home/src/perl/repoperls/installed-perls/perl/p6E9LgS/perl-5
.8.0 32059/lib/5.10.0/strict.pm line 6, <GEN4> line
3.
t/l0_ifilters......ok
All tests successful.
Looks like strict.pm needs a fix as well. E.g.
# Verify that we're called correctly so that strictures
will work.
+ local $" = " ";
unless ( __FILE__ =~ /(^|[/\])Q {[__PACKAGE__]}E.pm$/ )
{
It's not getting prettier though;)
--
andreas
|
|
| Re: BBC(Bleadperl Breaks CPAN) Today:
PerlPoint::Parser (0.451) |

|
2007-10-10 02:05:57 |
[Quoting Andreas J. Koenig, on October 10 2007, 05:11, in
"Re: BBC(Bleadperl Br"]
> t/l0_ifilters......412/0 Use of uninitialized value
$" in join or string at
/home/src/perl/repoperls/installed-perls/perl/p6E9LgS/perl-5
.8.0 32059/lib/5.10.0/strict.pm line 6, <GEN4> line
3.
> t/l0_ifilters......ok
> All tests successful.
Interesting.
A " array" expansion of a single list array should
not need $" ...
-- Johan
|
|
| Re: BBC(Bleadperl Breaks CPAN) Today:
PerlPoint::Parser (0.451) |

|
2007-10-10 02:54:05 |
On Wed, 10 Oct 2007 09:05:57 +0200, jvromans squirrel.nl (Johan Vromans)
wrote:
> [Quoting Andreas J. Koenig, on October 10 2007, 05:11,
in "Re: BBC(Bleadperl Br"]
> > t/l0_ifilters......412/0 Use of uninitialized
value $" in join or string at
/home/src/perl/repoperls/installed-perls/perl/p6E9LgS/perl-5
.8.0 32059/lib/5.10.0/strict.pm line 6, <GEN4> line
3.
> > t/l0_ifilters......ok
> > All tests successful.
>
> Interesting.
>
> A " array" expansion of a single list
array should not need $" ...
Isn't it blindly translated to
join $", array;
?
Which leaves room for optimization?
--
H.Merijn Brand Amsterdam Perl Mongers (http://amsterdam.pm.org/
)
using & porting perl 5.6.2, 5.8.x, 5.9.x on HP-UX
10.20, 11.00, 11.11,
& 11.23, SuSE 10.0 & 10.2, AIX 4.3 & 5.2, and
Cygwin. http://qa.perl.org
http://mirrors.de
velooper.com/hpux/ http://www.test-smoke.org
a>
http
://www.goldmark.org/jeff/stupid-disclaimers/
|
|
| Re: BBC(Bleadperl Breaks CPAN) Today:
PerlPoint::Parser (0.451) |

|
2007-10-10 03:17:59 |
On 10/10/2007, H.Merijn Brand <h.m.brand xs4all.nl> wrote:
> Isn't it blindly translated to
>
> join $", array;
>
> ?
> Which leaves room for optimization?
Changing it to ${...} interpolation makes the warning
disappear. (#32090)
|
|
| Re: BBC(Bleadperl Breaks CPAN) Today:
PerlPoint::Parser (0.451) |

|
2007-10-10 03:26:45 |
On Wed, Oct 10, 2007 at 09:54:05AM +0200, H.Merijn Brand
wrote:
> On Wed, 10 Oct 2007 09:05:57 +0200, jvromans squirrel.nl (Johan Vromans)
> wrote:
>
> > [Quoting Andreas J. Koenig, on October 10 2007,
05:11, in "Re: BBC(Bleadperl Br"]
> > > t/l0_ifilters......412/0 Use of uninitialized
value $" in join or string at
/home/src/perl/repoperls/installed-perls/perl/p6E9LgS/perl-5
.8.0 32059/lib/5.10.0/strict.pm line 6, <GEN4> line
3.
> > > t/l0_ifilters......ok
> > > All tests successful.
> >
> > Interesting.
> >
> > A " array" expansion of a single list
array should not need $" ...
>
> Isn't it blindly translated to
>
> join $", array;
>
> ?
Yes:
$ ./perl -Ilib -MO=Concise -e '" ARGV"'
9 < > leave[1 ref] vKP/REFC ->(end)
1 <0> enter ->2
2 <;> nextstate(main 1 -e:1) v:{ ->3
8 < > stringify[t5] vK/1 ->9
- <0> ex-pushmark s ->3
7 < > join[t4] sK/2 ->8
3 <0> pushmark s ->4
- <1> ex-rv2sv sK/1 ->5
4 <#> gvsv[*"] s ->5
6 <1> rv2av[t3] lK/1 ->7
5 <#> gv[*ARGV] s ->6
-e syntax OK
> Which leaves room for optimization?
I assume you mean that code above, not in the implementation
of join.
It would be possible to avoid the final read of $" for
0 and 1 element
arrays. Is that worth it? Specifically, it's this code in
this order in
Perl_do_join():
(void) SvPV_const(delim, delimlen); /* stringify and get
the delimlen */
/* SvCUR assumes it's SvPOK() and woe betide you if it's
not. */
mark++;
len = (items > 0 ? (delimlen * (items - 1) ) : 0);
If $" is a plain string scalar, SvPV_const() will check
one flag and read
direct from the structure, without any function calls.
Nicholas Clark
|
|
[1-10]
|
|