This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Karl Williamson [Sun, 3 Nov 2019 16:50:56 +0000 (09:50 -0700)]
PATCH: Character class code broke MSWin32 compilation
I'm not sure why this didn't show up elsewhere, but we have embed.fnc
entries for non-existent functions that should have been removed in
dd1a3ba7882ca70c1e85b0fd6c03d07856672075.
In addition, I see several more functions that should have been removed,
and this commit removes them.
Max Maischein [Sun, 3 Nov 2019 19:44:44 +0000 (20:44 +0100)]
Fix typo
As noted by @bulk88 in #12898
Max Maischein [Fri, 25 Oct 2019 18:20:56 +0000 (20:20 +0200)]
And silence some silly examples.
From RT88754
Adapted to the current Perl by Max Maischein
Created from https://github.com/Perl/perl5/issues/11259
Max Maischein [Sun, 3 Nov 2019 18:15:29 +0000 (19:15 +0100)]
Add explicit list of supported Perl versions and URL where to find it
This addresses the comments of @bulk88 made in #12898
Tony Cook [Tue, 10 Dec 2013 04:42:30 +0000 (15:42 +1100)]
a template for vulnerability announcements
not that we ever make mistakes
Karl Williamson [Sat, 2 Nov 2019 16:06:33 +0000 (10:06 -0600)]
Inversion lists are SvPOK
They always have a string, and making them this allows B to access it.
Nicholas Clark [Sat, 2 Nov 2019 21:08:48 +0000 (22:08 +0100)]
On OP_READLINE, OPf_SPECIAL is set for <<>>, clear for <>.
Karen Etheridge [Sat, 2 Nov 2019 05:39:50 +0000 (22:39 -0700)]
Update perlfaq to CPAN version 5.
20191102
[DELTA]
5.
20191102 2019-11-02 05:34:43Z
* fix bad pod markup in perlfaq8 (PR #78; thanks, Joaquín Ferrero!)
* remove stale section about lib.pm (PR #82, Dan Book)
* update perlfaq9 to reference Email::Stuffer (PR #79, Dan Book)
* update perlfaq9 to reference URL::Search (PR #80, Dan Book)
* update perlfaq9 to use HTTP::Tiny (PR #81, Dan Book)
* fix some broken links (issue #71, dctabuyz)
Tony Cook [Sat, 2 Nov 2019 03:37:29 +0000 (14:37 +1100)]
ignore $^H{feature/bits'} when deparsing
This hints hash member is used to pass the scope's feature bits to
eval, and was confusing deparse.
Since the bits are also represented as the feature_ prefixed members
of %^H, there's no need for Deparse to do anything else with them.
Karl Williamson [Fri, 1 Nov 2019 01:23:09 +0000 (19:23 -0600)]
Rmv more deprecated characlassify/case change macros
These were missed by
059703b088f44d5665f67fba0b9d80cad89085fd.
Karl Williamson [Fri, 1 Nov 2019 01:42:23 +0000 (19:42 -0600)]
perl.c: Remove obsolete comment
Karl Williamson [Fri, 1 Nov 2019 00:59:17 +0000 (18:59 -0600)]
Consolidate uses of PERL_SMALL_MACRO_BUFFER
At the moment the _ASSERT_() is the one which has been showing large
expansions. Change so it doesn't do anything if PERL_SMALL_MACRO_BUFFER
is defined. That means various other calls that use
PERL_SMALL_MACRO_BUFFER can be simplified to not use it.
Karl Williamson [Fri, 1 Nov 2019 00:46:05 +0000 (18:46 -0600)]
perldelta for removing experimental status
For both script runs and alpha assertions.
Karl Williamson [Sun, 27 Oct 2019 15:01:55 +0000 (09:01 -0600)]
perlreref: alpha assertions are valid in (COND)
Karl Williamson [Sun, 27 Oct 2019 14:45:32 +0000 (08:45 -0600)]
Accept experimental script_run feature
Karl Williamson [Sun, 27 Oct 2019 14:23:01 +0000 (08:23 -0600)]
Accept experimental alpha_assertions feature
Karl Williamson [Sun, 27 Oct 2019 14:17:19 +0000 (08:17 -0600)]
perlexperiment: Was missing vlb
This experimental feature didn't make it into this pod.
Karl Williamson [Sun, 27 Oct 2019 14:14:10 +0000 (08:14 -0600)]
perlexperiment: Remove Unicode in EBCDIC
This looks like a stray line. We have supported Unicode in EBCDIC for
many releases with no experimental warnings raised.
Tony Cook [Wed, 30 Oct 2019 02:06:34 +0000 (13:06 +1100)]
fix panic caused by printf with %n with utf8 length magic
fix the reported issue with gh #17221
Tony Cook [Mon, 28 Oct 2019 23:45:11 +0000 (10:45 +1100)]
add ${^FEATURE_BITS} to perlvar.pod
Tony Cook [Mon, 28 Oct 2019 19:57:29 +0000 (06:57 +1100)]
remove now unneeded FEATURE_IS_ENABLED()
Tony Cook [Thu, 24 Oct 2019 18:26:53 +0000 (05:26 +1100)]
Faster feature checks
Perform only a bit check instead of a much more expensive hash
lookup to test features.
For now I've just added a U32 to the cop structure to store the bits,
if we need more we could either add more bits directly, or make it a
pointer.
We don't have the immediate need for a pointer that warning do since
we don't dynamically add new features during compilation/runtime.
The changes to %^H are retained so that caller() can be used from perl
code to check the features enabled at a given caller's scope.
Chris 'BinGOs' Williams [Wed, 30 Oct 2019 17:38:02 +0000 (17:38 +0000)]
Make me as doing the business for 20th November
Richard Leach [Mon, 20 May 2019 01:37:04 +0000 (01:37 +0000)]
Mention Termux in README.android
Tomasz Konojacki [Tue, 29 Oct 2019 16:33:00 +0000 (17:33 +0100)]
remove CONSERVATIVE and LIBERAL
These constants were undocumented and don't do anything useful.
Saving a few kilobytes of memory doesn't justify the complexity
caused by adding a new build flag.
All platforms except 64-bit Windows were using LIBERAL. It's not
clear why win64 was using -DCONSERVATIVE, but removing it doesn't
break anything.
[gh #17232]
Tomasz Konojacki [Tue, 29 Oct 2019 15:31:19 +0000 (16:31 +0100)]
use PTR2nat() instead of casting pointers to unsigned long
Casting a pointer to unsigned long will result in truncation when
sizeof(void*) > sizeof(unsigned long)
[gh #17232]
Karl Williamson [Mon, 30 Sep 2019 02:55:45 +0000 (20:55 -0600)]
Change the names of some regnodes
The new name is shorter and I believe, clearer.
Karl Williamson [Mon, 30 Sep 2019 02:47:46 +0000 (20:47 -0600)]
regcomp.c: Comments, white-space only
Karl Williamson [Mon, 30 Sep 2019 02:41:10 +0000 (20:41 -0600)]
regcomp.c: Avoid reparsing a node
When it's determined that the final character of a node really should
be in the next node to avoid splitting a multi-character fold, the node
is refilled from scratch, setting an upper limit of how far to go just
before that character.
This commit changes to avoid that reparsing and refilling if just the
final character has to be omitted. If the node has to be backed up two
or more characters, the reparsing is still done. The technique in this
commit could be extended to avoid those, but doing it generally is
complicated, and doing it the way this commit does gets more and more
cumbersome, and the odds rapidly get smaller of needing to do more than
what I've done here.
Todd Rinaldo [Tue, 29 Oct 2019 20:34:46 +0000 (15:34 -0500)]
Dummy commit to test perl5-changes notifications
Hauke D [Mon, 20 Nov 2017 14:31:57 +0000 (15:31 +0100)]
Tie::StdHandle::BINMODE: handle layer argument
Fixes #16262
BINMODE was not handling the LAYER argument.
Also bump the version number.
(cherry picked from commit
479d04b98e5b747e5c9ead7368d3e132f524a2b7)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Tony Cook [Mon, 28 Oct 2019 23:30:31 +0000 (10:30 +1100)]
fix the type of orig_keyword to match the only caller
fixes gh #17226
Tony Cook [Mon, 28 Oct 2019 21:29:41 +0000 (08:29 +1100)]
reinstate the [perl #129069] fix reverted by
f190a1be6aa
fixes gh #17223
Steve Hay [Mon, 28 Oct 2019 13:14:36 +0000 (13:14 +0000)]
Upgrade Scalar-List-Utils from version 1.52 to 1.53
Steve Hay [Mon, 28 Oct 2019 08:23:46 +0000 (08:23 +0000)]
Upgrade Pod::Simple from version 3.39 to 3.40
Steve Hay [Mon, 28 Oct 2019 08:13:21 +0000 (08:13 +0000)]
Upgrade Math::BigInt from version 1.999817 to 1.999818
Tomasz Konojacki [Sat, 26 Oct 2019 21:17:18 +0000 (23:17 +0200)]
win32: separate $Config{ccflags} and $Config{optimize}
Optimization flags don't belong in $Config{ccflags}, while
defines and CRT flags don't belong in $Config{optimize}.
This change makes overriding optimization flags in Makefile.PL
and Build.PL on win32 just as easy as on unix-likes.
Additionally, don't define NDEBUG, perl.h already takes care of
that.
(gh #17156)
Steve Hay [Sun, 27 Oct 2019 16:42:53 +0000 (16:42 +0000)]
Add epigraph for 5.30.1-RC1
Steve Hay [Sun, 27 Oct 2019 11:53:54 +0000 (11:53 +0000)]
5.30.1-RC1 today
Steve Hay [Sun, 27 Oct 2019 11:53:40 +0000 (11:53 +0000)]
Update release schedule
Aim for a fortnight's time for 5.30.1 after RC1 today
Aim for 5.30.2 RC1 in late February, releasing in early March
Karl Williamson [Fri, 23 Aug 2019 19:00:49 +0000 (13:00 -0600)]
PATCH: [perl 134335], gh115,Assert fail in regmatch
This happens when the regular expression pattern, compiling under /il,
ends up with a node attempting to match one of 17 Unicode characters
that fold (/i) to multiple characters in the 0-FF range, and the match
is run when a UTF-8 locale is in effect that makes such a match legal.
The node was being marked as SIMPLE, but only nodes that match a single
character should be SIMPLE.
This ticket was originally filed as a security issue, but I don't think
it is. If I remove the assertion, the match fails, without an
out-of-bounds access. And we do not consider the interpreter crashing
on a DEBUGGING build a security issue.
Karl Williamson [Sat, 26 Oct 2019 17:02:36 +0000 (11:02 -0600)]
perlguts: Fix up UTF8fARG docs
The example was missing a percent, and note that in order to
successfully output UTF-8, the filehandle must be expecting it.
Karl Williamson [Sat, 26 Oct 2019 16:49:22 +0000 (10:49 -0600)]
Fix up apidoc entries for isFOO_utf8()
These were recently changed to take a second parameter, but the docs did
not change to correspond.
Karl Williamson [Sat, 26 Oct 2019 16:48:09 +0000 (10:48 -0600)]
Note that UTF8f and UTF8fARG are now documented
Craig A. Berry [Fri, 25 Oct 2019 14:46:57 +0000 (09:46 -0500)]
void functions don't need to indicate lack of return
The somewhat confusingly named NORETURN_FUNCTION_END, introduced
in
0dbb1585a715e563, apparently indicates that the function
expects a return but isn't getting one. Since void functions
don't expect a return, it isn't appropriate for them, and in fact,
since the macro includes a return statement, some compilers will
whinge about returning from a void function.
Dan Book [Thu, 24 Oct 2019 20:50:28 +0000 (16:50 -0400)]
perlretut - Missing semicolon in example
E. Choroba [Fri, 11 Oct 2019 11:59:38 +0000 (13:59 +0200)]
Document the SIG handler behaviour for weird hook values
Values like undef or an empty string can be assigned to the SIG hash.
Their behaviour is slightly different for signals and internal hooks
and wasn't properly documented.
### From choroba@matfyz.cz
#### Created by choroba@matfyz.cz
Hi,
Some edge case values (e.g. undef, empty string) aren't properly
documented for the %SIG handler. Patch attached.
Ch.
Autocreated from https://github.com/Perl/perl5/issues/17180
Tom Hukins [Fri, 12 Apr 2019 17:18:15 +0000 (18:18 +0100)]
Fix a broken link
While I'm here, remove mentions of Parrot and Pugs as both have little
relevance today.
These changes were inspired by problems raised in [perl #133987].
Bump version of mro.pm due to doc changes.
Autocreated from https://github.com/Perl/perl5/issues/16927
Max Maischein [Fri, 25 Oct 2019 07:53:58 +0000 (09:53 +0200)]
Update URLs to be https://
The GPL link redirects to GPLv3 nowadays, but I imagine that the link
will redirect to whatever version is the current version of the
GPL.
Tony Cook [Mon, 16 Sep 2019 06:38:26 +0000 (16:38 +1000)]
ensure locale_name_on_entry isn't clobbered
If the return value of setlocale() is static storage, the call to
setlocale(LC_NUMERIC, "C"); could overwrite it.
If the return value of setlocale() is malloced, the call to
setlocale(LC_NUMERIC, "C"); could free it.
Either way, we need to copy it. Fixes gh #17054 rt134212
Karl Williamson [Thu, 24 Oct 2019 15:59:06 +0000 (09:59 -0600)]
perlguts: Document UTF8f format
Karl Williamson [Thu, 24 Oct 2019 15:56:15 +0000 (09:56 -0600)]
perlguts: Update info about e.g. UVuf
Karl Williamson [Thu, 24 Oct 2019 14:53:39 +0000 (08:53 -0600)]
AUTHORS: Ichinose Shogo was in wrong-way-round
Karl Williamson [Fri, 13 Sep 2019 03:06:45 +0000 (21:06 -0600)]
regcomp.c: Code for qr/(?[...]) handle restart
There is an existing mechanism for code to realize it needs to restart
parsing from the beginning, say because it needs to upgrade to UTF-8.
The code for /(?[...])/ did not participate in this. Currently I don't
know of any case where it needs to, though perhaps some very hard to
reproduce case when branch instructions need to start needing to handle
more than 16 bits, but I kind of doubt it. Anyway, future commits
introduce the possibility.
Ichinose Shogo [Thu, 24 Oct 2019 10:57:31 +0000 (19:57 +0900)]
update perljp
* fix typos
* add some warnings for deadlinks
* add some useful links for Perl Mongers in Japan
* MetaCPAN
* perldoc.jp perldoc translated into Japanese
* Japan Perl Association (JPA)
* add me to the authors
Karl Williamson [Thu, 24 Oct 2019 12:04:26 +0000 (06:04 -0600)]
Add Shogo Ichinose to AUTHORS
Dan Book [Sun, 20 Oct 2019 16:46:06 +0000 (12:46 -0400)]
Update perlgit and perlhack to reference GitHub pull request workflow
Paul "LeoNerd" Evans [Thu, 24 Oct 2019 09:22:16 +0000 (10:22 +0100)]
Move keywords from a regexp to a qw() list
Dan Book [Tue, 29 Jan 2019 02:14:48 +0000 (21:14 -0500)]
Assign names to subsections in perlref to improve linkability and discoverability
Dave Cross [Wed, 23 Oct 2019 11:50:01 +0000 (12:50 +0100)]
Be clearer about taint's effect on @INC.
Dave Cross [Tue, 22 Oct 2019 13:24:13 +0000 (14:24 +0100)]
Fix taint mode @INC documentation
Explain that -T no longer removes '.' from @INC because, since
5.26, '.' isn't in @INC to start with.
Nicolas R [Wed, 23 Oct 2019 21:11:27 +0000 (15:11 -0600)]
Speedup Travis CI: stop smoking on Darwin
Resolves #17209
A full Travis CI build time is about 4 hours,
most of the time is spent on osx servers.
Travis CI does not seem to have the same kind
of resources for Darwin than it has for linux.
Disabling Darwin will speedup the builds to ~15 min
Also enable fast finish to stop on first failure.
Graham Knop [Sun, 20 Oct 2019 15:23:09 +0000 (17:23 +0200)]
add git commit info into archive exports to allow building outside git
Normally, builds require either a .patch file or to be built out of git
when not a proper release. We can use git attributes to make a file
that will give partial information about the commit when an archive is
created. This allows downloads from github to build.
Dagfinn Ilmari Mannsåker [Wed, 23 Oct 2019 13:11:52 +0000 (14:11 +0100)]
Link directly to the right perlrun section everywhere in perlfunc
Karl Williamson [Mon, 26 Aug 2019 22:15:38 +0000 (16:15 -0600)]
regcomp.c: Create fail-safe for reading out of bounds
It shouldn't happen that the pointer passed to this macro causes
out-of-bound reads, but there have been problems with this area in the
past, and we know the bounds for this non-time-critical function, so it
is a simple matter to make sure.
Dagfinn Ilmari Mannsåker [Wed, 23 Oct 2019 10:31:22 +0000 (11:31 +0100)]
Link directly to the -M section of perlrun from perlfunc/use
Dan Book [Tue, 22 Oct 2019 20:25:23 +0000 (16:25 -0400)]
perlretut - missing quote in example
Karl Williamson [Tue, 22 Oct 2019 14:00:28 +0000 (08:00 -0600)]
PATCH: #17196, Assertion failure in /l pattern
This was from an earlier change that modified some logic without paying
sufficient attention to the consequences of those modifications.
James E Keenan [Tue, 22 Oct 2019 05:32:11 +0000 (07:32 +0200)]
Chris 'BinGOs' Williams [Tue, 22 Oct 2019 00:08:30 +0000 (01:08 +0100)]
Update Sys-Syslog to CPAN version 0.36
[DELTA]
0.36 -- 2019-10-22 -- Sebastien Aperghis-Tramoni (SAPER)
[Tests]
- RT #127454 / GitHub PR #8: Intermittent failures on OpenBSD and other
platforms (Jim Keenan).
Max Maischein [Sun, 20 Oct 2019 18:58:36 +0000 (20:58 +0200)]
Fix Johan Vromans CPAN URL
Max Maischein [Sun, 20 Oct 2019 18:58:19 +0000 (20:58 +0200)]
Update URL for Weebls Stuff
Max Maischein [Sun, 20 Oct 2019 18:58:03 +0000 (20:58 +0200)]
Import dead URLs from my last analysis
Unfortunately, I haven't been able to find the content for these
URLs elsewhere.
Maybe we should add "Find one more URL from that list" to the release
manager guide so we regain one URL per month.
Max Maischein [Sun, 20 Oct 2019 18:56:50 +0000 (20:56 +0200)]
Fix y2038 project homepage
Googlecode.com is dead
Dagfinn Ilmari Mannsåker [Sat, 19 Oct 2019 13:36:30 +0000 (15:36 +0200)]
Fully spell out "subroutine" and "variable"
A bunch of places were using "%se" and "subroutin" or "variabl" when
generating error messages that could refer to either a subroutine or
variable. Spell the words out and use plain "%s" instead.
Aaron Crane [Mon, 21 Oct 2019 10:11:30 +0000 (12:11 +0200)]
[MERGE] Factor out Perl_yylex() into a bunch of smaller functions
This factors lots of code out of Perl_yylex(), which started at 4166
lines. It's now split into multiple functions; the largest remaining one
is 2159 lines. There's still plenty of work that could be done here, but
I hope this makes it easier to understand the lexer without having to
understand the whole thing simultaneously.
Aaron Crane [Sun, 20 Oct 2019 13:03:36 +0000 (15:03 +0200)]
toke.c: factor out static yyl_my()
Aaron Crane [Sun, 20 Oct 2019 12:54:23 +0000 (14:54 +0200)]
toke.c: factor out static yyl_eol()
Aaron Crane [Sun, 20 Oct 2019 12:48:06 +0000 (14:48 +0200)]
toke.c: factor out static yyl_do()
Aaron Crane [Sun, 20 Oct 2019 12:36:50 +0000 (14:36 +0200)]
toke.c: factor out static yyl_foreach()
Aaron Crane [Sun, 20 Oct 2019 12:33:37 +0000 (14:33 +0200)]
toke.c: factor out static yyl_require()
Aaron Crane [Mon, 21 Oct 2019 08:38:14 +0000 (10:38 +0200)]
toke.c: factor out static yyl_croak_unrecognised()
Aaron Crane [Sun, 20 Oct 2019 12:13:47 +0000 (14:13 +0200)]
toke.c: factor out static yyl_data_handle()
Aaron Crane [Sun, 20 Oct 2019 12:02:34 +0000 (14:02 +0200)]
toke.c: remove needless `if (0)`
Aaron Crane [Sun, 20 Oct 2019 11:57:56 +0000 (13:57 +0200)]
toke.c: reorder to put static function before its caller
Aaron Crane [Sun, 20 Oct 2019 11:36:47 +0000 (13:36 +0200)]
toke.c: remove the "retry" label
We can just use recursive calls instead — which compilers will compile to a
goto anyay!
Aaron Crane [Sun, 20 Oct 2019 10:19:02 +0000 (12:19 +0200)]
toke.c: factor most of Perl_yylex() out into static yyl_try()
Aaron Crane [Sun, 20 Oct 2019 09:53:03 +0000 (11:53 +0200)]
toke.c: factor out static yyl_backslash()
Aaron Crane [Sun, 20 Oct 2019 09:51:27 +0000 (11:51 +0200)]
toke.c: factor out static yyl_backtick()
Aaron Crane [Sun, 20 Oct 2019 09:51:17 +0000 (11:51 +0200)]
toke.c: factor out static yyl_sglquote()
Aaron Crane [Sun, 20 Oct 2019 09:48:46 +0000 (11:48 +0200)]
toke.c: factor out static yyl_dblquote()
Aaron Crane [Sun, 20 Oct 2019 11:49:18 +0000 (13:49 +0200)]
toke.c: factor out static yyl_rightpointy()
Aaron Crane [Sun, 20 Oct 2019 09:40:06 +0000 (11:40 +0200)]
toke.c: factor out static yyl_leftpointy()
Aaron Crane [Sun, 20 Oct 2019 09:35:57 +0000 (11:35 +0200)]
toke.c: simplify conflict-marker detection
Since doing this involves a `goto`, hoisting the check to the top of each
relevant `case` will make it easier to perform further refactoring.
Aaron Crane [Sun, 20 Oct 2019 09:17:57 +0000 (11:17 +0200)]
toke.c: factor out static yyl_rightparen()
Aaron Crane [Sun, 20 Oct 2019 09:17:43 +0000 (11:17 +0200)]
toke.c: factor out static yyl_leftparen()
Aaron Crane [Sun, 20 Oct 2019 09:13:36 +0000 (11:13 +0200)]
toke.c: factor out static yyl_rightsquare()
Aaron Crane [Sun, 20 Oct 2019 09:11:57 +0000 (11:11 +0200)]
toke.c: factor out static yyl_tilde()
Aaron Crane [Sun, 20 Oct 2019 09:09:49 +0000 (11:09 +0200)]
toke.c: factor out static yyl_leftsquare()
Aaron Crane [Sun, 20 Oct 2019 08:44:42 +0000 (10:44 +0200)]
toke.c: factor out static yyl_slash()