This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Karl Williamson [Thu, 31 Jul 2014 22:24:52 +0000 (16:24 -0600)]
regexec.c: Refactor \b code to not use the FLAGS field
In one spot, \b and \B used the regnode FLAGS field to find out what
the character set type of bound they are. This information is already
conveyed in the regnode type: BOUNDL, BOUNDU, etc. By removing the use
of this redundant information, we can in a later commit stop storing it,
and free up the field for other uses.
Karl Williamson [Thu, 31 Jul 2014 21:45:13 +0000 (15:45 -0600)]
regexec.c: Use appropriate macro
This code knows that a \n isn't a word character, but in preparation for
future commits in which word isn't the only possibility, change to use
the appropriate macro.
Karl Williamson [Thu, 31 Jul 2014 03:49:03 +0000 (21:49 -0600)]
regexec.c: Stack ternary operator for readability
Karl Williamson [Mon, 28 Jul 2014 03:19:48 +0000 (21:19 -0600)]
regcomp.h: Clarify comment
Karl Williamson [Sat, 19 Jul 2014 17:35:34 +0000 (11:35 -0600)]
Unicode::UCD: Allow internal properties in invmap()
This adds an undocumented way to get invmap() to return internal
properties, like invlist(). This is intended only for Perl-core
use.
Karl Williamson [Sat, 19 Jul 2014 17:32:49 +0000 (11:32 -0600)]
Unicode::UCD: pod nits
Karl Williamson [Thu, 22 Jan 2015 04:46:19 +0000 (21:46 -0700)]
regcomp.c: Silence Win32 compiler warnings
This variable is a boolean with values of 0 and 1, even though it's
stored as 32-bits in the struct, to get the simplest store/retrieval
code generated, so it's safe to cast it to a bool.
Father Chrysostomos [Thu, 22 Jan 2015 05:37:01 +0000 (21:37 -0800)]
attributes.xs: Don’t emit const warning for anons
The intent was to emit the warning for any cases other than custom
attributes on anonymous subs. I did that by checking to see whether
we had a closure prototype, warning otherwise. But anonymous subs
that are not closures are not closure prototypes. So we need to
check CvANON instead.
Tony Cook [Thu, 22 Jan 2015 04:59:23 +0000 (15:59 +1100)]
fix SDBM_File builds using gcc on Win32
b488d167b0 removed the -DPERL_STATIC_SYMS definition to allow imported
perl variables to be seen correctly, but this meant gcc builds on Win32
considered:
EXTCONST datum nullitem
as an import.
Change the EXTCONST to extern const so the declaration behaves as it did
with -DPERL_STATIC_SYMS.
Steve Hay [Wed, 21 Jan 2015 14:11:16 +0000 (14:11 +0000)]
perldelta for
56f81afc0f, which is actually in 5.21.8
Matthew Horsfall [Wed, 21 Jan 2015 14:51:34 +0000 (09:51 -0500)]
Final updates to M::CL for version bump
Matthew Horsfall [Wed, 21 Jan 2015 14:48:14 +0000 (09:48 -0500)]
More bumpbing of version number to 5.21.9. Missed this yesterday.
Matthew Horsfall [Wed, 21 Jan 2015 14:15:53 +0000 (09:15 -0500)]
Sync Module::CoreList with CPAN and update for next release
Hugo van der Sanden [Sat, 10 Jan 2015 13:22:37 +0000 (13:22 +0000)]
reg: avoid pointing past end of string on short DEFINE
David Mitchell [Wed, 21 Jan 2015 12:16:21 +0000 (12:16 +0000)]
avoid C labels in column 0
Generally the guideline is to outdent C labels (e.g. 'foo:') 2 columns
from the surrounding code.
If the label starts at column zero, then it means that diffs, such as
those generated by git, display the label rather than the function
name at the head of a diff block: which makes diffs harder to peruse.
Peter Martini [Wed, 21 Jan 2015 06:24:44 +0000 (01:24 -0500)]
Another patch to perlsub documenting moves sigs
Karl Williamson [Wed, 21 Jan 2015 01:24:26 +0000 (18:24 -0700)]
perlrecharclass: Fix typo
Matthew Horsfall [Tue, 20 Jan 2015 20:52:36 +0000 (15:52 -0500)]
Update RMG to mention uploading .xz to pause, and fix grammar
Matthew Horsfall [Tue, 20 Jan 2015 20:44:24 +0000 (15:44 -0500)]
Version bump + new perldelta
Matthew Horsfall [Tue, 20 Jan 2015 20:42:09 +0000 (15:42 -0500)]
Update epigraph with mailing list link
Matthew Horsfall [Tue, 20 Jan 2015 20:37:48 +0000 (15:37 -0500)]
Add epigraph and update release schedule
Matthew Horsfall [Tue, 20 Jan 2015 18:49:30 +0000 (13:49 -0500)]
Really fix broken linkage in perldelta
Matthew Horsfall [Tue, 20 Jan 2015 18:31:16 +0000 (13:31 -0500)]
Fix IO::Compress linkage
Matthew Horsfall [Tue, 20 Jan 2015 18:21:33 +0000 (13:21 -0500)]
Add new release to perlhist
Matthew Horsfall [Tue, 20 Jan 2015 18:14:52 +0000 (13:14 -0500)]
Fix pod spelling/linking mistakes as caught by podchecker/spell
Matthew Horsfall [Tue, 20 Jan 2015 18:07:27 +0000 (13:07 -0500)]
Finalize perldelta
Matthew Horsfall [Tue, 20 Jan 2015 18:01:05 +0000 (13:01 -0500)]
Update Module::CoreList for 5.21.8
Matthew Horsfall [Tue, 20 Jan 2015 17:45:02 +0000 (12:45 -0500)]
Release prep - Copy descriptions of new errors in perldiag to delta
Karl Williamson [Tue, 20 Jan 2015 16:48:44 +0000 (09:48 -0700)]
regcomp.c: Add warnings under re 'strict'
Karl Williamson [Mon, 6 Oct 2014 22:17:58 +0000 (16:17 -0600)]
regcomp.c: Move #define, make a function always compiled
This is in preparation for the next commit. The function previously was
used only in DEBUGGING builds
Karl Williamson [Tue, 20 Jan 2015 06:51:55 +0000 (23:51 -0700)]
regcomp.c: Add warnings under re 'strict'
Karl Williamson [Tue, 20 Jan 2015 00:49:38 +0000 (17:49 -0700)]
t/re/reg_mesg.t: Turn on $|
Otherwise the output gets mixed up
Karl Williamson [Mon, 19 Jan 2015 19:47:41 +0000 (12:47 -0700)]
Add portablity warning for re 'strict'
When a range in a bracketed character class has one end be specified as
Unicode, the whole range is viewed as Unicode. Currently this is not
warned about, though it is somewhat like mixing apples and oranges.
This commit adds a warning, but only under "use re 'strict'", and
it now documents the only one-end behavior.
Karl Williamson [Mon, 19 Jan 2015 19:43:43 +0000 (12:43 -0700)]
regcomp.c: Fix typo in comment
Karl Williamson [Mon, 19 Jan 2015 19:19:14 +0000 (12:19 -0700)]
t/re/reg_mesg.t: Add support for only re 'strict' warnings
This will allow future commits to specify warnings that are raised only
when under "use re 'strict'"
Karl Williamson [Sat, 17 Jan 2015 22:57:24 +0000 (15:57 -0700)]
regcomp.c: Refactor a calculation
Currently the way we calculate if the endpoints in a range in a
[bracketed character class] are "literal" (like 'A', 'b') vs non (like
\x{41}) is to have a count of the literal endpoints.
Future commits will expand the definition of literal to include things
that are portably-specified, including things like \t, \N{U+xx}, etc.
It will be easier to specify that we have encountered a non-portable
name instead of the other way around. So that is what this commit does.
The only non-portables are \digit, \o{}, \x{}, and \cX for all X.
Matthew Horsfall [Tue, 20 Jan 2015 17:11:24 +0000 (12:11 -0500)]
Release prep - Update perldelta some more
Matthew Horsfall [Sat, 17 Jan 2015 16:50:31 +0000 (11:50 -0500)]
Revert "refactor gv_add_by_type"
This reverts commit
819b139db33e2022424694e381422766903d4f65.
This could be repapplied for 5.23.1, with modifications or
additional patches to solve the breakage discussed in RT 123580.
Matthew Horsfall [Tue, 20 Jan 2015 16:39:55 +0000 (11:39 -0500)]
Clean up MANIFEST.srt under distclean
Matthew Horsfall [Tue, 20 Jan 2015 16:27:25 +0000 (11:27 -0500)]
Release prep - Fix bad links in perldelta
Matthew Horsfall [Tue, 20 Jan 2015 16:19:27 +0000 (11:19 -0500)]
Release prep - Update perldelta
Matthew Horsfall [Tue, 20 Jan 2015 16:18:59 +0000 (11:18 -0500)]
Release prep - Update version/copyright information.
Matthew Horsfall [Tue, 20 Jan 2015 15:23:26 +0000 (10:23 -0500)]
Update Filter::Util::Call to CPAN version 1.54.
Matthew Horsfall [Tue, 20 Jan 2015 15:12:55 +0000 (10:12 -0500)]
Bump Module::Metadata version in Porting/Maintainers.pl.
Missed with 5944609.
Jarkko Hietaniemi [Mon, 19 Jan 2015 20:52:13 +0000 (21:52 +0100)]
Mention some curious cases of **
Jarkko Hietaniemi [Mon, 19 Jan 2015 22:10:48 +0000 (23:10 +0100)]
Notes on NaN structure, for future generation/extraction.
Jarkko Hietaniemi [Mon, 19 Jan 2015 20:39:05 +0000 (21:39 +0100)]
Make numifying "nanblah" warn, just like "345blah" does.
Jarkko Hietaniemi [Mon, 19 Jan 2015 20:15:58 +0000 (21:15 +0100)]
infnan: sprintf width and left-align.
Jarkko Hietaniemi [Mon, 19 Jan 2015 19:01:42 +0000 (20:01 +0100)]
Clarify test messages.
Karl Williamson [Tue, 20 Jan 2015 15:33:56 +0000 (08:33 -0700)]
Porting/checkAUTHORS.pl: New alternate addr for jhi
Karl Williamson [Tue, 20 Jan 2015 15:28:52 +0000 (08:28 -0700)]
perldiag: Fix typo
Hugo van der Sanden [Fri, 16 Jan 2015 12:11:32 +0000 (12:11 +0000)]
intuit_more: no need to copy before keyword check
That also avoids crashing on overrun.
Peter Martini [Tue, 20 Jan 2015 11:26:54 +0000 (06:26 -0500)]
Update signatures placement in perlsub pod
Steve Hay [Tue, 20 Jan 2015 08:45:22 +0000 (08:45 +0000)]
Enable cmpVERSION.pl checking of upstream cpan as well as upstream blead
There is no reason why upstream cpan modules should not also have their
$VERSIONs bumped if they differ from the previous release. Even if they
are temporarily locally patched for blead, that temporary patch should
include a $VERSION bump.
Tony Cook [Tue, 20 Jan 2015 05:24:50 +0000 (16:24 +1100)]
[perl #123554] stop checking the message
Sith IV/UV larger than Size_t, the overflow can be detected earlier,
so the message varies.
The error is still reported with a croak(), so it can be captured.
Father Chrysostomos [Tue, 20 Jan 2015 04:39:44 +0000 (20:39 -0800)]
perldelta for :const
Father Chrysostomos [Tue, 20 Jan 2015 04:37:24 +0000 (20:37 -0800)]
perlexperiment: Missing bug number
Father Chrysostomos [Tue, 20 Jan 2015 04:34:34 +0000 (20:34 -0800)]
[Merge] :const
Father Chrysostomos [Tue, 20 Jan 2015 04:33:01 +0000 (20:33 -0800)]
Document :const
Father Chrysostomos [Tue, 20 Jan 2015 03:30:46 +0000 (19:30 -0800)]
Make :const experimental
Father Chrysostomos [Tue, 20 Jan 2015 03:21:16 +0000 (19:21 -0800)]
Add experimental::const_attr warning category
Father Chrysostomos [Mon, 19 Jan 2015 07:01:33 +0000 (23:01 -0800)]
attributes.xs: Remove dVAR
I think it has been redundant ever since it was added in
97aff369.
Father Chrysostomos [Mon, 19 Jan 2015 06:40:09 +0000 (22:40 -0800)]
Let attributes.pm know about the const attribute
Setting it has no affect except on closure prototypes, so warn if an
attempt is made to set it on any other sub.
Father Chrysostomos [Mon, 19 Jan 2015 01:40:34 +0000 (17:40 -0800)]
anonconst.t for testing :const
Father Chrysostomos [Mon, 19 Jan 2015 00:37:03 +0000 (16:37 -0800)]
Add :const anon sub attribute
Father Chrysostomos [Mon, 19 Jan 2015 00:28:27 +0000 (16:28 -0800)]
cv.h: Add CVf_ANONCONST flag
Tony Cook [Tue, 20 Jan 2015 04:07:14 +0000 (15:07 +1100)]
avoid a build issue with non-threaded Win32 builds
ac0e53cd rearranged the build of the SDBM_File extension, and applied
the options, -DPERL_STATIC_SYMS, defined for the sdbm library code to
SDBM_File.$(O), which removed the __declspec(dllimport) specification
from perl's globals on non-threaded builds, breaking the code generated
for those variables.
The -DPERL_STATIC_SYMS was added in
9c293c15 as a replacement for a
kludge in
8803afc2 to fix SDBM built with BCC on Win32.
The failure in BCC was introduced in
17f28c40 which added the EXTCONST
to better support some VMS specific constructs (which appear to have
been removed since.)
A later patch may clean that up, but since the next dev release is
coming soon, I'll start with a minimal fix.
Karl Williamson [Thu, 15 Jan 2015 05:48:44 +0000 (22:48 -0700)]
lib/locale.t: Suppress some warnings
Move a 'no warnings' statement to earlier in the file, to before the first
possibility of it being needed occurs.
Karl Williamson [Tue, 21 May 2013 04:20:29 +0000 (22:20 -0600)]
lib/locale.t: Generalize to work on non-ASCII
Karl Williamson [Mon, 19 Jan 2015 15:24:56 +0000 (08:24 -0700)]
perldelta: Fix typo
Tony Cook [Mon, 19 Jan 2015 05:25:33 +0000 (16:25 +1100)]
perldelta for
62db6ea5fed1
Tony Cook [Mon, 19 Jan 2015 05:03:18 +0000 (16:03 +1100)]
[perl #123538] always set chophere and itembytes at the same time
Previously this would crash in FF_MORE because chophere was still
NULL.
Tony Cook [Mon, 19 Jan 2015 02:49:23 +0000 (13:49 +1100)]
perldelta for
fa8f4f85ec35
Tony Cook [Mon, 19 Jan 2015 02:31:26 +0000 (13:31 +1100)]
[perl #123554] avoid a crash from SvGROW(MEM_SIZE_MAX)
Tony Cook [Sun, 18 Jan 2015 23:33:32 +0000 (10:33 +1100)]
perldelta for
c9fdc8d6d601
Daniel Dragan [Mon, 5 Jan 2015 21:15:37 +0000 (16:15 -0500)]
remove multi-eval problem from File::Glob
get_sv would be called upto 3 times, now it will be called just once
Daniel Dragan [Fri, 16 Jan 2015 03:30:25 +0000 (22:30 -0500)]
improve SvPV_set's docs, it really shouldn't be public API
Someone else in the perl community wrote XS code using SvPV_set instead
of sv_setpvn and couldn't figure out why he was getting
heap corruption/failed asserts/SEGVs/etc. Improve the docs to basically say
never use this.
Peter Martini [Sun, 18 Jan 2015 16:15:15 +0000 (11:15 -0500)]
perldelta for previous 2 commits
perldelta entry for moving signature before attributes
Peter Martini [Sun, 18 Jan 2015 16:09:55 +0000 (11:09 -0500)]
Update perlsub to reflect attribute/signature relo
As initially introduced in 5.20, sub signatures came after
attributes. For 5.22, they will come before attributes, like
prototypes did. This commit updates the docs to that effect.
Peter Martini [Sun, 18 Jan 2015 15:54:01 +0000 (10:54 -0500)]
perly.y changes from Lukas Mai in RT 123069
This moves signatures before attributes in the grammar by
creating separate branches for the prototype and signatures
cases, so that the introduced block and the fact that signatures
do not allow for declarations can be handled properly.
Tests and regen_perly to follow.
James E Keenan [Tue, 13 Jan 2015 00:57:12 +0000 (19:57 -0500)]
Fixes for Pod-HTML tests after Pod-Simple update
Patch supplied by theory.
Signed-off-by: Chris 'BinGOs' Williams <chris@bingosnet.co.uk>
James E Keenan [Sun, 11 Jan 2015 15:20:31 +0000 (10:20 -0500)]
Update Pod-Simple to CPAN version 3.29
[DELTA]
2015-01-13 David E. Wheeler <david@justatheory.org>
* Release 3.29
NOTE: This will be the last release of Pod::Simple to support versions
of Perl earlier than 5.6.
Fixed test failure for unsupported encoding on Perl 5.6.
Removed unnecessary dependency on constant. Reported by Petr Pisar
(RT #85578).
Many documentation and comment typos fixed by David Steinbrunner.
Fixed issue when an encoding is declared via an '=encoding' directive
*after* Pod::Simple has already detected an encoding. Thanks to
Graham Knop for the patch and Patrice Dumas for the tests.
Added '>&STDERR' as an output to better emulate
Pod::Parser::parse_from_file(). Florent Angly.
Tidied the description of the different Pod::Simple interfaces,
with greater emphasis on the four different steps to subclassing.
Florent Angly.
Added the 'top_anchor' attribue to Pod::Simple::HTML, to allow
specification of a custom top anchor format. Gabor Szabo.
Fixed the text formatter to properly set the Text::Wrap overflow policy.
Thanks to Nigel Metheringham for the fix!
Fixed mis-matched quotation marks when adding JavaScript elements
to the XHTML output. Patch from jonathancast.
Fixed issues on EBCDIC. Patch from Karl Williamson (GitHub Pull
Request #58).
Fixed bug where the value passed to Pod::Simple::XHTML's
html_css() method would be output twice. Thanks to Andrew Johnson
for the report (RT #99303).
Documented the 'recurse' attribute of Pod::Simple::Search.
Thanks to Jim Keenan for the report (RT #91886).
An error is no longer thrown when '=encoding' directives are found
on subsequent lines. Instead, we now log a an error message,
"Cannot have multiple =encoding directives" (RT #91757).
The HTML and XHTML formatters now do a better job of preserving
lines in 'begin html' blocks. Fixes a bug that dates from 2002
(Perl RT#9385, CPAN RT #91851).
Collateral damage to 3 tests under ext/Pod-Html/.
James E Keenan [Sun, 18 Jan 2015 03:09:21 +0000 (22:09 -0500)]
perldelta update for 5944609.
Karen Etheridge [Sat, 17 Jan 2015 19:31:47 +0000 (11:31 -0800)]
Module::Metadata 1.000026
James E Keenan [Sat, 17 Jan 2015 22:23:36 +0000 (17:23 -0500)]
One more tiny spelling correction in comment; thanks to alh.
James E Keenan [Sat, 17 Jan 2015 22:02:50 +0000 (17:02 -0500)]
Two small spelling corrections in comment.
David Mitchell [Sat, 17 Jan 2015 19:53:04 +0000 (19:53 +0000)]
avoid $a["foo" eq $x ? 0 : 1] warning
RT #123609
The compiling code that looks for OP_MULTIDEREF candidates was
unconditionally numifying the first constant of an array index expression,
before it had confirmed that the expression consisted solely of a const.
So in something like
$a['foo' eq $x ? 0 : 1]
the 'foo' would be numified and give a spurious warning:
Argument "foo" isn't numeric
This commit fixes it by skipping the OP_MULTIDEREF optimisation if the
array index const isn't SvIOK(). In theory this means that something like
$r->["0"]
no longer gets optimised, but I think we can live with that :-)
It also means that the test for the const being SvROK is no longer
necessary.
(Finally, I moved the declaration of the iv var down a few scopes as it
wasn't being used elsewhere in the wider scope.)
Matthew Horsfall (alh) [Sat, 17 Jan 2015 16:40:45 +0000 (11:40 -0500)]
Update Porting/Maintainers.pl for Devel::PPPort 3.27->3.28.
Missed this in b127ff5
Chris 'BinGOs' Williams [Sat, 17 Jan 2015 16:12:41 +0000 (16:12 +0000)]
Update Module-Load-Conditional to CPAN version 0.64
[DELTA]
0.64 Sat Jan 17 13:33:57 GMT 2015
* Resolve an edge-case with DEPRECATED
[ https://rt.cpan.org/Public/Bug/Display.html?id=101555 ]
Karl Williamson [Fri, 16 Jan 2015 03:13:45 +0000 (20:13 -0700)]
regcomp.c: White-space only
Indent inside a newly formed block
Karl Williamson [Fri, 16 Jan 2015 03:03:09 +0000 (20:03 -0700)]
regcomp.c: Fix bug in /[A-Z]/i
This also fixes /[a-z]/i.
When not under /i, these two ranges alone in a bracketed character class
can be optimized into qr/[[:upper:]]/a and qr/[[:lower:]]/a respectively.
This optimization saves space in the pattern (as no bitmap is needed),
and I think it executes faster. But this optimization has to be
foregone under /i (unless /a is also present) because otherwise
certain non-ASCII characters such as the \N{KELVIN SIGN} don't match,
and they should.
Karl Williamson [Fri, 16 Jan 2015 02:40:24 +0000 (19:40 -0700)]
regcomp.c: Fix comment
Karl Williamson [Fri, 16 Jan 2015 01:52:35 +0000 (18:52 -0700)]
regcomp.c: Improve generated code for some [:posix:] classes
For regexes compiled not under /l, [:posix:] classes in general require
special handling, as
1) under /d they can match two different sets of code points,
depending on whether or not the target string is in UTF-8.
2) under /a, the matches above the ASCII range need to be filtered
out.
But note that nothing special is needed for /u, and under [:ascii:],
there is nothing to be filtered out, and the UTF-8ness of the target
doesn't matter either. And since [:digit:] and [:xdigit:] don't have
matches in the upper Latin1 range, under /d the UTF-8ness doesn't matter
for them either.
This commit skips the special handling for the above conditions. This
leads to less work during pattern compilation, and can mean faster
run-time code, as well, skipping function calls that otherwise would be
done.
Karl Williamson [Fri, 16 Jan 2015 01:35:40 +0000 (18:35 -0700)]
regcomp.c: Rmv unneeded temporary
Karl Williamson [Thu, 15 Jan 2015 18:32:22 +0000 (11:32 -0700)]
Fix regex pattern dump of ANYOF nodes
An ANYOF node is used to handle bracketed character classes and Unicode
properties. It is implemented in part as a bit vector of code points
that match for smallish ordinals, plus other means to specify larger
code points, or code points that match only under certain conditions.
For example, under /d, whether [\w] matches word characters in the upper
Latin1 range depends on whether the target string is in UTF-8 or not,
so the characters which are conditionally matched are saved outside
the bitmap. For performance, there is a flag that gets set if all code
points too large for the bitmap match. This is a common occurrence for
complemented classes, such as [^a-z]. Prior to this commit, if this
flag was set, those things that are conditionally matched were not
output when dumping the regex pattern (under the command line option
-Dr, for example).
Karl Williamson [Wed, 26 Jun 2013 23:44:33 +0000 (17:44 -0600)]
t/re/reg_mesg.t: Don't need to skip on EBCDIC
It now works
Karl Williamson [Fri, 16 Jan 2015 02:44:19 +0000 (19:44 -0700)]
perlrecharclass: Add some missing documentation
Karl Williamson [Fri, 16 Jan 2015 01:42:10 +0000 (18:42 -0700)]
Regen podcheck db because of recent fixes to epigraphs.pod
Karl Williamson [Fri, 16 Jan 2015 04:20:54 +0000 (21:20 -0700)]
t/run/locale.t: Fix typos
Matthew Horsfall [Fri, 16 Jan 2015 12:53:16 +0000 (07:53 -0500)]
Update Devel-PPPort to CPAN version 3.28
[DELTA]
3.28 - 2015-01-16
* Update MANIFEST for regened base/todo files