This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5.git
9 years agoDeparse: Avoid uninit warning from undef &sub
Father Chrysostomos [Mon, 22 Dec 2014 07:16:16 +0000 (23:16 -0800)]
Deparse: Avoid uninit warning from undef &sub

9 years agoFix long verbatim line in perlunicook
Father Chrysostomos [Mon, 22 Dec 2014 22:57:21 +0000 (14:57 -0800)]
Fix long verbatim line in perlunicook

9 years agoAdd Eval::WithLexicals to perl5220delta
Father Chrysostomos [Mon, 22 Dec 2014 22:42:18 +0000 (14:42 -0800)]
Add Eval::WithLexicals to perl5220delta

9 years agoAdd B::Generate to perl5220delta
Father Chrysostomos [Mon, 22 Dec 2014 07:04:19 +0000 (23:04 -0800)]
Add B::Generate to perl5220delta

9 years agoIgnore cx of padsv for padrange optimisation
Father Chrysostomos [Mon, 22 Dec 2014 06:43:56 +0000 (22:43 -0800)]
Ignore cx of padsv for padrange optimisation

Commit v5.21.6-352-gc46871e caused all padsv ops to be marked with
scalar context.  This prevented the padrange optimisation from happen-
ing with a combination of scalars and aggregates in list context.

Adjust the padrange algorithm to ignore the distinction between list
and scalar context.  We only do this optimisation when, even in list
context, each op will push just one thing on to the stack.  (That’s
why we check OPf_REF on padav and padhv.)  So the list/scalar distinc-
tion is irrelevant.

9 years agoMerge branch 'perlunicook' into blead
Ricardo Signes [Sun, 21 Dec 2014 23:52:15 +0000 (18:52 -0500)]
Merge branch 'perlunicook' into blead

9 years agoperlunicook: add trusted-to-exist links for perlunicook
Ricardo Signes [Sun, 21 Dec 2014 23:48:22 +0000 (18:48 -0500)]
perlunicook: add trusted-to-exist links for perlunicook

9 years agoperlunicook: remove empty list item
Ricardo Signes [Sun, 21 Dec 2014 23:41:35 +0000 (18:41 -0500)]
perlunicook: remove empty list item

9 years agoperlunicook: add it to build files and TOC
Ricardo Signes [Sun, 21 Dec 2014 23:37:06 +0000 (18:37 -0500)]
perlunicook: add it to build files and TOC

9 years agoperlunicook: add perlunicook to MANIFEST
Ricardo Signes [Sun, 21 Dec 2014 23:35:10 +0000 (18:35 -0500)]
perlunicook: add perlunicook to MANIFEST

9 years agoFixes for a few trivial typos
Rafael Garcia-Suarez [Thu, 8 Mar 2012 18:31:47 +0000 (19:31 +0100)]
Fixes for a few trivial typos

9 years agoTom Christiansen's Perl Unicode Cookbook 1st draft
Ricardo Signes [Tue, 6 Mar 2012 15:32:36 +0000 (10:32 -0500)]
Tom Christiansen's Perl Unicode Cookbook 1st draft

originally posted to perl5-porters as message-id
18479.1330388058@chthon

9 years agoregen pod issues
Father Chrysostomos [Sun, 21 Dec 2014 20:46:43 +0000 (12:46 -0800)]
regen pod issues

9 years agoAdd Lexical::Var to perl5220delta
Father Chrysostomos [Sun, 21 Dec 2014 20:45:26 +0000 (12:45 -0800)]
Add Lexical::Var to perl5220delta

9 years agofix badly encoded contributor names for perl5217delta
Karen Etheridge [Sun, 21 Dec 2014 19:09:28 +0000 (11:09 -0800)]
fix badly encoded contributor names for perl5217delta

9 years agoadd hv_backreferences_p() to embed.fnc
Yves Orton [Sun, 21 Dec 2014 17:30:09 +0000 (18:30 +0100)]
add hv_backreferences_p() to embed.fnc

Otherwise it cannot be used on Win32. See https://github.com/Sereal/Sereal/issues/73
for an example of where this breaks Win32 perl extensions.

9 years agoperl5220delta: Function::Parameters is fixed
Father Chrysostomos [Sun, 21 Dec 2014 03:01:22 +0000 (19:01 -0800)]
perl5220delta: Function::Parameters is fixed

And it was fixed a month ago.  I missed it.

