better implementation of change#3326; open(local $foo,...) now
[p5sagit/p5-mst-13.2.git] / dump.c
diff --git a/dump.c b/dump.c
index 1e216c5..b8eaa54 100644 (file)
--- a/dump.c
+++ b/dump.c
@@ -512,8 +512,12 @@ Perl_do_op_dump(pTHX_ I32 level, PerlIO *file, OP *o)
     }
 
     switch (o->op_type) {
+    case OP_AELEMFAST:
     case OP_GVSV:
     case OP_GV:
+#ifdef USE_ITHREADS
+       Perl_dump_indent(aTHX_ level, file, "PADIX = %d\n", cPADOPo->op_padix);
+#else
        if (cSVOPo->op_sv) {
            SV *tmpsv = NEWSV(0,0);
            ENTER;
@@ -524,18 +528,25 @@ Perl_do_op_dump(pTHX_ I32 level, PerlIO *file, OP *o)
        }
        else
            Perl_dump_indent(aTHX_ level, file, "GV = NULL\n");
+#endif
        break;
     case OP_CONST:
+       Perl_dump_indent(aTHX_ level, file, "SV = %s\n", SvPEEK(cSVOPo_sv));
+       break;
     case OP_METHOD_NAMED:
        Perl_dump_indent(aTHX_ level, file, "SV = %s\n", SvPEEK(cSVOPo->op_sv));
        break;
     case OP_SETSTATE:
     case OP_NEXTSTATE:
     case OP_DBSTATE:
-       if (cCOPo->cop_line)
-           Perl_dump_indent(aTHX_ level, file, "LINE = %d\n",cCOPo->cop_line);
+       if (CopLINE(cCOPo))
+           Perl_dump_indent(aTHX_ level, file, "LINE = %d\n",CopLINE(cCOPo));
+       if (CopSTASHPV(cCOPo))
+           Perl_dump_indent(aTHX_ level, file, "PACKAGE = \"%s\"\n",
+                            CopSTASHPV(cCOPo));
        if (cCOPo->cop_label)
-           Perl_dump_indent(aTHX_ level, file, "LABEL = \"%s\"\n",cCOPo->cop_label);
+           Perl_dump_indent(aTHX_ level, file, "LABEL = \"%s\"\n",
+                            cCOPo->cop_label);
        break;
     case OP_ENTERLOOP:
        Perl_dump_indent(aTHX_ level, file, "REDO ===> ");
@@ -1070,6 +1081,7 @@ Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bo
        Perl_dump_indent(aTHX_ level, file, "  XSUB = 0x%"UVxf"\n", PTR2UV(CvXSUB(sv)));
        Perl_dump_indent(aTHX_ level, file, "  XSUBANY = %"IVdf"\n", (IV)CvXSUBANY(sv).any_i32);
        do_gvgv_dump(level, file, "  GVGV::GV", CvGV(sv));
+       Perl_dump_indent(aTHX_ level, file, "  FILE = \"%s\"\n", CvFILE(sv));
        Perl_dump_indent(aTHX_ level, file, "  DEPTH = %"IVdf"\n", (IV)CvDEPTH(sv));
 #ifdef USE_THREADS
        Perl_dump_indent(aTHX_ level, file, "  MUTEXP = 0x%"UVxf"\n", PTR2UV(CvMUTEXP(sv)));