This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
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.
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.)
Jarkko Hietaniemi [Wed, 27 Jul 2016 02:10:30 +0000 (22:10 -0400)]
VAX: VAX format H
Jarkko Hietaniemi [Wed, 27 Jul 2016 02:10:42 +0000 (22:10 -0400)]
Configure: VAX format H
Jarkko Hietaniemi [Tue, 26 Jul 2016 01:50:32 +0000 (21:50 -0400)]
VAX: catch vax floats beyond VMS or Ultrix
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.
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
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.
Father Chrysostomos [Tue, 26 Jul 2016 21:27:23 +0000 (14:27 -0700)]
Add tests for runaway q«« strings
fixed by cb65013.
Father Chrysostomos [Tue, 26 Jul 2016 17:06:46 +0000 (10:06 -0700)]
Handle missing Unicode heredoc terminators correctly
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.
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.
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.
Tony Cook [Tue, 26 Jul 2016 05:36:15 +0000 (15:36 +1000)]
(perl #127834) update CUSTOMIZED entries
Tony Cook [Tue, 26 Jul 2016 05:21:25 +0000 (15:21 +1000)]
cpan/: bump $VERSION as needed
Tony Cook [Mon, 27 Jun 2016 06:21:21 +0000 (16:21 +1000)]
cpan/: remove . from @INC when loading optional modules
Tony Cook [Tue, 26 Jul 2016 01:49:33 +0000 (11:49 +1000)]
dist/: bump $VERSION as needed
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.
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.
Tony Cook [Thu, 23 Jun 2016 00:41:48 +0000 (10:41 +1000)]
perl5db.pl: ensure PadWalker is loaded from standard paths
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.
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.
Father Chrysostomos [Tue, 26 Jul 2016 05:30:17 +0000 (22:30 -0700)]
decl-refs.t: I also forgot foreach
Father Chrysostomos [Tue, 26 Jul 2016 05:15:24 +0000 (22:15 -0700)]
decl-refs.t: I forgot to test \@ and \%
Karen Etheridge [Mon, 25 Jul 2016 18:57:06 +0000 (11:57 -0700)]
upgrade Module-Metadata to 1.000033
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
Steve Hay [Mon, 25 Jul 2016 10:26:07 +0000 (11:26 +0100)]
5.22.3-RC2 and 5.24.1-RC2 today
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.
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.
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.
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.
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
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
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
Steve Hay [Wed, 20 Jul 2016 16:59:02 +0000 (17:59 +0100)]
Prepare Module-CoreList for 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)
Steve Hay [Wed, 20 Jul 2016 16:46:48 +0000 (17:46 +0100)]
Create new perldelta for 5.25.4
Steve Hay [Wed, 20 Jul 2016 16:39:23 +0000 (17:39 +0100)]
5.25.3 is released
Steve Hay [Wed, 20 Jul 2016 16:38:35 +0000 (17:38 +0100)]
Add epigraph for 5.25.3
Steve Hay [Wed, 20 Jul 2016 14:27:02 +0000 (15:27 +0100)]
5.25.3 today
Steve Hay [Wed, 20 Jul 2016 14:25:00 +0000 (15:25 +0100)]
Finalize perldelta
Steve Hay [Wed, 20 Jul 2016 14:20:41 +0000 (15:20 +0100)]
Update Module-CoreList for 5.25.3
Steve Hay [Wed, 20 Jul 2016 14:15:06 +0000 (15:15 +0100)]
perldelta - Fill in Selected Bug Fixes etc
Steve Hay [Wed, 20 Jul 2016 12:50:37 +0000 (13:50 +0100)]
Fix typo in perldelta
Steve Hay [Wed, 20 Jul 2016 12:43:21 +0000 (13:43 +0100)]
perldelta - Fill in Modules and Pragmata
Steve Hay [Wed, 20 Jul 2016 12:33:07 +0000 (13:33 +0100)]
perldelta - Fill in rt.perl.org links
Steve Hay [Wed, 20 Jul 2016 12:24:10 +0000 (13:24 +0100)]
perldelta - Fill in Testing
Steve Hay [Wed, 20 Jul 2016 12:21:54 +0000 (13:21 +0100)]
perldelta - Fill in Documentation
Steve Hay [Wed, 20 Jul 2016 12:01:07 +0000 (13:01 +0100)]
perldelta - Fill in New Diagnostics
Steve Hay [Wed, 20 Jul 2016 11:52:59 +0000 (12:52 +0100)]
perldelta - Wrapping/formatting
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.)
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).
Steve Hay [Wed, 20 Jul 2016 11:08:48 +0000 (12:08 +0100)]
Module-Metadata has another customized test script
Steve Hay [Wed, 20 Jul 2016 11:05:19 +0000 (12:05 +0100)]
Encode has some customized test scripts
Steve Hay [Wed, 20 Jul 2016 10:55:16 +0000 (11:55 +0100)]
Upgrade Test-Simple from version 1.302040 to 1.302045
Steve Hay [Wed, 20 Jul 2016 10:49:22 +0000 (11:49 +0100)]
Upgrade libnet from version 3.08 to 3.09
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".
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.
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.
Karl Williamson [Tue, 24 May 2016 17:41:32 +0000 (11:41 -0600)]
locale.c: Add some debugging statements
David Mitchell [Mon, 18 Jul 2016 14:04:16 +0000 (15:04 +0100)]
perlop: clarify that entries aren't in prec order
RT #127921
The phrasing may have given the impression that the =head2 for each
operator was at a lower precedence than the previous =head2. Disabuse
people of that notion.
Steve Hay [Mon, 18 Jul 2016 07:38:24 +0000 (08:38 +0100)]
Upgrade Math-BigInt from version 1.999724 to 1.999726
Steve Hay [Mon, 18 Jul 2016 07:22:15 +0000 (08:22 +0100)]
Add epigraphs for 5.22.3-RC1 and 5.24.1-RC1
Father Chrysostomos [Sun, 17 Jul 2016 21:14:53 +0000 (14:14 -0700)]
Fix failing uninit test on 64-bit-int builds
On 32-bit builds with 64-bit ints, pack "q" works, but pointers and
array subscripts are still 32-bit numbers, so the test will fail.
Actually check the pointers size via pack "p".
Father Chrysostomos [Sun, 17 Jul 2016 20:06:52 +0000 (13:06 -0700)]
perldelta for
6fe925b92 / my\
Father Chrysostomos [Sun, 17 Jul 2016 20:04:26 +0000 (13:04 -0700)]
perlref: Wrap pod
Father Chrysostomos [Sun, 17 Jul 2016 19:55:49 +0000 (12:55 -0700)]
Note in perlvar that ${^ENCODING} is removed
Father Chrysostomos [Sun, 17 Jul 2016 19:55:17 +0000 (12:55 -0700)]
Add Filter::Encoding to the known links
I guess I must be famous now.
Father Chrysostomos [Sun, 17 Jul 2016 19:51:43 +0000 (12:51 -0700)]
perldelta for
a9cb10c37 (${^ENCODING} removal)
Father Chrysostomos [Sun, 17 Jul 2016 19:42:05 +0000 (12:42 -0700)]
perldelta for
a2637ca0a / #128597
Father Chrysostomos [Sun, 17 Jul 2016 19:39:18 +0000 (12:39 -0700)]
perldelta for 63aab7e / #128532
Father Chrysostomos [Sun, 17 Jul 2016 19:27:20 +0000 (12:27 -0700)]
perldelta for 08e3451 and
a651dcdf6
Father Chrysostomos [Sun, 17 Jul 2016 19:24:30 +0000 (12:24 -0700)]
perldelta for #128508 /
b3dd0aba3
Father Chrysostomos [Sun, 17 Jul 2016 19:22:59 +0000 (12:22 -0700)]
perldelta for #128478 /
d9d2b74c
Father Chrysostomos [Sun, 17 Jul 2016 19:20:48 +0000 (12:20 -0700)]
perldelta for #128238
e7acdfe only treat stash entries with .*:: as sub-stashes
9e5cda6 [perl #128238] Crash with non-stash in stash
David Mitchell [Sun, 17 Jul 2016 19:25:51 +0000 (20:25 +0100)]
bump feature.pm $VERSION
David Mitchell [Sun, 17 Jul 2016 19:13:08 +0000 (20:13 +0100)]
fix build on clang plus -DPERL_GLOBAL_STRUCT
The various PERL_TSA_* macros that utilise clang Thread Safety Analysis
were failing on -DPERL_GLOBAL_STRUCT and -DPERL_GLOBAL_STRUCT_PRIVATE
builds, due to lines like these:
Perl_op_refcnt_lock(pTHX)
PERL_TSA_ACQUIRE(PL_op_mutex)
{
...
}
where under DPERL_GLOBAL_STRUCT globals vars aren't really global,
so you can't pass PL_op_mutex as an arg to that function attribute.
The simplest fix (since you can't just bung a dVAR in there) is to just
disable TSA on PERL_GLOBAL_STRUCT builds.
Jarkko Hietaniemi [Sun, 17 Jul 2016 19:00:34 +0000 (22:00 +0300)]
VAX: one more VAX fp doc tweakage
Frankly quite amazing how many times one can read one's
own writing and miss things.
Father Chrysostomos [Sun, 17 Jul 2016 18:27:32 +0000 (11:27 -0700)]
[Merge] declared_refs feature allowing my\$x
Father Chrysostomos [Sat, 16 Jul 2016 06:48:03 +0000 (23:48 -0700)]
decl_refs.t: Finish adding tests for declared_refs
Father Chrysostomos [Mon, 30 May 2016 03:11:08 +0000 (20:11 -0700)]
Tests for declared_refs err/warn messages
Father Chrysostomos [Sun, 29 May 2016 23:02:53 +0000 (16:02 -0700)]
perldiag entries for declared_refs
Father Chrysostomos [Sun, 29 May 2016 21:32:11 +0000 (14:32 -0700)]
Clearer declared_refs warning msg
Father Chrysostomos [Sun, 29 May 2016 21:29:28 +0000 (14:29 -0700)]
Update docs for declared_refs
Father Chrysostomos [Mon, 23 May 2016 06:45:45 +0000 (23:45 -0700)]
Make my\ experimental
Father Chrysostomos [Mon, 23 May 2016 06:40:27 +0000 (23:40 -0700)]
Add declared_refs feature feature
Father Chrysostomos [Mon, 23 May 2016 06:39:44 +0000 (23:39 -0700)]
Add experimental::declared_refs warn categ
Father Chrysostomos [Sat, 21 May 2016 05:28:31 +0000 (22:28 -0700)]
Allow my \$a
This applies to ‘my’, ‘our’, ‘state’ and ‘local’, and both to single
variable and lists of variables, in all their variations:
my \$a # equivalent to \my $a
my \($a,$b) # equivalent to \my($a, $b)
my (\($a,$b)) # same
my (\$a, $b) # equivalent to (\my $a, $b)
Karl Williamson [Sun, 17 Jul 2016 03:36:40 +0000 (21:36 -0600)]
regcomp.c: Silence compiler warning
It turns out that the changes in
0854ea0b9abfd9ff71c9dca1b5a5765dad2a20bd caused two functions to no
longer be used in re_comp.c
Steve Hay [Sun, 17 Jul 2016 12:21:29 +0000 (13:21 +0100)]
5.22.3-RC1 and 5.24.1-RC1 today
Jarkko Hietaniemi [Sun, 17 Jul 2016 11:58:19 +0000 (14:58 +0300)]
VAX: further docs about the VAX fp formats
Jarkko Hietaniemi [Sun, 17 Jul 2016 07:53:27 +0000 (10:53 +0300)]
VAX: perl.h: document the VAX fp better/more
Jarkko Hietaniemi [Sun, 17 Jul 2016 07:48:12 +0000 (10:48 +0300)]
VAX: Configure: the VAX fp not really little-endian
Karl Williamson [Sun, 17 Jul 2016 03:48:02 +0000 (21:48 -0600)]
PATCH: [perl #128170] Assert fail in regcomp.c
This fixes a regression in 5.24, bisected to commit
commit
cfbef7dc3bfb89e4ed2c00ea9c9e3bcfd0b170fd
Author: Karl Williamson <khw@cpan.org>
Date: Wed Feb 10 16:27:13 2016 -0700
regcomp.c: Fix some parsing glitches
Karl Williamson [Sat, 16 Jul 2016 23:43:19 +0000 (17:43 -0600)]
Merge regcomp changes branch into blead
This branch reimplements a function, adds a test file, improves the -Dr
display of bracketed character classes in compiled patterns, fixing a
regression in 5.24 of that display, and finds another optimization in /d
bracketed character classes.
Karl Williamson [Wed, 6 Jul 2016 01:32:19 +0000 (19:32 -0600)]
regcomp.c: Change some append_range_to_invlist() calls
Now that add_range_to_invlist() is more efficient, some current calls to
append_range_to_invlist() can be changed to make things slightly
clearer.
Karl Williamson [Mon, 27 Jun 2016 23:11:35 +0000 (17:11 -0600)]
regcomp.c: Reimplement add_range_to_invlist()
Previously, this function was essentially implemented by turning the new
range into an inversion list and then unioning that with the existing
inversion list. This was easy to write, but expensive in terms of
operations, with memory allocations and copies, etc.
After discussing this with Tony Cook, I have reimplemented this. Only
in one uncommonly encountered case does it resort to using the union,
because that case is somewhat tricky, and there is no need to have to
know that trickiness in yet another place given its rarity.
Otherwise, the function manipulates the inversion list. Some cases are
no-ops, some just change a single array element, some move things within
the array, extending or splicing it. But these are cheaper than the
previous implementation.
Karl Williamson [Wed, 13 Jul 2016 21:50:32 +0000 (15:50 -0600)]
t/re/anyof.t: add tests for ranges
These exercise the code changes that are coming the next commit, and are
to show that it doesn't change what gets compiled.
Karl Williamson [Wed, 13 Jul 2016 03:15:07 +0000 (21:15 -0600)]
regcomp.c: Refactor code dealing with m/[...]/d
This consolidates some code that deals with bracketed character classes
under /d. As a result, some throw-away steps can be omitted, and things
aren't scattered about. The earlier version skipped doing some things
if the class is to be inverted. The reason turns out to not be because
it was necessary, but that the dump of the compiled pattern was unclear.
Previous commits have fixed that, so this now handles inverted character
classes.
Karl Williamson [Sat, 16 Jul 2016 04:06:49 +0000 (22:06 -0600)]
regcomp.c: Improve -Dr output
This improves the output of a bracketed character class under /d that has
things that match only if not in utf8.