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

7 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

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

7 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

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

7 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. :-)

7 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

7 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

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

7 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

7 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

7 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}";

7 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

7 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

7 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

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

7 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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

7 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

7 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

7 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

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

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

7 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

7 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

7 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)

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

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

7 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

7 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

7 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

7 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

7 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)

7 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

7 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

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

7 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

7 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

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

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

7 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

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

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

7 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

7 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"’.

7 years agoDeparse.t: Adjust a test broken 2 commits ago
Father Chrysostomos [Sun, 14 Dec 2014 01:22:57 +0000 (17:22 -0800)]
Deparse.t: Adjust a test broken 2 commits ago

7 years agoTest for deparsing proto sub calls with &
Father Chrysostomos [Sun, 14 Dec 2014 01:03:16 +0000 (17:03 -0800)]
Test for deparsing proto sub calls with &

See the previous commit’s explanation.

7 years agoRevert ‘alternate way to figure out prototypes’
Father Chrysostomos [Sun, 14 Dec 2014 01:02:23 +0000 (17:02 -0800)]
Revert ‘alternate way to figure out prototypes’

This reverts commit 1d38190f803f2a83884e9591276436394df55dd4.

$ ./perl -Ilib -MO=-q,Deparse -e 'BEGIN { require "t/test.pl"; is("foo","foo") }'
sub BEGIN {
    require 't/test.pl';
    is 'foo', 'foo';
}
-e syntax OK

The resulting code doesn’t even compile, because it lacks parentheses
around the arguments to ‘is’, and the function does not exist yet when
that statement is compiled.

The logic that makes ‘is’ lose its parentheses was added by
this commit:

commit 1d38190f803f2a83884e9591276436394df55dd4
Author: Rafael Garcia-Suarez <rgarciasuarez@gmail.com>
Date:   Tue Jan 1 23:45:21 2002 +0100

    alternate way to figure out prototypes
    Message-ID: <20020101224521.A691@rafael>

    p4raw-id: //depot/perl@14007

Previously, B::Deparse would put & on any prototyped sub call if it
were not deparsing the sub itself, because it is not possible to tell
exactly when the sub will be defined when the program loads.  (That is
still true.)

That meant is(@foo, @bar) would be deparsed as &is(@foo, @bar), which
is wrong, because the arrays are not evaluated in scalar context.
(test.pl and Test::More both have prototypes beginning with $$ for
‘is’.)  1d38190f8 was meant to fix that, and did so by respecting the
prototype if the sub exists and B::Deparse is not going to emit it
(e.g., because it’s in another file than the main program).

As of v5.21.6-321-gc65b7c4, & calls include ‘scalar’ where necessary,
so the fix from 1d38190f8 is no longer necessary.

7 years agoVersion bump for ExtUtils::CBuilder.
Craig A. Berry [Sat, 13 Dec 2014 23:42:15 +0000 (17:42 -0600)]
Version bump for ExtUtils::CBuilder.

7 years agoRemove VAXC special cases from ExtUtils::CBuilder.
Craig A. Berry [Sat, 13 Dec 2014 21:56:18 +0000 (15:56 -0600)]
Remove VAXC special cases from ExtUtils::CBuilder.

VAX C was a pre-ANSI compiler that was superceded about fifteen
years ago, so there is no reason to include special cases for it
now.

7 years agoAllow OPf_SPECIAL on OP_GV
Father Chrysostomos [Sat, 13 Dec 2014 21:32:09 +0000 (13:32 -0800)]
Allow OPf_SPECIAL on OP_GV

The multideref assertions should allow the OPf_SPECIAL flag, because
an OP_GV that started out as OP_CONST and got converted in ck_rvconst
may have have OPf_SPECIAL set already.  This flag is harmless on
OP_GV, so don’t bother turning it off.

7 years agoDon’t call FETCH multiple times on int $inf
Father Chrysostomos [Sat, 13 Dec 2014 20:39:54 +0000 (12:39 -0800)]
Don’t call FETCH multiple times on int $inf

7 years agoFix garbage output from ‘my $é’
Father Chrysostomos [Sat, 13 Dec 2014 20:35:08 +0000 (12:35 -0800)]
Fix garbage output from ‘my $é’

$ echo 'my $é' | iconv -f utf-8 -t iso-8859-1 | ./perl -Ilib -CS
Can't use global $^ÿ\80\8f¿¿¿¿¿¿¿¿¾© in "my" at - line 1, at end of line

In trying to turn the é into a ^X sequence, alloc_my does toCTRL()
(^64) on it, where the character is treated as a signed inte-
ger, i.e., -23 ^ 64, or -87.  In sv_vcatpvfn_flags, it gets
cast to a UV, so it becomes 18446744073709551529 on 64-bit
platforms. Encoded in ‘extended’ UTF8, that becomes
<FF><80><8F><BF><BF><BF><BF><BF><BF><BF><BF><BE><A9> (assuming I cop-
ied and pasted it from less correctly), which only perl recognizes as
chr 18446744073709551529.

We should not be trying to do $^X on non-ASCII characters.

7 years agoRemove obsolete comment from lib/sort.t
Father Chrysostomos [Sat, 13 Dec 2014 17:44:47 +0000 (09:44 -0800)]
Remove obsolete comment from lib/sort.t

It was added by perl-5.6.0-8936-g7821065.  The corresponding comment
in pp_sort.c that it refers to, also added by the same commit, was
removed in perl-5.8.0-5345-g5fe61d9.

7 years agodump.c: Make static functions static
Father Chrysostomos [Sat, 13 Dec 2014 14:02:50 +0000 (06:02 -0800)]
dump.c: Make static functions static

7 years agoUse STATIC_ASSERT in B::PADNAME::FLAGS
Father Chrysostomos [Fri, 12 Dec 2014 16:20:18 +0000 (08:20 -0800)]
Use STATIC_ASSERT in B::PADNAME::FLAGS

7 years agoDeparse require vstring without parens
Father Chrysostomos [Sat, 13 Dec 2014 14:34:48 +0000 (06:34 -0800)]
Deparse require vstring without parens

require(v5.16) does not work.  I broke this by adding the parens in
917a8f4f52.

7 years agorename S_print_gv_name() to S_append_gv_name()
David Mitchell [Sat, 13 Dec 2014 15:15:21 +0000 (15:15 +0000)]
rename S_print_gv_name()  to S_append_gv_name()

and remove its sigil arg.

During development of OP_MULTIDEREF this function evolved; the new
name reflects its usage more accurately, and sigil is always '$'.

7 years agodeparse-skips.t: array.t now passes
Father Chrysostomos [Sat, 13 Dec 2014 06:42:51 +0000 (22:42 -0800)]
deparse-skips.t: array.t now passes

7 years agoDeparse $#{1} with braces
Father Chrysostomos [Sat, 13 Dec 2014 06:42:11 +0000 (22:42 -0800)]
Deparse $#{1} with braces

$#1 is a syntax error.

7 years agodeparse-skips.t: opbasic tests are passing
Father Chrysostomos [Sat, 13 Dec 2014 06:23:22 +0000 (22:23 -0800)]
deparse-skips.t: opbasic tests are passing

7 years agodeparse-skips.t: Note reason for re/rxcode.t
Father Chrysostomos [Sat, 13 Dec 2014 06:21:58 +0000 (22:21 -0800)]
deparse-skips.t: Note reason for re/rxcode.t