The #7383 was right only in the context of the original bug report,
Jarkko Hietaniemi [Sat, 21 Oct 2000 01:28:42 +0000 (01:28 +0000)]
not in more general case.

p4raw-id: //depot/perl@7385

pp_hot.c

index d6a7f04..3f85116 100644 (file)
--- a/pp_hot.c
+++ b/pp_hot.c
@@ -173,10 +173,8 @@ PP(pp_concat)
                olds = s = (U8*)savepvn((char*)s, len);
            }
            if (!SvOK(left) && SvTYPE(left) <= SVt_PVMG) {
-               if (SvREADONLY(left)) {
-                   left = sv_2mortal(newSVpvn("", 0));
-                   left_utf = FALSE;
-               }
+               if (SvREADONLY(left))
+                   left = sv_2mortal(newSVsv(left));
                else
                    sv_setpv(left, ""); /* Suppress warning. */
            }