This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Karl Williamson [Wed, 31 May 2017 19:08:33 +0000 (13:08 -0600)]
t/re/reg_mesg.t: Add override of warning default on/off
This .t needs an overhaul to more cleanly accommodate the extra tasks it
has been given over the years. But until then, this is a minimal
enhancement that will be useful in the commit after this one.
This adds the ability to specify that a particular pattern being tested
should generate a message which is raised by default vs one that isn't.
The messages are currently grouped in categories whose default is
determined by the category itself. This commit avoids having to create
a new category when a message comes along that doesn't quite fit into
the existing ones.
Karl Williamson [Wed, 31 May 2017 19:44:20 +0000 (13:44 -0600)]
regcomp.c: Don't set variable within an 'if'
Sometimes it is convenient/and or necessary to do an assignment within a
clause of an 'if', but it adds a little cognitive load. In this case,
it's entirely unnecessary. This patch changes to do the assignment
before the 'if'.
Karl Williamson [Wed, 24 May 2017 02:54:06 +0000 (20:54 -0600)]
perlguts: Add some C<>
Karl Williamson [Wed, 24 May 2017 02:53:11 +0000 (20:53 -0600)]
charnames: Clarify comment
Karl Williamson [Wed, 24 May 2017 02:51:56 +0000 (20:51 -0600)]
charnames: Remove obsolete pod about NBSP
This is illegal since 5.26, and the text should have been removed then,
but was overlooked.
Karl Williamson [Wed, 24 May 2017 02:50:44 +0000 (20:50 -0600)]
perlmodinstall: Make a link for http text
Karl Williamson [Wed, 26 Apr 2017 16:29:58 +0000 (10:29 -0600)]
utf8.h: Add assertions for macros that take chars
This is inspired by [perl #131190]. The UTF-8 macros whose parameters
are characters now have assertions that verify they are not being called
with something that won't fit in a char. These assertions should be
getting optimized out if the input type is a char or U8.
Karl Williamson [Thu, 20 Apr 2017 14:33:42 +0000 (08:33 -0600)]
Change formal parameter for newSVpvn
This fixes a discrepancy in perlapi. See
http://nntp.perl.org/group/perl.perl5.porters/243384
Karl Williamson [Tue, 11 Apr 2017 17:37:23 +0000 (11:37 -0600)]
AUTHORS: Update Jim Shneider's email
Karl Williamson [Tue, 11 Apr 2017 20:11:40 +0000 (14:11 -0600)]
t/op/fork.t: Don't output shell warning
If the shell doesn't support 'ulimit -u', it can cause unexpected
warnings that can cause the tests to fail. This happens on s/390.
Karl Williamson [Tue, 11 Apr 2017 17:11:24 +0000 (11:11 -0600)]
APItest/numeric.xs: Fix uninit error
valgrind shows that a variable could be used unininitialized.
Karl Williamson [Wed, 22 Mar 2017 03:52:33 +0000 (21:52 -0600)]
t/harness: Run APItests in parallel
This commit changes these tests to be run like the tests in t/lib, in
parallel with each other, when available. This is the longest running
directory, and prior to this commit, on many-core systems it can be the
final thing chugging along, a test at-a-time, while the other cores are
idle.
Karl Williamson [Wed, 22 Mar 2017 03:41:34 +0000 (21:41 -0600)]
t/harness: Remove useless sort
Instead move its effect to the sort that overrides the first one. This
is because the tests are executed in the order of the rules to
TAP::Harness, not in the order of the test list.
Karl Williamson [Mon, 30 Jan 2017 21:52:46 +0000 (14:52 -0700)]
Slightly change -Dr output of regex ANYOF nodes
This changes to precede each literal '[' in a [...] class with a
backslash to better make is standout as a literal
James E Keenan [Mon, 27 Feb 2017 17:24:25 +0000 (12:24 -0500)]
When and how to use Devel::PatchPerl to repair older builds.
Following recommendation by Matthew Horsfall.
Chris 'BinGOs' Williams [Thu, 1 Jun 2017 12:28:00 +0000 (13:28 +0100)]
Add Module-CoreList maintainer tests
jdhedden [Sun, 7 May 2017 22:33:39 +0000 (18:33 -0400)]
Upgrade to threads 2.16
jdhedden [Sun, 7 May 2017 22:48:59 +0000 (18:48 -0400)]
Upgrade to threads::shared 1.57
Karl Williamson [Wed, 5 Apr 2017 17:36:11 +0000 (11:36 -0600)]
ext/GDBM_File: Add L<> around pod link
Karl Williamson [Wed, 22 Mar 2017 03:37:28 +0000 (21:37 -0600)]
XS-APItest: Rename some tests files
The names of these long-running test files are changed to uniform style
to indicate that they run long.
Karl Williamson [Mon, 20 Mar 2017 23:17:39 +0000 (17:17 -0600)]
Silence many "statement not reached" on Solaris
It turns out that the NOT_REACHED macro that is used to make sure a
statement really isn't reachable, causes the Solaris compiler to emit
such warnings. It expands to ASSUME(0), and Solaris will flag that.
This commit just changes NOT_REACHED to expand to nothing on Solaris.
Karl Williamson [Sat, 11 Mar 2017 18:50:58 +0000 (11:50 -0700)]
mktables: Fix up version compare
This is a feature that is used to compare 2 different Unicode versions
for changes to existing code points, ignoring code points that aren't in
the earlier version. It does this by removing the newly-added code
points coming from the later version. One can then diff the generated
directory structure against an existing one that was built under the old
rules to see what changed.
Prior to this commit, it assumed all version numbers were a single digit
for the major number. This will no longer work for Unicode 10, about to
be released.
As part of the process, mktables adds blocks that didn't exist in the
earlier version back to the unallocated pool. This gives better diff
results. This commit does a better job of finding such blocks.
Karl Williamson [Mon, 30 Jan 2017 21:01:29 +0000 (14:01 -0700)]
regcomp.c: Change lookup for dumping pattern
Instead of using a bunch of branches, use strchr() to see if a
character is a member of a class. This is a common paradigm in the
parsers.
Karl Williamson [Fri, 12 May 2017 04:25:25 +0000 (22:25 -0600)]
Reword description of 'bytes_from_utf8()'
This should make it clearer as to what's going on.
Karl Williamson [Wed, 17 May 2017 17:27:03 +0000 (11:27 -0600)]
APItest/t/utf8_setup.pl: Add #define equivalent
I don't know of an easy way to automatically import hdr file constants
into Perl code (and if there were one, there are plenty of existing
modules that don't take advantage of it), and so they get copied and
pasted into Perl, and changed enough to match Perl syntax. When the
constants change, the Perl code must be manually updated. Here, a new
constant was added, and now the Perl is being updated to match.
Karl Williamson [Wed, 17 May 2017 17:21:57 +0000 (11:21 -0600)]
perluniintro: Update advice for LC_COLLATE
This was changed to work better in 5.26, but this pod didn't get
updated.
Sawyer X [Thu, 1 Jun 2017 12:30:41 +0000 (14:30 +0200)]
Merge branch 'blead' of ssh://perl5.git.perl.org/perl into blead
Sawyer X [Thu, 1 Jun 2017 11:57:27 +0000 (13:57 +0200)]
Update Module::CoreList
James E Keenan [Thu, 1 Jun 2017 11:57:46 +0000 (07:57 -0400)]
Add dist/threads/t/unique.t to MANIFEST.
Should have been done in commit
cfdc35fc22e32a4383f59856f093e3f386a646b7.
Sawyer X [Thu, 1 Jun 2017 11:51:54 +0000 (13:51 +0200)]
BinGOs will do 5.27.7
Sawyer X [Thu, 1 Jun 2017 11:46:07 +0000 (13:46 +0200)]
Porting: correct assigned releasers
Sawyer X [Thu, 1 Jun 2017 11:41:36 +0000 (13:41 +0200)]
Porting: Add release schedule
Matthew Horsfall [Thu, 1 Jun 2017 11:37:02 +0000 (07:37 -0400)]
5.28.0 is the next major release
Chris 'BinGOs' Williams [Thu, 1 Jun 2017 11:36:51 +0000 (12:36 +0100)]
A corelist not a snorelist
Dagfinn Ilmari Mannsåker [Tue, 17 Jan 2017 17:37:56 +0000 (17:37 +0000)]
Eliminate remaining uses of PL_statbuf
Give Perl_nextargv its own statbuf and pass a pointer to it into
Perl_do_open_raw and thence S_openn_cleanup when needed.
Also reduce the scope of the existing statbuf in Perl_nextargv to make
it clear it's distinct from the one populated by do_open_raw.
Fix perldelta entry for PL_statbuf removal
Dagfinn Ilmari Mannsåker [Sun, 26 Mar 2017 13:26:22 +0000 (15:26 +0200)]
Improve error message for bogus -MO=… arguments
Commit
7a9b44b9 expanded the scope of the string eval that loads the
B::* backend module, but didn't move the $@ check and croak to outside
it. Restore it and further improve the error message.
Before:
$ perl -MO=Concise=-debug -e1
syntax error at (eval 2) line 18, near "="
BEGIN failed--compilation aborted.
After:
$ ./perl -Ilib -MO=Concise=-debug -e1
Loading compiler backend 'B::Concise=-debug' failed: syntax error at (eval 2) line 18, near "="
at -e line 0.
BEGIN failed--compilation aborted.
Dagfinn Ilmari Mannsåker [Wed, 31 May 2017 16:05:22 +0000 (17:05 +0100)]
Note removal of deprecated attributes in perldelta and perlexperiment
Dagfinn Ilmari Mannsåker [Mon, 18 Jan 2016 12:52:29 +0000 (12:52 +0000)]
Remove deprecated no-op :locked attribute
It's been a no-op since 5.10 and deprecated since 5.12.
Dagfinn Ilmari Mannsåker [Mon, 18 Jan 2016 12:42:55 +0000 (12:42 +0000)]
Remove deprecated no-op :unique attribute
It's been deprecated and a no-op since 5.10.
Move :unique test into it own file so it can be skipped separately
Merely parsing an unknown attribute fails, so the skip has to happen
at BEGIN time.
Dagfinn Ilmari Mannsåker [Sat, 12 Nov 2016 16:08:18 +0000 (17:08 +0100)]
Remove deprecated comma-less format variable lists
This has been issuing a deprecation warning since perl 5.000.
H.Merijn Brand [Thu, 11 May 2017 14:47:45 +0000 (16:47 +0200)]
Disable readdir_r and readdir64_r on glibc >= 2.24
DESCRIPTION
This function is deprecated; use readdir(3) instead.
The readdir_r() function was invented as a reentrant version of read-
dir(3). It reads the next directory entry from the directory stream
dirp, and returns it in the caller-allocated buffer pointed to by
entry. For details of the dirent structure, see readdir(3).
A pointer to the returned buffer is placed in *result; if the end of
the directory stream was encountered, then NULL is instead returned in
*result.
It is recommended that applications use readdir(3) instead of read-
dir_r(). Furthermore, since version 2.24, glibc deprecates read-
dir_r(). The reasons are as follows:
* On systems where NAME_MAX is undefined, calling readdir_r() may be
unsafe because the interface does not allow the caller to specify
the length of the buffer used for the returned directory entry.
* On some systems, readdir_r() can't read directory entries with very
long names. When the glibc implementation encounters such a name,
readdir_r() fails with the error ENAMETOOLONG after the final direc-
tory entry has been read. On some other systems, readdir_r() may
return a success status, but the returned d_name field may not be
null terminated or may be truncated.
* In the current POSIX.1 specification (POSIX.1-2008), readdir(3) is
not required to be thread-safe. However, in modern implementations
(including the glibc implementation), concurrent calls to readdir(3)
that specify different directory streams are thread-safe. There-
fore, the use of readdir_r() is generally unnecessary in multi-
threaded programs. In cases where multiple threads must read from
the same directory stream, using readdir(3) with external synchro-
nization is still preferable to the use of readdir_r(), for the rea-
sons given in the points above.
* It is expected that a future version of POSIX.1 will make read-
dir_r() obsolete, and require that readdir(3) be thread-safe when
concurrently employed on different directory streams.
Lukas Mai [Fri, 26 May 2017 18:15:12 +0000 (20:15 +0200)]
add X<s> to s/// in perlop (RT #131371)
This should make 'perldoc -f s' work.
Yves Orton [Mon, 8 May 2017 13:01:08 +0000 (15:01 +0200)]
fixup typo (squash candidate) in globbing code comments
This fixes up a typo from
444c4cd5e784ec836ff4a81a582bcb0df9f1e277,
if possible before merging to blead squash this commit with that.
Yves Orton [Tue, 25 Apr 2017 13:17:06 +0000 (15:17 +0200)]
[perl #131211] fixup File::Glob degenerate matching
The old code would go quadratic with recursion and backtracking
when doing patterns like "a*a*a*a*a*a*a*x" on a file like
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa".
This patch changes the code to not recurse, and to not backtrack,
as per this article from Russ Cox: https://research.swtch.com/glob
It also adds a micro-optimisation for M_ONE and M_SET under the new code.
Thanks to Avar and Russ Cox for helping with this patch, along with
Jilles Tjoelker and the rest of the FreeBSD community.
Sawyer X [Wed, 31 May 2017 21:40:02 +0000 (23:40 +0200)]
perldelta: New perldelta
Sawyer X [Wed, 31 May 2017 21:38:32 +0000 (23:38 +0200)]
epigraphs: linkify releasae
Sawyer X [Wed, 31 May 2017 21:34:37 +0000 (23:34 +0200)]
tick release
Sawyer X [Wed, 31 May 2017 21:31:22 +0000 (23:31 +0200)]
epigraph: Updating, pending link
Sawyer X [Wed, 31 May 2017 18:54:05 +0000 (20:54 +0200)]
add new release to perlhist
Sawyer X [Wed, 31 May 2017 18:41:36 +0000 (20:41 +0200)]
perldelta.pod: Finalize perldelta
Sawyer X [Wed, 31 May 2017 18:23:00 +0000 (20:23 +0200)]
Update Module::CoreList for 5.27.0
Sawyer X [Wed, 31 May 2017 14:22:59 +0000 (16:22 +0200)]
Add changes
Ricardo Signes [Wed, 31 May 2017 14:02:08 +0000 (10:02 -0400)]
CoreList: bump version for v5.27.0 release
Sawyer X [Wed, 31 May 2017 12:25:02 +0000 (14:25 +0200)]
Update Module::CoreList
Sawyer X [Wed, 31 May 2017 12:25:21 +0000 (14:25 +0200)]
Regenerate and update Op_private and uconfig.h
Sawyer X [Wed, 31 May 2017 01:24:15 +0000 (03:24 +0200)]
META: Update
Sawyer X [Wed, 31 May 2017 01:17:37 +0000 (03:17 +0200)]
Correct versions in INSTALL
Sawyer X [Wed, 31 May 2017 01:15:07 +0000 (03:15 +0200)]
Bump version: 5.26.0 -> 5.27.0, including fixes
Sawyer X [Wed, 31 May 2017 01:10:29 +0000 (03:10 +0200)]
Bump feature.pm for 5.27.0
Sawyer X [Wed, 31 May 2017 00:42:31 +0000 (02:42 +0200)]
perldelta: New perldelta (5.27.0)
Sawyer X [Tue, 30 May 2017 20:54:30 +0000 (22:54 +0200)]
release_schedule: Updated, ticked
Sawyer X [Tue, 30 May 2017 20:50:18 +0000 (22:50 +0200)]
epigraphs.pod: Add 5.26.0, link pending
Sawyer X [Tue, 30 May 2017 11:53:15 +0000 (13:53 +0200)]
perlhist: Move 5.26.0 to another table to fix line length
Sawyer X [Tue, 30 May 2017 11:39:43 +0000 (13:39 +0200)]
add new release to perlhist
Sawyer X [Tue, 30 May 2017 11:02:18 +0000 (13:02 +0200)]
perldelta: Sort order of modules
Sawyer X [Tue, 30 May 2017 11:01:47 +0000 (13:01 +0200)]
perldelta: Update acknowledgements
Sawyer X [Tue, 30 May 2017 10:50:46 +0000 (12:50 +0200)]
Update Module::CoreList for 5.26.0
Sawyer X [Tue, 30 May 2017 09:58:06 +0000 (11:58 +0200)]
Revert "Fallbacks for Perl_fp_class_denorm()."
This reverts commit
e77299d3416e7e737523afdc0642734205e46d59.
This was reverted due to a major freeze. It was merged into the
blead-next branch and will appear in 5.26.1.
Jarkko Hietaniemi [Mon, 29 May 2017 06:28:30 +0000 (09:28 +0300)]
Fallbacks for Perl_fp_class_denorm().
These may be needed if the compiler doesn't expose the C99 math
without some special switches.
Sawyer X [Sun, 28 May 2017 20:36:55 +0000 (22:36 +0200)]
perldelta: Mention perlthanks
Sawyer X [Mon, 29 May 2017 20:23:45 +0000 (22:23 +0200)]
perldelta: More fixes
Sawyer X [Mon, 29 May 2017 12:14:21 +0000 (14:14 +0200)]
perldelta: A few more grammatical improvements
Sawyer X [Sun, 28 May 2017 20:43:34 +0000 (22:43 +0200)]
perldelta: Remove unnecessary space
Sawyer X [Sun, 28 May 2017 20:12:53 +0000 (22:12 +0200)]
perldelta: Merge similar OS sections:
* Merge OS X and macOS to Darwin. (Maybe under "macOS"?)
* Merge Win32 into Windows.
Jarkko Hietaniemi [Sun, 28 May 2017 16:56:29 +0000 (19:56 +0300)]
perldelta: Mention the problem with g++ 6 and subnormal floats.
David Mitchell [Thu, 25 May 2017 08:13:36 +0000 (09:13 +0100)]
remove perl525*delta.pod
David Mitchell [Thu, 25 May 2017 08:10:54 +0000 (09:10 +0100)]
perldelta: remove mention of comp.lang.perl.misc
David Mitchell [Wed, 24 May 2017 12:30:44 +0000 (13:30 +0100)]
perldelta: move an entry from 'Errata'
'Errata From Previous Releases' contained a fix from 5.25.1 only reported
in perl5253delta. This still counts as fixed in the current release from
5.26.0's viewpoint.
David Mitchell [Wed, 24 May 2017 12:20:32 +0000 (13:20 +0100)]
perldelta: remove 'Known Problems' section.
All the entries in it appear to be copied from perl5250delta.pod and are
likely no longer relevant.
David Mitchell [Wed, 24 May 2017 12:15:38 +0000 (13:15 +0100)]
perldelta: davem's 2nd half proofreading
From "Utility Changes" to "Selected Bug Fixes" inclusive
A lot of the bug fix descriptions were very opaque - often just the subject
line from a commit message.
Sawyer X [Wed, 24 May 2017 10:33:47 +0000 (12:33 +0200)]
epigraphs.pod: Adding announcement email link
Sawyer X [Wed, 24 May 2017 01:23:26 +0000 (03:23 +0200)]
regenerate META
Sawyer X [Wed, 24 May 2017 00:49:13 +0000 (02:49 +0200)]
Update epigraph, link forthcoming
Sawyer X [Tue, 23 May 2017 23:25:35 +0000 (01:25 +0200)]
disarm RCnnn bump
Sawyer X [Tue, 23 May 2017 19:52:20 +0000 (21:52 +0200)]
Update perlhist
Sawyer X [Tue, 23 May 2017 19:32:47 +0000 (21:32 +0200)]
perldelta: fix some POD
Sawyer X [Mon, 22 May 2017 21:19:48 +0000 (23:19 +0200)]
Update META files
Sawyer X [Mon, 22 May 2017 21:19:36 +0000 (23:19 +0200)]
bump version to RCnnn
Sawyer X [Mon, 22 May 2017 21:16:25 +0000 (23:16 +0200)]
add new release to perlhist
Todd Rinaldo [Tue, 23 May 2017 14:48:00 +0000 (09:48 -0500)]
Remove the leading dot in the file name from the do example so it does not confuse readers
David Mitchell [Tue, 23 May 2017 16:43:18 +0000 (17:43 +0100)]
perldelta: add extra changed diag entry
Thanks to Ilmari for the correct pod escape voodoo.
David Mitchell [Tue, 23 May 2017 15:41:20 +0000 (16:41 +0100)]
perldelta: Diagnostics fixups
I did a diff of the 5.24.0 and current perldiag.pod's
and used it to fix up the new/changed diagnostics sections.
In particular: for changed diagnostics, I added a short description of
*what* had changed. I also moved some entries between sections, deduped,
added missing entries etc.
David Mitchell [Tue, 23 May 2017 10:35:34 +0000 (11:35 +0100)]
more perldelta fixups.
This is my reading from the start of the file through to the start of
=head1 Documentation
* the new 'do' warning isn't mandatory (but merely enabled by default)
* make it clear that the -Di cmd-line switch is new
* remove some optimisations that are trivial or not really optimisations.
* For modules, remove descriptions of bug fixes which are obscure/trivial
* I don't know how the "Compatibility with 5.8 has been restored" text
for threads came about - it was added in the 5.25.1 perldelta, but no
commits around that time seem to support this. So I removed it.
* a few typos etc
* I also added an Internals entry for OP_SPLIT/OP_PUSHRE.
Karl Williamson [Tue, 23 May 2017 07:05:13 +0000 (01:05 -0600)]
perldelta: Add missing messages to list
I went through perldiag, and copied over links to these messages that
had failed to get placed into perldelta.
Karl Williamson [Tue, 23 May 2017 07:03:02 +0000 (01:03 -0600)]
perldelta: Convert warning to standard form
It turns out that this message isn't a generic one, but quite specific,
so convert to that and move to sorted position in list.
Karl Williamson [Tue, 23 May 2017 05:57:09 +0000 (23:57 -0600)]
perldelta: Sort new warnings section
alphabetically, after having standardized the entry format
Karl Williamson [Tue, 23 May 2017 05:56:24 +0000 (23:56 -0600)]
perldelta: Add 2 blank lines
for readability.
Karl Williamson [Tue, 23 May 2017 05:47:52 +0000 (23:47 -0600)]
perldelta: Sort new errors section
alphabetically, after having made the entries uniform.
Tony Cook [Tue, 23 May 2017 05:47:44 +0000 (15:47 +1000)]
perldelta: move the description of 128095 where it belongs
Tony Cook [Tue, 23 May 2017 05:46:27 +0000 (15:46 +1000)]
perldelta: the :utf8 handle warning is now on by default