This is a live mirror of the Perl 5 development currently hosted at
6 years agoperldelta: Highlight some 5.21 areas; fix others
Karl Williamson [Wed, 13 May 2015 03:39:27 +0000 (21:39 -0600)]
perldelta: Highlight some 5.21 areas; fix others

I added XXX to lines where the text for this perldelta look like it
ought to change somewhat due to this being the delta from 5.20.2 to
5.22.0, instead of from one 5.21 release to another.  I believe, but am
uncertain that several of these should just be deleted; while others
require rewording.  Rather than not call out attention to them, I am
marking them to draw attention to them for people more expert in these
areas to adddress.

Several areas seemed clear to me that a bug introduced in some 5.21
version was fixed in a later 5.21 version, so has zero relevance for
making the jump from 5.20 to 5.22.  I just deleted those.

And I had minor rewording in others, where it mentioned 5.21.  We've
decided not to talk about development releases in the pods.

6 years agoperldelta: Add a couple more C<>'s
Karl Williamson [Wed, 13 May 2015 03:45:53 +0000 (21:45 -0600)]
perldelta: Add a couple more C<>'s

6 years agoperldelta: invoker v0.34 known to need fixes for blead
Ricardo Signes [Wed, 13 May 2015 02:56:38 +0000 (22:56 -0400)]
perldelta: invoker v0.34 known to need fixes for blead

6 years agoperldelta: NgxQueue v0.02 known broken with blead
Ricardo Signes [Wed, 13 May 2015 02:54:46 +0000 (22:54 -0400)]
perldelta: NgxQueue v0.02 known broken with blead

6 years agoperlapi: Remove extraneous ">"
Karl Williamson [Wed, 13 May 2015 02:08:59 +0000 (20:08 -0600)]
perlapi: Remove extraneous ">"

6 years agoperldelta: Combine some text; delete outdated; add new
Karl Williamson [Tue, 12 May 2015 18:04:43 +0000 (12:04 -0600)]
perldelta: Combine some text; delete outdated; add new

6 years agoperldelta: Nits
Karl Williamson [Tue, 12 May 2015 18:04:08 +0000 (12:04 -0600)]
perldelta: Nits

6 years agoperldelta: Add a bunch of C<> and S<>
Karl Williamson [Tue, 12 May 2015 18:01:09 +0000 (12:01 -0600)]
perldelta: Add a bunch of C<> and S<>

It also removes some C<> that were in verbatim sections; reorders some

6 years agoperldelta: Minor consistency / grammar fixes.
Matthew Horsfall [Tue, 12 May 2015 14:43:58 +0000 (10:43 -0400)]
perldelta: Minor consistency / grammar fixes.

6 years agoperldelta: Reword entry about double-diamond operator.
Matthew Horsfall [Tue, 12 May 2015 13:38:36 +0000 (09:38 -0400)]
perldelta: Reword entry about double-diamond operator.

6 years agoperldelta: Update release order for consistency
Matthew Horsfall [Tue, 12 May 2015 13:34:07 +0000 (09:34 -0400)]
perldelta: Update release order for consistency

6 years agoFix a few perldelta typos
Steve Hay [Tue, 12 May 2015 12:21:00 +0000 (13:21 +0100)]
Fix a few perldelta typos

6 years agoperldelta - Fill in missing links
Steve Hay [Tue, 12 May 2015 08:23:51 +0000 (09:23 +0100)]
perldelta - Fill in missing links

6 years agoperldelata: consolate PERL_OP_PARENT stuff
David Mitchell [Tue, 12 May 2015 12:22:32 +0000 (13:22 +0100)]
perldelata: consolate PERL_OP_PARENT stuff

The PERL_OP_PARENT stuff was introduced in 5.21.2, updated in 5.21.7, then
considerably revised in 5.21.11. Consolidate the three sets of perldelta
entries into one coherent whole.

6 years agoperlhist: add the release data for 5.22
Ricardo Signes [Tue, 12 May 2015 01:44:42 +0000 (21:44 -0400)]
perlhist: add the release data for 5.22

Some of this may change, but nothing significantly.

