declaration don't have multiple 'd' keys.
Subject: [PATCH] mad: different key for the locale declarator
Message-Id: <
20070508171125.GI17043@ostwald>
p4raw-id: //depot/perl@31208
sub madness {
my $self = shift;
my @keys = split(' ', shift);
+ @keys = map { $_ eq 'd' ? ('k', 'd') : $_ } @keys;
my @vals = ();
for my $key (@keys) {
my $madprop = $self->{mp}{$key};
* g op was forced to be a word
* i if/unless modifier
* I if/elsif/unless statement
+ * k local declarator
* K retired kid op
* l last index of array ($#foo)
* L label
case 154:
#line 1085 "perly.y"
{ (yyval.opval) = localize((ps[(2) - (2)].val.opval),IVAL((ps[(1) - (2)].val.i_tkval)));
- TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'d');
+ TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'k');
;}
break;
{ $$ = $1; }
| LOCAL term %prec UNIOP
{ $$ = localize($2,IVAL($1));
- TOKEN_GETMAD($1,$$,'d');
+ TOKEN_GETMAD($1,$$,'k');
}
| '(' expr ')'
{ $$ = sawparens(IF_MAD(newUNOP(OP_NULL,0,$2), $2));