9 years agoop.c: Use ASSUME in multideref code
Father Chrysostomos [Sun, 21 Dec 2014 02:02:49 +0000 (18:02 -0800)]
op.c: Use ASSUME in multideref code

Under non-debugging builds, this gives the compiler hints about what
optimisations it can take.  With clang, I see a slight reduction in
the size of op.o:

$ ls -l op.o
-rw-r--r--  1 sprout  staff  192480 Dec 20 18:00 op.o
$ ls -l op.o
-rw-r--r--  1 sprout  staff  192432 Dec 20 18:01 op.o

9 years agoop.c: Skip allocating entersub targ for Perl sub
Father Chrysostomos [Sat, 20 Dec 2014 00:57:47 +0000 (16:57 -0800)]
op.c: Skip allocating entersub targ for Perl sub

The target of entersub ops is only used by XSUBs to return things.
Pure-Perl subs don’t use the target.  (And if a pure-Perl sub is
later replaced with an XS one, dXSTARG already has a workaround.)

9 years agoIncrease $Data::Dumper::VERSION to 2.156
Father Chrysostomos [Sun, 21 Dec 2014 15:08:25 +0000 (07:08 -0800)]
Increase $Data::Dumper::VERSION to 2.156

9 years agoIncrease $Opcode::VERSION to 1.31
Father Chrysostomos [Sun, 21 Dec 2014 15:07:51 +0000 (07:07 -0800)]
Increase $Opcode::VERSION to 1.31

9 years agoIncrease $POSIX::VERSION to 1.49
Father Chrysostomos [Sun, 21 Dec 2014 15:07:21 +0000 (07:07 -0800)]
Increase $POSIX::VERSION to 1.49

9 years agoIncrease $arybase::VERSION to 0.10
Father Chrysostomos [Sun, 21 Dec 2014 15:06:58 +0000 (07:06 -0800)]
Increase $arybase::VERSION to 0.10

9 years agodeparse-skips.txt: op/gv.t is failing
Father Chrysostomos [Sun, 21 Dec 2014 03:08:38 +0000 (19:08 -0800)]
deparse-skips.txt: op/gv.t is failing

9 years agoDisallow GIMME in ext/
Father Chrysostomos [Sat, 20 Dec 2014 15:14:01 +0000 (07:14 -0800)]
Disallow GIMME in ext/

It’s an inefficient macro, so we don’t want it inadvertently
used again.

9 years agoIncrease $VMS::DCLsym::VERSION to 1.06
Father Chrysostomos [Sat, 20 Dec 2014 15:10:34 +0000 (07:10 -0800)]
Increase $VMS::DCLsym::VERSION to 1.06

9 years agoIncrease $Safe::VERSION to 2.39
Father Chrysostomos [Sat, 20 Dec 2014 15:10:01 +0000 (07:10 -0800)]
Increase $Safe::VERSION to 2.39

9 years agoRemove bogus ST(0) assignment from DCLsym.xs
Father Chrysostomos [Sat, 20 Dec 2014 15:09:13 +0000 (07:09 -0800)]
Remove bogus ST(0) assignment from DCLsym.xs

If we are using PPCODE, then simply assigning to ST(0) won’t return
the value, unless we also do SP++.  So this function has been return-
ing an empty list on failure and the ST(0) assignment has been
doing nothing.

9 years agoRemove bogus GIMME check from DCLsym.xs
Father Chrysostomos [Sat, 20 Dec 2014 15:05:56 +0000 (07:05 -0800)]
Remove bogus GIMME check from DCLsym.xs

GIMME used to return 0 for scalar context.  As of 5.12, it never
returns 0.  As it happens, this function (_getsym) is only ever called
in one spot (by getsym) and in list context.  So don’t even bother
with the check.

9 years agoUse GIMME_V in POSIX
Father Chrysostomos [Sat, 20 Dec 2014 14:55:36 +0000 (06:55 -0800)]
Use GIMME_V in POSIX

GIMME_V is a simpler macro that results in smaller machine code.

9 years agoUse GIMME_V in Opcode
Father Chrysostomos [Sat, 20 Dec 2014 14:54:52 +0000 (06:54 -0800)]
Use GIMME_V in Opcode

GIMME_V is a simpler macro that results in smaller machine code.

9 years agoSafe Changes update
Father Chrysostomos [Sat, 20 Dec 2014 14:52:29 +0000 (06:52 -0800)]
Safe Changes update

