I don't know what's eating my mail, but evidently the attachment never
made it out. I tracked down this particular problem and fixed it for
the actual case I was using, which was not a PerlHash at all but
rather my own custom Match PMC for use in regexes. The attached patch
resolves the exact symptom I was seeing, but actually doesn't fix the
problem in either the PerlHash nor the Match cases, for different
reasons. For PerlHash, P0["foo";3] seems to be interpreted as an
iterator access? I hope there's some other way of indicating that. For
my Match PMC, I needed to avoid the whole conversion to string anyway.

Still, I won't commit this patch directly, because I have only
recently delved into the latest incarnation of the keyed code, and it
scares me.

Oh boy. What are the odds of this message actually making it out?
Index: t/pmc/perlhash.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/perlhash.t,v
retrieving revision 1.44
diff -r1.44 perlhash.t
22c22
< use Parrot::Test tests => 34;
---
> use Parrot::Test tests => 35;
693a694,709
> output_is(<< 'CODE', << 'OUTPUT', "Getting PMCs from string;int compound keys");
>     new P0, .PerlHash
>     new P1, .PerlHash
>     new P2, .PerlInt
>     set P2, 4
>     set P1[0], P2
>     set P0["a"], P1
>     set I0, P0["a";0]
>     print "Four is "
>     print I0
>     print "\n"
>     end
> CODE
> Four is 4
> OUTPUT
> 

Reply via email to