This is a live mirror of the Perl 5 development currently hosted at
11 years agoIn t/op/reset.t, don't eval "" in void context - die if something goes wrong.
Nicholas Clark [Mon, 11 Apr 2011 19:51:06 +0000 (20:51 +0100)]
In t/op/reset.t, don't eval "" in void context - die if something goes wrong.

Because sometimes the "it can never happen" does. For example, "panic: free
from wrong pool". And it's awfully confusing if the error message is eaten.
There's not even a "I barfed you an error but then I eated it" caption to give
a clue about what happened.

11 years agoIn Perl_op_clear(), uncomment the call to mad_free()
Nicholas Clark [Mon, 11 Apr 2011 19:31:29 +0000 (20:31 +0100)]
In Perl_op_clear(), uncomment the call to mad_free()

Free the MADPROPs when freeing their parent OP, now that all the other bugs are

11 years agoIn S_fold_constants() under MAD, need to copy the SV representing the result.
Nicholas Clark [Mon, 11 Apr 2011 19:25:04 +0000 (20:25 +0100)]
In S_fold_constants() under MAD, need to copy the SV representing the result.

For the non-MAD case (the historical default), it was fine to use pad_swipe()
(which doesn't adjust any part of the OS), because the OS was freed soon after.
However, the MAD code doesn't free the OS, hence as-was, without this change,
the OS still thought that it owned the pad slot, and much jollity resulted as
two different parts of the code fought over whichever SV had the bad luck to
next be billeted there.

11 years agoUnder ithreads, convert SVOPs stored in MADPROPs to PADOPs.
Nicholas Clark [Mon, 11 Apr 2011 19:18:49 +0000 (20:18 +0100)]
Under ithreads, convert SVOPs stored in MADPROPs to PADOPs.

Else if a child thread attempts to free an optree with MADPROPs containing OPs
pointing directly to SVs, it will by trying to free SVs to the wrong
interpreter, at which point bad things(tm) happen.

(There still seems to be some fixing needed for the MADPROPs direct pointers,
but as no tests are failing because of them, I'm postponing them until the
failures are addressed)

11 years agoAllocate MADPROPs using PerlMemShared_malloc()
Nicholas Clark [Mon, 11 Apr 2011 19:14:34 +0000 (20:14 +0100)]
Allocate MADPROPs using PerlMemShared_malloc()

As the MADPROPs are referenced from the optree, which is itself shared,
MADPROPs can't use the default malloc(), which is per i-thread, lest a
child thread frees the optree, and bad things(tm) happen. (a "free to wrong
pool" panic if you're on Win32, or elsewhere if you've got DEBUGGING)

11 years agoscan_heredoc could reallocate PL_parser->linestr's PV
David Leadbeater [Sat, 14 May 2011 12:57:21 +0000 (13:57 +0100)]
scan_heredoc could reallocate PL_parser->linestr's PV

Since f0e67a1 it was possible the freed buffer may be read from when
parsing a heredoc. This adds a call to lex_grow_linestr to grow the
buffer and ensure the pointers in PL_parser are updated.

The bug is pretty hard to reproduce, hence no test. I'm able to
reproduce it with the following:

  perl -Meverywhere=re,debug -MParams::Util -e1

11 years agoregcomp.c: Fix regression memory leak
Karl Williamson [Thu, 19 May 2011 03:57:25 +0000 (21:57 -0600)]
regcomp.c: Fix regression memory leak

I carelessly added this memory leak which happens in a bracketed
character class under /i when there is both a above 255 code point
listed plus one of the several below 256 code points that participate
in a fold with ones above 256.

For 5.16, as the use of the inversion list data structure expands, an
automatic method of freeing space will need to be put in place.  But
this should be sufficient for 5.14.1.

11 years ago[perl #90060] Fix location of (*COMMIT) in pod/perlre.pod
Johan Vromans [Thu, 19 May 2011 03:42:43 +0000 (20:42 -0700)]
[perl #90060] Fix location of (*COMMIT) in pod/perlre.pod

pod/perlre.pod: (*COMMIT) should be grouped under "Verbs without an

11 years agoRemove long-stading limitation from FindBin
Moritz Lenz [Fri, 29 Apr 2011 17:44:52 +0000 (19:44 +0200)]
Remove long-stading limitation from FindBin

The FindBin documentation states as a known bug that it will return
a wrong result if a script of the same name as the current one exists in
$PATH, and is executable.

This patch removes the functionality of searching through $PATH.
According to Graham Barr it was only necessary because the SysV shell on
Sun4OS4 was broken - a system where I can't imagine anybody wanting
(and successfully compiling) a modern perl.

On Linux this part wasn't necessary in the case of `perl -S scriptname',
tests on other platforms are very welcome.

As a side effect, this patch also removes some IO operations, speeding up
FindBin slightly.

This patch is based on discussions with Tina Müller.

Further "discussion":

11 years agoIncrease version for ExtUtils::CBuilder
Father Chrysostomos [Thu, 19 May 2011 03:40:16 +0000 (20:40 -0700)]
Increase version for ExtUtils::CBuilder

11 years ago[perl #90054] Fix typo in universal.c
Johan Vromans [Thu, 19 May 2011 03:28:23 +0000 (20:28 -0700)]
[perl #90054] Fix typo in universal.c

At XS(XS_UNIVERSAL_DOES), invocant is spelled wrong.

11 years agoAppend CFLAGS and LDFLAGS to their counterparts in EU::CBuilder
Niko Tyni [Thu, 28 Apr 2011 06:18:54 +0000 (09:18 +0300)]
Append CFLAGS and LDFLAGS to their counterparts in EU::CBuilder

Since ExtUtils::CBuilder 0.27_04 (bleadperl commit 06e8058f27e4),
CFLAGS and LDFLAGS from the environment have overridden the
ccflags and ldflags settings. This can cause binary incompatibilities
between the core Perl and extensions built with EU::CBuilder.

Append to the values rather than overriding them.

11 years ago/iaa doesn't work when the result is trie'd
Karl Williamson [Sun, 8 May 2011 15:59:13 +0000 (09:59 -0600)]
/iaa doesn't work when the result is trie'd

It turns out that caseless tries currently only work on UTF-8 EXACTFU
nodes.  The code attempted to test that by using UNI_SEMANTICS, but that
doesn't actually work; what is important is the semantics of the current

11 years agoCorrect perldoc search path for VMS.
Craig A. Berry [Sun, 15 May 2011 20:34:34 +0000 (15:34 -0500)]
Correct perldoc search path for VMS.

11 years agoAdd Kevin Woolley to AUTHORS
Father Chrysostomos [Thu, 19 May 2011 03:13:15 +0000 (20:13 -0700)]
Add Kevin Woolley to AUTHORS

11 years ago[perl #88812] INSTALL file changes (post-5.14)
Kevin J. Woolley [Thu, 19 May 2011 01:22:36 +0000 (18:22 -0700)]
[perl #88812] INSTALL file changes (post-5.14)

- minor spelling, punctuation corrections

11 years ago[perl #88496] missing dependencies in perl core makefiles
Martin Becker [Thu, 19 May 2011 01:15:40 +0000 (18:15 -0700)]
[perl #88496] missing dependencies in perl core makefiles

I have spotted a couple of missing dependencies in the makefiles
utils/Makefile.SH and x2p/Makefile.SH that prevent json_pp, s2p,
psed, and find2perl from being rebuilt after configuration changes.

This could cause trouble if the install prefix has been changed,
so that the shebang line of these scripts from a previous build
no longer matches the target location of the perl binary.

A workaround would be to always "make clean" after changes to
the configuration, which sounds reasonable anyway. That said,
most of the other tools do have properly listed as a
dependency and I don't see why those four should not.

I have attached a small patch against perl-5.13.11 to fix this.
The bug is also present in the latest stable release as of this
writing, perl-5.12.3, except that json_pp is not included there.

11 years agoIncrease’s $VERSION
Father Chrysostomos [Thu, 19 May 2011 03:11:53 +0000 (20:11 -0700)]
Increase’s $VERSION

11 years ago[perl #87740] perl debugger restart fails on Windows
Louis Strous [Thu, 19 May 2011 01:07:52 +0000 (18:07 -0700)]
[perl #87740] perl debugger restart fails on Windows

Start debugger for some perl script, enter "R" command to restart.
Get no restart, but error message about POSIX macro _SC_OPEN_MAX and
termination of debugged program. Entering "R" again yields a similar
error message and terminates the debugger.

Lines 3332-3335 of read:

                    my $max_fd = 1024; # default if POSIX can't be loaded
                    if (eval { require POSIX }) {
                        $max_fd = POSIX::sysconf(POSIX::_SC_OPEN_MAX());

POSIX Is available but POSIX::_SC_OPEN_MAX is not defined on Windows.
This yields an exception, which means that the "restart" code follow-
ing these lines is not executed, so no proper restart is done.  If
POSIX weren't available at all, then a default value of 1024 would be
used for $max_fd.

A workaround is to not cause an exception if _SC_OPEN_MAX is not
defined, but instead use the default value that has already been
defined in case POSIX cannot be loaded at all.  Do this by wrapping
line 3334 of in an eval { }. Then on Windows the default
value of 1024 gets used for $max_fd, just like if POSIX were not
available at all.  This seems to work OK for me on Windows 7. I can
now restart the debugger, and breakpoints are retained.

11 years agoAdd Louis Strous to AUTHORS
Father Chrysostomos [Thu, 19 May 2011 01:04:47 +0000 (18:04 -0700)]
Add Louis Strous to AUTHORS

11 years agoConfusing comment typo in Deparse
Father Chrysostomos [Thu, 19 May 2011 01:02:59 +0000 (18:02 -0700)]
Confusing comment typo in Deparse

11 years agoClean: Remove confusing comment from a test
Michael Witten [Mon, 16 May 2011 01:18:00 +0000 (01:18 +0000)]
Clean: Remove confusing comment from a test

As per:

  Re: [PATCH 2/2] Clean: Actually use HvUSEDKEYS() instead of HvKEYS()
  Sun, 15 May 2011 20:29:05 +0000
  Message-Id: <>

the text in question was introduced along with the test in this commit:

  $ c=58da6fbcb8d595318b667d7d7cc8739f5feb15f3
  $ git log -1 $c
  commit 58da6fbcb8d595318b667d7d7cc8739f5feb15f3
  Author: Max Maischein <>
  Date:   Mon Jun 1 14:18:42 2009 +0200

      Add benchmark test for keys() on empty hashes (RT26188)

I believe the text in question is an allusion to the code introduced in
the parent commit:

  $ git log -1 $c^
  commit 900ac0519e4b408fd93443b14b734cc330c59698
  Author: Max Maischein <>
  Date:   Sun May 31 23:50:12 2009 +0200

      Fix RT26188, speed up keys() on empty hash

namely the code starting at line 2132 of

   /* At start of hash, entry is NULL.  */
  return entry;

It is best just to remove the text in question, as it is of no
real use.

Signed-off-by: Michael Witten <>
11 years agoClean: Actually use HvUSEDKEYS() instead of HvKEYS()
Michael Witten [Mon, 14 Mar 2011 06:57:43 +0000 (06:57 +0000)]
Clean: Actually use HvUSEDKEYS() instead of HvKEYS()


  commit 8aacddc1ea3837f8f1a911d90c644451fc7cfc86
  Author: Nick Ing-Simmons <>
  Date:   Tue Dec 18 15:55:22 2001 +0000

      Tidied version of Jeffrey Friedl's <> restricted hashes
       - added delete of READONLY value inhibit & test for same
       - re-tabbed

      p4raw-id: //depot/perlio@13760

essentially deprecated HvKEYS() in favor of HvUSEDKEYS(); this is
explained in line 144 (now 313) of file `hv.h':

   * HvKEYS gets the number of keys that actually exist(), and is provided
   * for backwards compatibility with old XS code. The core uses HvUSEDKEYS
   * (keys, excluding placeholdes) and HvTOTALKEYS (including placeholders)

This commit simply puts that into practice, and is equivalent to running
the following (at least with a35ef416833511da752c4b5b836b7a8915712aab
checked out):

  git grep -l HvKEYS | sed /hv.h/d | xargs sed -i s/HvKEYS/HvUSEDKEYS/

Notice that HvKEYS is currently just an alias for HvUSEDKEYS:

  $ git show a35ef416833511da752c4b5b836b7a8915712aab:hv.h | sed -n 318p
  #define HvKEYS(hv) HvUSEDKEYS(hv)

According to `make tests':

  All tests successful.

11 years agoREADME.macosx - clarify requirement of apple developer tools
Leo Lapworth [Sun, 3 Apr 2011 08:20:04 +0000 (09:20 +0100)]
README.macosx - clarify requirement of apple developer tools

11 years agoREADME.macosx - remove Carbon reference
Leo Lapworth [Sun, 3 Apr 2011 08:06:56 +0000 (09:06 +0100)]
README.macosx - remove Carbon reference

11 years agoREADME.macosx - cleanup/update copy, remove 'MacPerl'
Leo Lapworth [Sun, 3 Apr 2011 08:04:06 +0000 (09:04 +0100)]
README.macosx - cleanup/update copy, remove 'MacPerl'

11 years agoCleanup README.macosx
Leo Lapworth [Sun, 3 Apr 2011 07:48:14 +0000 (08:48 +0100)]
Cleanup README.macosx

- Direct people for README.macosx straight away
- Make synopsis copy shorter and clearer

11 years agoUpdate AUTHORS file (add myself)
Leo Lapworth [Sun, 3 Apr 2011 07:49:58 +0000 (08:49 +0100)]
Update AUTHORS file (add myself)

11 years agoAdd Nuno Cavalho’s other e-mail address
Father Chrysostomos [Wed, 18 May 2011 23:17:38 +0000 (16:17 -0700)]
Add Nuno Cavalho’s other e-mail address

11 years agoadd given when to perfunc
smash [Mon, 16 May 2011 14:08:59 +0000 (15:08 +0100)]
add given when to perfunc

11 years agobuildtoc: make dying clearer
David Mitchell [Wed, 18 May 2011 23:01:22 +0000 (00:01 +0100)]
buildtoc: make dying clearer

print a big "ABORTED" if it dies.

11 years agobuildtoc: make a warning clearer
David Mitchell [Wed, 18 May 2011 22:44:14 +0000 (23:44 +0100)]
buildtoc: make a warning clearer

make it clear that the cannot find '=head1 NAME' warning isn't fatal,
and split it over two lines ofr clarity with long filenames

11 years ago[perl #78074] Make it explicit that symtab manipulation is not supported
Father Chrysostomos [Fri, 13 May 2011 15:37:48 +0000 (08:37 -0700)]
[perl #78074] Make it explicit that symtab manipulation is not supported

11 years agoRestore a croak I deleted by mistake
Father Chrysostomos [Sat, 14 May 2011 01:12:30 +0000 (18:12 -0700)]
Restore a croak I deleted by mistake

11 years agoRT72688 - Benchmark.t test 24 bug when the testing system is under load.
Todd Rinaldo [Fri, 13 May 2011 05:39:22 +0000 (22:39 -0700)]
RT72688 - Benchmark.t test 24 bug when the testing system is under load.

11 years agorelease_managers_guide: replace =item with =head3
David Mitchell [Wed, 18 May 2011 22:24:57 +0000 (23:24 +0100)]
release_managers_guide: replace =item with =head3

The main body of the Release Manager's Guide is currently just a long list
of steps, each with a '=item *'. Replace these with
    =head3 some description
so that its easier to navigate around.

Also do a few minor structural fixups along the way (eg splitting or
merging individual =item sections).

Also a few typos and bits fixed as I noticed them.

11 years agorelease_managers_guide: add BLEAD-POINT/-FINAL
David Mitchell [Wed, 18 May 2011 21:22:25 +0000 (22:22 +0100)]
release_managers_guide: add BLEAD-POINT/-FINAL

the Release Manager's Guide talks about three different release types,
RC, BLEAD and MAINT. This is a bit ambiguous for a major release
(e.g. 5.14.0): is it the first MAINT or the last BLEAD?

So, split BLEAD into two:

BLEAD-FINAL - a final release on a blead branch (e.g. 5.14.0)
BLEAD-POINT - a point release on a blead branch (e.g. 5.15.0, 5.15.1)

Then update the whole document to use these tags consistently.

11 years agorelease_managers_guide: remove SNAPSHOT
David Mitchell [Wed, 18 May 2011 20:15:23 +0000 (21:15 +0100)]
release_managers_guide: remove SNAPSHOT

Now that we make regular blead releases, we no longer need to make
snapshot releases. So remove the instructions for SNAPSHOT that
litter release_managers_guide.pod.

11 years agogiven wasn't calling set magic [RT#84526]
Eric Brine [Mon, 21 Feb 2011 10:37:27 +0000 (02:37 -0800)]
given wasn't calling set magic [RT#84526]

11 years agoTODO tests for RT#84526 - given needs to handle magical TARG
Eric Brine [Mon, 21 Feb 2011 10:35:24 +0000 (02:35 -0800)]
TODO tests for RT#84526 - given needs to handle magical TARG

11 years agoRevert "Partially revert 4155e4fe"
Father Chrysostomos [Fri, 13 May 2011 05:16:57 +0000 (22:16 -0700)]
Revert "Partially revert 4155e4fe"

This reverts commit 7f586e41ad4ecd904c7d8dbe1ddb0f9410484bac.

11 years agoRevert "silence do_curse() compiler warning"
Father Chrysostomos [Fri, 13 May 2011 05:33:37 +0000 (22:33 -0700)]
Revert "silence do_curse() compiler warning"

This reverts commit 82336099d393c4ac04507e58e4402ba9c413f791.

11 years agoIgnore pod/*.{html,man}
Michael Witten [Wed, 18 May 2011 21:48:41 +0000 (14:48 -0700)]
Ignore pod/*.{html,man}

Signed-off-by: Michael Witten <>
11 years agowaitpid doesn't work with WIFSTOPPED
Bo Lindbergh [Fri, 13 May 2011 04:42:03 +0000 (21:42 -0700)]
waitpid doesn't work with WIFSTOPPED

> Quoth Emmanuel Rodriguez:
>> I'm see a strange behavior in the fonction WIFSTOPPED($?) when
>> waitpid($pid, WUNTRACED) is invoked and that the child process
>> receives a stop signal. Under this conditions one would expect that
>> WIFSTOPPED($?) would return a true value, but that's not what is
>> happening. A similar program written in C will have the same macro
>> return true instead of false under the same conditions.
>> I can reproduce this with the default perl provided by Ubuntu 9.10 and
>> OS X 10.6. Which lets me guess that this is not a distro related bug.
> This is a documentation error.  POSIX.pod incorrectly claims that
> you can pass the value of $? to WIFEXITED and its relatives.
> You must use the raw status value from ${^CHILD_ERROR_NATIVE} instead.

And here's the patch.  Note that perlvar.pod gets it right already.

/Bo Lindbergh

11 years ago[perl #90898] B::Deparse failure on glob()
Father Chrysostomos [Wed, 18 May 2011 21:38:48 +0000 (14:38 -0700)]
[perl #90898] B::Deparse failure on glob()

Change d1bea3d changed the way that glob() is converted into
a CORE::GLOBAL::glob call, by preserving the OP_GLOB node, so
that it could still do overloading.

But B::Deparse was never updated to account for the change to
the op tree.

11 years ago[perl #90160] U* gives ‘U0 mode on an empty string’
Father Chrysostomos [Wed, 18 May 2011 21:35:47 +0000 (14:35 -0700)]
[perl #90160] U* gives ‘U0 mode on an empty string’

This is a regression in 5.10 caused by change 23966/08ca2aa38a29,
which added a bit of faulty logic. It was treating U* in the middle of
a pack template as equivalent to U0, if the input string was empty.

11 years agoupdate Math-Complex to CPAN version 1.57
Zefram [Wed, 18 May 2011 20:54:55 +0000 (21:54 +0100)]
update Math-Complex to CPAN version 1.57

* Add copy constructor and arrange for it to be called
  appropriately, problem found by David Madore and Alexandr

* Correctly format polarwise when a numeric format specifier is
  given, problem found by TomC.

* More stable great_circle_direction algorithm, problem found
  by Daniel Burr.

11 years agoupdate Time-HiRes to CPAN version 1.9722
Zefram [Wed, 18 May 2011 20:49:45 +0000 (21:49 +0100)]
update Time-HiRes to CPAN version 1.9722

- Fix broken linkage on Windows with gcc 3.4 seen with ActivePerl,
  report from Christian Walde [ #61648], fix derived
  from Vincent Pit.
- Jump through hoops to avoid compiler warnings.

11 years ago[perl #89896] Locale::Maketext test failure
Justin Case [Wed, 18 May 2011 20:43:24 +0000 (13:43 -0700)]
[perl #89896] Locale::Maketext test failure
when environment has variable containing unbalanced brackets

Patch is attached to escape brackets in the value of the environment
variable being used in the test.

11 years agoIn Perl_regdupe_internal() eliminate npar, which is assigned to but never used.
Nicholas Clark [Tue, 29 Mar 2011 15:37:10 +0000 (16:37 +0100)]
In Perl_regdupe_internal() eliminate npar, which is assigned to but never used.

It has been unused since 28d8d7f41ab202dd restructured the regexp dup code.

11 years agoIn S_regpiece(), only declare parse_start if conditional code needs it.
Nicholas Clark [Tue, 29 Mar 2011 14:36:40 +0000 (15:36 +0100)]
In S_regpiece(), only declare parse_start if conditional code needs it.

gcc 4.6.0 warns about variables that are set but never read, and unless
RE_TRACK_PATTERN_OFFSETS is defined, parse_start is never read. So avoid
declaring or setting it if it's not actually going to be used later.

11 years agoIn Perl_safesyscalloc(), only declare total_size if conditional code needs it.
Nicholas Clark [Tue, 29 Mar 2011 14:06:50 +0000 (15:06 +0100)]
In Perl_safesyscalloc(), only declare total_size if conditional code needs it.

gcc 4.6.0 warns about variables that are set but never read, and for most
combinations of conditional compilation options, total_size is never read.
So avoid declaring or setting it if it's not actually going to be used later.

11 years agoIn pp_warn and pp_die, eliminate pv, which is assigned to but never read.
Nicholas Clark [Tue, 29 Mar 2011 13:15:59 +0000 (14:15 +0100)]
In pp_warn and pp_die, eliminate pv, which is assigned to but never read.

11 years agoEliminate C variables unused since 4d0fbddde6c5dcb9 refactored HvFILL()
Nicholas Clark [Tue, 29 Mar 2011 12:38:13 +0000 (13:38 +0100)]
Eliminate C variables unused since 4d0fbddde6c5dcb9 refactored HvFILL()

3 functions had C variables previously used to track whether the number of
hash chains have any entries. 4d0fbddde6c5dcb9 refactored the hash
implementation to calculated this on demand, instead of tracking changes to
it on hash updates. That change missed eliminating those variables, as
gcc prior to 4.6.0 didn't actually warn that they weren't used, because
(technically) they aren't unused - they are assigned to, but never read.

gcc (at least 4.3.2 and 4.6.0) generates identical object code with/without
this change, implying that its optimiser correctly eliminates the code.
Other optimisers may be similar, in which case there's no runtime saving from
this change.

11 years agomktables: Put off removing the \N{BELL} conflict
Karl Williamson [Wed, 18 May 2011 18:44:44 +0000 (12:44 -0600)]
mktables: Put off removing the \N{BELL} conflict

Unicode 6.0 re-used the name BELL for a character other than what it
was traditionally for.  There is code in mktables to change the
treatment for 5.15, so that it wouldn't be forgotten.  But I'm thinking
that we might want to wait til 5.18 to change, and so I just changed it
to 5.17 instead.

11 years ago[perl #89662] PATCH to perlfunc.pod: select fix
Tom Christiansen [Mon, 2 May 2011 13:28:53 +0000 (09:28 -0400)]
[perl #89662] PATCH to perlfunc.pod: select fix

I think it's about time--by say 20 years--that we stop passing around
filehandles as strings, especially if we don't use Symbol::qualify_to_ref()
to fix the package.  Plus it isn't strict-safe.  All fixed now.

I am somewhat concerned about the final comment regarding read
and sysread, as I don't know whether PerlIO encoding translation
issues affect this picture.


11 years ago[perl #89660] PATCH to perlfunc.pod: three forgotten prototypes, unforgotten
Tom Christiansen [Mon, 2 May 2011 13:28:11 +0000 (09:28 -0400)]
[perl #89660] PATCH to perlfunc.pod: three forgotten prototypes, unforgotten

11 years agoImproved perlpodstyle docs from tchrist
Tom Christiansen [Mon, 2 May 2011 13:27:18 +0000 (09:27 -0400)]
Improved perlpodstyle docs from tchrist

11 years agoAn editing pass on perlop.pod from tchrist
Tom Christiansen [Mon, 2 May 2011 13:25:55 +0000 (09:25 -0400)]
An editing pass on perlop.pod from tchrist

Subject: [perl #89490] PATCH: perlop.pod

11 years agoperllol doc updates from tchrist.
Tom Christiansen [Mon, 2 May 2011 13:24:49 +0000 (09:24 -0400)]
perllol doc updates from tchrist.

11 years agoThis patch is aagainst the "blead du moment". It fixes various
Tom Christiansen [Mon, 2 May 2011 13:23:11 +0000 (09:23 -0400)]
This patch is aagainst the "blead du moment".  It fixes various
things, but does not address the "this version" != 5.14 and the
perlio issues.  I believe that these at least should be addressed
as soon as possible (I don't know whether that means 5.14;
probably not).  It has to either say the particular version that
applies.  We can't keep releasing things that say this version:
they are not trustable.


11 years agoUpdate the version of Darwin we know the by_BE locale to be broken on
Jesse Vincent [Mon, 9 May 2011 02:46:24 +0000 (22:46 -0400)]
Update the version of Darwin we know the by_BE locale to be broken on

11 years agoAdd Vladimir Timofeev to AUTHORS
Jesse Vincent [Tue, 10 May 2011 13:21:31 +0000 (09:21 -0400)]
Add Vladimir Timofeev to AUTHORS

11 years agoFix for [perl #90106] 5.14.0-RC2 ODBM_File failures on Ubuntu natty [multiarch]
Vladimir Timofeev [Tue, 10 May 2011 13:17:41 +0000 (09:17 -0400)]
Fix for [perl #90106] 5.14.0-RC2 ODBM_File failures on Ubuntu natty [multiarch]

Ubuntu has juggled lib paths so we get to play games to catch up with

11 years agoS_sv_unmagicext_flags wasn't declared static either
Gisle Aas [Wed, 18 May 2011 18:47:59 +0000 (20:47 +0200)]
S_sv_unmagicext_flags wasn't declared static either

11 years agoS_mg_findext_flags wasn't declared static
Gisle Aas [Mon, 25 Apr 2011 18:24:00 +0000 (20:24 +0200)]
S_mg_findext_flags wasn't declared static

11 years agoIn S_doparseform(), don't force the pattern to a string. This resolves #79532
Nicholas Clark [Mon, 2 May 2011 11:37:30 +0000 (12:37 +0100)]
In S_doparseform(), don't force the pattern to a string. This resolves #79532

Previously S_doparseform() was using SvPV_force(), because the pattern had to
be forced to a string, because the compiled format was stored in the string's
buffer. Now that the compiled format is stored in the magic struct, this isn't

Additionally, removing the call to SvPV_force() removes the need to hack with
the SvREADONLY() flag in pp_formline.

11 years agoStore the compiled format in mg_ptr instead of after SvCUR() - fixes RT #89218
Nicholas Clark [Tue, 26 Apr 2011 11:12:34 +0000 (12:12 +0100)]
Store the compiled format in mg_ptr instead of after SvCUR() - fixes RT #89218

Formats are compiled down to a sequence of U32 opcodes in doparseform().
Previously the block of opcodes was stored in the buffer of SvPVX() after
the raw string by extending the buffer, and calculating the first U32 aligned
address after SvCUR(). A flag bit on the scalar was set to signal this hackery,
tested with SvCOMPILED()

The flag bit used happened to be the same as one of the two used by to signal
Boyer-Moore compiled scalars. The assumption was that no scalar can be used for
both. Unfortunately, this isn't quite true.

Given that the scalar is alway upgraded to PVMG to add PERL_MAGIC_fm magic,
to clear the cached compiled version, there's no extra memory cost in using
mg_ptr in the MAGIC struct to point directly to the block of U32 opcodes. The
test for "is there a compiled version" can switch to mg_find(..., PERL_MAGIC_fm)
returning a pointer, and the use of a flag bit abolished.

Retain SvCOMPILED() and SvCOMPILED_{on,off}() as compatibility for XS code on
CPAN - the first is always 0, the other two now no-ops.

11 years agoS_doparseform() should return void, not OP*, as it should use Perl_die not DIE
Nicholas Clark [Tue, 26 Apr 2011 10:02:45 +0000 (11:02 +0100)]
S_doparseform() should return void, not OP*, as it should use Perl_die not DIE

a1b950687051c32e added an error condition in S_doparseform() but used DIE(...)
to report it. DIE is defined as C<return Perl_die>, which acts as a hint to the
compiler about the control flow [as Perl_die() never returns], but also forces
the return type to be OP *. Whilst this is appropriate for pp functions, it's
not for S_doparseform() - a1b950687051c32e had to change the return type to OP*
and return NULL, just to appease DIE(). Hence use Perl_die() instead, remove
return statements, and remove the didn't-return-NULL (dead) code from

11 years agoperlreapi: nits
Karl Williamson [Tue, 17 May 2011 15:12:06 +0000 (09:12 -0600)]
perlreapi: nits

11 years agoop_reg_common.h: Fix comment
Karl Williamson [Sun, 8 May 2011 02:01:23 +0000 (20:01 -0600)]
op_reg_common.h: Fix comment

11 years agoperluniintro: revise text on blocks vs scripts
Karl Williamson [Wed, 30 Mar 2011 23:11:34 +0000 (17:11 -0600)]
perluniintro: revise text on blocks vs scripts

11 years agoperlop: Add explanation of \c
Karl Williamson [Thu, 28 Apr 2011 15:31:16 +0000 (09:31 -0600)]
perlop: Add explanation of \c

11 years agoperluniprops: specify exact chars in PerlSpace
Karl Williamson [Mon, 25 Apr 2011 00:06:14 +0000 (18:06 -0600)]
perluniprops: specify exact chars in PerlSpace

11 years agoperlrecharclass: Nits
Karl Williamson [Sun, 24 Apr 2011 15:59:50 +0000 (09:59 -0600)]
perlrecharclass: Nits

11 years agoperlrecharclass: Move table
Karl Williamson [Sun, 24 Apr 2011 15:57:59 +0000 (09:57 -0600)]
perlrecharclass: Move table

The table makes more sense moved; some accompanying wording cleanup.

11 years agoperlrecharclass: Move text about \N
Karl Williamson [Sun, 24 Apr 2011 15:55:35 +0000 (09:55 -0600)]
perlrecharclass: Move text about \N

This should come right after the text about '.', as they are related.

11 years agoperlrecharclass: Extra leading zero in code points
Karl Williamson [Sun, 24 Apr 2011 15:54:39 +0000 (09:54 -0600)]
perlrecharclass: Extra leading zero in code points

11 years agoregcomp.sym: Add comment
Karl Williamson [Sun, 24 Apr 2011 15:50:53 +0000 (09:50 -0600)]
regcomp.sym: Add comment

11 years agoperlop: Clarify that only ASCII brackets nest
Karl Williamson [Sun, 24 Apr 2011 15:46:55 +0000 (09:46 -0600)]
perlop: Clarify that only ASCII brackets nest

11 years agoperluniprops: AHex and PosixXDigit are identical
Karl Williamson [Sun, 24 Apr 2011 15:46:18 +0000 (09:46 -0600)]
perluniprops: AHex and PosixXDigit are identical

11 years agocharnames: pod nit
Karl Williamson [Sun, 24 Apr 2011 15:35:43 +0000 (09:35 -0600)]
charnames: pod nit

11 years agoperlfunc: Refer to from "use"
Karl Williamson [Sun, 24 Apr 2011 15:33:59 +0000 (09:33 -0600)]
perlfunc: Refer to from "use"

11 years agoregcomp.c: change comment wording, from TomC
Karl Williamson [Tue, 3 May 2011 22:40:29 +0000 (16:40 -0600)]
regcomp.c: change comment wording, from TomC

11 years agoperlxs: Fix pod errors
Karl Williamson [Thu, 28 Apr 2011 19:17:53 +0000 (13:17 -0600)]
perlxs: Fix pod errors

11 years agoperlunicode: Fix pod error
Karl Williamson [Thu, 28 Apr 2011 19:17:26 +0000 (13:17 -0600)]
perlunicode: Fix pod error

11 years agoperlport: Fix pod errors
Karl Williamson [Thu, 28 Apr 2011 19:17:01 +0000 (13:17 -0600)]
perlport: Fix pod errors

11 years agopod/perlfaq2: Fix pod errors
Karl Williamson [Thu, 28 Apr 2011 19:16:23 +0000 (13:16 -0600)]
pod/perlfaq2: Fix pod errors

11 years agohandy.h: Link moved to perlhacktips
Karl Williamson [Thu, 28 Apr 2011 19:15:21 +0000 (13:15 -0600)]
handy.h: Link moved to perlhacktips

11 years agoREADME.os2: Fix pod errors
Karl Williamson [Thu, 28 Apr 2011 19:14:47 +0000 (13:14 -0600)]
README.os2: Fix pod errors

11 years agopod/perlinterp.pod: Fix broken link
Karl Williamson [Wed, 27 Apr 2011 23:13:55 +0000 (17:13 -0600)]
pod/perlinterp.pod: Fix broken link

11 years agoext/Devel-Peek/ Fix broken links
Karl Williamson [Wed, 27 Apr 2011 23:13:16 +0000 (17:13 -0600)]
ext/Devel-Peek/ Fix broken links

11 years agodist/Cwd/lib/File/Spec/ Fix broken link
Karl Williamson [Wed, 27 Apr 2011 23:11:49 +0000 (17:11 -0600)]
dist/Cwd/lib/File/Spec/ Fix broken link

11 years agoversion/Internals.pod: Fix broken links
Karl Williamson [Wed, 27 Apr 2011 22:46:13 +0000 (16:46 -0600)]
version/Internals.pod: Fix broken links

11 years agoREADME.os2: fix broken link
Karl Williamson [Wed, 27 Apr 2011 22:44:14 +0000 (16:44 -0600)]
README.os2: fix broken link

11 years Fix broken links
Karl Williamson [Tue, 26 Apr 2011 22:23:27 +0000 (16:23 -0600)] Fix broken links

11 years agoperlsyn: fix broken link to this
Karl Williamson [Tue, 26 Apr 2011 22:15:02 +0000 (16:15 -0600)]
perlsyn: fix broken link to this

The X<> have spaces between them which was causing the =head to
generate a different anchor than expected

11 years agoperlop.pod: Fix broken link
Karl Williamson [Tue, 26 Apr 2011 22:13:37 +0000 (16:13 -0600)]
perlop.pod: Fix broken link

The reason there are links broken to this is that the X<>
were part of the heading, and the spaces between them are

11 years agoperlfaq4: Fix broken link
Karl Williamson [Tue, 26 Apr 2011 22:13:16 +0000 (16:13 -0600)]
perlfaq4: Fix broken link

11 years agoperlxs: Fix broken link
Karl Williamson [Tue, 26 Apr 2011 22:12:11 +0000 (16:12 -0600)]
perlxs: Fix broken link