9 years agoPropagate context properly in Safe->reval
Father Chrysostomos [Sat, 20 Dec 2014 14:50:12 +0000 (06:50 -0800)]
Propagate context properly in Safe->reval

(or, rather, in Opcode.xs).

It was providing scalar context when invoked in void context.  Test-
ing Safe->reval itself is complicated, because Opcode.xs, which is an
essential part of the fix, is not dual-life.

9 years agoUse GIMME_V in arybase
Father Chrysostomos [Sat, 20 Dec 2014 14:50:08 +0000 (06:50 -0800)]
Use GIMME_V in arybase

GIMME_V is a simpler macro that results in smaller machine code.

9 years agoUse GIMME_V in Data::Dumper
Father Chrysostomos [Sat, 20 Dec 2014 13:39:51 +0000 (05:39 -0800)]
Use GIMME_V in Data::Dumper

GIMME_V is a simpler macro that results in smaller machine code.

9 years agoMissed the %deprecated entry in Module::CoreList
Max Maischein [Sun, 21 Dec 2014 11:14:24 +0000 (12:14 +0100)]
Missed the %deprecated entry in Module::CoreList

9 years agoBump version number to 5.21.8
Max Maischein [Sun, 21 Dec 2014 10:18:45 +0000 (11:18 +0100)]
Bump version number to 5.21.8

Add 5.21.8 in Module::CoreList
Point Maintainers.pl to new version of Module::CoreList

9 years agoCreate new perldelta
Max Maischein [Sun, 21 Dec 2014 09:36:04 +0000 (10:36 +0100)]
Create new perldelta

9 years agoUpdate epigraphs.pod
Max Maischein [Sun, 21 Dec 2014 09:01:21 +0000 (10:01 +0100)]
Update epigraphs.pod

9 years agoMerge branch 'release-5.21.7' into blead
Max Maischein [Sat, 20 Dec 2014 17:38:50 +0000 (18:38 +0100)]
Merge branch 'release-5.21.7' into blead

9 years agoadd new release to perlhist v5.21.7
Max Maischein [Sat, 20 Dec 2014 14:52:25 +0000 (15:52 +0100)]
add new release to perlhist

9 years agoUpdate perldelta
Max Maischein [Sat, 20 Dec 2014 14:52:16 +0000 (15:52 +0100)]
Update perldelta

9 years agoUpdate Module::CoreList for 5.21.7
Max Maischein [Sat, 20 Dec 2014 14:01:57 +0000 (15:01 +0100)]
Update Module::CoreList for 5.21.7

9 years agoSkip multideref for PL_check[OP_HELEM] tinkering
Father Chrysostomos [Sat, 20 Dec 2014 13:26:02 +0000 (05:26 -0800)]
Skip multideref for PL_check[OP_HELEM] tinkering

We already do it when PL_check[OP_AELEM] is modified.  Do it
also for PL_check[OP_HELEM].  This will make it easier to get
Data::Alias working.

9 years agodump.c: Suppress extra sigils in multideref dump
Father Chrysostomos [Sat, 20 Dec 2014 13:21:41 +0000 (05:21 -0800)]
dump.c: Suppress extra sigils in multideref dump

This:

  my $z; my @y; $y[$z]

included

  <+> multideref($@y[$$z]) sK ->6

in its -MO=Concise output.

9 years agodump.c:unop_aux_stringify: Use newSVpvn_flags
Father Chrysostomos [Sat, 20 Dec 2014 13:06:13 +0000 (05:06 -0800)]
dump.c:unop_aux_stringify: Use newSVpvn_flags

newSVpvn_flags with SVs_TEMP takes less machine code than
sv_2mortal(newSVpv()).

9 years agoAllow multideref for $x[CONST->$*]
Father Chrysostomos [Sat, 20 Dec 2014 12:43:56 +0000 (04:43 -0800)]
Allow multideref for $x[CONST->$*]

9 years agoAllow multideref for $x[($pkg)]
Father Chrysostomos [Sat, 20 Dec 2014 12:38:15 +0000 (04:38 -0800)]
Allow multideref for $x[($pkg)]

The parens don’t need to disable the optimisation.

9 years agoFix assertion failure with $x[CONST->[0]]
Father Chrysostomos [Sat, 20 Dec 2014 12:35:24 +0000 (04:35 -0800)]
Fix assertion failure with $x[CONST->[0]]

