summaryrefslogtreecommitdiff
path: root/perl.c
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>1999-05-11 14:08:14 +0000
committerGurusamy Sarathy <gsar@cpan.org>1999-05-11 14:08:14 +0000
commitf6ec51f74c8ac3114d6ab404cd0d7ce83d50adc9 (patch)
tree18863e2a1c31485f08ee30a422fb01ce18d80a81 /perl.c
parenta6c403648ecd5cc72235fdb1e7535523a8ff2ac9 (diff)
downloadperl-f6ec51f74c8ac3114d6ab404cd0d7ce83d50adc9.tar.gz
avoid creating spurious subroutine stubs on failed subroutine
call and other places of sv_2cv() misuse; fixes problems with failed subroutine calls "hiding" later attempts to lookup methods in base classes p4raw-id: //depot/perl@3388
Diffstat (limited to 'perl.c')
-rw-r--r--perl.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/perl.c b/perl.c
index a08b95e7ab..09da6681cb 100644
--- a/perl.c
+++ b/perl.c
@@ -1190,6 +1190,9 @@ perl_get_cv(const char *name, I32 create)
{
GV* gv = gv_fetchpv(name, create, SVt_PVCV);
/* XXX unsafe for threads if eval_owner isn't held */
+ /* XXX this is probably not what they think they're getting.
+ * It has the same effect as "sub name;", i.e. just a forward
+ * declaration! */
if (create && !GvCVu(gv))
return newSUB(start_subparse(FALSE, 0),
newSVOP(OP_CONST, 0, newSVpv(name,0)),