6 years agoperlapi: Use UVCHR_SKIP not UNI_SKIP
Karl Williamson [Mon, 11 May 2015 18:13:14 +0000 (12:13 -0600)]
perlapi: Use UVCHR_SKIP not UNI_SKIP

This new name is more consistent with other uses in the API.

6 years agoperlfunc: Slight clarification
Karl Williamson [Mon, 11 May 2015 01:39:58 +0000 (19:39 -0600)]
perlfunc: Slight clarification

6 years agoPATCH: [perl #125145] perlrun: Fix typo
Karl Williamson [Sun, 10 May 2015 17:12:37 +0000 (11:12 -0600)]
PATCH: [perl #125145] perlrun: Fix typo

6 years agoperlperf: fix some apostrophes and add a C<>
Philippe Bruhat (BooK) [Tue, 5 May 2015 20:22:48 +0000 (22:22 +0200)]
perlperf: fix some apostrophes and add a C<>

6 years agoDo not use bareword TERM or KILL in kill() call in test watchdog process
Steve Hay [Sat, 9 May 2015 13:49:11 +0000 (14:49 +0100)]
Do not use bareword TERM or KILL in kill() call in test watchdog process

6 years agoperlebcdic: Document v5.22 EBCDIC bugs
Karl Williamson [Sat, 9 May 2015 04:15:25 +0000 (22:15 -0600)]
perlebcdic: Document v5.22 EBCDIC bugs

6 years agoperlunicode: Fix small misstatement
Karl Williamson [Sat, 9 May 2015 04:14:21 +0000 (22:14 -0600)]
perlunicode: Fix small misstatement

6 years agoperlapi: Add 2 links to other parts of the pod
Karl Williamson [Sat, 9 May 2015 03:02:37 +0000 (21:02 -0600)]
perlapi: Add 2 links to other parts of the pod

6 years agoperldelta: Fix some podcheck pedantic errors
Karl Williamson [Sat, 9 May 2015 02:34:24 +0000 (20:34 -0600)]
perldelta: Fix some podcheck pedantic errors

6 years agoperlport: Add notes about EBCDIC
Karl Williamson [Sat, 9 May 2015 02:21:52 +0000 (20:21 -0600)]
perlport: Add notes about EBCDIC

6 years agopodcheck: add known link target Devel::Spy
Ricardo Signes [Sat, 9 May 2015 00:37:00 +0000 (20:37 -0400)]
podcheck: add known link target Devel::Spy

6 years agoBump perl version to v5.22.0-RC0
Ricardo Signes [Sat, 9 May 2015 00:19:54 +0000 (20:19 -0400)]
Bump perl version to v5.22.0-RC0

6 years agoperldelta: Devel-Spy known to be broken
Ricardo Signes [Fri, 8 May 2015 23:12:01 +0000 (19:12 -0400)]
perldelta: Devel-Spy known to be broken

6 years agobump version of overload in corelist
Ricardo Signes [Fri, 8 May 2015 23:11:49 +0000 (19:11 -0400)]
bump version of overload in corelist

6 years agodocument that we may add more overloaded ops over time
Ricardo Signes [Fri, 8 May 2015 23:11:40 +0000 (19:11 -0400)]
document that we may add more overloaded ops over time

6 years agoperldelta: prefer "CPAN" to "cpan"
Ricardo Signes [Fri, 8 May 2015 23:05:15 +0000 (19:05 -0400)]
perldelta: prefer "CPAN" to "cpan"

6 years agoperldelta/perldiag: make a pod cross-reference pass tests
Ricardo Signes [Wed, 6 May 2015 12:13:30 +0000 (08:13 -0400)]
perldelta/perldiag: make a pod cross-reference pass tests

Why is this change needed?

6 years agodescribe errors with no description, delete obsolete warnings
Ricardo Signes [Wed, 6 May 2015 12:12:58 +0000 (08:12 -0400)]
describe errors with no description, delete obsolete warnings

6 years agoperldelta is now the perl5220delta
Ricardo Signes [Wed, 6 May 2015 11:42:32 +0000 (07:42 -0400)]
perldelta is now the perl5220delta

6 years agocorelist for v5.22.0
Ricardo Signes [Wed, 6 May 2015 02:55:42 +0000 (22:55 -0400)]
corelist for v5.22.0

6 years agobump version: make regen
Ricardo Signes [Wed, 6 May 2015 02:43:39 +0000 (22:43 -0400)]
bump version: make regen

6 years ago...but actually we are RC0
Ricardo Signes [Wed, 6 May 2015 02:35:00 +0000 (22:35 -0400)]
...but actually we are RC0

6 years agobump version to v5.22.0 with Porting/bump-perl-version
Ricardo Signes [Wed, 6 May 2015 01:37:59 +0000 (21:37 -0400)]
bump version to v5.22.0 with Porting/bump-perl-version

6 years bump version
Ricardo Signes [Sat, 9 May 2015 00:07:07 +0000 (20:07 -0400)] bump version

6 years agoPOSIX: revert exported functions to 5.20.2 state
Aristotle Pagaltzis [Thu, 7 May 2015 14:59:36 +0000 (16:59 +0200)]
POSIX: revert exported functions to 5.20.2 state

This patch does 3 things. For the purposes of bisectability it is
unfortunately not feasible to split them up into separate patches.
They are as follows:

1. Revert the list of default exports in t/export.t to what it was
   in the commit tagged v5.20.2, but take the opportunity to retab
   it since the blame log is messed up anyway. (This can be verified
   with a whitespace-ignoring diff.) Then add the new exports in new,
   separate sections.

2. In, remove the new fenv_h tag from default exports and
   revert the math_h and stdlib_h tags to their state in Perl 5.20.2.

3. Add infrastructure for adding export tags that will not automatically
   get added into @EXPORT when it is generated, and use this to add new
   tags for the stuff added since 5.20.2. Since tags named after math_h
   and stdlib_h already exist, duplicate them as stdlib_h_c99/math_h_c99
   with their new additions included.

6 years agoAdd note to EBCDIC README's, asking for input
Karl Williamson [Fri, 8 May 2015 23:47:49 +0000 (17:47 -0600)]
Add note to EBCDIC README's, asking for input

I asked on perl-mvs for help in updating these files, but got no advice;
so noting in the files themselves that they are out-of-date, and asking
any reader for help.

6 years agoallow undef as an arg to '&' prototype
David Mitchell [Wed, 6 May 2015 10:56:47 +0000 (11:56 +0100)]
allow undef as an arg to '&' prototype

RT #123475

Commit e41e9865be5555 (to fix [perl #123062]) restricted the types of
args allowed for a function with a '&' prototype - previously it allowed
array refs and the like. It also removed undef, so this was now a
compile-time error:

    sub foo (&) {...}

However, some CPAN code used the idiom register_callback(undef) to
explicitly disable a registered callback.

So re-allow an explicit undef.

6 years agoperlop: Don't use bitwise string ops on UTF-8
Karl Williamson [Thu, 7 May 2015 23:09:18 +0000 (17:09 -0600)]
perlop: Don't use bitwise string ops on UTF-8

The behavior is likely to change

6 years agoperlop: Make correction
Karl Williamson [Thu, 7 May 2015 23:08:30 +0000 (17:08 -0600)]
perlop: Make correction

This recipe has the same result under both EBCDIC and ASCII

6 years agoperlguts: Add links to perlunicode
Karl Williamson [Thu, 7 May 2015 23:07:16 +0000 (17:07 -0600)]
perlguts: Add links to perlunicode

6 years agoperlunicode: Revamp
Karl Williamson [Thu, 7 May 2015 22:58:51 +0000 (16:58 -0600)]
perlunicode: Revamp

I've always had problems understanding the point of some of the
discussion of this pod, so I've finally rewritten parts to bring it
up-to-date with modern Unicode support and clarify things.

In particular the "byte" vs "character" semantics didn't make sense to
me.  Perl has always used character semantics (outside of a few places
noted in both pod versions); it's just that the advent of Unicode made
'byte' and 'character' no longer synonymous.  So I've split that section
of the old pod, with the added section entitled "ASCII rules vs Unicode
rules", which I think is more clear.

6 years agoperlunicode: Nits, minor fixes
Karl Williamson [Thu, 7 May 2015 22:53:34 +0000 (16:53 -0600)]
perlunicode: Nits, minor fixes

6 years agoperluniintro: Add note
Karl Williamson [Thu, 7 May 2015 19:00:00 +0000 (13:00 -0600)]
perluniintro: Add note

Unicode ranges don't currently work in tr///

6 years agoperlunitut: Add note
Karl Williamson [Thu, 7 May 2015 18:56:50 +0000 (12:56 -0600)]
perlunitut: Add note

6 years agoperlrun: Note existence of -DL
Karl Williamson [Thu, 7 May 2015 18:54:32 +0000 (12:54 -0600)]
perlrun: Note existence of -DL

6 years agoperlrebackslash: Note \b{sb} is subject to change
Karl Williamson [Thu, 7 May 2015 18:53:45 +0000 (12:53 -0600)]
perlrebackslash: Note \b{sb} is subject to change

The Unicode algorithm has big issues, and may change.

6 years agoperlebcdic: Move text from perlunicode
Karl Williamson [Thu, 7 May 2015 18:48:22 +0000 (12:48 -0600)]
perlebcdic: Move text from perlunicode

This consolidates the EBCDIC problems into one place

6 years agoperlapi: Clearer wording in intro
Karl Williamson [Thu, 7 May 2015 16:58:02 +0000 (10:58 -0600)]
perlapi: Clearer wording in intro

6 years agoperlapi: Add intro text to Unicode section
Karl Williamson [Thu, 7 May 2015 03:10:39 +0000 (21:10 -0600)]
perlapi: Add intro text to Unicode section

6 years agoperlunicode: Refer to perlguts for XS handling
Karl Williamson [Thu, 7 May 2015 03:07:33 +0000 (21:07 -0600)]
perlunicode: Refer to perlguts for XS handling

Don't redescribe things here.  Also refer to perlapi.

6 years agoperlguts: Add/update text about handling Unicode
Karl Williamson [Thu, 7 May 2015 03:05:19 +0000 (21:05 -0600)]
perlguts: Add/update text about handling Unicode

6 years agoperlguts: Add EBCDIC info
Karl Williamson [Thu, 7 May 2015 03:02:16 +0000 (21:02 -0600)]
perlguts: Add EBCDIC info

6 years agoperlguts: Nits, corrections and clarifications
Karl Williamson [Thu, 7 May 2015 03:01:32 +0000 (21:01 -0600)]
perlguts: Nits, corrections and clarifications

6 years agoperlapi: Document some functions
Karl Williamson [Thu, 7 May 2015 02:42:15 +0000 (20:42 -0600)]
perlapi: Document some functions

These are mentioned in some other pods.  It's best to bring them into
perlapi, and refer to them from the other pods.

6 years agoutf8.h: Add a #define
Karl Williamson [Thu, 7 May 2015 02:47:15 +0000 (20:47 -0600)]
utf8.h: Add a #define

The name UVCHR... parallels the usage of various functions uvchr...
It's less confusing to keep the same name form for the same type of

6 years agoAdd a missing word in perlobj
Dave Rolsky [Thu, 7 May 2015 19:59:49 +0000 (14:59 -0500)]
Add a missing word in perlobj

6 years agoPOSIX: discourage use of default exports
Aristotle Pagaltzis [Thu, 7 May 2015 18:00:28 +0000 (20:00 +0200)]
POSIX: discourage use of default exports

6 years agoPOSIX/t/math.t: skip fpclassify where unsupported
Aristotle Pagaltzis [Thu, 7 May 2015 13:35:20 +0000 (15:35 +0200)]
POSIX/t/math.t: skip fpclassify where unsupported

6 years agoPOSIX: document the new C99 math constants
Aristotle Pagaltzis [Thu, 7 May 2015 12:07:42 +0000 (14:07 +0200)]
POSIX: document the new C99 math constants

6 years agoFix unixify when beginning with current directory.
Craig A. Berry [Tue, 5 May 2015 02:25:05 +0000 (21:25 -0500)]
Fix unixify when beginning with current directory.

VMS::Filespec::unixify has been truncating its return value and
returning early when the input begins with [] meaning the current
directory.  If there was nothing else, we've been getting the right

    [] --> ./

but if there was a file portion of the name it's been getting

    []foo.txt --> ./

which is now fixed.  Looks like it's been broken since inception
in 5.002, though only with the specific [] case and not if there
was an explicit device or directory name.

6 years agoperlvar: Mention literal cntrls are deprecated in var names
Karl Williamson [Wed, 6 May 2015 01:57:45 +0000 (19:57 -0600)]
perlvar: Mention literal cntrls are deprecated in var names

6 years agoMerge branch 'perldelta' into blead
Ricardo Signes [Wed, 6 May 2015 01:16:11 +0000 (21:16 -0400)]
Merge branch 'perldelta' into blead

6 years agoperldelta: sort changed warnings
Ricardo Signes [Mon, 27 Apr 2015 00:45:17 +0000 (20:45 -0400)]
perldelta: sort changed warnings

6 years agoperldelta: sort new warnings
Ricardo Signes [Mon, 27 Apr 2015 00:42:38 +0000 (20:42 -0400)]
perldelta: sort new warnings

6 years agoperldelta: sort new errors
Ricardo Signes [Mon, 27 Apr 2015 00:12:00 +0000 (20:12 -0400)]
perldelta: sort new errors

6 years agoperldelta: minor fixes, XXX-removal, etc.
Ricardo Signes [Mon, 27 Apr 2015 00:03:53 +0000 (20:03 -0400)]
perldelta: minor fixes, XXX-removal, etc.

6 years agoperldelta: combine and sort the various perldoc updates
Ricardo Signes [Sun, 26 Apr 2015 23:56:48 +0000 (19:56 -0400)]
perldelta: combine and sort the various perldoc updates

6 years agoperldelta: minor reordering of optimizations
Ricardo Signes [Sun, 26 Apr 2015 22:35:32 +0000 (18:35 -0400)]
perldelta: minor reordering of optimizations

6 years agoperldelta: remove modules-to-be-removed section
Ricardo Signes [Sun, 26 Apr 2015 22:29:29 +0000 (18:29 -0400)]
perldelta: remove modules-to-be-removed section

I do not think we will be needing it either.

6 years agoperldelta: remove Notice section
Ricardo Signes [Sun, 26 Apr 2015 22:27:04 +0000 (18:27 -0400)]
perldelta: remove Notice section

I do not think we will be needing it.

6 years agoperldelta: import changes from perl52111delta
Ricardo Signes [Sun, 26 Apr 2015 22:24:56 +0000 (18:24 -0400)]
perldelta: import changes from perl52111delta

6 years agoperldelta: import changes from perl52110delta
Ricardo Signes [Sun, 26 Apr 2015 22:21:47 +0000 (18:21 -0400)]
perldelta: import changes from perl52110delta

6 years agoperldelta group core enhancements by topic area
Ricardo Signes [Sun, 26 Apr 2015 22:12:35 +0000 (18:12 -0400)]
perldelta group core enhancements by topic area

6 years agoperldelta: remove unneeded placeholders
Ricardo Signes [Fri, 13 Mar 2015 23:39:16 +0000 (19:39 -0400)]
perldelta: remove unneeded placeholders

also, two minor tweaks: remove note of grok_atou, which is
gone; fix the invocation for

6 years agoperldelta: import changes from perl5219delta.pod
Ricardo Signes [Fri, 13 Mar 2015 23:31:19 +0000 (19:31 -0400)]
perldelta: import changes from perl5219delta.pod

6 years agoperldelta: import changes from perl5218delta.pod
Ricardo Signes [Fri, 13 Mar 2015 23:23:59 +0000 (19:23 -0400)]
perldelta: import changes from perl5218delta.pod

6 years agoperldelta: import changes from perl5217delta.pod
Ricardo Signes [Fri, 13 Mar 2015 23:16:13 +0000 (19:16 -0400)]
perldelta: import changes from perl5217delta.pod

6 years agoperldelta: import changes from perl5216delta.pod
Ricardo Signes [Fri, 13 Mar 2015 23:12:36 +0000 (19:12 -0400)]
perldelta: import changes from perl5216delta.pod

6 years agoperldelta: import changes from perl5215delta.pod
Ricardo Signes [Fri, 13 Mar 2015 23:03:57 +0000 (19:03 -0400)]
perldelta: import changes from perl5215delta.pod

6 years agoperldelta: import changes from perl5214delta.pod
Ricardo Signes [Fri, 13 Mar 2015 22:58:09 +0000 (18:58 -0400)]
perldelta: import changes from perl5214delta.pod

6 years agoperldelta: import changes from perl5213delta.pod
Ricardo Signes [Fri, 13 Mar 2015 22:50:23 +0000 (18:50 -0400)]
perldelta: import changes from perl5213delta.pod

6 years agoperldelta: import changes from perl5212delta.pod
Ricardo Signes [Fri, 13 Mar 2015 22:38:18 +0000 (18:38 -0400)]
perldelta: import changes from perl5212delta.pod

6 years agoperldelta: import changes from perl5211delta.pod
Ricardo Signes [Fri, 13 Mar 2015 22:30:44 +0000 (18:30 -0400)]
perldelta: import changes from perl5211delta.pod

What about perl5210delta, you ask?  It had no changes of note beyond
module changes.

6 years agofix weird comment in cop.h blurb
David Mitchell [Tue, 5 May 2015 14:50:49 +0000 (15:50 +0100)]
fix weird comment in cop.h blurb

The original blurb which I added to the top of cop.h had an ambiguous
statement in it that sometime later got "corrected" into the wrong

6 years agonull ptr deref in Perl_cv_forget_slab
David Mitchell [Tue, 5 May 2015 09:44:16 +0000 (10:44 +0100)]
null ptr deref in Perl_cv_forget_slab

RT #124385

Parsing following a syntax error could result in a null ptr dereference.

This commit contains a band-aid that returns from Perl_cv_forget_slab() if
the cv arg is null; but the real issue is much deeper and needs a more
general fix at some point.

Basically, both the lexer and the parser use the save stack, and after an
error, they can get out of sync.

In particular:

1) when handling a double-quoted string, the lexer does an ENTER, saves
most of its current state on the save stack, then uses the literal string
as the toke source. When it reaches the end of the string, it LEAVEs,
restores the lexer state and continues with the main source.

2) Whenever the parser starts a new block or sub scope, it remembers the
current save stack position, and at end of scope, pops the save stack back
to that position.

In something like

    "@{ sub {]}}  }}}"

the lexer sees a double-quoted string, and saves the current lex state.
The parser sees the start of a sub, and saves PL_compcv etc. Then a parse
error occurs. The parser goes into error recovery, discarding tokens until
it can return to a sane state. The lexer runs out of tokens when toking
the string, does a LEAVE, and switches back to toking the main source.
This LEAVE restores both the lexer's and the parser's state; in particular
the parser gets its old PL_compcv restored, even though the parser hasn't
finished compiling the current sub. Later, series of '}' tokens coming
through allows the parser to finish the sub. Since PL_error_count > 0, it
discards the just-compiled sub and sets PL_compcv to null. Normally the
LEAVE_SCOPE done just after this would restore PL_compcv to its old value
(e.g. PL_main_cv) but the stack has already been popped, so PL_compcv gets
left null, and SEGVs occur.

The two main ways I can think of fixing this in the long term are
1) avoid the lexer using the save stack for long-term state storage;
in particular, make S_sublex_push() malloc a new parser object rather
than saving the current lexer state on the save stack.
2) At the end of a sublex, if PL_error_count > 0, don't try to restore
state and continue, instead just croak.

