84 min ago[perl #123802] Assertion failure with "\L\L" blead
Father Chrysostomos [Sun, 1 Mar 2015 19:29:10 +0000]
[perl #123802] Assertion failure with "\L\L"

This is a follow-up to f4460c6f7a.  The check to see whether we are
in a quote-like operator needs to come before the call to sublex_done,
as sublex_done is just as problematic as doing SvIVX on a PV.  (See
479ae48e22f for details on why.)  Checking the type of PL_linestr is
not a reliable way to see whether we are in a quote-like op, so use
PL_in_what instead.

93 min agot/op/lex.t: Correct bug num
Father Chrysostomos [Sun, 1 Mar 2015 19:20:47 +0000]
t/op/lex.t: Correct bug num

14 hours ago[perl #123763] Clear target on my $_; split
Father Chrysostomos [Sun, 1 Mar 2015 06:31:25 +0000]
[perl #123763] Clear target on my $_; split

If a lexical $_ is in scope, then the first argument to split, which
starts out as a match op, will get the pad offset of $_ as its target,
since that’s how implicit lexical $_=~ usually works.

ck_split changes that first argument to a pushre op.  The target
was not being cleared.  That did not cause any problems, until
v5.21.4-408-gfd017c0, which optimised lexical @array = split to write
to split @array directly, by storing making lexical array’s pad offset
the pushre’s target.

You can see the obvious conflict there.  We end up trying to split to
$_, which is not an array.  On a debugging build, you get an assertion
failure when trying to extend $_.  Make the split list long enough,
and you get a crash on non-debugging builds.

debugging$ ./miniperl -e 'my $_; split'
Use of my $_ is experimental at -e line 1.
Assertion failed: (SvTYPE(av) == SVt_PVAV), function Perl_av_extend, file av.c, line 70.

non-debugging$ ./miniperl -e 'my $_; split //, "a"x100000'
Use of my $_ is experimental at -e line 1.
Segmentation fault: 11

14 hours agoTest for split after my $_ [perl #123763]
Father Chrysostomos [Sun, 1 Mar 2015 06:12:30 +0000]
Test for split after my $_ [perl #123763]

17 hours ago[perl #123763] pushre needs to permit OPpTARGET_MY
Hugo van der Sanden [Sun, 1 Mar 2015 02:58:58 +0000]
[perl #123763] pushre needs to permit OPpTARGET_MY

This case fails an assertion:


because a pushre op is not expected to have that flag.  A pushre op
starts out as a match op (which may indeed have the flag set), as is
subsequently converted to a pushre op.

[The commit message was written by the committer.]

18 hours ago[perl #123802] Assertion failure with /$0{}/
Father Chrysostomos [Sun, 1 Mar 2015 01:41:36 +0000]
[perl #123802] Assertion failure with /$0{}/

If the parser (perly.c) pops tokens when encountering a syntax error,
it can pop inner lexing scopes (which handle the contents of quote-
like operators).

If there is a pending token on the pending token stack, then the cur-
rent lexing state is LEX_KNOWNEXT.  It usually gets set to a pending
value stored in PL_lex_defer when the last pending token is emitted.

If scopes are exited when there is a pending token, then the state is
reset, since it is localised, even thought we still have a token pend-
ing.  We have code to account for that and still emit the pending
token.  (See 7aa8cb0dec1.)  But the pending lexing state is still
used after the pending token is emitted.  So we can end up with
LEX_INTERPEND when there is no inner lexing scope.

LEX_INTERPEND will cause sublex_done (in toke.c) to be called, which
does a LEAVE.  If the current scope does not belong to it, we end up
exiting a scope set up by the parser, which frees the parser stack
(via SAVEDESTRUCTOR_X and clear_yystack in perly.c).  The parser is
still using the stack, which holds reference counts on the CV in
PL_compcv, so reference counts get screwed up.

We need to check whether we have a proper lexing scope set up if the
lexing state is LEX_INTERPEND.

This is a follow-up to f4460c6f7a, which was a similar bug, but
occurred with LEX_INTERPCONCAT, rather than LEX_INTERPEND.

47 hours agoinfnan: NV_MANT_REAL_DIG is unused
Jarkko Hietaniemi [Fri, 27 Feb 2015 21:37:57 +0000]
infnan: NV_MANT_REAL_DIG is unused

(now that the nan payload code is gone)

47 hours agofix to "fix op leak caused by OP_MULTIDEREF"
David Mitchell [Fri, 27 Feb 2015 21:06:13 +0000]
fix to "fix op leak caused by OP_MULTIDEREF"

Update to b7613b8a45c70113.

Hugo pointed out that my for(; p; p = OpSIBLING(p)) op_free(p) loop
relied on p->op_sibling still being valid after op_free(p).

2 days agoRevert "perlpod and spec: s/Latin-1/CP-1252/"
Karl Williamson [Fri, 27 Feb 2015 18:57:03 +0000]
Revert "perlpod and spec: s/Latin-1/CP-1252/"

This reverts commit e2bb786192adfa315ea974b5f630d7040aa6f6ac.

These doc changes apply to Pod::Simple version 3.30, which, alas,  was
created too late to be included in Perl v5.22, so this change to the
docs in blead is premature.

I plan to apply the patch in 5.23.

2 days agoperlpod and spec: s/Latin-1/CP-1252/
Ricardo Signes [Fri, 27 Feb 2015 03:35:52 +0000]
perlpod and spec: s/Latin-1/CP-1252/

2 days agoNo Scalar::Util under fresh miniperl.
Jarkko Hietaniemi [Fri, 27 Feb 2015 03:09:55 +0000]
No Scalar::Util under fresh miniperl.

2 days agoinfnan: one should not define NV_NAN from NV_SNAN
Jarkko Hietaniemi [Fri, 27 Feb 2015 01:37:16 +0000]
infnan: one should not define NV_NAN from NV_SNAN

More generally, the NaN should be the quiet one.

2 days agoinfnan: drop NV_QNAN and NV_SNAN
Jarkko Hietaniemi [Fri, 27 Feb 2015 01:30:02 +0000]
infnan: drop NV_QNAN and NV_SNAN

They are unused, better keep the API small.

3 days agodo_op_dump(): handle unknown op_private enums
David Mitchell [Thu, 26 Feb 2015 15:44:04 +0000]
do_op_dump(): handle unknown op_private enums

Where a bitfield value in op_private doesn't correspond to any enums,
do_op_dump() is supposed to display the value as an integer (with
optional LABEL= prefix). Concise does this, do_op_dump was failing to
do this, and instead trying to display the value symbolically as string at
offset -1 in PL_op_private_labels.

This wasn't important yet as no ops currently have an unspecified enum

Spotted by Coverity.

3 days agoinit a var in sv_clear() to keep Coverity happy.
David Mitchell [Thu, 26 Feb 2015 14:31:55 +0000]
init a var in sv_clear() to keep Coverity happy.

When a new hash is found to iterate over, the old value of hash_index (if
any) is temporarily saved (in the new hash), then restored after the hash
has been iterated over.
This means that the first hash encountered causes the random initial
value of hash_index to be saved and then restored. This is perfectly
harmless, but makes Coverity unhappy. Since other such tools might also
in future detect such dabbling with uninitialised values, its simplest
(but unnecessary) to initialise this var to zero.

3 days agofix op leak caused by OP_MULTIDEREF
David Mitchell [Thu, 26 Feb 2015 12:59:16 +0000]
fix op leak caused by OP_MULTIDEREF

[perl #123922]

When converting a subtree like

    rv2sv - const



it was freeing the excised subtree, but failed to free the index
expression (the const in this case).

3 days agorestate -Dx dumping top-level subs
David Mitchell [Thu, 26 Feb 2015 11:50:19 +0000]
restate -Dx dumping top-level subs

Commit v5.21.3-638-g2eaf799 made compiled subs that don't have :: in their
name be stored in stashes as refs to CVs rather than as GVs. This
indirectly stopped perl -Dx from dumping such subs.

This commit reinstates the old behaviour by making
Perl_dump_packsubs_perl() upgrade the stash entry to a GV when it finds
an RV->CV.

3 days agoinfnan: salvage some docs from the too-late nan work
Jarkko Hietaniemi [Thu, 26 Feb 2015 03:51:12 +0000]
infnan: salvage some docs from the too-late nan work

3 days agoperldelta for ed38223246c0
Tony Cook [Thu, 26 Feb 2015 03:23:48 +0000]
perldelta for ed38223246c0

3 days ago[perl #123202] speed up scalar //g against tainted strings
Tony Cook [Thu, 26 Feb 2015 00:21:16 +0000]
[perl #123202] speed up scalar //g against tainted strings

4 days agoMissing Configure messages.
Jarkko Hietaniemi [Wed, 25 Feb 2015 12:51:53 +0000]
Missing Configure messages.

(The scans have been happening, the echo case branches were missing.)

4 days agolib/h2ph.t to test generated t/_h2ph_pre.ph instead of the system one
Petr Písař [Tue, 17 Feb 2015 12:11:00 +0000]
lib/h2ph.t to test generated t/_h2ph_pre.ph instead of the system one

The lib/h2ph.t test executes a t/lib/h2ph.pht which requires
'_h2ph_pre.ph'.  This should find and exercise generated t/_h2ph_pre.ph
file. However, it found a loaded _h2ph_pre.ph from system because the
interpreter has the './' directory after the system paths in the @INC by

This patch adds '-I./' to the runperl() invocation to prefer the
_h2ph_pre.ph generated at build time.

Signed-off-by: Petr Písař <ppisar@redhat.com>

5 days agofix some spurious PERL_UNUSED_ARG/VAR() usage
Jasmine Ngan [Tue, 24 Feb 2015 14:37:17 +0000]
fix some spurious PERL_UNUSED_ARG/VAR() usage

The 'output_warning' param is actually used, and 'items' is not a function
argument but a local variable.

5 days agosilence some compiler warnings.
David Mitchell [Tue, 24 Feb 2015 12:12:21 +0000]
silence some compiler warnings.

(Some compilers have strange ideas about the signedness of the bool type
verses the signedness of a boolean expression like a == b).

6 days agoUpdate Getopt-Long to CPAN version 2.45
Chris 'BinGOs' Williams [Mon, 23 Feb 2015 19:41:50 +0000]
Update Getopt-Long to CPAN version 2.45


Changes in version 2.45

* Revert behaviour of the combination of <> and pass_through to what
  is was in 2.42.

  Thanks to Wilson Snyder to provide enhancements to the documentation
  to clarify why <> and pass_through generally is a bad idea.

  It is, however, very unfortunate to hear from users that their
  programs *depend* on the undocumented pre-2.43 behaviour.

6 days ago[perl #123801] Stop s##[}#e from crashing
Father Chrysostomos [Sun, 22 Feb 2015 22:34:42 +0000]
[perl #123801] Stop s##[}#e from crashing

The lexer normally turns s##...#e into

PMFUNC '(' WORD '/' DO '{' ... ';' '}' ')'

If you have [} inside the replacement, that becomes '[' ';' '}'.  When
the parser gets to the second semicolon, it pops scopes to try to
recover from the syntax error, and in so doing it exits the inner lex-
ing scope that was set up for the substitution.

When that happens, the second '}' is already on the pending token
stack.  Since we set the lexing state to LEX_KNOWNEXT when there is a
pending token (though we may not have to; see 7aa8cb0dec1), we have to
record a pending state as well, so we know what to set the state back
to.  That pending state is not localised, and, in this case, was set
before the scopes were popped.

So we end up in the outermost lexing scope, with the lexing state set

Inside an inner lexing scope, PL_linestr is of type PVIV, with the IVX
field used to hold extra information about the type of quote.  In the
main lexing scope, PL_linestr is an SVt_PV with no IVX field.

If the lexing state is LEX_INTERPanything, it is assumed that
PL_linestr has an IVX field, which is not the case here, so we fail an
assertion or crash.

The safest pre-5.22 solution is to check the type of PL_linestr before
reading IVX.

6 days agoparser.h: Make nexttoke unsigned
Father Chrysostomos [Sun, 22 Feb 2015 19:26:15 +0000]
parser.h: Make nexttoke unsigned

This is to avoid a compiler warning at toke.c:1912 (the assertion in
S_force_next).  The only values this member can contain are 0 to 5, so
this change is safe.  (I’ll probably change it to U8 after 5.22.)

7 days agoTest-Simple PR#494 was merged; t/Legacy/exit.t is no longer customized in blead
Steve Hay [Sun, 22 Feb 2015 15:45:28 +0000]
Test-Simple PR#494 was merged; t/Legacy/exit.t is no longer customized in blead

7 days agoRemove three Test-Simple files which are no longer in Test-Simple on CPAN
Steve Hay [Sun, 22 Feb 2015 15:38:18 +0000]
Remove three Test-Simple files which are no longer in Test-Simple on CPAN

7 days agoblead doesn't include cpan/perlfaq/inc/perlfaq.tt
Steve Hay [Sun, 22 Feb 2015 15:32:58 +0000]
blead doesn't include cpan/perlfaq/inc/perlfaq.tt

7 days agoPod::Parser is no longer customized in blead, since commit 534577b24e
Steve Hay [Sun, 22 Feb 2015 15:29:06 +0000]
Pod::Parser is no longer customized in blead, since commit 534577b24e

7 days ago[perl #123893] Fix hang with "@{"
Father Chrysostomos [Sun, 22 Feb 2015 06:24:20 +0000]
[perl #123893] Fix hang with "@{"

Commit v5.21.8-320-ge47d32d stopped code interpolated into quote-like
operators from reading more lines of input, by making lex_next_chunk
ignore the open filehandle and return false.  That causes this block
under case 0 in yylex to loop:

    if (!lex_next_chunk(fake_eof)) {
s = PL_bufptr;
TOKEN(';'); /* not infinite loop because rsfp is NULL now */

(rsfp is not null there.)  This commit makes it check for quote-like
operators above, in the same place where it checks whether the file is
open, to avoid falling through to this code that can loop.

This changes the syntax errors for a couple of cases recently added
to t/op/lex.t, though I think the error output is now more consis-
tent overall.

8 days agoperlrebackslash: Amplify and correct \b{sb}, \b{wb}
Karl Williamson [Sat, 21 Feb 2015 19:16:40 +0000]
perlrebackslash: Amplify and correct \b{sb}, \b{wb}

8 days agoperlrecharclass: \R could be inside a [...]
Karl Williamson [Sat, 21 Feb 2015 19:12:35 +0000]
perlrecharclass: \R could be inside a [...]

But we haven't made it so.  So remove the text saying that it can't.
For a couple of releases now, we have allowed something that can match
more than one character to be inside a non-complemented bracketed
character class, so this could too, should we choose to someday.

8 days ago\s matching VT is no longer experimental
Karl Williamson [Fri, 20 Feb 2015 18:10:05 +0000]
\s matching VT is no longer experimental

This was experimentally introduced in 5.18, and no issues were raised,
except that it got us to thinking and spurred us to stop allowing $^X,
where 'X' is a non-printable control character, and that change caused
some issues.

8 days agocharclass_invlists.h: Add regen entry
Karl Williamson [Fri, 20 Feb 2015 18:09:41 +0000]
charclass_invlists.h: Add regen entry

This missing entry is one used by t/porting/regen.t to see if the
contents are up-to-date.  I don't know why it didn't get added earlier,
and why there aren't failures except apparently on my machine due to
it's not being there.  I thought I took great care in getting it right.

8 days agoperlunitut, perlreref: Nits
Karl Williamson [Fri, 20 Feb 2015 17:12:52 +0000]
perlunitut, perlreref: Nits

Spotted by Tom Christiansen

8 days agoBump $VERSION in CPAN modules changed since 5.21.9
Steve Hay [Sat, 21 Feb 2015 18:17:38 +0000]
Bump $VERSION in CPAN modules changed since 5.21.9

8 days agoUpgrade CPAN from version 2.05 to 2.09-TRIAL
Steve Hay [Sat, 21 Feb 2015 18:06:25 +0000]
Upgrade CPAN from version 2.05 to 2.09-TRIAL

8 days agoPorting/bump-perl-version: No need to try other maps after one has worked
Steve Hay [Thu, 19 Feb 2015 08:42:46 +0000]
Porting/bump-perl-version: No need to try other maps after one has worked

8 days agoModule-CoreList-5.20150220 is now on CPAN
Steve Hay [Sat, 21 Feb 2015 16:44:31 +0000]
Module-CoreList-5.20150220 is now on CPAN

8 days agoOne $VERSION bump missed by 2f553ae1e1
Steve Hay [Sat, 21 Feb 2015 16:11:33 +0000]
One $VERSION bump missed by 2f553ae1e1

8 days agoUpdate Getopt-Long to CPAN version 2.44
Chris 'BinGOs' Williams [Sat, 21 Feb 2015 13:08:08 +0000]
Update Getopt-Long to CPAN version 2.44


Changes in version 2.44

* Be gentle to the user community and turn fix 92462 into a warning.
  This may be changed back to error in some future release.

8 days agoadd missing infnan context under thread/quadmath builds
Lukas Mai [Sat, 21 Feb 2015 10:29:45 +0000]
add missing infnan context under thread/quadmath builds

8 days agotweak version number of Module::CoreList
Sawyer X [Sat, 21 Feb 2015 07:27:54 +0000]
tweak version number of Module::CoreList

8 days agoadd some dummy entries to Module::CoreList for 5.21.10
Sawyer X [Sat, 21 Feb 2015 06:54:55 +0000]
add some dummy entries to Module::CoreList for 5.21.10

8 days agoadded link to announcement
Sawyer X [Sat, 21 Feb 2015 06:44:28 +0000]
added link to announcement

8 days agonew delta for 5.21.10
Sawyer X [Sat, 21 Feb 2015 06:15:31 +0000]
new delta for 5.21.10

8 days agoadd my epigraph, tick 5.21.9 release
Sawyer X [Sat, 21 Feb 2015 06:06:54 +0000]
add my epigraph, tick 5.21.9 release

8 days agoadd new release to perlhist v5.21.9
Sawyer X [Sat, 21 Feb 2015 04:03:37 +0000]
add new release to perlhist

8 days agofinalize perldelta and Module::CoreList updates
Sawyer X [Sat, 21 Feb 2015 03:39:03 +0000]
finalize perldelta and Module::CoreList updates

8 days agofix typos
Sawyer X [Sat, 21 Feb 2015 03:34:46 +0000]
fix typos

8 days agoUpdate Module::CoreList for 5.21.9
Sawyer X [Sat, 21 Feb 2015 02:03:13 +0000]
Update Module::CoreList for 5.21.9

8 days agopodcheck: accept links to autobox
Ricardo Signes [Sat, 21 Feb 2015 01:14:28 +0000]
podcheck: accept links to autobox

8 days agoUpdate perldelta
Sawyer X [Sat, 21 Feb 2015 00:10:25 +0000]
Update perldelta

9 days agopp_pack.c: Silence compiler warning
Karl Williamson [Fri, 20 Feb 2015 16:27:16 +0000]
pp_pack.c: Silence compiler warning

This was introduced by 9df874cdaa2f196cc11fbd7b82a85690c243eb9f
in changing the name of some static functions.  I didn't realize at the
time that the function was defined in embed.fnc, as none of the others
are, and it was always called with the S_ prefix form.  Nor did I notice
the compiler warnings.

It turns out that the base name of this function is the same as a public
function, so I've renamed it to have prefix 'S_my_'.

9 days agoupdate perldelta for some modules and pragmas upgrades
Sawyer X [Fri, 20 Feb 2015 07:28:20 +0000]
update perldelta for some modules and pragmas upgrades

9 days agoperldelta for e47d32dcd and d27f4b91 / #123712
Father Chrysostomos [Fri, 20 Feb 2015 06:40:29 +0000]
perldelta for e47d32dcd and d27f4b91 / #123712

9 days agoperldelta for parser crashes
Father Chrysostomos [Fri, 20 Feb 2015 06:36:53 +0000]
perldelta for parser crashes


9 days agoperldelta for df442ae4d / #123466
Father Chrysostomos [Fri, 20 Feb 2015 06:31:24 +0000]
perldelta for df442ae4d / #123466

9 days agoperldelta for 2f465e08e / #123652
Father Chrysostomos [Fri, 20 Feb 2015 06:26:25 +0000]
perldelta for 2f465e08e / #123652

9 days agoregcomp.c: Add assertion
Karl Williamson [Fri, 20 Feb 2015 04:03:44 +0000]
regcomp.c: Add assertion

9 days agoAdd \b{sb}
Karl Williamson [Fri, 20 Feb 2015 02:42:33 +0000]
Add \b{sb}

9 days agoregen/mk_invlists.pl: Add tables for \b{sb}
Karl Williamson [Fri, 20 Feb 2015 02:37:47 +0000]
regen/mk_invlists.pl: Add tables for \b{sb}

This single line addition generates a very confused diff listing for the
generated file.

9 days agoAdd qr/\b{wb}/
Karl Williamson [Thu, 19 Feb 2015 22:19:08 +0000]
Add qr/\b{wb}/

9 days agoregen/mk_invlists.pl: Add tables for \b{wb}
Karl Williamson [Thu, 19 Feb 2015 21:54:54 +0000]
regen/mk_invlists.pl: Add tables for \b{wb}

This single line change generates very a confused diff listing for the
generated file, so is kept separate form the other \b{wb} commits.

9 days agoRemove obsolete macros/tables for \X
Karl Williamson [Thu, 19 Feb 2015 20:21:22 +0000]
Remove obsolete macros/tables for \X

A previous commit changed how \X is implemented, and now we don't need
these anymore.

9 days agoregexec.c: White-space only
Karl Williamson [Mon, 9 Feb 2015 06:04:18 +0000]
regexec.c: White-space only

Add indentation, as the previous commit added a switch{} around these.

9 days agoAdd qr/\b{gcb}/
Karl Williamson [Tue, 17 Feb 2015 22:03:32 +0000]
Add qr/\b{gcb}/

A function implements seeing if the space between any two characters is
a grapheme cluster break.  Afer I wrote this, I realized that an array
lookup might be a better implementation, but the deadline for v5.22 was
too close to change it.  I did see that my gcc optimized it down to
an array lookup.

This makes the implementation of \X go from being complicated to

9 days agoregen/mk_invlists.pl: Add GCB tables
Karl Williamson [Wed, 18 Feb 2015 22:40:26 +0000]
regen/mk_invlists.pl: Add GCB tables

This will enable the next commit to add \b{gcb}.

I separated this out from that commit because the diff output here is is
very confused, not accurately showing the underlying changes.  Actually
two data structures are being added for every character set, and nothing
else changed.

9 days agoregen/mk_invlists.pl: Revamp #if generation
Karl Williamson [Thu, 19 Feb 2015 04:49:16 +0000]
regen/mk_invlists.pl: Revamp #if generation

This changes where the symbols are defined to a single file each.  This
may save text space, depending on the compiler.  The next commit will
cause this hdr to be included in more places, so it becomes more
important to do this.

At the same time this removes the guard for #ifndef PERL_IN_XSUB_RE.
The code now is executed regardless of that.  This is simpler, and
previously there might have been the possibility of uninitialized memory
being read, should re_comp.o be executed before recomp.o.

9 days agoregen/mk_invlists.pl: Add capability for line break props
Karl Williamson [Wed, 18 Feb 2015 22:29:09 +0000]
regen/mk_invlists.pl: Add capability for line break props

This is a partial implementation of a full inversion map generation
capability, which is why some code is indented more than necessary --
in the future there will be things that use that.  But this is
sufficient for 5.22.

This allows for the generation of tables to handle the Unicode line
breaking properties, like GCB and WB.  Future commits will actually use
this capability.

9 days agomktables: Refactor \X test so can be used for others
Karl Williamson [Fri, 20 Feb 2015 01:49:56 +0000]
mktables: Refactor \X test so can be used for others

The test file generated by mktables will soon contain other types of
breaks than \X.  This prepares for that by making a more general
function that can be the bottom level for each

9 days agoRemove another dead function in vms/vms.c.
Craig A. Berry [Fri, 20 Feb 2015 03:11:50 +0000]
Remove another dead function in vms/vms.c.

No use for the utf8_to_vtf7 function has appeared in the first
nine years of its existence so it's not earning its keep.

9 days agoFix some style issues in vms/vms.c.
Craig A. Berry [Fri, 20 Feb 2015 02:51:15 +0000]
Fix some style issues in vms/vms.c.

This normalizes function definitions and addresses the most
egregious of the Totally Forgot to Indent At All problems that are
rampant throughout this file.

For now I've punted on normalizing indents and tried to be
consistent with whatever local variant seems to be in use. There
are 2-, 3- (!), and 4-space indents, along with a liberal
sprinkling of tab characters, most (but not all) of which seem to
be intended to be equivalent to 8 spaces.

I considered normalizing indents with some like

   astyle -c --style=linux vms.c

but that produces 8400+ changed lines, which doesn't seem worth it.

9 days agoUpdate copyright in vms/vms.c.
Craig A. Berry [Thu, 19 Feb 2015 23:39:19 +0000]
Update copyright in vms/vms.c.

10 days agoregen podcheck.t db
Karl Williamson [Thu, 19 Feb 2015 20:25:20 +0000]
regen podcheck.t db

The RMG now has one more verbatim line longer than 79 columns

10 days agoconfigure.com does handle usedevel.
Craig A. Berry [Thu, 19 Feb 2015 01:10:19 +0000]
configure.com does handle usedevel.

So don't hard-code it to undef as was done in 1be1b388c18674b89.

10 days agoFix t/op/dump.t warning in skip case.
Craig A. Berry [Thu, 19 Feb 2015 01:06:29 +0000]
Fix t/op/dump.t warning in skip case.

When the whole test is skipped, the END block that does a chdir
to $start throws a warning because $start is not defined.  So
check for definedness.

10 days agoRandy Stauneris now a perl author
Tony Cook [Wed, 18 Feb 2015 23:08:58 +0000]
Randy Stauneris now a perl author

10 days agoFix minor code typos in perlunicook
Randy Stauner [Tue, 17 Feb 2015 14:43:18 +0000]
Fix minor code typos in perlunicook

10 days agoRMG: avoid saying "final" release; gets confused with BLEAD-FINAL
Ricardo Signes [Wed, 18 Feb 2015 21:11:08 +0000]
RMG: avoid saying "final" release; gets confused with BLEAD-FINAL

10 days agoutf8.c: Slight refactor of UTF-16 code
Karl Williamson [Tue, 17 Feb 2015 22:25:21 +0000]
utf8.c: Slight refactor of UTF-16 code

This eliminates a branch in the usual case, at the expense of an extra
one in the rarer case, which allows us to collapse some error condition
code.   It sprinkles some UNLIKELYs.

10 days agoperlre: Nits
Karl Williamson [Tue, 17 Feb 2015 21:48:32 +0000]
perlre: Nits

11 days agoperldelta: Fix typo
Karl Williamson [Wed, 18 Feb 2015 20:31:30 +0000]
perldelta: Fix typo

11 days agolib/B/Deparse.t: Suppress unescaped qr/{/ message
Karl Williamson [Wed, 18 Feb 2015 20:00:07 +0000]
lib/B/Deparse.t: Suppress unescaped qr/{/ message

11 days agoUnicode::UCD: Add charprops_all() public function
Karl Williamson [Wed, 18 Feb 2015 19:24:42 +0000]
Unicode::UCD: Add charprops_all() public function

11 days agoUnicode::UCD: Add charprop public function
Karl Williamson [Wed, 18 Feb 2015 19:16:00 +0000]
Unicode::UCD: Add charprop public function

11 days agolib/Unicode/UCD.t: White-space only
Karl Williamson [Sun, 15 Feb 2015 16:38:08 +0000]
lib/Unicode/UCD.t: White-space only

This aligns to a tab-stop, making it easier for me to type the next

11 days agolib/Unicode/UCD.t: Convert some single quotes to double
Karl Williamson [Sat, 14 Feb 2015 16:29:55 +0000]
lib/Unicode/UCD.t: Convert some single quotes to double

This is in part because "" is easier to read than '', but more
importantly a future commit will want to have double quotish context in
places, and this makes it easier for me to convert to that.

11 days agoUnicode::UCD::prop_value_aliases() Don't return invalid value
Karl Williamson [Wed, 18 Feb 2015 18:57:02 +0000]
Unicode::UCD::prop_value_aliases() Don't return invalid value

Prior to this commit, if you said

    prop_value_aliases("Any", "foo")

it would return "foo".  But there really aren't any synonyms for the
"Any" property values, so it should return undef instead.

11 days agoUnicode::UCD: Pod corrections, clarifications
Karl Williamson [Sat, 14 Feb 2015 16:34:39 +0000]
Unicode::UCD: Pod corrections, clarifications

11 days ago[perl #123874] fix argument underflow for pack()
Hugo van der Sanden [Wed, 18 Feb 2015 14:59:53 +0000]
[perl #123874] fix argument underflow for pack()

NEXTFROM() modified the item count while testing it, so the next use
saw the count (of -1) as non-zero and ended up trying to write ~1 bytes.

11 days ago[perl #123870] fixup trie runtime debug output
Hugo van der Sanden [Wed, 18 Feb 2015 10:55:15 +0000]
[perl #123870] fixup trie runtime debug output

The trie_words av may not exist if -Dr was not enabled at compile time,
so we must be more defensive for debug output at runtime.

11 days agoRemove some remnants of x2p, which was removed by commit e5a8a0fbd7
Steve Hay [Wed, 18 Feb 2015 08:26:36 +0000]
Remove some remnants of x2p, which was removed by commit e5a8a0fbd7

References to PERL_FOR_X2P probably have to stay in case any third-party
code is #defining it. Likewise, NO_PERL_TYPEDEFS in vms/vmsish.h has to
stay because it actually is used by App::a2p.

Cross/Makefile.SH.patch still needs regenerating since it contains
references to x2p in the top-level Makefile.SH which were removed by

A few other references to x2p/a2p/find2p/s2p still remain, which I am less
sure about removing, plus some others in documentation which should stay

11 days agoMake nowait spawn return correct pid on VMS.
Craig A. Berry [Wed, 18 Feb 2015 03:27:42 +0000]
Make nowait spawn return correct pid on VMS.

Apparently I missed this back in eed5d6a149b02.  When spawning a
subprocess without waiting, the return value is the pid of that
process, but we need to let pp_system know we're doing that so it
doesn't manipulate the value as if it were an exit status.

One symptom was that t/test.pl's watchdog would sometimes report
that it had failed to start when in fact it had started just fine.

11 days ago[perl #123852] avoid capture side-effects under noncapture flag
Hugo van der Sanden [Tue, 17 Feb 2015 03:27:33 +0000]
[perl #123852] avoid capture side-effects under noncapture flag

//n was implemented by avoiding the primary side-effects of compiling
a capture when the flag was turned on; however some secondary effects
still occurred later in the same function, by using the value of the
'paren' variable - even as far as causing coredumps.

Setting paren to ':' when NOCAPTURE is enabled makes the rest of the
function act just as if it had parsed (?:...) instead of (...).

12 days agoFix where we look for the Sun Studio compiler
Chris 'BinGOs' Williams [Tue, 17 Feb 2015 18:01:20 +0000]
Fix where we look for the Sun Studio compiler

It can be solarisstudio* as well

12 days agopp_pack.c: White-space only
Karl Williamson [Fri, 12 Dec 2014 00:21:45 +0000]
pp_pack.c: White-space only

This outdents some code whose enclosing block was removed in the
previous commit

12 days agopp_pack.c: Rmv useless code
Karl Williamson [Fri, 12 Dec 2014 00:17:45 +0000]
pp_pack.c: Rmv useless code

As noted in the thread starting at
and in the comments added in this commit, strings packed in 'u' format
don't need any UTF-8ness special handling, so the code that did that can
be removed.