diff options
author | Gurusamy Sarathy <gsar@cpan.org> | 1998-05-14 09:06:18 +0000 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 1998-05-14 09:06:18 +0000 |
commit | 491527d0220de34ec13035d557e288c9952d1007 (patch) | |
tree | 683ef586eb7bbf72dee104e2b0fd44cc8298b444 /pp_ctl.c | |
parent | a3cb178b0bad32fa8be934503d051b96a3cb1fea (diff) | |
download | perl-491527d0220de34ec13035d557e288c9952d1007.tar.gz |
[win32] merge change#886 from maintbranch
p4raw-link: @886 on //depot/maint-5.004/perl: 6dba07070c2cb08ffbc6e00eff60e8f5fc9a7ee8
p4raw-id: //depot/win32/perl@936
Diffstat (limited to 'pp_ctl.c')
-rw-r--r-- | pp_ctl.c | 18 |
1 files changed, 15 insertions, 3 deletions
@@ -1877,14 +1877,26 @@ PP(pp_goto) mark++; } } - if (PERLDB_SUB && curstash != debstash) { + if (PERLDB_SUB) { /* Checking curstash breaks DProf. */ /* * We do not care about using sv to call CV; * it's for informational purposes only. */ SV *sv = GvSV(DBsub); - save_item(sv); - gv_efullname3(sv, CvGV(cv), Nullch); + CV *gotocv; + + if (PERLDB_SUB_NN) { + SvIVX(sv) = (IV)cv; /* Already upgraded, saved */ + } else { + save_item(sv); + gv_efullname3(sv, CvGV(cv), Nullch); + } + if ( PERLDB_GOTO + && (gotocv = perl_get_cv("DB::goto", FALSE)) ) { + PUSHMARK( stack_sp ); + perl_call_sv((SV*)gotocv, G_SCALAR | G_NODEBUG); + stack_sp--; + } } RETURNOP(CvSTART(cv)); } |