9 years agoFix assertion failure with $x[($_)]
Father Chrysostomos [Sat, 20 Dec 2014 12:33:47 +0000 (04:33 -0800)]
Fix assertion failure with $x[($_)]

9 years agoAllow multideref for $x[($lex)]
Father Chrysostomos [Sat, 20 Dec 2014 12:29:08 +0000 (04:29 -0800)]
Allow multideref for $x[($lex)]

The parens don’t need to disable the optimisation.

(The OPpLVAL_INTRO flag [indicating my or state] has no run-time
effect for state vars, so we could ignore it and optimise, but it
would make deparsing inordinately complex, and no-one would write
$x[state $y] anyway.)

9 years agoprotect RExC_naughty changes behind macros
Hugo van der Sanden [Sat, 20 Dec 2014 12:21:27 +0000 (12:21 +0000)]
protect RExC_naughty changes behind macros

Avoid overflow, and add a bit of explanation.

9 years agoPerlIO::scalar: skip the 4GB seek test if off_t is too small
Tony Cook [Sat, 20 Dec 2014 02:52:29 +0000 (13:52 +1100)]
PerlIO::scalar: skip the 4GB seek test if off_t is too small

9 years ago01234567890123456789012345678901234567890123456789
Father Chrysostomos [Sat, 20 Dec 2014 00:42:30 +0000 (16:42 -0800)]
01234567890123456789012345678901234567890123456789
pp.h: Remove stack-popping from void overload code

There is no need to pop the stack in void context, as every void-context
op is followed by something that resets the stack.

