This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5.git
6 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

6 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

6 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

6 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.

6 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.

6 years agoClean up VMS includes in ext/Errno/Errno_pm.PL.
Craig A. Berry [Wed, 17 Dec 2014 01:14:11 +0000 (19:14 -0600)]
Clean up VMS includes in ext/Errno/Errno_pm.PL.

There are currently (and for many years now) no viable alternatives
to the headers that come with the operating system, regardless of
compiler.

6 years agoObsolete workaround in ext/SDBM_File/sdbm/Makefile.PL.
Craig A. Berry [Wed, 17 Dec 2014 01:11:22 +0000 (19:11 -0600)]
Obsolete workaround in ext/SDBM_File/sdbm/Makefile.PL.

Hasn't been necessary or relevant for some years.

6 years agoAdd Template::Declare to perl5220delta
Father Chrysostomos [Tue, 16 Dec 2014 20:42:20 +0000 (12:42 -0800)]
Add Template::Declare to perl5220delta

for #123364.

6 years agoStorable.xs: introduce SEEN*_NN
David Mitchell [Tue, 16 Dec 2014 16:57:25 +0000 (16:57 +0000)]
Storable.xs: introduce SEEN*_NN

Introduce _NN versions of the SEEN() and SEEN0() macros, that
don't bother to check whether their first arg is null.

The initial motivation for this was to to silence a compiler warning
about a conditional always being true in SEEN(&PL_sv_undef,...), but
I've also applied it to all places in the code where it's clear that the
arg can't be null, e.g.

    sv = NEWSV();
    SEEN(sv,...);

At it happens, "places where" currently equates to every usage of
SEEN/SEEN0 in the source code.

6 years agoperldiag.pod: fix typo
David Mitchell [Tue, 16 Dec 2014 15:22:07 +0000 (15:22 +0000)]
perldiag.pod: fix typo

6 years agotoupper/lower: avoid sign warnings
David Mitchell [Tue, 16 Dec 2014 12:20:25 +0000 (12:20 +0000)]
toupper/lower: avoid sign warnings

Perl's toLOWER_LC() etc macros are specified as having U8 arg and return,
while the underlying macro may call the OS's tolower() function which is
int. Stop the compiler warning about mismatched sign in conditional by
casting the result of the OS function.

