This is a live mirror of the Perl 5 development currently hosted at
9 years agoUse 'was' not 'is' to describe fixed regressions
Karl Williamson [Wed, 8 May 2013 16:21:15 +0000 (10:21 -0600)]
Use 'was' not 'is' to describe fixed regressions

'is' implies it still is extant, contrary to the meaning of the text.

9 years agoperldelta: mention non-blocking sockets on VMS
Ricardo Signes [Wed, 8 May 2013 14:36:02 +0000 (10:36 -0400)]
perldelta: mention non-blocking sockets on VMS

9 years agoperldelta: mention PERL_NO_INLINE_FUNCTIONS in delta
Ricardo Signes [Wed, 8 May 2013 14:35:50 +0000 (10:35 -0400)]
perldelta: mention PERL_NO_INLINE_FUNCTIONS in delta

9 years agoperldelta: use Pod, not asterisks, for emphasis
Ricardo Signes [Wed, 8 May 2013 14:35:37 +0000 (10:35 -0400)]
perldelta: use Pod, not asterisks, for emphasis

9 years agoperldelta: document PERL_PERTURB_KEYS
Ricardo Signes [Wed, 8 May 2013 14:35:09 +0000 (10:35 -0400)]
perldelta: document PERL_PERTURB_KEYS

9 years agoRestore the warning previously issued by (-l $fh)
Ricardo Signes [Tue, 7 May 2013 22:10:17 +0000 (18:10 -0400)]
Restore the warning previously issued by (-l $fh)

This is a partial reversion of 433644eed8, which removed a
secondary, short-circuiting behavior when the warning was issued.

Now, the warning is issued, but the normal behavior (treat the
handle as a string) is maintained.  This work was done after
subsequent refactoring to doio.c, so it couldn't be just a
reversion with the "return" statement removed.

9 years agoadd various HASH defines to perl -V output
David Mitchell [Wed, 8 May 2013 12:36:53 +0000 (13:36 +0100)]
add various HASH defines to perl -V output

5.18 contains lots of new build knobs to control hash randomisation.
Add them to the perl -V output.

9 years agoINSTALL: fix a couple of typos
David Mitchell [Wed, 8 May 2013 12:27:04 +0000 (13:27 +0100)]
INSTALL: fix a couple of typos

9 years agorelease_managers_guide: fix typo
David Mitchell [Wed, 8 May 2013 11:37:03 +0000 (12:37 +0100)]
release_managers_guide: fix typo

9 years clarify -D,-U,-A args in docs
David Mitchell [Wed, 8 May 2013 11:18:15 +0000 (12:18 +0100)] clarify -D,-U,-A args in docs

Based on, these arguments could
be confusing.

9 years agopod/perldelta: Add in some deprecations; fix a typo
Karl Williamson [Tue, 7 May 2013 23:00:10 +0000 (17:00 -0600)]
pod/perldelta: Add in some deprecations; fix a typo

Feel free to improve the wording of these.

9 years agobump dist/IO/lib/IO/ version to 1.34
Dominic Hargreaves [Tue, 7 May 2013 22:25:09 +0000 (23:25 +0100)]
bump dist/IO/lib/IO/ version to 1.34