9 years ago[perl #123458] list cx re::regexp_pattern($nonre)
Father Chrysostomos [Sat, 20 Dec 2014 00:20:42 +0000 (16:20 -0800)]
[perl #123458] list cx re::regexp_pattern($nonre)

It was returning (undef) in list context, though it was documented to
return the empty list.

9 years agouniversal.c:re_regexp_pattern: Mention GIMME_V once
Father Chrysostomos [Sat, 20 Dec 2014 00:15:05 +0000 (16:15 -0800)]
universal.c:re_regexp_pattern: Mention GIMME_V once

While it was only being called once, it occurred in two code paths.
Pulling it out of the main if-block reduces the size of universal.o.
Before and after:

$ ls -l universal.o
-rw-r--r--  1 sprout  staff  33700 Dec 19 16:05 universal.o
$ ls -l universal.o
-rw-r--r--  1 sprout  staff  33692 Dec 19 16:13 universal.o

9 years agopp_sys.c:pp_readdir: Call GIMME_V just once
Father Chrysostomos [Sat, 20 Dec 2014 00:11:32 +0000 (16:11 -0800)]
pp_sys.c:pp_readdir: Call GIMME_V just once

9 years agopp_ctl.c: Only do GIMME_V once in pp_caller
Father Chrysostomos [Sat, 20 Dec 2014 00:09:53 +0000 (16:09 -0800)]
pp_ctl.c: Only do GIMME_V once in pp_caller

This shrinks the machine code.

Before and after:

$ ls -l pp_ctl.o
-rw-r--r--  1 sprout  staff  96156 Dec 19 16:05 pp_ctl.o
$ ls -l pp_ctl.o
-rw-r--r--  1 sprout  staff  96044 Dec 19 16:09 pp_ctl.o

9 years agoUse GIMME_V in preference to GIMME
Father Chrysostomos [Sat, 20 Dec 2014 00:05:15 +0000 (16:05 -0800)]
Use GIMME_V in preference to GIMME

GIMME_V is a simpler macro that results in smaller machine code.

GIMME does not distinguish between scalar and void context.  The two
instances of GIMME == G_SCALAR that I changed (which used to match
void context too, but no longer do) are in code paths unreachable in
void context, so we don’t need to check for it.

9 years agowantarray.t: $got before $expected
Father Chrysostomos [Fri, 19 Dec 2014 20:41:43 +0000 (12:41 -0800)]
wantarray.t: $got before $expected

When the tests fail, the diagnostic output is very confusing
otherwise.

9 years agowantarray.t: Test logops at sub exit
Father Chrysostomos [Fri, 19 Dec 2014 04:25:06 +0000 (20:25 -0800)]
wantarray.t: Test logops at sub exit

9 years agowantarray.t: Remove unused var
Father Chrysostomos [Fri, 19 Dec 2014 01:57:44 +0000 (17:57 -0800)]
wantarray.t: Remove unused var

It stopped being used in dab34d0f01.

9 years agofix integer overflow in S_regpiece().
David Mitchell [Fri, 19 Dec 2014 22:52:55 +0000 (22:52 +0000)]
fix integer overflow in S_regpiece().

RExC_naughty is incremented when nasty bits of regex are found.
If at the end of compilation, its > 01, then PREGf_NAUGHTY is set on the
pattern.

However, some bits of S_regpiece on detecting naughiness, double or nearly
double RExC_naughty, quickly resulting in overflow of the I32.

I've fixed it by skipping the doubling when RExC_naughty is large,
but I don't know whether the doubling is conceptually wrong in the first
place.

Found by -fsanitize=undefined.

9 years agofix integer overflow in S_study_chunk().
David Mitchell [Fri, 19 Dec 2014 22:35:48 +0000 (22:35 +0000)]
fix integer overflow in S_study_chunk().

It was adding to delta even when delta was already SSize_t_MAX

This triggered it: /.*(ab|abc)/.

Found by -fsanitize=undefined.

9 years agofix integer overflow in S_study_chunk().
David Mitchell [Fri, 19 Dec 2014 22:19:58 +0000 (22:19 +0000)]
fix integer overflow in S_study_chunk().

It was adding SSize_t_MAX to data->last_start_max when
data->last_start_max was already SSize_t_MAX.

This triggered it: /(x+y)+/.

Found by -fsanitize=undefined.

9 years agofix integer overflow in S_scan_commit().
David Mitchell [Fri, 19 Dec 2014 21:41:11 +0000 (21:41 +0000)]
fix integer overflow in S_scan_commit().

offset_float_max could end up as SSize_t_MAX+1.

This triggered it: /^x(ab|c.+)$/.

Found by -fsanitize=undefined.

9 years agoadd asan_ignore - which errors to ignore
David Mitchell [Fri, 19 Dec 2014 20:31:00 +0000 (20:31 +0000)]
add asan_ignore - which errors to ignore

"clang -fsanitize=undefined" produces lots of false positives.
This file allows certain functions to be excluded from checking.
Use it as:

    clang -fsanitize=undefined -fsanitize-blacklist=`pwd`/asan_ignore

9 years agoop.c: better casting fix
David Mitchell [Fri, 19 Dec 2014 17:25:34 +0000 (17:25 +0000)]
op.c: better casting fix

My commit 0cb87cd1a of a few minutes ago broke g++. Hopefully this
commit won't break anything else.

9 years agofix a couple of win32 op.c warnings
David Mitchell [Fri, 19 Dec 2014 17:05:27 +0000 (17:05 +0000)]
fix a couple of win32 op.c warnings

These warnings appear on win32 smokes.

op.c(8600) : warning C4244: 'function' : conversion from 'cv_flags_t' to 'char'
, possible loss of data
op.c(11905) : warning C4146: unary minus operator applied to unsigned type, res
ult still unsigned

Since I'm not running windows, I can't confirm that this commit shuts up
these warnings, but I think think I've understood them correctly.

9 years agoODBM: fix a compiler warning.
David Mitchell [Fri, 19 Dec 2014 16:54:01 +0000 (16:54 +0000)]
ODBM: fix a compiler warning.

This has been applied blind since my system doesn't have libodbm,
but it matches exactly the cast added to NDBM's typemap a few years ago to
fix a similar warning.

9 years agoNDBM: silence 'unused var' warnings x 2
David Mitchell [Fri, 19 Dec 2014 16:31:51 +0000 (16:31 +0000)]
NDBM: silence 'unused var' warnings x 2

(I've done this blind because I don't have libndbm on my system)

9 years agoB.xs: remove redundant assignment
David Mitchell [Fri, 19 Dec 2014 16:09:19 +0000 (16:09 +0000)]
B.xs: remove redundant assignment

Follow-up to 500f40f555ee.

9 years agoExtUtils::Embed: silence test warning
David Mitchell [Fri, 19 Dec 2014 11:40:33 +0000 (11:40 +0000)]
ExtUtils::Embed: silence test warning

From the added code comments:

    XXX DAPM 12/2014: ExtUtils::Embed doesn't seem to provide API access
    to $Config{optimize} and so compiles the test code without
    optimisation on optimised perls. This causes the compiler to warn
    when -D_FORTIFY_SOURCE is in force without -O. For now, just strip
    the fortify on optimised builds to avoid the warning.

9 years agoAlso allow /\N{}/
Father Chrysostomos [Fri, 19 Dec 2014 06:10:49 +0000 (22:10 -0800)]
Also allow /\N{}/

See 4cbd7e223 and ticket #123417.

If a charnames handler returns the empty string for a particular name,
then the regular expression stringifies with an empty \N{} in it.
This needs to round-trip properly (eval "/$qr/"), just like \N{U+...}.

9 years agoperldelta for 1e2dd519
Father Chrysostomos [Thu, 18 Dec 2014 23:52:14 +0000 (15:52 -0800)]
perldelta for 1e2dd519

9 years agoperldelta for 3b91d897
Father Chrysostomos [Thu, 18 Dec 2014 23:50:57 +0000 (15:50 -0800)]
perldelta for 3b91d897

9 years agoperldelta for 1f3063473
Father Chrysostomos [Thu, 18 Dec 2014 22:55:34 +0000 (14:55 -0800)]
perldelta for 1f3063473

9 years agoperldelta for 9d52f6f3f87
Father Chrysostomos [Thu, 18 Dec 2014 22:53:38 +0000 (14:53 -0800)]
perldelta for 9d52f6f3f87

9 years agoperldelta for 84ee769f11
Father Chrysostomos [Thu, 18 Dec 2014 22:48:48 +0000 (14:48 -0800)]
perldelta for 84ee769f11

9 years agoinclude reference to metacpan.org; refer to the module-authors list instead of module...
Karen Etheridge [Thu, 18 Dec 2014 19:17:56 +0000 (11:17 -0800)]
include reference to metacpan.org; refer to the module-authors list instead of modules, and include a link to the subscription page

9 years agoUpdate Unicode-Collate to CPAN version 1.09
Chris 'BinGOs' Williams [Thu, 18 Dec 2014 18:38:57 +0000 (18:38 +0000)]
Update Unicode-Collate to CPAN version 1.09

  [DELTA]

1.09  Thu Dec 18 21:39:18 2014
    - XS: a workaround for perl 5.6.x to handle noncharacters U+FFFF etc.
      is abandoned. Perl 5.8.0 or later is recommended for handling these
      noncharacters.

9 years agoperldelta for 696efa16de2c
Tony Cook [Thu, 18 Dec 2014 04:42:11 +0000 (15:42 +1100)]
perldelta for 696efa16de2c

9 years agofix PerlIO::scalar get_cnt when the file position is beyond 2GB
Tony Cook [Thu, 18 Dec 2014 03:48:34 +0000 (14:48 +1100)]
fix PerlIO::scalar get_cnt when the file position is beyond 2GB

This caused a new test to fail on 32-bit builds.

9 years agoregen pod issues
Father Chrysostomos [Thu, 18 Dec 2014 00:03:36 +0000 (16:03 -0800)]
regen pod issues

The F<>/L<> warning is bogus in this case.

9 years ago[perl #123417] Allow lexer to parse \N{U+dotted.hex}
Father Chrysostomos [Sun, 14 Dec 2014 14:55:30 +0000 (06:55 -0800)]
[perl #123417] Allow lexer to parse \N{U+dotted.hex}

This ‘unoffical’ notation is used in stringifying regular expressions
that contain named sequences, so that qr/\N{foo}/ stringified can be
incorporated into another regular expression in a different scope and
still mean the same thing.

This also needs to work with eval "/$that_qr/".  I didn’t because the
lexer rejected this syntax.

9 years agoperldelta for 63d073d27fe5, 1d050e5534ce
Tony Cook [Wed, 17 Dec 2014 23:06:08 +0000 (10:06 +1100)]
perldelta for 63d073d27fe51d050e5534ce

9 years agodon't allow a negative file position on a PerlIO::scalar handle
Tony Cook [Wed, 17 Dec 2014 02:54:25 +0000 (13:54 +1100)]
don't allow a negative file position on a PerlIO::scalar handle

previosly seek() would produce an error, but would still make the\
file position negative.

9 years ago[perl #123443] avoid overflowing got into a negative number
Tony Cook [Wed, 17 Dec 2014 02:32:43 +0000 (13:32 +1100)]
[perl #123443] avoid overflowing got into a negative number

9 years agoUpdate Filter::Util::Call to CPAN version 1.51
Chris 'BinGOs' Williams [Wed, 17 Dec 2014 21:01:29 +0000 (21:01 +0000)]
Update Filter::Util::Call to CPAN version 1.51

  [DELTA]

1.50 2014-06-04 rurban
----

  * Do not re-bless already blessed filter_add arguments into the callers package.
    Fixes RT #54452
  * t/z_pod-coverage.t: omit empty Filter::decrypt (also fixes RT #84405)
  * Fix Perl Compiler detection in Filter::decrypt

1.51 2014-12-09 rurban
----

  * Minor -Wall -Wextra cleanups by jhi and me. Fixes RT #100742
  * Updated Copyright years
  * Document and warn about its limitations

9 years agoSort perldiag
Father Chrysostomos [Wed, 17 Dec 2014 20:37:07 +0000 (12:37 -0800)]
Sort perldiag

9 years agoperldelta typos
Father Chrysostomos [Wed, 17 Dec 2014 20:32:30 +0000 (12:32 -0800)]
perldelta typos

9 years agoFix bad read in pad.c:cv_undef
Father Chrysostomos [Tue, 16 Dec 2014 22:25:22 +0000 (14:25 -0800)]
Fix bad read in pad.c:cv_undef

When freeing a sub, we can’t assume an entry named "&" contains a CV.
It may instead be a weak reference to a format or named sub, or undef
if such a reference went stale, in which case we don’t want to mess
with CvOUTSIDE pointers.

This bug probably goes back to v5.17.1-213-ge09ac07, when weak refer-
ences started being stored in "&" pad entries.  It didn’t start trig-
gering AddressSanitizer failures until it was extended to named subs,
in v5.21.6-386-ga70f21d.

9 years agoimprove xs_handshake() diag message
David Mitchell [Wed, 17 Dec 2014 17:29:42 +0000 (17:29 +0000)]
improve xs_handshake() diag message

The important part of the error message is that the binaries are
mismatched; the details of the handshake keys are an implementation
detail.

Or to put it another way, when someone mixes up their paths, getting
something like

    Fcntl.c: Invalid handshake key got 0xcf80000 needed 0xd700000, binaries are mismatched

Is a bit scary and confusing. This is hopefully (slightly) less scary:

    Fcntl.c: loadable library and perl binaries are mismatched (got handshake key 0xcf80000, needed 0xd700000)

9 years agoxs_handshake(() clean up desciption
David Mitchell [Wed, 17 Dec 2014 17:13:26 +0000 (17:13 +0000)]
xs_handshake(() clean up desciption

Clean up the description of this function; in particular, say at the top
what the function is for; fix typos; and generally improve the readability
of the text.

9 years agoTemplate::Declare's tests now pass under 5.22-to-be
Aaron Crane [Wed, 17 Dec 2014 16:07:42 +0000 (16:07 +0000)]
Template::Declare's tests now pass under 5.22-to-be

9 years agoRemove duplicate apidoc entries
David Mitchell [Wed, 17 Dec 2014 15:54:18 +0000 (15:54 +0000)]
Remove duplicate apidoc entries

Modify apidoc.pl to warn about duplicate apidoc entries, and
remove duplicates for av_tindex and toLOWER_LC

9 years agoupdate perldelta for UNOP_AUX and OP_MULTIDEREF
David Mitchell [Wed, 17 Dec 2014 15:37:19 +0000 (15:37 +0000)]
update perldelta for UNOP_AUX and OP_MULTIDEREF

9 years agoINSTALL: warning text has changed
David Mitchell [Wed, 17 Dec 2014 15:17:35 +0000 (15:17 +0000)]
INSTALL: warning text has changed

Some text tells you about

    Note (probably harmless): No library found for -lsomething

warnings, but the actual warning has now changed to

    Warning (mostly harmless): No library found for -lsomething

9 years agoDeparse constant Perl subs
Father Chrysostomos [Wed, 17 Dec 2014 04:35:43 +0000 (20:35 -0800)]
Deparse constant Perl subs

Subs like sub f () { 42 } stopped being emitted, probably in
v5.21.3-638-g2eaf799, when such subs started being stored as simple
scalar refs in the stash.

9 years agoVMS does have fsync, so configure accordingly.
Craig A. Berry [Wed, 17 Dec 2014 03:09:40 +0000 (21:09 -0600)]
VMS does have fsync, so configure accordingly.

And has had since roughly the beginning of time, and has even been
using it since right around then in vms/vms.c.  But it doesn't work
on read-only filehandles, so skip the test that expects that.