6 years ago[perl #123436] installperl patch related to $Config{dlext}
kmx [Tue, 16 Dec 2014 09:00:16 +0000 (09:00 +0000)]
[perl #123436] installperl patch related to $Config{dlext}

6 years ago[perl #123438] Wrong comment style in win32/win32.h
kmx [Tue, 16 Dec 2014 08:52:07 +0000 (08:52 +0000)]
[perl #123438] Wrong comment style in win32/win32.h

6 years ago[perl #123020] Scalar cx for lhs of void (...)x...
Father Chrysostomos [Tue, 16 Dec 2014 06:23:23 +0000 (22:23 -0800)]
[perl #123020] Scalar cx for lhs of void (...)x...

No sane code calls x in void context (except at the end of a subrou-
tine), but we have to handle it anyway.

Previously, the left-hand parenthesized operand to (...)x... would be
evaluated in the context in which the current sub was called.  I.e.,
if the last statement in the current sub is called in last context,
then then lhs of (...)x... a hundred lines earlier (say we have a
big sub) is called in list context, even though it is completely
unrelated.

Since the left-hand operand could be called in any of the three con-
texts when x itself was in void context, I could choose whatever I
wanted when making it consistent.  Scalar context makes the most sense
to me, because x falls back to string repeat when not in list context,
and because void context makes stack handling complex.

Unfortunately, this does not fix the context if x occurs at the end of
a subroutine.  That will be a lot trickier to fix.  (Hence, the com-
plex stack handling in pp_repeat must remain.)

6 years agoDon’t ignore rv2gv when deparsing readline
Father Chrysostomos [Tue, 16 Dec 2014 06:05:18 +0000 (22:05 -0800)]
Don’t ignore rv2gv when deparsing readline

Unlike most handle ops, readline does not implicitly add an rv2gv op.

In fact, there is a difference in behaviour, depending on whether
there is an rv2gv op present.  An explicit * (rv2gv) will force vivi-
fication of the typeglob, but ‘readline’ alone won’t vivify it.

So B::Deparse should not ignore the rv2gv kid of readline.

Previously, readline(*$foo) (vivifying) would deparse as <$foo> (non-
ivifying), and readline *{$foo} would deparse as readline do { $foo }
(same behavioural difference again).

6 years agoDeparse: Restore proto checks for coderef2text
Father Chrysostomos [Tue, 16 Dec 2014 04:37:11 +0000 (20:37 -0800)]
Deparse: Restore proto checks for coderef2text

This fixes #123435 (I hope).

Before v5.21.6-485-gf2279a6, B::Deparse, when deparsing sub calls,
would look in the stash for a sub with a prototype, and use that
prototype for deparsing.  (It would only do this for subs that it
itself is not going to deparse.)  That caused this to deparse
incorrectly:

BEGIN {
   require Test::More;
   is("foo", "foo");
}

Because of the presence of the prototyped &main::is by the time
B::Deparse is invoked, it would deparse the is() sub call without
parentheses, resulting in invalid code.

So I changed it to trust only those subs that it has already deparsed.

Now, with coderef2text, B::Deparse doesn’t deparse any subs except the
one passed to it.  So *all* prototype sub calls turn into &foo, break-
ing CPAN tests that expect otherwise.  While such tests could be con-
sidered too sensitive, I don’t think that this is necessarily a sane
default for coderef2text.

Ideally we should provide the option to tell coderef2text which
subs to trust, the default being to trust all of them.  But for
now I will just implement that default, which means reverting
v5.21.6-485-gf2279a6 *for coderef2text*, but not when deparsing the
main program.

6 years agoDeparse.pm: Remove obsolete comment about globals
Father Chrysostomos [Tue, 16 Dec 2014 04:31:16 +0000 (20:31 -0800)]
Deparse.pm: Remove obsolete comment about globals

Knowing that object fields were globals is no longer useful, unless
one is intimately familiar with a very old version of B::Deparse and
wants to find his way around the new one.  (Good luck!)

Furthermore, several of these ‘former globals’ were never globals,
because they came after this comment.

6 years agoSkip obsolete skip in io_xs.t.
Craig A. Berry [Tue, 16 Dec 2014 03:20:13 +0000 (21:20 -0600)]
Skip obsolete skip in io_xs.t.

The VAXC compiler and its compatibility library VAXCRTL are long
since obsolete.

6 years agoperldelta for 3f6e436ff088
Tony Cook [Tue, 16 Dec 2014 00:37:58 +0000 (11:37 +1100)]
perldelta for 3f6e436ff088

also move the B::Deparse fix under B::Deparse

6 years agodocument + improve ancient optimization in ParseXS
Daniel Dragan [Fri, 12 Dec 2014 10:16:50 +0000 (05:16 -0500)]
document + improve ancient optimization in ParseXS

From commit 8990e30710 "perl 5.0 alpha 6". The DESTROY XSUB with T_PTROBJ
as INPUT arg was refusing to obey my custom typemap for T_PTROBJ, but all
other XSUBs followed the custom T_PTROBJ override. Extend this
optimization to other rarely used typemap types and document this behavior.

6 years agoDeparse: Stop =~ QR_CONST from dropping flags
Father Chrysostomos [Mon, 15 Dec 2014 17:23:11 +0000 (09:23 -0800)]
Deparse: Stop =~ QR_CONST from dropping flags

6 years agoAdd B::REGEXP::compflags
Father Chrysostomos [Mon, 15 Dec 2014 17:43:41 +0000 (09:43 -0800)]
Add B::REGEXP::compflags

6 years agoDeparse.pm: Two more matchwords
Father Chrysostomos [Mon, 15 Dec 2014 13:53:39 +0000 (05:53 -0800)]
Deparse.pm: Two more matchwords

This is *highly* important. :-)

6 years agodeparse-skips.txt: op/getpid.t fails
Father Chrysostomos [Mon, 15 Dec 2014 02:27:39 +0000 (18:27 -0800)]
deparse-skips.txt: op/getpid.t fails

6 years agodeparse-skips.txt: More passing tests
Father Chrysostomos [Mon, 15 Dec 2014 02:25:30 +0000 (18:25 -0800)]
deparse-skips.txt: More passing tests

6 years agoDeparse system-BLOCK correctly
Father Chrysostomos [Mon, 15 Dec 2014 02:24:08 +0000 (18:24 -0800)]
Deparse system-BLOCK correctly

Same with exec.  Don’t put ‘do’ before the block.

This was accomplished by running it through the same code path
(indirop) that print and sort already go through.

There was a slight discrepancy between listop and indirop in the way
they handled no arguments.  Before we would get:

    () = system;
    () = exec;
    () = sort();

Instead of making the first two get the redundant parentheses, I
changed indirop, so sort lost them.

6 years agodeparse-skips.txt: eval tests pass
Father Chrysostomos [Mon, 15 Dec 2014 02:15:23 +0000 (18:15 -0800)]
deparse-skips.txt: eval tests pass

6 years agodeparse-skips.txt: Skip reason for op/each.t
Father Chrysostomos [Mon, 15 Dec 2014 02:14:50 +0000 (18:14 -0800)]
deparse-skips.txt: Skip reason for op/each.t

6 years agopp_readline: Don’t set PL_last_in_gv to &PL_sv_undef
Father Chrysostomos [Mon, 15 Dec 2014 17:41:54 +0000 (09:41 -0800)]
pp_readline: Don’t set PL_last_in_gv to &PL_sv_undef

Code elsewhere assumes it is always a GV or NULL:

readline "foo";
my $lastfh = "${^LAST_FH}";

6 years agoadd cpan/Test-Simple/t/Behavior/subtest_die.t to MANIFEST
Father Chrysostomos [Mon, 15 Dec 2014 03:40:07 +0000 (19:40 -0800)]
add cpan/Test-Simple/t/Behavior/subtest_die.t to MANIFEST

6 years agoperl.pod: Use consistent perldelta order
Aristotle Pagaltzis [Mon, 15 Dec 2014 02:43:51 +0000 (03:43 +0100)]
perl.pod: Use consistent perldelta order

6 years agoperl.pod: Line things up vertically
Father Chrysostomos [Mon, 15 Dec 2014 02:10:20 +0000 (18:10 -0800)]
perl.pod: Line things up vertically

6 years agoImport perl5184delta
Father Chrysostomos [Mon, 15 Dec 2014 01:02:02 +0000 (17:02 -0800)]
Import perl5184delta

6 years agoTest-Simple Version Bump, 1.301001_090 (RC10)
Chad Granum [Mon, 15 Dec 2014 02:09:12 +0000 (03:09 +0100)]
Test-Simple Version Bump, 1.301001_090 (RC10)

6 years agoDon’t set PadlistMAXNAMED for single-char entries
Father Chrysostomos [Mon, 15 Dec 2014 01:14:23 +0000 (17:14 -0800)]
Don’t set PadlistMAXNAMED for single-char entries

This fixes perl #123430.

Single-character entries like "$" and "&" are not actually named
entries, but are partially treated as such for the sake of bookkeeping
and scope.  (E.g., a flipflop target must have the same lifetime as a
state variable.)

PadlistMAXNAMED is an optimisation that marks the offset of the high-
est pad slot with a name.  If there any many anonymous pad slots after
the last named one, we don’t want to search through them when looking
up a symbol.  So we mark the maximum named slot and skip half the pad
if we are lucky.

Commit v5.21.4-51-g14d9114 caused flipflop targets to be allocated as
variables named "$", causing compilation of some generated code to
slow down.  At compile time, the name pad is not extended to the
length of the pad until the end of subroutine compilation.  So prior
to 14d9114 flipflop targets would not make the name pad any longer.
Now that flipflop targets expand the name pad, stop setting
PadlistMAXNAMED, so that things are no slower than before.

This is not really the best fix, IMO, because code that is sensitive
to this will slow down dramatically if you tweak it ever so slightly
by adding a ‘my $x’ here or there.

6 years agoperldelta for syber’s method stuff
Father Chrysostomos [Sun, 14 Dec 2014 23:59:31 +0000 (15:59 -0800)]
perldelta for syber’s method stuff

b55b14d0f234ed20e6c2a0b6fd8609fa418cddf3
e3384dcea386322f748cca779e4b8d80c8644024
d648ffcb179b885089e064ec1d58c60027c80915
7d6c333c75cb0519428c389de3894edcb394d3a0
810bd8b704e337dfba3e46eaea33244c1b0afce3
c6afe6664edd0f72ba320c7d17ab247876849084
c290e187228e365708b7d5a9ae53ad10c3c002c6

This description is not precise, but trying to explain exactly which
cases have and have not been optimised would make it confusing.

6 years agoperldelta for 0ed5b3c8f7
Father Chrysostomos [Sun, 14 Dec 2014 23:53:44 +0000 (15:53 -0800)]
perldelta for 0ed5b3c8f7

6 years agoperldelta for 0175f038c506e
Father Chrysostomos [Sun, 14 Dec 2014 23:53:09 +0000 (15:53 -0800)]
perldelta for 0175f038c506e

6 years agoperldelta for 127ce1c
Father Chrysostomos [Sun, 14 Dec 2014 23:52:41 +0000 (15:52 -0800)]
perldelta for 127ce1c

6 years agoperldelta for f6a1dc93
Father Chrysostomos [Sun, 14 Dec 2014 23:51:15 +0000 (15:51 -0800)]
perldelta for f6a1dc93

6 years agoperldelta for 3f193e551 and 8c2e27d21
Father Chrysostomos [Sun, 14 Dec 2014 22:40:36 +0000 (14:40 -0800)]
perldelta for 3f193e551 and 8c2e27d21

6 years agoperldelta for bae5b54e7
Father Chrysostomos [Sun, 14 Dec 2014 22:38:40 +0000 (14:38 -0800)]
perldelta for bae5b54e7

6 years agoperldelta for f518ad75
Father Chrysostomos [Sun, 14 Dec 2014 22:37:51 +0000 (14:37 -0800)]
perldelta for f518ad75

6 years agoperldelta for 487e470d / #123410
Father Chrysostomos [Sun, 14 Dec 2014 22:36:56 +0000 (14:36 -0800)]
perldelta for 487e470d / #123410

6 years agoperldelta for c310a5abff1
Father Chrysostomos [Sun, 14 Dec 2014 22:33:36 +0000 (14:33 -0800)]
perldelta for c310a5abff1

6 years agoperldelta for a70f21d0d1
Father Chrysostomos [Sun, 14 Dec 2014 22:30:05 +0000 (14:30 -0800)]
perldelta for a70f21d0d1

6 years agoperldelta for e6dae479a
Father Chrysostomos [Sun, 14 Dec 2014 22:28:11 +0000 (14:28 -0800)]
perldelta for e6dae479a

6 years agoperldelta for ba0372a04
Father Chrysostomos [Sun, 14 Dec 2014 22:26:40 +0000 (14:26 -0800)]
perldelta for ba0372a04

6 years agoperldelta for df46573596 and 917a8f4f
Father Chrysostomos [Sun, 14 Dec 2014 22:16:47 +0000 (14:16 -0800)]
perldelta for df46573596 and 917a8f4f

6 years agoperldelta for c65b7c4d
Father Chrysostomos [Sun, 14 Dec 2014 22:14:27 +0000 (14:14 -0800)]
perldelta for c65b7c4d

6 years agoperldelta for 2a43599bfdf
Father Chrysostomos [Sun, 14 Dec 2014 22:12:52 +0000 (14:12 -0800)]
perldelta for 2a43599bfdf

6 years agoperldelta for de001ba03 and 67359f08a
Father Chrysostomos [Sun, 14 Dec 2014 22:08:57 +0000 (14:08 -0800)]
perldelta for de001ba03 and 67359f08a

6 years agoperldelta for ddb555489 / #123357
Father Chrysostomos [Sun, 14 Dec 2014 22:05:16 +0000 (14:05 -0800)]
perldelta for ddb555489 / #123357

6 years agoperldelta for cbce292e0b / #114498
Father Chrysostomos [Sun, 14 Dec 2014 22:03:23 +0000 (14:03 -0800)]
perldelta for cbce292e0b / #114498

6 years agoperldelta for b813f4458 / #123217 / #115256
Father Chrysostomos [Sun, 14 Dec 2014 22:01:22 +0000 (14:01 -0800)]
perldelta for b813f4458 / #123217 / #115256

6 years agoperldelta for d52196e1
Father Chrysostomos [Sun, 14 Dec 2014 21:58:13 +0000 (13:58 -0800)]
perldelta for d52196e1

6 years agoperldelta for 9e32885a
Father Chrysostomos [Sun, 14 Dec 2014 21:57:11 +0000 (13:57 -0800)]
perldelta for 9e32885a

6 years agoperldelta: Add #40565 bug number
Father Chrysostomos [Sun, 14 Dec 2014 21:55:45 +0000 (13:55 -0800)]
perldelta: Add #40565 bug number

6 years agoperldelta for 429ba3b201
Father Chrysostomos [Sun, 14 Dec 2014 21:52:53 +0000 (13:52 -0800)]
perldelta for 429ba3b201

6 years agoperldelta for B pad name changes
Father Chrysostomos [Sun, 14 Dec 2014 21:48:10 +0000 (13:48 -0800)]
perldelta for B pad name changes

6 years agoperldelta for 2a9203e94
Father Chrysostomos [Sun, 14 Dec 2014 21:46:56 +0000 (13:46 -0800)]
perldelta for 2a9203e94

6 years agoperldelta for 2502ffdfca
Father Chrysostomos [Sun, 14 Dec 2014 21:45:48 +0000 (13:45 -0800)]
perldelta for 2502ffdfca

6 years agoperldelta for 0f94cb1f / #123223
Father Chrysostomos [Sun, 14 Dec 2014 21:45:09 +0000 (13:45 -0800)]
perldelta for 0f94cb1f / #123223

6 years agoperldelta for 3bc8ec963 / #123344
Father Chrysostomos [Sun, 14 Dec 2014 21:40:58 +0000 (13:40 -0800)]
perldelta for 3bc8ec963 / #123344

6 years agoperldelta for 6190dd991505e
Father Chrysostomos [Sun, 14 Dec 2014 21:39:26 +0000 (13:39 -0800)]
perldelta for 6190dd991505e

6 years agoperldelta for d4f1bfe74 / #116553
Father Chrysostomos [Sun, 14 Dec 2014 21:37:52 +0000 (13:37 -0800)]
perldelta for d4f1bfe74 / #116553

6 years agoperldelta for 569ddb4a5
Father Chrysostomos [Sun, 14 Dec 2014 21:36:13 +0000 (13:36 -0800)]
perldelta for 569ddb4a5

6 years agoperldelta for 0f602692 / #123286
Father Chrysostomos [Sun, 14 Dec 2014 21:16:50 +0000 (13:16 -0800)]
perldelta for 0f602692 / #123286

6 years agoperldelta for 29179484f / #77860
Father Chrysostomos [Sun, 14 Dec 2014 20:57:15 +0000 (12:57 -0800)]
perldelta for 29179484f / #77860

6 years agoperldelta for 0c46edc2e / #47363
Father Chrysostomos [Sun, 14 Dec 2014 20:55:28 +0000 (12:55 -0800)]
perldelta for 0c46edc2e / #47363

6 years agoperldelta: encoding.pm change is incompatible
Father Chrysostomos [Sun, 14 Dec 2014 20:53:46 +0000 (12:53 -0800)]
perldelta: encoding.pm change is incompatible

so list it under Incompatible Changes.

6 years agoperldelta for ed996a54e9
Father Chrysostomos [Sun, 14 Dec 2014 20:50:35 +0000 (12:50 -0800)]
perldelta for ed996a54e9

6 years agoperldelta for e41e9865be / #4539 / #123062
Father Chrysostomos [Sun, 14 Dec 2014 20:44:50 +0000 (12:44 -0800)]
perldelta for e41e9865be / #4539 / #123062

6 years agoperldelta for 619dadb5
Father Chrysostomos [Sun, 14 Dec 2014 20:36:37 +0000 (12:36 -0800)]
perldelta for 619dadb5

6 years agoB.pm: Document that OP_NULL may be B::COP
Father Chrysostomos [Sun, 14 Dec 2014 19:16:45 +0000 (11:16 -0800)]
B.pm: Document that OP_NULL may be B::COP

6 years agoB.pm: Capitalise B::* Methods consistently
Father Chrysostomos [Sun, 14 Dec 2014 19:15:23 +0000 (11:15 -0800)]
B.pm: Capitalise B::* Methods consistently

6 years agoperldelta for 34b54951 / #77452
Father Chrysostomos [Sun, 14 Dec 2014 19:10:11 +0000 (11:10 -0800)]
perldelta for 34b54951 / #77452

6 years agoUse tabs in AUTHORS
Father Chrysostomos [Sun, 14 Dec 2014 01:28:25 +0000 (17:28 -0800)]
Use tabs in AUTHORS

6 years agoUseqq no longer forces use of the pure-perl Data::Dumper
Tony Cook [Sun, 14 Dec 2014 22:45:23 +0000 (09:45 +1100)]
Useqq no longer forces use of the pure-perl Data::Dumper

6 years agoUpdate Archive-Tar to CPAN version 2.04
Chris 'BinGOs' Williams [Sun, 14 Dec 2014 20:19:54 +0000 (20:19 +0000)]
Update Archive-Tar to CPAN version 2.04

  [DELTA]

2.04  14/12/2014
- RT#100903 enable ptargrep.t to work on VMS

6 years agoTest-Simple Version Bump, 1.301001_089 (RC9)
Chad Granum [Sun, 14 Dec 2014 16:53:53 +0000 (08:53 -0800)]
Test-Simple Version Bump, 1.301001_089 (RC9)

6 years agoPATCH: [perl #23171] Bleadperl breaks ZEFRAM/Hash-SharedMem
Karl Williamson [Sun, 14 Dec 2014 05:51:51 +0000 (22:51 -0700)]
PATCH: [perl #23171] Bleadperl breaks ZEFRAM/Hash-SharedMem

This just makes sure POSIX::strerror() pays attention to the current
locale.

6 years agomakedef.pl: don't hard-code list of mathoms
Aaron Crane [Sun, 7 Dec 2014 15:41:33 +0000 (15:41 +0000)]
makedef.pl: don't hard-code list of mathoms

It's easy enough to read the list out of mathoms.c directly, and this should
prevent almost all bugs of the sort that were fixed by
083750a56b7927292a4bf7b1bf64aa26dd2a6858. (Only names that don't begin with
"Perl_" will cause a problem.)

The list of names detected automatically may actually differ slightly from
the hard-coded list; for example, the definition of Perl_huge() is inside
"#if defined(HUGE_VAL) || (defined(USE_LONG_DOUBLE) && defined(HUGE_VALL))",
but the new code in makedef.pl ignores preprocessor conditions. However, the
list is used as names to *skip*, rather than to include, so it's not a
problem if makedef.pl is willing to skip names that it will never be asked
to include.

6 years agodeparse-skips.txt: do.t now passes
Father Chrysostomos [Sun, 14 Dec 2014 06:28:24 +0000 (22:28 -0800)]
deparse-skips.txt: do.t now passes

6 years agodeparse-skips.txt: crypt.t now passes
Father Chrysostomos [Sun, 14 Dec 2014 06:27:31 +0000 (22:27 -0800)]
deparse-skips.txt: crypt.t now passes

6 years agodeparse-skips.txt: coreamp.t now passes
Father Chrysostomos [Sun, 14 Dec 2014 06:25:52 +0000 (22:25 -0800)]
deparse-skips.txt: coreamp.t now passes

6 years agoDeparse: Don’t parenthesize \my @a needlessly
Father Chrysostomos [Sun, 14 Dec 2014 06:14:34 +0000 (22:14 -0800)]
Deparse: Don’t parenthesize \my @a needlessly

because \my(@a) is different, and produces a list of element refs,
rather than a single reference to the array.

No good:

$ ./perl -Ilib -MO=Deparse -e '\my @x'
\my(@x);
-e syntax OK

6 years agoTest-Simple Version Bump, 1.301001_088 (RC8)
Chad Granum [Sun, 14 Dec 2014 06:44:32 +0000 (22:44 -0800)]
Test-Simple Version Bump, 1.301001_088 (RC8)

6 years agodeparse-skips.txt: More passing tests
Father Chrysostomos [Sun, 14 Dec 2014 05:44:06 +0000 (21:44 -0800)]
deparse-skips.txt: More passing tests

6 years agodeparse-skips.t: chdir.t passes
Father Chrysostomos [Sun, 14 Dec 2014 05:43:04 +0000 (21:43 -0800)]
deparse-skips.t: chdir.t passes

6 years agoFix deparsing of chdir without args
Father Chrysostomos [Sun, 14 Dec 2014 05:40:05 +0000 (21:40 -0800)]
Fix deparsing of chdir without args

I just broke that in 0175f038c5.  I did not realise that OPf_SPECIAL
means two different things on chdir.  (See the previous commit.)

6 years agoop.h: Note chdir’s use of OPf_SPECIAL
Father Chrysostomos [Sun, 14 Dec 2014 05:39:02 +0000 (21:39 -0800)]
op.h: Note chdir’s use of OPf_SPECIAL

6 years agoop.c: Correct comment about OPf_SPECIAL & parens
Father Chrysostomos [Sun, 14 Dec 2014 05:35:12 +0000 (21:35 -0800)]
op.c: Correct comment about OPf_SPECIAL & parens

6 years agoFix ptargrep match.
Craig A. Berry [Sun, 14 Dec 2014 04:09:49 +0000 (22:09 -0600)]
Fix ptargrep match.

The 08_ptargrep.t test does a pattern match that appears to assume platform-specific semantics for the pattern that matches a filename.  It certainly doesn't match the filename on VMS:

not ok 1 - ptargrep shows matched file

But we know the actual filename, so the simplest solution is to just do an equality test on that, and that's what the attached patch does.

Submitted upstream at <https://rt.cpan.org/Public/Bug/Display.html?id=100903>.

6 years agoDeparse chdir(bareword) without quotes
Father Chrysostomos [Sun, 14 Dec 2014 03:11:08 +0000 (19:11 -0800)]
Deparse chdir(bareword) without quotes

6 years agodeparse-skips.t: bop.t passes
Father Chrysostomos [Sun, 14 Dec 2014 01:39:58 +0000 (17:39 -0800)]
deparse-skips.t: bop.t passes

6 years agodeparse-skips.t: Note bug number for attrs.t
Father Chrysostomos [Sun, 14 Dec 2014 01:39:21 +0000 (17:39 -0800)]
deparse-skips.t: Note bug number for attrs.t

‘my’ list assignment with attributes.  Another tricky one.

6 years agodeparse-skips.t: Reason for attrhand.t skip
Father Chrysostomos [Sun, 14 Dec 2014 01:35:21 +0000 (17:35 -0800)]
deparse-skips.t: Reason for attrhand.t skip

This is a hard one which I don’t feel like fixing just now.

6 years agodeparse-skips.txt: array_base.t now passes
Father Chrysostomos [Sun, 14 Dec 2014 01:23:55 +0000 (17:23 -0800)]
deparse-skips.txt: array_base.t now passes

6 years agoDeparse use-ver features correctly
Father Chrysostomos [Sun, 14 Dec 2014 01:18:11 +0000 (17:18 -0800)]
Deparse use-ver features correctly

This does not do the same thing as ‘use v5.16’:

    no feature;
    use feature ":5.16";

because ‘no feature’ restores the default bundle, and does not disa-
ble array_base, whereas ‘use v5.16’ does.  What you need is ‘no fea-
ture ":all"’.