This is a live mirror of the Perl 5 development currently hosted at
https://github.com/perl/perl5
https://perl5.git.perl.org
/
perl5.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
perlapi: Remove per-thread section; move to real scns
[perl5.git]
/
pp_ctl.c
diff --git
a/pp_ctl.c
b/pp_ctl.c
index
b8cd869
..
ed451c0
100644
(file)
--- a/
pp_ctl.c
+++ b/
pp_ctl.c
@@
-1228,7
+1228,7
@@
PP(pp_flop)
if ((SvOK(left) && !SvIOK(left) && SvNV_nomg(left) < IV_MIN) ||
(SvOK(right) && (SvIOK(right)
? SvIsUV(right) && SvUV(right) > IV_MAX
if ((SvOK(left) && !SvIOK(left) && SvNV_nomg(left) < IV_MIN) ||
(SvOK(right) && (SvIOK(right)
? SvIsUV(right) && SvUV(right) > IV_MAX
- : SvNV_nomg(right) > IV_MAX)))
+ : SvNV_nomg(right) >
(NV)
IV_MAX)))
DIE(aTHX_ "Range iterator outside integer range");
i = SvIV_nomg(left);
j = SvIV_nomg(right);
DIE(aTHX_ "Range iterator outside integer range");
i = SvIV_nomg(left);
j = SvIV_nomg(right);
@@
-1716,7
+1716,11
@@
Perl_die_unwind(pTHX_ SV *msv)
* when unlocalising a tied var). So we do a dance with
* mortalising and SAVEFREEing.
*/
* when unlocalising a tied var). So we do a dance with
* mortalising and SAVEFREEing.
*/
- sv_2mortal(SvREFCNT_inc_simple_NN(exceptsv));
+ if (PL_phase == PERL_PHASE_DESTRUCT) {
+ exceptsv = sv_mortalcopy(exceptsv);
+ } else {
+ exceptsv = sv_2mortal(SvREFCNT_inc_simple_NN(exceptsv));
+ }
/*
* Historically, perl used to set ERRSV ($@) early in the die
/*
* Historically, perl used to set ERRSV ($@) early in the die
@@
-1842,7
+1846,7
@@
PP(pp_xor)
/*
/*
-=
head1 CV Manipulation Functions
+=
for apidoc_section $CV
=for apidoc caller_cx
=for apidoc caller_cx
@@
-3481,7
+3485,7
@@
S_doeval_compile(pTHX_ U8 gimme, CV* outside, U32 seq, HV *hh)
SAVEHINTS();
if (clear_hints) {
SAVEHINTS();
if (clear_hints) {
- PL_hints =
0
;
+ PL_hints =
HINTS_DEFAULT
;
hv_clear(GvHV(PL_hintgv));
CLEARFEATUREBITS();
}
hv_clear(GvHV(PL_hintgv));
CLEARFEATUREBITS();
}