9 years ago[perl #117791] Clarify that write does not match the C 'write' semantics
Dominic Hargreaves [Sun, 28 Apr 2013 21:11:57 +0000 (22:11 +0100)]
[perl #117791] Clarify that write does not match the C 'write' semantics

9 years agodocument and improve hash algorithm randomization related build options
Yves Orton [Tue, 7 May 2013 21:52:16 +0000 (23:52 +0200)]
document and improve hash algorithm randomization related build options

Install was a copy of other material, made heavy reference to 5.8.x and
and didnt really document what it should have. I reworked it to be more
up to date.

9 years agocleanup and test PERL_PERTURB_KEYS environment variable handling
Yves Orton [Tue, 7 May 2013 20:24:20 +0000 (22:24 +0200)]
cleanup and test PERL_PERTURB_KEYS environment variable handling

9 years agoremove the 5.17 deltas, update for 5.18
Ricardo Signes [Tue, 7 May 2013 02:01:25 +0000 (22:01 -0400)]
remove the 5.17 deltas, update for 5.18

9 years agoput the perldelta we had been working on in place
Ricardo Signes [Tue, 7 May 2013 01:54:24 +0000 (21:54 -0400)]
put the perldelta we had been working on in place

9 years agoupdate perldiag with new warnings
Ricardo Signes [Tue, 7 May 2013 02:31:40 +0000 (22:31 -0400)]
update perldiag with new warnings

9 years agoregenerate uconfig.h and META.json
Ricardo Signes [Tue, 7 May 2013 01:34:32 +0000 (21:34 -0400)]
regenerate uconfig.h and META.json

9 years agoBump version to 5.18.0-RC0
Ricardo Signes [Tue, 7 May 2013 01:24:52 +0000 (21:24 -0400)]
Bump version to 5.18.0-RC0

This was done with:

  ./perl -Ilib Porting/bump-perl-version -i 5.17.12 5.18.0

Followed by two tiny manual edits: INSTALL and patchlevel.h

9 years agoThe URL for the dist source repo changed
H.Merijn Brand [Tue, 7 May 2013 21:47:21 +0000 (23:47 +0200)]
The URL for the dist source repo changed

9 years agoRMG: say that for maint there are two RMG versions
David Mitchell [Tue, 7 May 2013 16:53:49 +0000 (17:53 +0100)]
RMG: say that for maint there are two RMG versions

9 years agoRMG: add note about maint and Module::CoreList
David Mitchell [Tue, 7 May 2013 16:45:02 +0000 (17:45 +0100)]
RMG: add note about maint and Module::CoreList

9 years agoRMG: maint perlhist: change from push to pull
David Mitchell [Tue, 7 May 2013 16:25:11 +0000 (17:25 +0100)]
RMG: maint perlhist: change from push to pull

When creating a new maint release, rather than copying its perlhist entry
into every other branch just after release, instead just copy it into
blead; then when creating a new maint release, just pull the latest
perlhist file from blead.

9 years agoRMG: maint perldeltas: change from push to pull
David Mitchell [Mon, 6 May 2013 16:12:30 +0000 (17:12 +0100)]
RMG: maint perldeltas: change from push to pull

When creating a new maint release, rather than copying its perldelta into
every other branch just after release, instead just copy it into blead,
then when creating a new maint release, copy any newer perldeltas from

9 years agoadd PERL_NEW_COPY_ON_WRITE to perl -V output
David Mitchell [Tue, 7 May 2013 15:53:20 +0000 (16:53 +0100)]
add PERL_NEW_COPY_ON_WRITE to perl -V output

9 years agohoping this works finally. gcc is too permissive with my build options
Yves Orton [Tue, 7 May 2013 11:20:34 +0000 (13:20 +0200)]
hoping this works finally. gcc is too permissive with my build options

9 years agodocument Hash::Util::hash_traversal_mask()
Yves Orton [Tue, 7 May 2013 09:22:44 +0000 (11:22 +0200)]
document Hash::Util::hash_traversal_mask()

It still needs tests. But I figured it would be easier to test
by someone else if I documented it. (Ill try to get tests done for it

9 years agofix build issue with picky compilers
Yves Orton [Tue, 7 May 2013 09:22:22 +0000 (11:22 +0200)]
fix build issue with picky compilers

9 years agoEnsure -DUSE_PERLIO gets into Config's ccflags when using dmake on Windows
Steve Hay [Tue, 7 May 2013 07:44:45 +0000 (08:44 +0100)]
Ensure -DUSE_PERLIO gets into Config's ccflags when using dmake on Windows

The -DUSE_PERLIO flag was being used to build perl itself, but amazingly
didn't end up in Config's ccflags, potentially causing trouble later when
building XS extensions. (The problem isn't new: it's been this way ever
since PerlIO support for Windows was added by e601c439, way back in
November 2000.)

9 years agoMake it possible to disable and control hash key traversal randomization
Yves Orton [Sun, 5 May 2013 14:33:43 +0000 (16:33 +0200)]
Make it possible to disable and control hash key traversal randomization

Adds support for PERL_PERTURB_KEYS environment variable, which in turn allows one to control
the level of randomization applied to keys() and friends.

When PERL_PERTURB_KEYS is 0 we will not randomize key order at all. The
chance that keys() changes due to an insert will be the same as in
previous perls, basically only when the bucket size is changed.

When PERL_PERTURB_KEYS is 1 we will randomize keys in a non repeatedable
way. The chance that keys() changes due to an insert will be very high.
This is the most secure and default mode.

When PERL_PERTURB_KEYS is 2 we will randomize keys in a repeatedable way.
Repititive runs of the same program should produce the same output every
time. The chance that keys changes due to an insert will be very high.

This patch also makes PERL_HASH_SEED imply a non-default
PERL_PERTURB_KEYS setting. Setting PERL_HASH_SEED=0 (exactly one 0) implies
PERL_PERTURB_KEYS=0 (hash key randomization disabled), settng PERL_HASH_SEED
to any other value, implies PERL_PERTURB_KEYS=2 (deterministic/repeatable
hash key randomization). Specifying PERL_PERTURB_KEYS explicitly to a
different level overrides this behavior.

Includes changes to allow one to compile out various aspects of the
patch. One can compile such that PERL_PERTURB_KEYS is not respected, or
can compile without hash key traversal randomization at all. Note that
support for these modes is incomplete, and currently a few tests will

Also includes a new subroutine in Hash::Util::hash_traversal_mask()
which can be used to ensure a given hash produces a predictable key
order (assuming the same hash seed is in effect). This sub acts as a
getter and a setter.

NOTE - this patch lacks tests, but I lack tuits to get them done quickly,
so I am pushing this with the hope that others can add them afterwards.

9 years agoRemoved confusing reference to new in ties perlfunc entry
Brad Gilbert [Mon, 6 May 2013 15:52:05 +0000 (10:52 -0500)]
Removed confusing reference to new in ties perlfunc entry

9 years agoimprove unpackstring() API docs
David Mitchell [Mon, 6 May 2013 15:28:53 +0000 (16:28 +0100)]
improve unpackstring() API docs

See ticket RT #116366 for the full discussion

9 years agoRevert "Update docs to concur with $`,$&,$' changes"
David Mitchell [Mon, 6 May 2013 11:34:59 +0000 (12:34 +0100)]
Revert "Update docs to concur with $`,$&,$' changes"

This reverts commit d78f32f607952d58a998c5b7554572320dc57b2a.

Since COW has now not been enabled by default for 5.18, revert the
documentation changes which say that that $' etc no longer have a
performance penalty, etc.

9 years agomake /(?p:...)/ keep RXf_PMf_KEEPCOPY flag
David Mitchell [Mon, 6 May 2013 11:14:26 +0000 (12:14 +0100)]
make /(?p:...)/ keep RXf_PMf_KEEPCOPY flag

RT #117135

The /p flag, when used internally within a pattern, isn't like the
other internal patterns, e.g. (?i:...), in that once seen, the
pattern should have the RXf_PMf_KEEPCOPY flag globally set and not
just enabled within the scope of the (?p:...).

9 years agoUse PTR2IV() instead of casting a pointer to IV, to avoid warnings.
Robin Barker [Wed, 1 May 2013 17:39:26 +0000 (18:39 +0100)]
Use PTR2IV() instead of casting a pointer to IV, to avoid warnings.

The cast to IV was added to avoid problems on platforms where pointers are
larger than longs. However, the change instead generates warnings on
platforms where IVs are larger than pointers. Instead, use the PTR2IV()
macro provided by perl.h to make everyone happy.

Also change the type of the variable on that line, because it is cast to
STRLEN the first time it is used, and then passed to a macro that assigns it
to an int regardless.

9 years agoImprove the logic in for manually generating token macros.
Nicholas Clark [Thu, 2 May 2013 11:34:13 +0000 (13:34 +0200)]
Improve the logic in for manually generating token macros.

Without this fixup the build breaks on Win32. Previously it was enabled using
a second regular expression to parse the bison version string. This
effectively duplicates the first regular expression that parses the bison
version string to determine if the version of bison found can be used.

The second regular expression could get missed when changing the first, as
happened with commit f5cf236ddbe8e24e. So refactor the code to extract the
bison version once, and then use this later as a simple numeric comparison.

With this change, we can actually use bison 2.7 to regenerate perly.*

9 years agoFix non-blocking sockets on VMS.
Craig A. Berry [Sun, 5 May 2013 19:50:54 +0000 (14:50 -0500)]
Fix non-blocking sockets on VMS.

It turns out sockets on VMS (just like Windows) are blocking by
default, but the same code already in IO::Socket::blocking for
Windows that uses ioctl to set non-blocking works just fine on VMS.

This is part of [perl #116433] as the deficieny was exposed by
tests in IO::Socket::IP.

9 years agoMerge perldelta for 5.18, work from past weeks
Ricardo Signes [Sun, 5 May 2013 20:05:53 +0000 (16:05 -0400)]
Merge perldelta for 5.18, work from past weeks

9 years agoperldelta: split change is incompatible
Ricardo Signes [Sun, 21 Apr 2013 23:56:00 +0000 (19:56 -0400)]
perldelta: split change is incompatible

9 years agoperldelta: "corrupts"
Smylers [Thu, 4 Apr 2013 13:14:30 +0000 (14:14 +0100)]
perldelta: "corrupts"

9 years agoperldelta: singular agreement
Smylers [Thu, 4 Apr 2013 13:10:32 +0000 (14:10 +0100)]
perldelta: singular agreement

9 years agoperldelta: "no" missing
Smylers [Thu, 4 Apr 2013 12:55:04 +0000 (13:55 +0100)]
perldelta: "no" missing

9 years agoperldelta: unwanted comma removed
Smylers [Thu, 4 Apr 2013 12:07:14 +0000 (13:07 +0100)]
perldelta: unwanted comma removed

The sense is "matching no longer excludes", which can't take a comma (even
though the qualifiers on "matching" are quite long)>

9 years agoperldelta: mark $_ as code in header
Ricardo Signes [Fri, 5 Apr 2013 23:53:26 +0000 (19:53 -0400)]
perldelta: mark $_ as code in header

9 years agoperldelta: "continuation of"
Smylers [Thu, 4 Apr 2013 11:58:06 +0000 (12:58 +0100)]
perldelta: "continuation of"

Not "for".

9 years agoperldelta: fatal error is an error, not a warning
Smylers [Thu, 4 Apr 2013 11:46:50 +0000 (12:46 +0100)]
perldelta: fatal error is an error, not a warning

"(F)" removed, since everything in the 'New Errors' section is obviously
an error, and none of the other errors in there are marked as such.

9 years agoperldelta: semicolon there isn't code
Smylers [Thu, 4 Apr 2013 10:47:58 +0000 (11:47 +0100)]
perldelta: semicolon there isn't code

9 years agoperldelta: extraneous word removed
Smylers [Thu, 4 Apr 2013 10:43:57 +0000 (11:43 +0100)]
perldelta: extraneous word removed

9 years agoperldelta: join sentence fragment
Smylers [Thu, 4 Apr 2013 10:41:00 +0000 (11:41 +0100)]
perldelta: join sentence fragment

9 years agoperldelta: avoid comma splice
Smylers [Thu, 4 Apr 2013 10:34:21 +0000 (11:34 +0100)]
perldelta: avoid comma splice

9 years agoperldelta: short-circuit cross-reference chain
Smylers [Thu, 4 Apr 2013 09:26:23 +0000 (10:26 +0100)]
perldelta: short-circuit cross-reference chain

perlre/(?[ ]) just says to see perlrecharclass/Extended Bracketed
Character Classes, so may as well point people there in the first place.

9 years agoperldelta: DTrace probes as bullet list
Smylers [Thu, 4 Apr 2013 09:20:11 +0000 (10:20 +0100)]
perldelta: DTrace probes as bullet list

It was a definition list, but with only terms (no definitions), and hence
no indentation.

9 years agoperldelta: spelling fix
Smylers [Thu, 4 Apr 2013 09:17:05 +0000 (10:17 +0100)]
perldelta: spelling fix

9 years agoperldelta: an env var doesn't do anything itself
Smylers [Thu, 4 Apr 2013 09:12:54 +0000 (10:12 +0100)]
perldelta: an env var doesn't do anything itself

9 years agoperldelta: missing parenthetical comma
Smylers [Thu, 4 Apr 2013 09:07:50 +0000 (10:07 +0100)]
perldelta: missing parenthetical comma

"in hex" is parenthetical

9 years agoperldelta: "order" is intended word
Smylers [Thu, 4 Apr 2013 09:04:48 +0000 (10:04 +0100)]
perldelta: "order" is intended word

9 years agowarn of more things to be removed
Ricardo Signes [Thu, 4 Apr 2013 13:58:42 +0000 (09:58 -0400)]
warn of more things to be removed

9 years agocarry forward future deprecations from 5.16 delta
Ricardo Signes [Thu, 4 Apr 2013 02:11:47 +0000 (22:11 -0400)]
carry forward future deprecations from 5.16 delta

9 years agoperldelta: mention the removal of BeOS
Ricardo Signes [Thu, 4 Apr 2013 02:11:21 +0000 (22:11 -0400)]
perldelta: mention the removal of BeOS

9 years agoperldelta: the selected bugs
Ricardo Signes [Wed, 3 Apr 2013 02:13:28 +0000 (22:13 -0400)]
perldelta: the selected bugs

9 years agoperldelta: miscellaneous editing in the middle parts
Ricardo Signes [Wed, 3 Apr 2013 01:48:41 +0000 (21:48 -0400)]
perldelta: miscellaneous editing in the middle parts

9 years agoperldelta: deprecations section
Ricardo Signes [Wed, 3 Apr 2013 01:27:32 +0000 (21:27 -0400)]
perldelta: deprecations section

9 years agoperldelta: the incompatible changes section
Ricardo Signes [Wed, 3 Apr 2013 01:14:43 +0000 (21:14 -0400)]
perldelta: the incompatible changes section

9 years agoperldelta: finish reordering and first pass through Core Enh.
Ricardo Signes [Wed, 3 Apr 2013 01:03:28 +0000 (21:03 -0400)]
perldelta: finish reordering and first pass through Core Enh.

9 years agoexperimental feature warning categories have ::
Ricardo Signes [Wed, 3 Apr 2013 00:58:10 +0000 (20:58 -0400)]
experimental feature warning categories have ::

9 years agoperldelta: collect hash changes
Ricardo Signes [Tue, 2 Apr 2013 14:05:52 +0000 (10:05 -0400)]
perldelta: collect hash changes

9 years agoperldelta: tweak/fix "earlier changes" section
Ricardo Signes [Tue, 2 Apr 2013 14:03:47 +0000 (10:03 -0400)]
perldelta: tweak/fix "earlier changes" section

9 years agoimport perl51710delta content to perl5180delta
Ricardo Signes [Mon, 1 Apr 2013 21:53:27 +0000 (17:53 -0400)]
import perl51710delta content to perl5180delta

9 years agoimport perl5179delta content to perl5180delta
Ricardo Signes [Mon, 1 Apr 2013 21:49:52 +0000 (17:49 -0400)]
import perl5179delta content to perl5180delta

9 years agoimport perl5178delta content to perl5180delta
Ricardo Signes [Mon, 1 Apr 2013 21:42:53 +0000 (17:42 -0400)]
import perl5178delta content to perl5180delta

9 years agoimport perl5177delta content to perl5180delta
Ricardo Signes [Mon, 1 Apr 2013 21:14:03 +0000 (17:14 -0400)]
import perl5177delta content to perl5180delta

9 years agoimport perl5176delta content to perl5180delta
Ricardo Signes [Mon, 1 Apr 2013 21:05:48 +0000 (17:05 -0400)]
import perl5176delta content to perl5180delta

9 years agoimport perl5175delta content to perl5180delta
Ricardo Signes [Mon, 1 Apr 2013 20:56:06 +0000 (16:56 -0400)]
import perl5175delta content to perl5180delta

9 years agoimport perl5174delta content to perl5180delta
Ricardo Signes [Mon, 1 Apr 2013 20:49:25 +0000 (16:49 -0400)]
import perl5174delta content to perl5180delta

9 years agoimport perl5173delta content to perl5180delta
Ricardo Signes [Mon, 1 Apr 2013 20:32:56 +0000 (16:32 -0400)]
import perl5173delta content to perl5180delta

9 years agoimport perl5172delta content to perl5180delta
Ricardo Signes [Wed, 13 Mar 2013 02:52:38 +0000 (22:52 -0400)]
import perl5172delta content to perl5180delta

9 years agoimport perl5171delta content to perl5180delta
Ricardo Signes [Wed, 13 Mar 2013 02:39:37 +0000 (22:39 -0400)]
import perl5171delta content to perl5180delta

9 years agoimport perl5170delta content to perl5180delta
Ricardo Signes [Wed, 13 Mar 2013 02:33:52 +0000 (22:33 -0400)]
import perl5170delta content to perl5180delta

9 years agoFix typo in Module::CoreList POD
Chris 'BinGOs' Williams [Sat, 4 May 2013 21:19:06 +0000 (22:19 +0100)]
Fix typo in Module::CoreList POD

9 years agoupdate AUTHORS
David Mitchell [Fri, 3 May 2013 14:07:46 +0000 (15:07 +0100)]
update AUTHORS

9 years agofix two my_setenv/my_clearenv bugs
Markus Jansen [Fri, 3 May 2013 14:02:30 +0000 (15:02 +0100)]
fix two my_setenv/my_clearenv bugs

RT #117121. This commit fixes two bugs. First, some old glibc's can crash
if unsetenv() is called with a null environ.

Secondly, the code in Perl_my_clearenv(), when freeing env vars with a
name longer than 80 chars, reallocs a tmp buffer, but didn't
update the buf lencausing this to fail under valgrind:

    $ENV{"a"x 90}=1; local %ENV;

9 years agoMerge in -DPERL_NO_INLINE_FUNCTIONS and t/porting/extrefs.t which tests it.
Nicholas Clark [Fri, 3 May 2013 12:13:08 +0000 (14:13 +0200)]
Merge in -DPERL_NO_INLINE_FUNCTIONS and t/porting/extrefs.t which tests it.

9 years agoAdd a space after -o to keep Darwin's g++ happy, in t/porting/extrefs.t
Nicholas Clark [Tue, 30 Apr 2013 14:19:15 +0000 (16:19 +0200)]
Add a space after -o to keep Darwin's g++ happy, in t/porting/extrefs.t

Darwin's g++ 4.2.1 is fussy. FreeBSD's g++ 4.2.1 is not. Hateful software.

9 years agoAdd a "verbose" option to t/porting/extrefs.t for debugging.
Nicholas Clark [Tue, 30 Apr 2013 13:56:53 +0000 (15:56 +0200)]
Add a "verbose" option to t/porting/extrefs.t for debugging.

9 years agosupport MSWin32 too
Tony Cook [Sun, 14 Apr 2013 06:10:04 +0000 (16:10 +1000)]
support MSWin32 too

9 years agoremove code for non-core builds and "modernize"
Tony Cook [Sat, 13 Apr 2013 05:05:33 +0000 (15:05 +1000)]
remove code for non-core builds and "modernize"

9 years agotest that perl headers don't introduce external references
Tony Cook [Sat, 13 Apr 2013 04:49:26 +0000 (14:49 +1000)]
test that perl headers don't introduce external references

This is as close as possible to the original Time::HiRes probe code,
further commits will clean that up.

[perl #116989]

[Amended from Tony's original to add -DPERL_NO_INLINE_FUNCTIONS]

9 years agoIf PERL_NO_INLINE_FUNCTIONS is defined, don't include "inline.h"
Nicholas Clark [Fri, 26 Apr 2013 10:18:41 +0000 (12:18 +0200)]
If PERL_NO_INLINE_FUNCTIONS is defined, don't include "inline.h"

This permits test code to include the perl headers for definitions without
creating a link dependency on the perl library (which may not exist yet).

Some of the static inline functions in inline.h reference functions in the
perl object files, and some compilers aren't smart enough to eliminate
unused static inline functions, hence including the inline.h in probe code
can cause link errors even though the probe code uses none of the functions
it declares. When probing, a failed link is taken as meaning that the
probed-for function is not present, as the assumption is that the link fails
because of it. Hence other causes of link failures cause the probing code to
generate incorrect results, and action (and bugs) at a distance.

9 years agoRevert "Change the warning for $* to add ", and will become a syntax error"."
Nicholas Clark [Mon, 8 Apr 2013 15:05:11 +0000 (17:05 +0200)]
Revert "Change the warning for $* to add ", and will become a syntax error"."

This reverts commit 53213d38f22e9356f489162e494d2ffa46ec2ca2.



9 years agoRevert "Add a deprecation warning for all uses of @*, %*, &* and **."
Nicholas Clark [Mon, 8 Apr 2013 14:53:47 +0000 (16:53 +0200)]
Revert "Add a deprecation warning for all uses of @*, %*, &* and **."

This reverts commit 982110e06e40aad7a538cb788327cca8aaabce22.



9 years agoDeprecate spaces/comments in some regex tokens
Karl Williamson [Tue, 23 Apr 2013 19:39:35 +0000 (13:39 -0600)]
Deprecate spaces/comments in some regex tokens

This commit deprecates having space/comments between the first two
characters of regular expression forms '(*VERB:ARG)' and '(?...)'.
That is, the '(' should be immediately be followed by the '*' or '?'.
Previously, things like:

   qr/((?# This is a comment in the middle of a token)?:foo)/

were silently accepted.

The problem is that during regex parsing, the '(' is seen, and the input
pointer advanced, skipping comments and, under /x, white space, without
regard to whether the left parenthesis is part of a bigger token or not.
S_reg() handles the parsing of what comes next in the input, and it
just assumes that the first character it sees is the one that
immediately followed the input parenthesis.

Since the parenthesis may or may not be a part of a bigger token, and
the current structure of handling things, I don't see an elegant way to
fix this.  What I did is flag the single call to S_reg() where this
could be an issue, and have S_reg check for for adjacency if the
parenthesis is part of a bigger token, and if so, warn if not-adjacent.

9 years agolib/ Fix separated '(?' token
Karl Williamson [Tue, 23 Apr 2013 21:06:57 +0000 (15:06 -0600)]
lib/ Fix separated '(?' token

The next commit will warn when these aren't adjacent

9 years agoPATCH: [perl #117327]: Sequence (?#...) not recognized in regex
Karl Williamson [Thu, 2 May 2013 01:01:29 +0000 (19:01 -0600)]
PATCH: [perl #117327]: Sequence (?#...) not recognized in regex

This reverts commit 504858073fe16afb61d66a8b6748851780e51432, which
was made under the erroneous belief that certain code was unreachable.
This code appears to be reachable, however, only if the input has
a 2-character lexical token split by space or a comment.  The token
should be indivisible, and was accepted only through an accident of
implementation.  A later commit will deprecate splitting it, with the
view of eventually making splitting it a fatal error.  In the meantime,
though, this reverts to the original behavior, and adds a (temporary)
test to verify that.

9 years agoreg_mesg.t: Turn off regexp warns along with deprecated
Karl Williamson [Thu, 2 May 2013 00:31:34 +0000 (18:31 -0600)]
reg_mesg.t: Turn off regexp warns along with deprecated

Some warnings are both regexp and deprecated.  To test that they are
under control of 'deprecated', it is necessary to turn off both
categories.  We currently don't test that they are also under 'regexp'

9 years agoCarp: add a test for top-of-stack longmess
Ricardo Signes [Wed, 1 May 2013 16:54:10 +0000 (12:54 -0400)]
Carp: add a test for top-of-stack longmess

9 years agoCarp: distinguish deleted stash from top of stack
Ricardo Signes [Wed, 1 May 2013 15:41:50 +0000 (11:41 -0400)]
Carp: distinguish deleted stash from top of stack

The change to work with deleted stashes broke the behavior of Carp
at the top of the stack.

This change distinguishes between the two cases: at the top of the
stack, caller(1) returns ().  If the stash has been deleted, it
returns a populated list with an undefined package name.  The test
used here is to check for a defined line number, which should be

9 years agoI cannot find shorter URL's
H.Merijn Brand [Wed, 1 May 2013 10:17:20 +0000 (12:17 +0200)]
I cannot find shorter URL's

9 years agoUpdate HP-UX readme
H.Merijn Brand [Wed, 1 May 2013 09:08:37 +0000 (11:08 +0200)]
Update HP-UX readme

The porting center cannot be said to ship recent perl when 5.18.0 is about
to be released and they just have 5.10.1 available. Trying "very hard" now
sounds like a huge overstatement. Sadly.

Telling what modules were included in the first public perl port from HP is
like digging up corpses.

HP-UX 11.31 has now EOL set to 2022. I've updated all other EOL info too.

9 years agoRemove a comment made obsolete by commit 213f370f28504f3a.
Nicholas Clark [Mon, 29 Apr 2013 14:03:23 +0000 (16:03 +0200)]
Remove a comment made obsolete by commit 213f370f28504f3a.

Commit 213f370f28504f3a enabled running tests in t/op/*.t in parallel. It
should also have removed the comment saying that this would be nice to have.