N.B. the test that this commit adds to lex.t doesn't actually trigger the
SEGV, since the bad code is wrapped in an eval which (for reasons I
haven't researched) avoids the SEGV.

6 years ago[perl #124187] don't call pad_findlex() on a NULL CV
Tony Cook [Tue, 5 May 2015 06:23:59 +0000 (16:23 +1000)]
[perl #124187] don't call pad_findlex() on a NULL CV

6 years agoperlunicode: Update nonchars discussion for Unicode 7.0
Karl Williamson [Tue, 5 May 2015 03:27:14 +0000 (21:27 -0600)]
perlunicode: Update nonchars discussion for Unicode 7.0

Unicode 7.0 changed the prohibition of noncharacters to merely "not
recommend" their use.  Perl continues to forbid them in strict input
checking (otherwise security issues could arise), but the discussion
about them needs to be updated to correspond with their new status.

The message raised when they are used probaby should change
correspondingly, but it is too late for 5.22 for that.

This commit deletes some text elsewhere about the noncharacter code
points.  This text really wasn't germane to a discussion about UTF-8
(wherein it appeared), as the encoding is irrelevant to these code
points.  They're not recommended in any UTF format.

Unicode spells the term "noncharacter" without a hyphen.  This pod
changes to follow that spelling.

6 years agoPOSIX: Regeneralize export.t to non-ASCII platforms
Aristotle Pagaltzis [Mon, 4 May 2015 03:56:00 +0000 (05:56 +0200)]
POSIX: Regeneralize export.t to non-ASCII platforms

This reverts commit 2da5b9bef2ef557a6978ec45042e29fa38e9bade and solves
the problem by sorting the expectation data instead, to make sure it is
consistent with the sort order of the comparison data. This removes the
need to depend on another file.

6 years agoPATCH: [perl #124348] re/pat_advanced solaris failure
Karl Williamson [Tue, 28 Apr 2015 03:52:02 +0000 (21:52 -0600)]
PATCH: [perl #124348] re/pat_advanced solaris failure

Tony Cook traced this down to a compiler bug.  But it's easy to change
the code to avoid the problem.  The expression evaluates to 0; and was
only in the form that caused the failure to document what was going on.
Now, instead the failed form is shown in comments, and 0 is used

6 years agoavoid uninit read in re_op_compile()
David Mitchell [Tue, 28 Apr 2015 09:20:14 +0000 (10:20 +0100)]
avoid uninit read in re_op_compile()

Some code in this function examines the first two nodes in the regex to
set suitable flags etc. Part of the code accesses the second node
by using regnext(first), other parts by NEXTOPER(first). The second method
only works when the node is the same size as a basic node. I *think*
that the code only makes use of this second value in situations where
the node *is* basic, but nevertheless, it makes valgrind unhappy when
the first node is an EXACT node, and reading the second node's
supposed type field is actually reading the padding bytes at the end of
the EXACT string, which are uninitialised.

So just use regnext() only.

Something as simple as /x/ on non-debugging builds was enough to make
valgrind complain. (On debugging builds, the program buffer is initially

6 years agoAlso restore the index entry for $OLD_PERL_VERSION
Aristotle Pagaltzis [Tue, 28 Apr 2015 04:13:39 +0000 (06:13 +0200)]
Also restore the index entry for $OLD_PERL_VERSION

This was missed in d2578154934acc58c35260d46623962e12848748.

6 years agoadd back documentation that $OLD_PERL_VERSION is an alias for $]
Karen Etheridge [Mon, 27 Apr 2015 18:48:13 +0000 (11:48 -0700)]
add back documentation that $OLD_PERL_VERSION is an alias for $]

6 years agomove the documentation for $] out of the deprecated section
Karen Etheridge [Mon, 27 Apr 2015 18:38:52 +0000 (11:38 -0700)]
move the documentation for $] out of the deprecated section

6 years agoop_sibling_splice(): handle custom ops
David Mitchell [Mon, 27 Apr 2015 13:02:38 +0000 (14:02 +0100)]
op_sibling_splice(): handle custom ops

op_sibling_splice() decides whether a parent op has an op_last field
that needs updating based on the op's class. However, it it didn't
handle OP_CUSTOM ops.

Spotted by Zefram.

6 years agoperlhacktips: Add character set portability tip
Karl Williamson [Sun, 26 Apr 2015 15:37:39 +0000 (09:37 -0600)]
perlhacktips: Add character set portability tip