plperl_misc_inc_ah.patch

application/octet-stream

Filename: plperl_misc_inc_ah.patch
Type: application/octet-stream
Part: 0
Message: Re: Miscellaneous changes to plperl [PATCH]

Patch

Same data as JSON: GET /api/v1/attachments/:id/patch the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes. API reference →
Format: context
File+
src/pl/plperl/plc_perlboot.pl 3 0
src/pl/plperl/plc_safe_ok.pl 1 0
*** a/src/pl/plperl/plc_perlboot.pl
--- b/src/pl/plperl/plc_perlboot.pl
***************
*** 27,42 **** sub ::mkfuncsrc {
  	my $BEGIN = join "\n", map {
  		my $names = $imports->{$_} || [];
  		"$_->import(qw(@$names));"
! 	} keys %$imports;
  	$BEGIN &&= "BEGIN { $BEGIN }";
  
  	$name =~ s/\\/\\\\/g;
  	$name =~ s/::|'/_/g; # avoid package delimiters
  
! 	my $funcsrc;
! 	$funcsrc .= qq[ undef *{'$name'}; *{'$name'} = sub { $BEGIN $prolog $src } ];
! 	#warn "plperl mkfuncsrc: $funcsrc\n";
! 	return $funcsrc;
  }
  
  # see also mksafefunc() in plc_safe_ok.pl
--- 27,40 ----
  	my $BEGIN = join "\n", map {
  		my $names = $imports->{$_} || [];
  		"$_->import(qw(@$names));"
! 	} sort keys %$imports;
  	$BEGIN &&= "BEGIN { $BEGIN }";
  
  	$name =~ s/\\/\\\\/g;
  	$name =~ s/::|'/_/g; # avoid package delimiters
+ 	$name =~ s/'/\'/g;
  
! 	return qq[ undef *{'$name'}; *{'$name'} = sub { $BEGIN $prolog $src } ];
  }
  
  # see also mksafefunc() in plc_safe_ok.pl
*** a/src/pl/plperl/plc_safe_ok.pl
--- b/src/pl/plperl/plc_safe_ok.pl
***************
*** 25,30 **** $PLContainer->share(qw[&elog &return_next
--- 25,31 ----
  $PLContainer->permit(qw[caller]);
  ::safe_eval(q{
  	require strict;
+ 	require warnings;
  	require feature if $] >= 5.010000;
  	1;
  }) or die $@;