platform/upstream/perl.git
11 years agoperldelta: add another hash overhaul cross reference
Ricardo Signes [Wed, 15 May 2013 23:59:09 +0000 (19:59 -0400)]
perldelta: add another hash overhaul cross reference

11 years agoClarified perldelta entry for UID/GID magic variables
Leon Timmermans [Wed, 15 May 2013 21:04:03 +0000 (23:04 +0200)]
Clarified perldelta entry for UID/GID magic variables

11 years agoAddress [perl #117999] for now by skipping known bad test on AIX
Tony Cook [Wed, 15 May 2013 19:56:13 +0000 (15:56 -0400)]
Address [perl #117999] for now by skipping known bad test on AIX

11 years agoperldelta: various fixes suggested by Dave Mitchell
Ricardo Signes [Wed, 15 May 2013 19:53:20 +0000 (15:53 -0400)]
perldelta: various fixes suggested by Dave Mitchell

11 years agoperldelta: remove a literally incorrect "literal"
Ricardo Signes [Wed, 15 May 2013 16:59:00 +0000 (12:59 -0400)]
perldelta: remove a literally incorrect "literal"

11 years agoperldelta: collapse a bit of vertical space
Ricardo Signes [Wed, 15 May 2013 01:32:55 +0000 (21:32 -0400)]
perldelta: collapse a bit of vertical space

11 years agoperldelta: clarify the deprecation of non-PerlIO perl
Ricardo Signes [Wed, 15 May 2013 01:29:16 +0000 (21:29 -0400)]
perldelta: clarify the deprecation of non-PerlIO perl

11 years agoSpelling correction.
James E Keenan [Wed, 15 May 2013 00:33:32 +0000 (20:33 -0400)]
Spelling correction.

11 years agoperldelta: add obituary for AMORETTE
Ricardo Signes [Tue, 14 May 2013 17:57:26 +0000 (13:57 -0400)]
perldelta: add obituary for AMORETTE

11 years agoperldelta: minor nitpicks
Aristotle Pagaltzis [Tue, 14 May 2013 02:42:35 +0000 (22:42 -0400)]
perldelta: minor nitpicks

11 years agobump patchlevel to RC3, update hist
Ricardo Signes [Tue, 14 May 2013 01:01:44 +0000 (21:01 -0400)]
bump patchlevel to RC3, update hist

11 years agofix extrefs text with SDK 2003
Steve Hay [Tue, 14 May 2013 00:01:15 +0000 (20:01 -0400)]
fix extrefs text with SDK 2003

The attached patch (also inlined below) fixes the SDK2003 test failure
for me, and also passes with all the other VC++ compilers. (It isn't
easy trying to pinpoint the SDK2003 compiler individually, so it is
simpler to just do this for all VC++ compilers on Windows.)

11 years agoperldelta: fix reported new version of Carp
Ricardo Signes [Mon, 13 May 2013 18:46:55 +0000 (14:46 -0400)]
perldelta: fix reported new version of Carp

11 years ago[perl #117141] sometimes we just can't make fork fail, skip the test
Tony Cook [Sat, 11 May 2013 04:42:39 +0000 (14:42 +1000)]
[perl #117141] sometimes we just can't make fork fail, skip the test

11 years agobump patchlevel to RC2, update hist
Ricardo Signes [Sun, 12 May 2013 22:57:21 +0000 (18:57 -0400)]
bump patchlevel to RC2, update hist

11 years agoperldelta: remove the "from version X" from module updates
Ricardo Signes [Sun, 12 May 2013 22:50:14 +0000 (18:50 -0400)]
perldelta: remove the "from version X" from module updates

too many were incorrect

11 years agoperldelta: combine, merge, and edit "modules updated"
Arthur Axel 'fREW' Schmidt [Fri, 10 May 2013 16:22:20 +0000 (11:22 -0500)]
perldelta: combine, merge, and edit "modules updated"

11 years agoupdate CoreList for new Pod::Simple in 5.18.0
Ricardo Signes [Sun, 12 May 2013 22:30:23 +0000 (18:30 -0400)]
update CoreList for new Pod::Simple in 5.18.0

11 years agoUpdate Pod-Simple to CPAN version 3.28
Chris 'BinGOs' Williams [Sun, 12 May 2013 13:48:18 +0000 (14:48 +0100)]
Update Pod-Simple to CPAN version 3.28

  [DELTA]

2013-05-04   David E. Wheeler <david@justatheory.org>
  * Release 3.28

  Removed use of 'done_testing' in t/white.t, which was added in
  v3.27. Thanks to Paul Howarth for the catch.

  Fixed inproperly calculated number of skipped tests in t/xhtml01.t
  when HTML::Entities is not intalled.

2013-05-03   David E. Wheeler <david@justatheory.org>
  * Release 3.27

  Added new warnings as defined by Pod::Checker, thanks to RJBS:
  + "=over" without "=back"
  + "L<>" starts or ends with whitespace
  + raw "|" or "/" in "L<text|link>" text

  Added ->keep_encoding_directive, which is false by default, to
  prevent formatters from emitting a document's '=encoding'
  directive in most cases. That they emitted the encoding was a bug
  introduced in v3.26 (RT #84093). Now, only the DumpAsText and
  DumpAsXML formats set it to true. Patch from Patrice Dumas.

11 years agobump the version on Module::CoreList
Ricardo Signes [Sat, 11 May 2013 02:57:59 +0000 (22:57 -0400)]
bump the version on Module::CoreList

11 years agoset the patchlevel to RC1
Ricardo Signes [Sat, 11 May 2013 02:53:17 +0000 (22:53 -0400)]
set the patchlevel to RC1

11 years agoperlhist: update for 5.18.0-RC1
Ricardo Signes [Sat, 11 May 2013 02:42:06 +0000 (22:42 -0400)]
perlhist: update for 5.18.0-RC1

including the "selected sizes" for 5.18.0

11 years agoApplying typographical correction supplied by Andreas J. Koenig++.
James E Keenan [Sat, 11 May 2013 12:02:53 +0000 (08:02 -0400)]
Applying typographical correction supplied by Andreas J. Koenig++.

For: RT #117959

11 years agoFix -Wformat-security issues
Niko Tyni [Thu, 9 May 2013 18:49:16 +0000 (21:49 +0300)]
Fix -Wformat-security issues

Building with -Accflags="-Wformat -Werror=format-security"
triggers format string warnings from gcc.

As gcc can't tell that all the strings are constant here,
explicitly pass separate format strings to make it happy.

11 years agonitpicks
SHIRAKATA Kentaro [Fri, 10 May 2013 16:57:14 +0000 (01:57 +0900)]
nitpicks

Also, commas around 'for example'.

11 years agoperldelta: no warnings will do no good if you leave out "warnings"
Ricardo Signes [Fri, 10 May 2013 18:24:27 +0000 (14:24 -0400)]
perldelta: no warnings will do no good if you leave out "warnings"

11 years agoperldelta: document the experimental smartmatch change
Ricardo Signes [Fri, 10 May 2013 17:26:41 +0000 (13:26 -0400)]
perldelta: document the experimental smartmatch change

11 years agoperldelta: add "how to disable" to experimental warnings
Ricardo Signes [Fri, 10 May 2013 17:26:22 +0000 (13:26 -0400)]
perldelta: add "how to disable" to experimental warnings

11 years agoperldelta: remove placeholders for module changes
Ricardo Signes [Fri, 10 May 2013 14:16:16 +0000 (10:16 -0400)]
perldelta: remove placeholders for module changes

I hope to add summaries of these, but for now I will act like we will
not have them.

11 years ago[perl #66604] 64bit compilation Problem on Solaris x86_64
Andy Dougherty [Fri, 10 May 2013 09:19:57 +0000 (19:19 +1000)]
[perl #66604] 64bit compilation Problem on Solaris x86_64

hints changes

11 years ago[perl #66604] 64bit compilation Problem on Solaris x86_64
Andy Dougherty [Fri, 10 May 2013 09:19:17 +0000 (19:19 +1000)]
[perl #66604] 64bit compilation Problem on Solaris x86_64

Configure changes

11 years agoAdd repository and bugtracker META to Module-CoreList Makefile.PL
Chris 'BinGOs' Williams [Fri, 10 May 2013 11:57:57 +0000 (12:57 +0100)]
Add repository and bugtracker META to Module-CoreList Makefile.PL

11 years agoupdate Module::CoreList for v5.18.0
Ricardo Signes [Fri, 10 May 2013 02:40:35 +0000 (22:40 -0400)]
update Module::CoreList for v5.18.0

11 years agoperldelta: acknowledgements
Ricardo Signes [Fri, 10 May 2013 02:33:20 +0000 (22:33 -0400)]
perldelta: acknowledgements

11 years agoFix regex /il and /iaa failures for single element [] class
Karl Williamson [Thu, 9 May 2013 05:06:17 +0000 (23:06 -0600)]
Fix regex /il and /iaa failures for single element [] class

This was a regression introduced in the v5.17 series.  It only affected
UTF-8 encoded patterns.  Basically, the code here should have
corresponded to, and didn't, similar logic located after the defchar:
label in this file, which is executed for the general case (not stemming
from a single element [bracketed] character class node).

We don't fold code points 0-255 under locale, as those aren't known
until run time.  Similarly, we don't allow folds that cross the 255/256
boundary, as those aren't well-defined; and under /aa we don't allow
folds that cross the 127/128 boundary.

11 years agofurther tweak SvPV() docs
David Mitchell [Thu, 9 May 2013 15:57:56 +0000 (16:57 +0100)]
further tweak SvPV() docs

Make it clear that a different pointer may be returned each time.

11 years agoperldelta: remove some placeholders
Ricardo Signes [Thu, 9 May 2013 15:33:03 +0000 (11:33 -0400)]
perldelta: remove some placeholders

11 years agoregenerated uconfig
H.Merijn Brand [Wed, 8 May 2013 15:59:35 +0000 (17:59 +0200)]
regenerated uconfig

11 years agoMore spellchecks
H.Merijn Brand [Wed, 8 May 2013 15:31:03 +0000 (17:31 +0200)]
More spellchecks

11 years agoSpell-checking on meta-units
H.Merijn Brand [Wed, 8 May 2013 14:16:35 +0000 (16:16 +0200)]
Spell-checking on meta-units

Tried to be as consistent as possible.
Removed all trailing whitespace of changed files.
Resyncs Glossary from previously missed updates.

11 years agomaildomain to support /etc/mailname
H.Merijn Brand [Wed, 8 May 2013 14:12:56 +0000 (16:12 +0200)]
maildomain to support /etc/mailname

Now backported to upstream dist/meta

11 years agoperldelta: "single character" is clearer than "length one"
Ricardo Signes [Thu, 9 May 2013 14:35:06 +0000 (10:35 -0400)]
perldelta: "single character" is clearer than "length one"

11 years agoporting/podcheck.t: improve diagnostic
David Mitchell [Thu, 9 May 2013 14:32:24 +0000 (15:32 +0100)]
porting/podcheck.t: improve diagnostic

If a test fails because the number of warnings for a pod file was more
than expected, make it clear in the diag output that it was indeed
why it failed.

11 years agoclarify SvPV* and SvPV_force* docs
David Mitchell [Thu, 9 May 2013 14:17:10 +0000 (15:17 +0100)]
clarify SvPV* and SvPV_force* docs

See RT #116407.

Make it clear that SvPV(sv) does not always equal SvPVX(sv), and to use
SvPV_force() if necessary. Also, clarify that SvPV_force() will destroy
any non-string content like a reference. Then, make the other SvPV*
descriptions in general refer back to SvPV() or SvPV_force(), so that
people will spot these added caveats.

11 years agoRemove PERL_ASYNC_CHECK() from Perl_leave_scope().
Nicholas Clark [Sat, 14 Apr 2012 13:51:33 +0000 (15:51 +0200)]
Remove PERL_ASYNC_CHECK() from Perl_leave_scope().

PERL_ASYNC_CHECK() was added to Perl_leave_scope() as part of commit
f410a2119920dd04, which moved signal dispatch from the runloop to
control flow ops, to mitigate nearly all of the speed cost of safe
signals.

The assumption was that scope exit was a safe place to dispatch signals.
However, this is not true, as parts of the regex engine call
leave_scope(), the regex engine stores some state in per-interpreter
variables, and code called within signal handlers can change these
values.

Hence remove the call to PERL_ASYNC_CHECK() from Perl_leave_scope(), and
add it explicitly in the various OPs which were relying on their call to
leave_scope() to dispatch any pending signals. Also add a
PERL_ASYNC_CHECK() to the exit of the runloop, which ensures signals
still dispatch from S_sortcv() and S_sortcv_stacked(), as well as
addressing one of the concerns in the commit message of
f410a2119920dd04:

    Subtle bugs might remain - there might be constructions that enter
    the runloop (where signals used to be dispatched) but don't contain
    any PERL_ASYNC_CHECK() calls themselves.

Finally, move the PERL_ASYNC_CHECK(); added by that commit to pp_goto to
the end of the function, to be consistent with the positioning of all
other PERL_ASYNC_CHECK() calls - at the beginning or end of OP
functions, hence just before the return to or just after the call from
the runloop, and hence effectively at the same point as the previous
location of PERL_ASYNC_CHECK() in the runloop.

11 years agoperldelta: update how we talk about COW
Ricardo Signes [Thu, 9 May 2013 13:39:02 +0000 (09:39 -0400)]
perldelta: update how we talk about COW

11 years agoperldelta: use v5.x rather than 5.x
Ricardo Signes [Thu, 9 May 2013 13:23:14 +0000 (09:23 -0400)]
perldelta: use v5.x rather than 5.x

Suggested by Nicholas Clark:

The text refers to perl version numbers as 5.12, 5.12.x, 5.12.3
v5.12, v5.12.3.  I think it would be best if it were consistent with
a v as either v5.12 for the series, or v5.12.3 for a particular
release.  Specifically because use 5.12.3; works, but use 5.12;
doesn't.

11 years agoperldelta: we suspect no known problems..?
Ricardo Signes [Thu, 9 May 2013 13:16:04 +0000 (09:16 -0400)]
perldelta: we suspect no known problems..?

11 years agoperldelta: typo fix
Ricardo Signes [Thu, 9 May 2013 13:14:52 +0000 (09:14 -0400)]
perldelta: typo fix

from Nicholas Clark

11 years agoperldelta: use UTF-8 when we mean UTF-8
Ricardo Signes [Thu, 9 May 2013 13:14:39 +0000 (09:14 -0400)]
perldelta: use UTF-8 when we mean UTF-8

most of these changes from Nicholas Clark

11 years agoperldelta: warn of more platform deprecation
Ricardo Signes [Thu, 9 May 2013 13:13:09 +0000 (09:13 -0400)]
perldelta: warn of more platform deprecation

11 years agoperldelta: correct "new hash function" entry
Ricardo Signes [Thu, 9 May 2013 13:12:38 +0000 (09:12 -0400)]
perldelta: correct "new hash function" entry

11 years agoperldelta: hash ordering may differ, may not
Ricardo Signes [Thu, 9 May 2013 12:56:22 +0000 (08:56 -0400)]
perldelta: hash ordering may differ, may not

...the key is that you cannot rely on anything about it

11 years agorevise hash overhaul docs
David Golden [Wed, 8 May 2013 21:22:39 +0000 (17:22 -0400)]
revise hash overhaul docs

11 years agoperldelta: drop a reference to a change internal to 5.17
Ricardo Signes [Thu, 9 May 2013 12:54:29 +0000 (08:54 -0400)]
perldelta: drop a reference to a change internal to 5.17

11 years agoperldelta: remove an inscrutable note, clean up another
Ricardo Signes [Thu, 9 May 2013 12:54:14 +0000 (08:54 -0400)]
perldelta: remove an inscrutable note, clean up another

11 years agosilence warnings under NO_TAINT_SUPPORT
David Mitchell [Thu, 9 May 2013 13:23:38 +0000 (14:23 +0100)]
silence warnings under NO_TAINT_SUPPORT

The are lots of places where local vars aren't used when compiled
with NO_TAINT_SUPPORT.

11 years agofix threaded NO_TAINT_SUPPORT build errors
Daniel Dragan [Thu, 9 May 2013 13:03:59 +0000 (14:03 +0100)]
fix threaded NO_TAINT_SUPPORT build errors

NO_TAINT_SUPPORT incorrectly called Perl_croak without aTHX_.

To fix this, change Perl_croak to Perl_croak_nocontext, since it is
slightly more efficient in instruction size than Perl_croak.

11 years agodump.c: avoid compiler warning under -Dmad
David Mitchell [Thu, 9 May 2013 10:55:47 +0000 (11:55 +0100)]
dump.c: avoid compiler warning under -Dmad

this fix was already applied to the non-MAD branch; apply it to
the similar MAD / xml-dump code.

dump.c:2663:57: warning: comparison of constant 85 with expression of type
      'svtype' is always false [-Wtautological-constant-out-of-range-compare]
    else if (sv == (const SV *)0x55555555 || SvTYPE(sv) == 'U') {

11 years agotoke.c/MAD: silence a couple of warnings
David Mitchell [Thu, 9 May 2013 10:19:32 +0000 (11:19 +0100)]
toke.c/MAD: silence a couple of warnings

A couple of vars are set but not used under -Dmad.
The easiest way to silence the warnings is to use PERL_UNUSED_VAR()
rather than try to #ifdef away all the places the vars appear under mad.

11 years agoMinor touch-ups to VMS section of perldelta.
Craig A. Berry [Thu, 9 May 2013 00:26:46 +0000 (19:26 -0500)]
Minor touch-ups to VMS section of perldelta.

11 years agospelling, punct fixes for perldelta
Karen Etheridge [Wed, 8 May 2013 22:30:46 +0000 (15:30 -0700)]
spelling, punct fixes for perldelta

11 years agoOfficially deprecate stdio/sfio builds of perl
Leon Timmermans [Wed, 8 May 2013 20:58:32 +0000 (22:58 +0200)]
Officially deprecate stdio/sfio builds of perl

11 years agoQuick fixes to Yves' hash randomization documentation
Steffen Mueller [Wed, 8 May 2013 17:22:32 +0000 (19:22 +0200)]
Quick fixes to Yves' hash randomization documentation

11 years agoperldelta: Typos, grammar
Karl Williamson [Wed, 8 May 2013 16:47:16 +0000 (10:47 -0600)]
perldelta: Typos, grammar

11 years agoChange some perldelta text
Karl Williamson [Wed, 8 May 2013 16:24:18 +0000 (10:24 -0600)]
Change some perldelta text

This removes things that aren't applicable except to intra-5.17
releases, and rewords some poorly worded text.

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

11 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

11 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

11 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

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

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

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

11 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

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

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

Based on http://www.perlmonks.org/?node_id=1032501, these arguments could
be confusing.

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

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

11 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

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

11 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

11 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

11 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

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

11 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

11 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

11 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

11 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

11 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

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

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

11 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

11 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

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

11 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

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

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

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.

11 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

11 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

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