This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add --crash option for Porting/bisect
[perl5.git] / dump.c
diff --git a/dump.c b/dump.c
index 82f16fd..24ce93e 100644 (file)
--- a/dump.c
+++ b/dump.c
@@ -1382,6 +1382,7 @@ const struct flag_to_name regexp_extflags_names[] = {
     {RXf_PMf_EXTENDED,    "PMf_EXTENDED,"},
     {RXf_PMf_EXTENDED_MORE, "PMf_EXTENDED_MORE,"},
     {RXf_PMf_KEEPCOPY,    "PMf_KEEPCOPY,"},
+    {RXf_PMf_NOCAPTURE,   "PMf_NOCAPURE,"},
     {RXf_IS_ANCHORED,     "IS_ANCHORED,"},
     {RXf_NO_INPLACE_SUBST, "NO_INPLACE_SUBST,"},
     {RXf_EVAL_SEEN,       "EVAL_SEEN,"},
@@ -2288,7 +2289,9 @@ S_append_padvar(pTHX_ PADOFFSET off, CV *cv, SV *out, int n,
         if (namepad && (sv = padnamelist_fetch(namepad, off + i)))
         {
             STRLEN cur = SvCUR(out);
-            Perl_sv_catpvf(aTHX_ out, "[%"PNf, PNfARG(sv));
+            Perl_sv_catpvf(aTHX_ out, "[%"UTF8f,
+                                 UTF8fARG(1, PadnameLEN(sv) - 1,
+                                          PadnamePV(sv) + 1));
             if (is_scalar)
                 SvPVX(out)[cur] = '$';
         }
@@ -2324,11 +2327,11 @@ S_append_gv_name(pTHX_ GV *gv, SV *out)
 
 
 /* return a temporary SV containing a stringified representation of
- * the op_aux field of a UNOP_AUX op, associated with CV cv
+ * the op_aux field of a MULTIDEREF op, associated with CV cv
  */
 
 SV*
-Perl_unop_aux_stringify(pTHX_ const OP *o, CV *cv)
+Perl_multideref_stringify(pTHX_ const OP *o, CV *cv)
 {
     UNOP_AUX_item *items = cUNOP_AUXo->op_aux;
     UV actions = items->uv;
@@ -2336,13 +2339,13 @@ Perl_unop_aux_stringify(pTHX_ const OP *o, CV *cv)
     bool last = 0;
     bool is_hash = FALSE;
     int derefs = 0;
-    SV *out = sv_2mortal(newSVpv("",0));
+    SV *out = newSVpvn_flags("",0,SVs_TEMP);
 #ifdef USE_ITHREADS
     PADLIST * const padlist = CvPADLIST(cv);
     PAD *comppad = PadlistARRAY(padlist)[1];
 #endif
 
-    PERL_ARGS_ASSERT_UNOP_AUX_STRINGIFY;
+    PERL_ARGS_ASSERT_MULTIDEREF_STRINGIFY;
 
     while (!last) {
         switch (actions & MDEREF_ACTION_MASK) {
@@ -2495,7 +2498,7 @@ Perl_debop(pTHX_ const OP *o)
 
     case OP_MULTIDEREF:
         PerlIO_printf(Perl_debug_log, "(%-p)",
-            unop_aux_stringify(o, deb_curcv(cxstack_ix)));
+            multideref_stringify(o, deb_curcv(cxstack_ix)));
         break;
 
     default: