This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Don’t localise CopSTASH(&PL_compiling) in newCONSTSUB
authorFather Chrysostomos <sprout@cpan.org>
Fri, 1 Jun 2012 06:02:31 +0000 (23:02 -0700)
committerFather Chrysostomos <sprout@cpan.org>
Tue, 5 Jun 2012 01:14:52 +0000 (18:14 -0700)
commit28333232a1c7950f0ac34311fd2baae99f4e9a6f
tree79fe245e9e4a085468d290f05119ff144024843e
parente153fc352d5563cbaf10c069aab4a773d1172fd4
Don’t localise CopSTASH(&PL_compiling) in newCONSTSUB

When newCONSTSUB was added in commit 5476c433, it did not set
curcop temporarily to &compiling, and so gv_fetchpv would look at
curcop->cop_stash.  So cop_stash needed to be localised.

(Time passes.... curcop is now PL_curcop.  &compiling is
now &PL_compiling.  gv_fetchpv is now gv_fetchpvn_flags.
curcop->cop_stash is now CopSTASH(PL_curcop).)

Since commit 401667e9, newCONSTSUB has set PL_curcop to &PL_compiling
temporarily.  When that is the case, gv_fetchpvn_flags uses
PL_curstash and ignores CopSTASH(PL_curcop).

So this localisation is no longer necessary, as newCONSTSUB has always
set (PL_)curstash.
op.c