summaryrefslogtreecommitdiffstats
path: root/gnu/usr.bin/perl/doop.c
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/usr.bin/perl/doop.c')
-rw-r--r--gnu/usr.bin/perl/doop.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gnu/usr.bin/perl/doop.c b/gnu/usr.bin/perl/doop.c
index 546d33d14c2..e999e344cdb 100644
--- a/gnu/usr.bin/perl/doop.c
+++ b/gnu/usr.bin/perl/doop.c
@@ -17,10 +17,8 @@
#include "perl.h"
#ifndef PERL_MICRO
-#if !defined(NSIG) || defined(M_UNIX) || defined(M_XENIX)
#include <signal.h>
#endif
-#endif
STATIC I32
S_do_trans_simple(pTHX_ SV *sv)
@@ -670,6 +668,10 @@ Perl_do_join(pTHX_ register SV *sv, SV *del, register SV **mark, register SV **s
}
sv_setpv(sv, "");
+ /* sv_setpv retains old UTF8ness [perl #24846] */
+ if (SvUTF8(sv))
+ SvUTF8_off(sv);
+
if (PL_tainting && SvMAGICAL(sv))
SvTAINTED_off(sv);