summaryrefslogtreecommitdiff
path: root/proto.h
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2010-10-24 23:45:49 -0700
committerFather Chrysostomos <sprout@cpan.org>2010-10-24 23:45:49 -0700
commit35759254f69c7bfa698c7a24b1031806ea41bbae (patch)
tree039bd04d14a8964552b84834ef8a0b0cfc9a9529 /proto.h
parent96517a90c6cb5ea3aaf4304897cd4eb1db2d2305 (diff)
downloadperl-35759254f69c7bfa698c7a24b1031806ea41bbae.tar.gz
Rename stashes when they move around
This is yet another patch in preparation for [perl #75176] (I keep saying that.). It uses the recently-added functions hv_name_add and hv_name_delete, to add and remove names when mro_package_moved is called. mro_package_moved’s calling convention needed to change to make this work, which is the bulk of the patch. Code that was calling mro_package_moved was also doing it sometimes when it was unnecessary. If the stash being assigned over had no name, then there was no possibiiity of its being in the symbol table. This probably fixes [perl #77358] (isa warnings), though I have not tested that yet. One user-visible change this introduces is that a detached glob whose stash loses its name will no longer stringify the same way (a bit like a glob that loses its stash pointer; except that it becomes *__ANON__::foo instead of "").
Diffstat (limited to 'proto.h')
-rw-r--r--proto.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/proto.h b/proto.h
index ca62817ee2..7b95890998 100644
--- a/proto.h
+++ b/proto.h
@@ -2244,7 +2244,7 @@ PERL_CALLCONV void Perl_mro_method_changed_in(pTHX_ HV* stash)
#define PERL_ARGS_ASSERT_MRO_METHOD_CHANGED_IN \
assert(stash)
-PERL_CALLCONV void Perl_mro_package_moved(pTHX_ HV * const stash, const HV * const oldstash, const GV * const gv, const char *newname, I32 newname_len);
+PERL_CALLCONV void Perl_mro_package_moved(pTHX_ HV * const stash, HV * const oldstash, const GV *gv, const char *newname, I32 newname_len);
PERL_CALLCONV void Perl_mro_register(pTHX_ const struct mro_alg *mro)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_MRO_REGISTER \