This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5.git
5 years ago[RT #128574] Missed one incorrect usage of fresh_perl_
Dan Collins [Thu, 14 Jul 2016 01:50:28 +0000 (21:50 -0400)]
[RT #128574] Missed one incorrect usage of fresh_perl_

5 years ago[RT #128574] Fix use of fresh_perl in tests
Dan Collins [Mon, 11 Jul 2016 02:05:40 +0000 (22:05 -0400)]
[RT #128574] Fix use of fresh_perl in tests

5 years ago(perl #128685) generate dependency rules for perlmain$(OBJ_EXT) origin/tonyc/128685-perlmain-dep-b
Tony Cook [Mon, 1 Aug 2016 01:37:39 +0000 (11:37 +1000)]
(perl #128685) generate dependency rules for perlmain$(OBJ_EXT)

Without these rules changes to files like config.sh might not
result in perlmain.o being rebuilt.

Aristotle Pagaltzis improved this.

5 years agoMANIFEST typo
Father Chrysostomos [Sun, 31 Jul 2016 21:02:31 +0000 (14:02 -0700)]
MANIFEST typo

Sorry for the smoke.

5 years ago[perl #128769] Improve base.pm @INC '.' handling
Father Chrysostomos [Sun, 31 Jul 2016 20:51:36 +0000 (13:51 -0700)]
[perl #128769] Improve base.pm @INC '.' handling

• Localise @INC only if necessary.
• Don’t mention '.' in the @INC list in the error message, since it
  was not in the @INC that was searched (this is accomplished by local-
  ising @INC in the same scope as the error).
• If a file exists that would have been loaded had '.' not been
  ignored, mention it and suggest ‘use lib’.
• Use the same number of closing as opening parentheses in the
  error message.

5 years agoDon’t trigger warnings for qq"@builtin"
Father Chrysostomos [Sun, 31 Jul 2016 06:51:29 +0000 (23:51 -0700)]
Don’t trigger warnings for qq"@builtin"

Built-in arrays should not be giving warnings about possible unin-
tended interpolation (which happens with nonexistent arrays).

Some built-in variables do not exist if they are not needed, but perl
will generally pretend that they did already exist whenever they are
fetched.  It is such variables that trigger this warning erroneously:

$ ./miniperl -we 'sub dump_isa { warn "@ISA" } @ISA = ("foo","bar"); dump_isa'
Possible unintended interpolation of @ISA in string at -e line 1.
foo bar at -e line 1.

I discovered this when writing a test for @DB::args, using -w.
warnings.pm uses @DB::args, so ‘use warnings’ code won’t get the warn-
ing, but code using -w gets it:

$ ./miniperl -we 'sub foo { package DB { () = caller 0 } print "@DB::args\n" } foo(1..3);'
Possible unintended interpolation of @DB::args in string at -e line 1.
1 2 3

The code in toke.c that decides whether this warning should take place
needs to supply the GV_ADDMG flag to gv_fetchpvn_flags, making it one
of the code paths that engages in the pretence mentioned above.

That code already had an explicit exception for @+ and @-.  This com-
mit removes it as being no longer necessary.

5 years agot/lib/common.pl: Ignore editor droppings
Father Chrysostomos [Sun, 31 Jul 2016 06:19:11 +0000 (23:19 -0700)]
t/lib/common.pl: Ignore editor droppings

This bites me all the time.

5 years agoExempt @DB::args from ‘used once’ warnings
Father Chrysostomos [Sun, 31 Jul 2016 02:37:04 +0000 (19:37 -0700)]
Exempt @DB::args from ‘used once’ warnings

A perfectly benign use of @DB::args like

sub foo { package DB { () = caller 0 } print "@DB::args\n" }
foo(1..3);

warns under -w, though that is exactly its intended use.  That is
is not nice.

warnings.pm itself uses @DB::args, which is why this went unnoticed
for so many years.

This commit eliminates the ‘used once’ warning, but the ‘Possible
unintended interpolation’ message that that code produces will be
handled in another commit.

5 years agoFix comment typos principal → principle
Dagfinn Ilmari Mannsåker [Sun, 31 Jul 2016 12:47:01 +0000 (13:47 +0100)]
Fix comment typos principal → principle

The ones in cpan/File-Temp/ have been submitted upstream as
https://github.com/Perl-Toolchain-Gang/File-Temp/pull/20

5 years agomove platform list before function description (RT #128782)
Lukas Mai [Sat, 30 Jul 2016 21:14:21 +0000 (23:14 +0200)]
move platform list before function description (RT #128782)

5 years agoperlport: remove getservbyport entry orphaned by 204ad8d57498ad6
Lukas Mai [Sat, 30 Jul 2016 21:16:49 +0000 (23:16 +0200)]
perlport: remove getservbyport entry orphaned by 204ad8d57498ad6

5 years agoperlport: eliminate function signatures missed in 47cd99a476cec
Lukas Mai [Sat, 30 Jul 2016 21:15:41 +0000 (23:15 +0200)]
perlport: eliminate function signatures missed in 47cd99a476cec

5 years agoPull in unnecessarily duplicated case "$opt".
Jarkko Hietaniemi [Sat, 30 Jul 2016 12:54:26 +0000 (08:54 -0400)]
Pull in unnecessarily duplicated case "$opt".

5 years agoperlport: major overhaul
Lukas Mai [Fri, 29 Jul 2016 23:48:14 +0000 (01:48 +0200)]
perlport: major overhaul

- hyperlink function names
- hyperlink variable names
- hyperlink module names
- hyperlink $Config{...} entries
- hyperlink some C function names
- hyperlink ``/qx, tr///, bitwise operators, BEGIN
- remove bareword filehandles from examples
- remove 2-arg open from examples
- recommend 3-arg open always
- clean up weird formatting and use \Q \E in $Config{_exe} example
- mention Time::Piece (a core module) for date parsing (-> strptime)
- prefer 'use' for loading modules unless there's a reason to 'require'
- remove paragraph about using 'use bytes' to indicate that your source
  code is in some native 8-bit encoding (that's not what 'use bytes'
  does and its use is "strongly discouraged" anyway)
- consistently use 2 spaces after a period
- consistently spell $Config{foo} as $Config{foo}, not $Config{'foo'}
  sometimes
- fix some POD markup
- remove reference to 'pl2cmd' because I've never heard of it and all
  search results on the web point back to copies of perlport
- remove claim that binmode is a no-op on non-windows systems (that
  hasn't been true since the introduction of I/O layers and Unicode text
  files)
- realign some tables
- don't describe sets of characters as "matching tr/...//" because tr///
  isn't really a matching operator (it can be used to *count*, but
  that's not obvious to most people)
- remove nonsensical VOS example that claims to check the architecture
  by examining @INC but doesn't actually use @INC or check the
  architecture
- 'chown' can't be both "not implemented" and "implemented, but does
  nothing" on Win32
- remove "semantics of raise()" wording from 'kill' because it's unclear
  (raise doesn't send a signal to another process anyway)
- remove 'sockatmark' entry because there is no such built-in function
  (the closest thing I can find is IO::Socket->atmark, which already
  carries appropriate portability warnings)
- in 'stat', consistently refer to fields by their names from
  perlfunc/stat
- add myself to list of contributors

5 years agofix version numbering for dist/PathTools
Tony Cook [Fri, 29 Jul 2016 23:32:03 +0000 (09:32 +1000)]
fix version numbering for dist/PathTools

I messed up my search and replace and didn't notice it when
committing.

5 years agolocale.c: Revamp my_strerror() for thread-safeness
Karl Williamson [Wed, 20 Jul 2016 16:33:40 +0000 (10:33 -0600)]
locale.c: Revamp my_strerror() for thread-safeness

This commit is the first step in making locale handling thread-safe.

[perl #127708] was solved for 5.24 by adding a mutex in this function.
That bug was caused by the code changing the locale even if the calling
program is not consciously using locales.

Posix 2008 introduced thread-safe locale functions.  This commit changes
this function to use them if the perl is threaded and the platform has
them available.  This means that the mutex is avoided on modern
platforms.

It restructures the function to return a mortal copy of the error
message.  This is a step towards making the function completely thread
safe.  Right now, as documented, if you do 'use locale', locale handling
isn't thread-safe.

A global C locale object is created and used here if necessary.  It is
destroyed at the end of the program.

Note that some platforms have a strerror_r(), which is automatically
used instead of strerror() if available.  It differs form straight
strerror() by taking a buffer to place the returned string, so the
return does not point to internal static storage.  One could test for
the existence of this and avoid the mortal copy.

5 years agot/thread_it.pl: Increase Darwin stack size
Karl Williamson [Fri, 29 Jul 2016 03:19:24 +0000 (21:19 -0600)]
t/thread_it.pl: Increase Darwin stack size

The next commit causes one test in the suite to use more than the
previously allowed  max.

5 years agot/lib/warnings/pp_pack: Redundant tests
Father Chrysostomos [Fri, 29 Jul 2016 17:44:01 +0000 (10:44 -0700)]
t/lib/warnings/pp_pack: Redundant tests

This commit:

commit 533367d84727b326a81c972a3555d6a7847a4558
Author: Jarkko Hietaniemi <jhi@iki.fi>
Date:   Sun Jun 24 22:24:49 2001 +0000

    Move the pack warnings to their own file, as pointed
    out by Spider.

copied several tests into pp_pack which have nothing to do with pack.  Most of them were still in pp, and were thus redundant.  The ‘Use of uninitialized value $a in scalar dereference’ test was removed from pp, but I see now that there is a nearly identical test elsewhere in pp, added by this commit:

commit 3b434eb14b7fab4ed6941403c71b683066ab60a2
Author: Rafael Garcia-Suarez <rgarciasuarez@gmail.com>
Date:   Tue Sep 18 00:48:05 2001 +0200

    new tests
    Message-Id: <20010917224805.C11744@rafael>

5 years agoAvoid emitting pack("p",...) warning erroneously
Father Chrysostomos [Fri, 29 Jul 2016 17:41:18 +0000 (10:41 -0700)]
Avoid emitting pack("p",...) warning erroneously

A value may legitimately be marked SvTEMP even when it is not about
to be freed.

5 years agohandy.h: Add missing parens in macro
Karl Williamson [Fri, 29 Jul 2016 19:15:57 +0000 (13:15 -0600)]
handy.h: Add missing parens in macro

These should have been in the recent commit
6c5b02ac7a9ff1c91f2ca46bedd89ba9012bb34f

5 years agoNew bug numbers in *.[ch]
Father Chrysostomos [Fri, 29 Jul 2016 15:56:37 +0000 (08:56 -0700)]
New bug numbers in *.[ch]

perl -pi -e 'BEGIN { %map = split " ", join "", `cat pb2rt.txt` } s/(?<!\d)\d{8}\.\d{3}(?!\d)/$& (#$map{$&})/g' *.[ch]

5 years agoNew bug numbers in lib/ and dist/, too
Father Chrysostomos [Fri, 29 Jul 2016 15:55:37 +0000 (08:55 -0700)]
New bug numbers in lib/ and dist/, too

This is my quick-and-dirty script:

find dist -print0 | xargs -0 perl -pi -e 'BEGIN { %map = split " ", join "", `cat pb2rt.txt` } s/(?<!\d)\d{8}\.\d{3}(?!\d)/$& (#$map{$&})/g'

5 years agoTired of looking up old bug numbers
Father Chrysostomos [Fri, 29 Jul 2016 15:38:11 +0000 (08:38 -0700)]
Tired of looking up old bug numbers

Some of this is ugly, but that’s because I wrote a one-liner to do
it.  It’s good enough for practical purposes.

5 years agoUpdate Module-Load-Conditional to CPAN version 0.68
Chris 'BinGOs' Williams [Fri, 29 Jul 2016 12:10:36 +0000 (13:10 +0100)]
Update Module-Load-Conditional to CPAN version 0.68

  [DELTA]

0.68    Fri Jul 29 08:01:12 BST 2016

* Fix unconditional @INC localisation

5 years agoprint the pop @INC to OUT instead of STDOUT
Jarkko Hietaniemi [Fri, 29 Jul 2016 11:57:06 +0000 (07:57 -0400)]
print the pop @INC to OUT instead of STDOUT

5 years agounimplemented_op does not implement pp_mapstart
Father Chrysostomos [Fri, 29 Jul 2016 06:46:30 +0000 (23:46 -0700)]
unimplemented_op does not implement pp_mapstart

5 years agoPOSIX.xs: Make NV_PAYLOAD_SIZEOF_ASSERT static
Father Chrysostomos [Thu, 28 Jul 2016 19:55:48 +0000 (12:55 -0700)]
POSIX.xs: Make NV_PAYLOAD_SIZEOF_ASSERT static

so that we get the benefit of the assertions for non-debugging builds
but without any run-time penalty.

5 years agoMake switchDx.t more forgiving about newlines.
Craig A. Berry [Thu, 28 Jul 2016 19:08:15 +0000 (14:08 -0500)]
Make switchDx.t more forgiving about newlines.

On VMS, the test suite collapses multiple newlines into one in
order to work around a bug in the pipe implementation, so the
test needs to allow for that.

5 years agohandy.h: Consolidate some EBCDIC vs ASCII paths
Karl Williamson [Thu, 28 Jul 2016 17:47:59 +0000 (11:47 -0600)]
handy.h: Consolidate some EBCDIC vs ASCII paths

This removes some '#ifdef EBCDIC' so as to make more code common between
the platforms.  This is at the expense of some efficiency, but the
affected code only runs when compiling utilities, so ease of maintenance
wins out.

5 years agohandy.h: Add comment
Karl Williamson [Thu, 28 Jul 2016 17:43:54 +0000 (11:43 -0600)]
handy.h: Add comment

5 years agohandy.h: Generate compile error if macros called wrong
Karl Williamson [Thu, 28 Jul 2016 17:40:50 +0000 (11:40 -0600)]
handy.h: Generate compile error if macros called wrong

This extends the mechanism we added in 5.24 to more macros to make sure
that a macro is called with an integer and not a pointer.  It adds a

    "| 0"

to the macro parameter, which is illegal if the parameter is a pointer.

5 years agotoke.c: White-space only
Karl Williamson [Thu, 28 Jul 2016 17:39:40 +0000 (11:39 -0600)]
toke.c: White-space only

re-wrap a comment.

5 years agoIncrease $POSIX::VERSION to 1.71
Father Chrysostomos [Thu, 28 Jul 2016 16:56:34 +0000 (09:56 -0700)]
Increase $POSIX::VERSION to 1.71

5 years ago[perl #128763] Fix POSIX.xs longdbl assertion
Jarkko Hietaniemi [Thu, 28 Jul 2016 16:55:07 +0000 (09:55 -0700)]
[perl #128763] Fix POSIX.xs longdbl assertion

5 years agot/lib/common.pl: Ignore .rej files
Father Chrysostomos [Thu, 28 Jul 2016 05:18:23 +0000 (22:18 -0700)]
t/lib/common.pl: Ignore .rej files

5 years agoUpdate Module-Load-Conditional to CPAN version 0.66
Chris 'BinGOs' Williams [Thu, 28 Jul 2016 14:43:19 +0000 (15:43 +0100)]
Update Module-Load-Conditional to CPAN version 0.66

  [DELTA]

0.66    Wed Jul 27 08:22:53 BST 2016

* Add FORCE_SAFE_INC option to fix CVE-2016-1238

5 years agoforgot the cfgvar
H.Merijn Brand [Thu, 28 Jul 2016 15:14:30 +0000 (17:14 +0200)]
forgot the cfgvar

5 years agoFollow-up from backporting work
H.Merijn Brand [Thu, 28 Jul 2016 15:08:20 +0000 (17:08 +0200)]
Follow-up from backporting work

5 years agoForce inclusion of I_XLOCALE until it is actually used
H.Merijn Brand [Thu, 28 Jul 2016 14:13:50 +0000 (16:13 +0200)]
Force inclusion of I_XLOCALE until it is actually used

5 years ago[perl #128747] Fix line number bug with s//<<END/e
Father Chrysostomos [Thu, 28 Jul 2016 05:09:42 +0000 (22:09 -0700)]
[perl #128747] Fix line number bug with s//<<END/e

In commit 6745174b561 I changed the multi_open and multi_close
parser pastruct members (known as PL_multi_open/close in toke.c) from
char to UV.

I failed to change the localization code in S_sublex_start:

    SAVEI8(PL_multi_close);

So on big-endian architectures only the most significant byte would be
localized.  That meant that effectively no localization would happen
for ASCII string delimiters.

In S_sublex_done:

LEAVE;
if (PL_multi_close == '<')
    PL_parser->herelines += l - PL_multi_end;

That LEAVE undoes the localization.  '<' for PL_multi_close is a spe-
cial value that can only happen for here-docs.   The ->herelines line
makes sure that line numbers are correct after a here-doc.

What ended up happening was that s//<<END/e would throw off line num-
bers after the here-doc body.  PL_multi_close would end up being set
to '<', not '/', when the lexer was finishing up the s///, so it
treated it like a here-doc and screwed things up.  This resulted in
the test failures in ticket #128747.

I found that we also had a bug on little-endian machines.  But to get
the localization of the *least* sigificant byte to screw things up,
you have to try something other than s//<<END/e:

use utf8;
<<END;
${
#line 57
qq || }
END
warn;  # line 59

Replace the pipes with lightning bolts:

use utf8;
<<END;
${
#line 57
qq ϟϟ }
END
warn;  # line 7

and you get line 7 instead of 59.  In this case, the inner construct
has a delimiter character whose code is > 255, but only the lower
8 bits get localized.  So when the localization unwinds, you get
ord("ϟ") & 0xff | ord("<") instead of just ord("<"), resulting in the
here-doc line number handling being skipped.

This commit fixes the localization and adds the little-endian test.

5 years agoUnmathomize save_iv
Father Chrysostomos [Thu, 28 Jul 2016 01:35:22 +0000 (18:35 -0700)]
Unmathomize save_iv

I need to call it from toke.c.

5 years ago(perl #128438) build ppport.h instead of using a dummy file
Tony Cook [Wed, 22 Jun 2016 05:43:21 +0000 (15:43 +1000)]
(perl #128438) build ppport.h instead of using a dummy file

The changes to parallelize win32 perl builds with dmake and gmake
assumed that ppport.h only provided macros and functions that are
already provided by the latest perl.

This turns out not to be the case, preventing the building of
a new Scalar-List-Utils with dmake and gmake.

I only briefly considered changing Scalar-List-Utils - the difference
in build systems is what lead to the failure, so properly build ppport.h
so that all Win32 builds have a full ppport.h just as POSIXish builds
do.

5 years agoConfigure: note that the infnan tests may crash.
Jarkko Hietaniemi [Wed, 27 Jul 2016 11:04:02 +0000 (07:04 -0400)]
Configure: note that the infnan tests may crash.

(And in VAX, that is exactly what happens with the infinities.)

5 years agoVAX: VAX format H
Jarkko Hietaniemi [Wed, 27 Jul 2016 02:10:30 +0000 (22:10 -0400)]
VAX: VAX format H

5 years agoConfigure: VAX format H
Jarkko Hietaniemi [Wed, 27 Jul 2016 02:10:42 +0000 (22:10 -0400)]
Configure: VAX format H

5 years agoVAX: catch vax floats beyond VMS or Ultrix
Jarkko Hietaniemi [Tue, 26 Jul 2016 01:50:32 +0000 (21:50 -0400)]
VAX: catch vax floats beyond VMS or Ultrix

5 years agoVAX: document also formats S/T/X, and hidden bits
Jarkko Hietaniemi [Mon, 25 Jul 2016 22:57:41 +0000 (18:57 -0400)]
VAX: document also formats S/T/X, and hidden bits

Though S, T, and X are not really pure VAX formats per se.

5 years ago[perl #128630] follow-up on 6151d433
Jarkko Hietaniemi [Tue, 26 Jul 2016 01:30:34 +0000 (21:30 -0400)]
[perl #128630] follow-up on 6151d433

- test explicitly for $^O equivalence (faster, simpler),
  as suggested in #126380
- allow also \b-/i match of archname
- however, do not explicitly anchor the archname,
  as suggested in #126380, since if the regexp needs that, it can do so
- \Q-\E-protect the $^O, for paranoia
- for skip, use test.pl skip() instead of ok(1),
  pointed out privately by Dan Collins
- drop the newly added /xxx/ functionality to simplify things

5 years agoPATCH: [perl #128734] tr/\N{...}/ failing for 128-255
Karl Williamson [Wed, 27 Jul 2016 18:44:42 +0000 (12:44 -0600)]
PATCH: [perl #128734] tr/\N{...}/ failing for 128-255

The upper latin1 characters when expressed as \N{U+...} were failing.
This was due to trying to convert them to UTF-8 when the result isn't
UTF-8.  I added a test for \N{name} as well, though these were not
affected by this regression.

5 years agoAdd tests for runaway q«« strings
Father Chrysostomos [Tue, 26 Jul 2016 21:27:23 +0000 (14:27 -0700)]
Add tests for runaway q«« strings

fixed by cb65013.

5 years agoHandle missing Unicode heredoc terminators correctly
Father Chrysostomos [Tue, 26 Jul 2016 17:06:46 +0000 (10:06 -0700)]
Handle missing Unicode heredoc terminators correctly

5 years ago[perl #128701] Fix err msg for Unicode delimiters
Father Chrysostomos [Tue, 26 Jul 2016 08:46:23 +0000 (01:46 -0700)]
[perl #128701] Fix err msg for Unicode delimiters

The output of

    perl -CS -e 'use utf8; q«'

is now correctly:

    Can't find string terminator "«" anywhere before EOF at -e line 1.

Previously, the first byte of the delimiter (as encoded in UTF-8)
would be used instead:

    Can't find string terminator "Â" anywhere before EOF at -e line 1.

5 years agoparser.h: Use UV for string delims
Father Chrysostomos [Tue, 26 Jul 2016 07:47:16 +0000 (00:47 -0700)]
parser.h: Use UV for string delims

We will need to store characters > 255 in here.

Also, cast accordingly in toke.c.

5 years ago(perl #127384)(CVE-2016-1238) port forward changes from maint
Tony Cook [Tue, 26 Jul 2016 06:15:33 +0000 (16:15 +1000)]
(perl #127384)(CVE-2016-1238) port forward changes from maint

Some of these changes are unnecessary if we remove the default . from
@INC for 5.26.

5 years ago(perl #127834) update CUSTOMIZED entries
Tony Cook [Tue, 26 Jul 2016 05:36:15 +0000 (15:36 +1000)]
(perl #127834) update CUSTOMIZED entries

5 years agocpan/: bump $VERSION as needed
Tony Cook [Tue, 26 Jul 2016 05:21:25 +0000 (15:21 +1000)]
cpan/: bump $VERSION as needed

5 years agocpan/: remove . from @INC when loading optional modules
Tony Cook [Mon, 27 Jun 2016 06:21:21 +0000 (16:21 +1000)]
cpan/: remove . from @INC when loading optional modules

5 years agodist/: bump $VERSION as needed
Tony Cook [Tue, 26 Jul 2016 01:49:33 +0000 (11:49 +1000)]
dist/: bump $VERSION as needed

5 years agodist/: remove . from @INC when loading optional modules
Tony Cook [Thu, 23 Jun 2016 04:06:40 +0000 (14:06 +1000)]
dist/: remove . from @INC when loading optional modules

I didn't update base.pm since that seems more likely to be loading
modules *expected* to be in the current directory.  Opinions
welcome.

5 years agobump perl5db.pl's $VERSION
Tony Cook [Tue, 26 Jul 2016 01:37:34 +0000 (11:37 +1000)]
bump perl5db.pl's $VERSION

Add a note about version numbering, since if we use X.XX_XX versions
in blead it's harder to find an unused version number if the module
is modified in maint.

5 years agoperl5db.pl: ensure PadWalker is loaded from standard paths
Tony Cook [Thu, 23 Jun 2016 00:41:48 +0000 (10:41 +1000)]
perl5db.pl: ensure PadWalker is loaded from standard paths

5 years ago(perl #127834) bump versions of modules in dists we updated a utility in
Tony Cook [Tue, 26 Jul 2016 01:32:28 +0000 (11:32 +1000)]
(perl #127834) bump versions of modules in dists we updated a utility in

I tried to follow the numbering convention of the module,
bumping every module if the versions are synchronized, bumping
just the primary module if not.

5 years ago(perl #127834) remove . from the end of @INC if complex modules are loaded
Tony Cook [Tue, 21 Jun 2016 00:02:02 +0000 (10:02 +1000)]
(perl #127834) remove . from the end of @INC if complex modules are loaded

While currently Encode and Storable are know to attempt to load modules
not included in the core, updates to other modules may lead to those
also attempting to load new modules, so be safe and remove . for those
as well.

5 years agodecl-refs.t: I also forgot foreach
Father Chrysostomos [Tue, 26 Jul 2016 05:30:17 +0000 (22:30 -0700)]
decl-refs.t: I also forgot foreach

5 years agodecl-refs.t: I forgot to test \@ and \%
Father Chrysostomos [Tue, 26 Jul 2016 05:15:24 +0000 (22:15 -0700)]
decl-refs.t: I forgot to test \@ and \%

5 years agoupgrade Module-Metadata to 1.000033
Karen Etheridge [Mon, 25 Jul 2016 18:57:06 +0000 (11:57 -0700)]
upgrade Module-Metadata to 1.000033

5 years agoAdd epigraphs for 5.22.3-RC2 and 5.24.1-RC2
Steve Hay [Mon, 25 Jul 2016 13:31:37 +0000 (14:31 +0100)]
Add epigraphs for 5.22.3-RC2 and 5.24.1-RC2

5 years ago5.22.3-RC2 and 5.24.1-RC2 today
Steve Hay [Mon, 25 Jul 2016 10:26:07 +0000 (11:26 +0100)]
5.22.3-RC2 and 5.24.1-RC2 today

5 years agoUse tabs consistently in AUTHORS
Father Chrysostomos [Tue, 19 Jul 2016 06:04:46 +0000 (23:04 -0700)]
Use tabs consistently in AUTHORS

Mixed tabs and spaces are tolerable in code, but they should not
be used in human-readable text files.

5 years agoAdd Chris R. Donnelly to AUTHORS
Father Chrysostomos [Tue, 19 Jul 2016 06:03:48 +0000 (23:03 -0700)]
Add Chris R. Donnelly to AUTHORS

See commit 2f7a15bf0111, which failed to include this.

5 years agoS_pop_eval_context_maybe_croak: silence warning
David Mitchell [Fri, 22 Jul 2016 22:21:49 +0000 (23:21 +0100)]
S_pop_eval_context_maybe_croak: silence warning

g++ is too dumb to notice that in

    SV *s;

    if (foo)
        s = ...;
    ...;
    if (foo)
        ...do something with s...;

s can't be used uninitialised.

5 years agofix g++ compiler warning
David Mitchell [Fri, 22 Jul 2016 22:17:15 +0000 (23:17 +0100)]
fix g++ compiler warning

toke.c:4698:36: warning: enumeral and non-enumeral type in conditional expression [-Wextra]
      return REPORT(dojoin_was == 1 ? ')' : POSTJOIN);

I have no idea why mixing enums and non-emums is bad in C++. This commit
just casts the hell out the expression to shut it up.

5 years agoPATCH: [perl 128686] regex compiler crashes
Karl Williamson [Thu, 21 Jul 2016 15:58:21 +0000 (09:58 -0600)]
PATCH: [perl 128686] regex compiler crashes

This was due to freeing a scalar before its final use

5 years agoSwitch the order of the two backtracking chapters in perlre
Rafael Garcia-Suarez [Thu, 21 Jul 2016 13:37:25 +0000 (15:37 +0200)]
Switch the order of the two backtracking chapters in perlre

It makes more sense to explain what backtracking is first, and
then introduce the special backtracking control verbs.

This is just chapter swapping, no other edit has been done.
In other words this diff is basically:

    +=head2 Backtracking
     =head2 Special Backtracking Control Verbs
    -=head2 Backtracking
     =head2 Version 8 Regular Expressions

5 years agoregcomp.c: Silence compiler warning
Karl Williamson [Wed, 20 Jul 2016 07:43:47 +0000 (01:43 -0600)]
regcomp.c: Silence compiler warning

These functions are no longer needed in re_comp.c

5 years agoPrepare Module-CoreList for 5.25.4
Steve Hay [Wed, 20 Jul 2016 16:59:02 +0000 (17:59 +0100)]
Prepare Module-CoreList for 5.25.4

5 years agoBump version to 5.25.4
Steve Hay [Wed, 20 Jul 2016 16:52:57 +0000 (17:52 +0100)]
Bump version to 5.25.4

(including regen/opcode.pl)

5 years agoCreate new perldelta for 5.25.4
Steve Hay [Wed, 20 Jul 2016 16:46:48 +0000 (17:46 +0100)]
Create new perldelta for 5.25.4

5 years ago5.25.3 is released
Steve Hay [Wed, 20 Jul 2016 16:39:23 +0000 (17:39 +0100)]
5.25.3 is released

5 years agoAdd epigraph for 5.25.3
Steve Hay [Wed, 20 Jul 2016 16:38:35 +0000 (17:38 +0100)]
Add epigraph for 5.25.3

5 years ago5.25.3 today v5.25.3
Steve Hay [Wed, 20 Jul 2016 14:27:02 +0000 (15:27 +0100)]
5.25.3 today

5 years agoFinalize perldelta
Steve Hay [Wed, 20 Jul 2016 14:25:00 +0000 (15:25 +0100)]
Finalize perldelta

5 years agoUpdate Module-CoreList for 5.25.3
Steve Hay [Wed, 20 Jul 2016 14:20:41 +0000 (15:20 +0100)]
Update Module-CoreList for 5.25.3

5 years agoperldelta - Fill in Selected Bug Fixes etc
Steve Hay [Wed, 20 Jul 2016 14:15:06 +0000 (15:15 +0100)]
perldelta - Fill in Selected Bug Fixes etc

5 years agoFix typo in perldelta
Steve Hay [Wed, 20 Jul 2016 12:50:37 +0000 (13:50 +0100)]
Fix typo in perldelta

5 years agoperldelta - Fill in Modules and Pragmata
Steve Hay [Wed, 20 Jul 2016 12:43:21 +0000 (13:43 +0100)]
perldelta - Fill in Modules and Pragmata

5 years agoperldelta - Fill in rt.perl.org links
Steve Hay [Wed, 20 Jul 2016 12:33:07 +0000 (13:33 +0100)]
perldelta - Fill in rt.perl.org links

5 years agoperldelta - Fill in Testing
Steve Hay [Wed, 20 Jul 2016 12:24:10 +0000 (13:24 +0100)]
perldelta - Fill in Testing

5 years agoperldelta - Fill in Documentation
Steve Hay [Wed, 20 Jul 2016 12:21:54 +0000 (13:21 +0100)]
perldelta - Fill in Documentation

5 years agoperldelta - Fill in New Diagnostics
Steve Hay [Wed, 20 Jul 2016 12:01:07 +0000 (13:01 +0100)]
perldelta - Fill in New Diagnostics

5 years agoperldelta - Wrapping/formatting
Steve Hay [Wed, 20 Jul 2016 11:52:59 +0000 (12:52 +0100)]
perldelta - Wrapping/formatting

5 years agoperldelta - Fill in "fixed in" versions for Errata items
Steve Hay [Wed, 20 Jul 2016 11:39:57 +0000 (12:39 +0100)]
perldelta - Fill in "fixed in" versions for Errata items

(The perl #126182 problem was reported with 5.23.4, so certainly wasn't
*broken* in 5.24.0 as the note originally said. It was in fact *fixed* in
that version (actually, 5.23.9) by a series of commits in early March.)

5 years agoperldelta - Remove most boilerplate
Steve Hay [Wed, 20 Jul 2016 11:36:34 +0000 (12:36 +0100)]
perldelta - Remove most boilerplate

This moves one item ("scalar(%hash) return signature changed") from
Performance Enhancements to Incompatible Changes, where I think it is more
apt (although it does also involve a small performance enhancement).

5 years agoModule-Metadata has another customized test script
Steve Hay [Wed, 20 Jul 2016 11:08:48 +0000 (12:08 +0100)]
Module-Metadata has another customized test script

5 years agoEncode has some customized test scripts
Steve Hay [Wed, 20 Jul 2016 11:05:19 +0000 (12:05 +0100)]
Encode has some customized test scripts

5 years agoUpgrade Test-Simple from version 1.302040 to 1.302045
Steve Hay [Wed, 20 Jul 2016 10:55:16 +0000 (11:55 +0100)]
Upgrade Test-Simple from version 1.302040 to 1.302045

5 years agoUpgrade libnet from version 3.08 to 3.09
Steve Hay [Wed, 20 Jul 2016 10:49:22 +0000 (11:49 +0100)]
Upgrade libnet from version 3.08 to 3.09

5 years agorename "WORD" lexical token to "BAREWORD"
David Mitchell [Mon, 18 Jul 2016 10:57:19 +0000 (11:57 +0100)]
rename "WORD" lexical token to "BAREWORD"

The enum value "WORD" can apparently clash with a enum value in windows
headers.  It used to be worked around in windows by #defining YYTOKENTYPE,
which caused the

    enum yytokentype {
        ...
        WORD = ...;
    }

in perly.h to be skipped, while still using the

    #define WORD ...

which appears later in the same file.

In bison 3.x, the auto-generated perl.h no longer includes the #defines,
so this workaround no longer works.

Instead, change the name of the token from "WORD" to "BAREWORD".

5 years ago(perl #128524) correct indentation for utf-8 key hash elements
Tony Cook [Wed, 20 Jul 2016 04:10:44 +0000 (14:10 +1000)]
(perl #128524) correct indentation for utf-8 key hash elements

For utf-8 flagged keys the indentation was left as the default, the
key length, and was not updated to the adjusted length after
escaping and quoting.

The test originally used a pre-rendered dump, but potentially other
minor changes to the output would break that, now it simply compares
against the output of the first case.

5 years agolib/locale.t: Fix tests, add a test
Karl Williamson [Tue, 19 Jul 2016 00:49:40 +0000 (18:49 -0600)]
lib/locale.t: Fix tests, add a test

The tests assumed that the lowest collating non-NUL control was \001.
This isn't necessarily true, and in a few locales caused the test to
fail.