summaryrefslogtreecommitdiff
path: root/sv.c
diff options
context:
space:
mode:
authorIlya Zakharevich <ilya@math.berkeley.edu>1998-03-02 16:36:02 -0500
committerMalcolm Beattie <mbeattie@sable.ox.ac.uk>1998-03-05 19:04:34 +0000
commit2f34f9d4825ac9262ece854fc4c50479f4838ff8 (patch)
tree5d59502cebf6b8a413033b2d67ad85a099a5a30a /sv.c
parentd6582e46845f6c37893e96dbdd201cd0601d3550 (diff)
downloadperl-2f34f9d4825ac9262ece854fc4c50479f4838ff8.tar.gz
Make autouse -w-safe
p4raw-id: //depot/perl@781
Diffstat (limited to 'sv.c')
-rw-r--r--sv.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/sv.c b/sv.c
index d4edad45f3..b5bec9d365 100644
--- a/sv.c
+++ b/sv.c
@@ -2063,9 +2063,14 @@ sv_setsv(SV *dstr, register SV *sstr)
if (cv_const_sv(cv))
warn("Constant subroutine %s redefined",
GvENAME((GV*)dstr));
- else if (dowarn)
- warn("Subroutine %s redefined",
- GvENAME((GV*)dstr));
+ else if (dowarn) {
+ if (!(CvGV(cv) && GvSTASH(CvGV(cv))
+ && HvNAME(GvSTASH(CvGV(cv)))
+ && strEQ(HvNAME(GvSTASH(CvGV(cv))),
+ "autouse")))
+ warn("Subroutine %s redefined",
+ GvENAME((GV*)dstr));
+ }
}
cv_ckproto(cv, (GV*)dstr,
SvPOK(sref) ? SvPVX(sref) : Nullch);