This fixes RT #115392.
t/lib/indirect/TestRequired5/d0.pm
t/lib/indirect/TestRequired6.pm
t/lib/indirect/TestRequiredGlobal.pm
+t/testcases/rt115392.pl
xsh/caps.h
xsh/debug.h
xsh/hints.h
my %BUILD_REQUIRES =(
'Config' => 0,
'ExtUtils::MakeMaker' => 0,
+ 'File::Spec' => 0,
'IO::Handle' => 0,
'IO::Select' => 0,
'IPC::Open3' => 0,
# ifndef PL_lex_inwhat
# define PL_lex_inwhat PL_parser->lex_inwhat
# endif
+# ifndef PL_multi_close
+# define PL_multi_close PL_parser->multi_close
+# endif
#else
# ifndef PL_linestr
# define PL_linestr PL_Ilinestr
# ifndef PL_lex_inwhat
# define PL_lex_inwhat PL_Ilex_inwhat
# endif
+# ifndef PL_multi_close
+# define PL_multi_close PL_Imulti_close
+# endif
#endif
/* ... Safe version of call_sv() ........................................... */
if (SvPOK(sv) && (SvTYPE(sv) >= SVt_PV)) {
STRLEN pos;
+ const char *bufptr;
+
+ bufptr = PL_multi_close == '<' ? PL_bufptr : PL_oldbufptr;
- if (indirect_find(sv, PL_oldbufptr, &pos)) {
+ if (indirect_find(sv, bufptr, &pos)) {
STRLEN len;
/* If the constant is equal to the current package name, try to look for
use Config;
-use Test::More tests => 6;
+use Test::More tests => 7;
use lib 't/lib';
use VPIT::TestHelpers 'run_perl';
skip RUN_PERL_FAILED() => ($tests - 1) unless defined $status;
is $status, 0, 'indirect and local END blocks executed at the end of a forked process';
}
+
+SKIP: {
+ my $status;
+ for my $run (1 .. 10) {
+ $status = run_perl_file 't/testcases/rt115392.pl';
+ skip RUN_PERL_FAILED() => 1 unless defined $status;
+ last if $status;
+ }
+ is $status, 0, 'RT #115392';
+}
--- /dev/null
+no indirect;
+
+<<'END_CODE1';
+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+END_CODE1
+
+<<'END_CODE2';
+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+END_CODE2