In perl.git, the branch smoke-me/jkeenan/119993-2nd-gv-c has been created
<http://perl5.git.perl.org/perl.git/commitdiff/0a10b419a4505010ec6ca28c10754135977f43d0?hp=0000000000000000000000000000000000000000>
at 0a10b419a4505010ec6ca28c10754135977f43d0 (commit)
- Log -----------------------------------------------------------------
commit 0a10b419a4505010ec6ca28c10754135977f43d0
Author: Peter Martini <[email protected]>
Date: Fri Oct 4 01:07:20 2013 +0200
Added a perldelta entry for the prototype attribute.
For: RT #119993
M pod/perldelta.pod
commit d020f20cf6731aa4583dd054e4f452a6b3e8ecfb
Author: Peter Martini <[email protected]>
Date: Tue Oct 1 01:42:16 2013 -0400
Handle the prototype attribute during sub creation
[perl #119251] Handle the prototype attribute during sub creation
This is necessary so that the prototype attribute can
serve as a drop-in replacement for an actual prototype.
The attribute is shifted out of the attribute list before
the attributes handler is ever called, and before the interpreter
starts to handle the prototype. This necessitates a new warning,
since declaring a prototype and the prototype attribute at the
same time leads to the attribute replacing the traditional
declaration in all senses that matter.
M MANIFEST
M embed.fnc
M embed.h
M op.c
M pod/perldiag.pod
M pod/perlsub.pod
M proto.h
A t/op/attrproto.t
commit a20307347d47eb6e9cdc08461b269d8b883a4573
Author: Peter Martini <[email protected]>
Date: Tue Sep 17 01:37:07 2013 -0400
Add a prototype attribute to attributes.xs
This is not a complete solution, since the check for a
prototype changing only works here if the prototype was
loaded by a direct call to the attributes import method;
if it was added in the normal manner, something like
sub foo :prototype($$) {}
will report a false positive, since the attribute is called
*after* foo has been properly created and with no prototype.
The only way for sub foo : prototype($$) {} to both check for
a redefinition but not give false positives is for it to be done
in newATTRSUB.
M ext/attributes/attributes.pm
M ext/attributes/attributes.xs
-----------------------------------------------------------------------
--
Perl5 Master Repository