This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Karl Williamson [Sun, 24 May 2020 18:55:17 +0000 (12:55 -0600)]
lib/DBM_Filter/t/encode.t: TODO a test on EBCDIC
This depends on Encode which has some problems
Karl Williamson [Sun, 24 May 2020 18:51:18 +0000 (12:51 -0600)]
dist/IO/t/cachepropagate-unix.t: Add os390 to TODO list
To TODO a test for
Karl Williamson [Wed, 20 May 2020 20:27:41 +0000 (14:27 -0600)]
lib/warnings.t: Fix EBCDIC toke warning wording
Karl Williamson [Fri, 22 May 2020 13:20:14 +0000 (07:20 -0600)]
pod/perluniprops: Split run-on lines before '\'
This changes mktables, which generates this pod, to consider long pod
lines to be splittable before most backslashes. On os390, the lack of
this caused a line to not be split at all, creating a Porting test
failure.
There is also a current rule that you can split at a lowercase/uppercase
boundary. This works for the limited domain this code is run on. But
it shouldn't split \cK. So don't do the split if the lowercase is a
single letter preceded by a backslash.
Karl Williamson [Sun, 24 May 2020 18:40:17 +0000 (12:40 -0600)]
t/TEST: Skip some cpan module testing on EBCDIC
These modules have known problems, varying from one test failing, to not
working at all. This is a big improvement from earlier releases where
all of cpan testing was entirely ckipped.
Karl Williamson [Wed, 27 May 2020 01:42:52 +0000 (19:42 -0600)]
hints/os390.sh: Handle no C optimizations
There is a bug in Configure where it doesn't handle 'none' properly for
platforms which have no flag to indicate don't optimize. Instead of
fixing this for 5.32 at this late date, change the hints file for os390
to use the equivalent " ", that does work.
Karl Williamson [Wed, 20 May 2020 20:27:10 +0000 (14:27 -0600)]
t/re/regexp.t: Fix to properly handle EBCDIC
5.31 commit
2b7f9bbf39f71c0d94db058b0110977a9470c1b2 caused this to not
work at all on EBCDIC platforms.
Karl Williamson [Mon, 25 May 2020 17:15:01 +0000 (11:15 -0600)]
Fix tr/// determination of inplace editing for EBCDIC
I realized as a result of fixing GH #17654, that the code didn't
properly decide if a tr/// can be done in-place on EBCDIC platforms.
Since we didn't have an EBCDIC smoker at the time, I couldn't be sure
that the fix actually worked. Now that we do have a smoker, I have
successfully tested it.
This patch is constructed so that the code generated on non-EBCDIC
platforms should not be changed by it.
Tony Cook [Wed, 22 Apr 2020 05:01:40 +0000 (15:01 +1000)]
set magic on $lex for $lex = (index(...) == -1) and make it an lvalue
related to #17737 and fixes #17739
re-work of my original patch that only pushes the final result
Tony Cook [Wed, 22 Apr 2020 01:02:16 +0000 (11:02 +1000)]
fix utf8 length magic handling for scalar reverse
fixes #17737
Sawyer X [Sun, 24 May 2020 22:02:22 +0000 (01:02 +0300)]
Remove part of comment
Karl Williamson [Tue, 12 May 2020 17:45:29 +0000 (11:45 -0600)]
Revision to hvds patch for #17775
Sawyer X [Sun, 24 May 2020 20:03:47 +0000 (23:03 +0300)]
pjacklam has an email alias - fix checkAUTHORS.pl
Peter John Acklam [Sat, 11 Apr 2020 12:28:10 +0000 (14:28 +0200)]
Add quadmath to list of libraries.
Karl Williamson [Sat, 25 Apr 2020 15:28:51 +0000 (09:28 -0600)]
regcomp.c: Fix leak
This leak is the result of my misplacing the frees in an inner block
which isn't always executed after space is allocated; instead of the
next outer where the free will get done.
This fixes # 17729
Sawyer X [Sun, 24 May 2020 05:55:22 +0000 (08:55 +0300)]
Finally, bump version of File-Glob
Sawyer X [Sat, 23 May 2020 23:08:22 +0000 (02:08 +0300)]
Fix File::Glob test:
glob() should not exist. We check this with `->can('glob')`.
Sawyer X [Sat, 23 May 2020 21:57:57 +0000 (00:57 +0300)]
Correct text on my() in false conditional
Sawyer X [Sat, 23 May 2020 21:46:46 +0000 (00:46 +0300)]
Remove File::Glob::glob() entirely
Niko Tyni [Fri, 15 May 2020 21:39:28 +0000 (00:39 +0300)]
Finalize config_h.SH for the __attribute__(always_inline) probe
For some reason this comment was not added by commit
https://github.com/Perl/perl5/commit/
e849841dca2a8b11119997585f795647c52cdcdf
but it gets included when regenerating from metaconfig, stemming from
https://github.com/Perl/metaconfig/commit/
829ae3555af6c3549169acf1fab1bd089b442e47
(Also includes regenerated uconfig.h by regen/uconfig_h.pl)
Niko Tyni [Sat, 16 May 2020 16:49:23 +0000 (19:49 +0300)]
Fix config_h.SH duplication due to re-running Porting/config_h.pl
Quoting Porting/config_h.pl :
# This script is run just after metaconfig, and it
# is run ONLY ONCE. Not to be used afterwards
It looks like
e849841dca2a8b11119997585f795647c52cdcdf accidentally did
re-run it, resulting in some duplication in config_h.SH.
(Also includes regenerated uconfig.h by regen/uconfig_h.pl)
Sergiy Borodych [Sat, 23 May 2020 09:31:20 +0000 (12:31 +0300)]
update POSIX POD to indicate that 'to(lower|upper)' were removed
... since 5.26
They have been removed from the module by
a65dc09f8c as leftovers,
but the documentation was not updated
Karl Williamson [Sat, 23 May 2020 13:32:19 +0000 (07:32 -0600)]
Sergey Borodych is a perl author
Karen Etheridge [Fri, 22 May 2020 03:30:45 +0000 (20:30 -0700)]
Update perlfaq to CPAN version 5.
20200523
[DELTA]
5.
20200523 2020-05-22 03:28:54Z
* switch perlbug references to GitHub issue tracker (PR##87, Dan Book)
5.
20200522 2020-05-22 02:24:31Z
* updated perlfaq1 entry on Raku (PR##86, Dan Book)
Dagfinn Ilmari Mannsåker [Thu, 23 Apr 2020 13:33:05 +0000 (14:33 +0100)]
Fix a bunch of repeated-word typos
Mostly in comments and docs, but some in diagnostic messages and one
case of 'or die die'.
Dagfinn Ilmari Mannsåker [Thu, 23 Apr 2020 17:14:05 +0000 (18:14 +0100)]
B: Remove duplicate check for split op in walkoptree.t
Commit
5012eebe558 eliminated the pushre op and did a blanket
replacement of pushre with split, but missed that there was already a
check for split in the loop. Eliminate the duplicate.
Richard Leach [Thu, 12 Mar 2020 23:56:09 +0000 (23:56 +0000)]
io_unix.t: make tests run on Windows builds if threads + AF_UNIX
io_unix.t: simplify AF_UNIX check on Windows
io_unix.t: make tests run on Windows builds if threads + AF_UNIX
Tony Cook [Mon, 6 Apr 2020 05:33:08 +0000 (15:33 +1000)]
eliminate recursion from yyl_fake_eof() into yyl_try()
This is intended as a minimal commit due to the current stage
of the release process.
fixes #17268
Tony Cook [Mon, 6 Apr 2020 04:29:03 +0000 (14:29 +1000)]
eliminate len from recursive yyl_try/yyl_fake_eof
len is only used in these functions to pass to the other function when
recursing.
Tony Cook [Mon, 6 Apr 2020 01:59:52 +0000 (11:59 +1000)]
removed unused len parameter from yyl_dblquote()
The len variable is used, but the value is overwritten before being
read.
Tony Cook [Mon, 6 Apr 2020 05:59:02 +0000 (15:59 +1000)]
test that many blank lines doesn't exhaust stack in the tokenizer
test for #17268
Dan Book [Tue, 28 Apr 2020 19:38:24 +0000 (15:38 -0400)]
perlop - Use a tied scalar directly in chained comparison examples
Dan Book [Tue, 28 Apr 2020 19:18:18 +0000 (15:18 -0400)]
perlop - Add more examples for chained comparisons
The distinction between how many times an expression may be evaluated and how many times its result may be fetched is somewhat confusing. This calls out the distinction earlier in the text rather than just buried in a paragraph, and adds examples to help explain the difference.
Dan Book [Thu, 9 Apr 2020 18:27:35 +0000 (14:27 -0400)]
perlsyn - Mention that postfix foreach cannot specify a lexical variable
H.Merijn Brand [Tue, 19 May 2020 07:09:32 +0000 (09:09 +0200)]
A few small cleanups in Configure
Meta is now 100% in sync
Tomasz Konojacki [Thu, 30 Apr 2020 06:42:40 +0000 (06:42 +0000)]
pp_sys.c: don't hardcode socket address buffer size
When it's possible, use sizeof(struct sockaddr_storage).
fixes #17761
Tomasz Konojacki [Thu, 30 Apr 2020 06:34:41 +0000 (06:34 +0000)]
add Configure probe for struct sockaddr_storage
Dominic Hargreaves [Sun, 17 May 2020 13:19:02 +0000 (14:19 +0100)]
Reflect move of metaconfig.git
Steve Hay [Fri, 15 May 2020 09:33:03 +0000 (10:33 +0100)]
Update release schedule for forthcoming maint releases
Steve Hay [Thu, 14 May 2020 11:21:18 +0000 (12:21 +0100)]
Add epigraph for 5.31.11
Steve Hay [Thu, 14 May 2020 11:13:55 +0000 (12:13 +0100)]
Tick 5.31.11 in another place and correct its release date
Paul Marquess [Tue, 12 May 2020 07:57:41 +0000 (08:57 +0100)]
typo "set_locale" should be "setlocale"
(Committer changed author address to the already-known @cpan one, so
this would pass porting tests.)
Håkon Hægland [Thu, 7 May 2020 18:57:31 +0000 (20:57 +0200)]
Fixed typemap in perlxs.
Fixed quoting and string concatenation mistakes in C++ typemap in perlxs.
Committer: Håkon Hægland is now a Perl author.
John Lightsey [Tue, 14 Apr 2020 23:50:55 +0000 (18:50 -0500)]
Store github token after workflow v1 checkout.
The i386 smoke runs uses the v1 checkout action to function on
an i386 base OS. The v1 checkout action did not persist credentials,
making the subsequent git commands fail on private repos.
Richard Leach [Sun, 3 May 2020 22:30:29 +0000 (23:30 +0100)]
perlguts.pod - add C<> around a mention of dTHX;
Dan Kogai [Sun, 3 May 2020 00:11:05 +0000 (20:11 -0400)]
Sync Encode version 3.06 into blead
Pumpking okayed merge during code freeze. This addresses:
https://rt.cpan.org/Ticket/Display.html?id=132471
Dagfinn Ilmari Mannsåker [Thu, 30 Apr 2020 16:56:31 +0000 (17:56 +0100)]
handle_names_wildcard: better avoid compiler warning
instead of casting away the const from a string literal,
declare the variable as a pointer to const char
Hugo van der Sanden [Thu, 30 Apr 2020 13:20:39 +0000 (14:20 +0100)]
handle_names_wildcard: avoid compiler warning
Karl Williamson [Sun, 26 Apr 2020 14:27:25 +0000 (08:27 -0600)]
Fix panic in Unicode wildcard matching
The reason this bug occurs is that wildcard matching changes the anchor
assertions \A, \Z, and \z, without corresponding changes in regexec.c.
We earlier noticed that all these were being marked SIMPLE, and a
zero-width construct shouldn't really be. But it was considered too
late in the development cycle to make that change. So the plan was to
live with this bug in an experimental feature in 5.32.
But I eventually realized that the change could be effected for just the
wildcard versions, and this commit does that. If there is some issue
with making these non-SIMPLE, it will affect only the wildcard feature,
and those potential bugs are better than a known bug. I also seems
unlikely that this will introduce any bug. What removing SIMPLE does is
merely remove potential optimizations in the handling. The most general
case should work.\7f; it's doing an improper optimization that gets one
into trouble.
This fixes #17677
Karl Williamson [Tue, 28 Apr 2020 16:27:01 +0000 (10:27 -0600)]
regcomp.c: Add assert
The code's proper functioning currently depends on bracketed character
classes not returning a sequence of characters to the regex sets feature
(?[...])
Add an assert to validate that.
Karl Williamson [Wed, 22 Apr 2020 21:37:23 +0000 (15:37 -0600)]
regcomp.c: Fix named sequences in (?[...])
The regex_sets feature cannot yet handle named sequences possibly
returned by \p{name=...}. I forgot to check for this possibility which
led to a null pointer dereference. Also, the called function was
returning success when it should have failed in this circumstance.
This fixes #17732
Karl Williamson [Tue, 21 Apr 2020 23:30:42 +0000 (17:30 -0600)]
regcomp.c: Avoid use after free
It turns out that the SV returned by re_intuit_string() may be freed by
future calls to re_intuit_start(). Thus, the caller doesn't get clear
title to the returned SV. (This wasn't documented until the
commit immediately prior to this one.)
Cope with this situation by making a mortalized copy. This commit also
changes to use the copy's PV directly, simplifying some 'if' statements.
re_intuit_string() is effectively in the API, as it is an element in the
regex engine structure, callable by anyone. It should not be returning
a tenuous SV. That returned scalar should not freed before the pattern
it is for is freed. It is too late in the development cycle to change
this, so this workaround is presented instead for 5.32.
This fixes #17734.
Karl Williamson [Wed, 29 Apr 2020 16:47:44 +0000 (10:47 -0600)]
regcomp.c: Add comments
Chris 'BinGOs' Williams [Wed, 29 Apr 2020 18:29:00 +0000 (19:29 +0100)]
What can we make with pasta and toilet roll?
Chris 'BinGOs' Williams [Wed, 29 Apr 2020 18:26:38 +0000 (19:26 +0100)]
Update repository and bugtracker meta for Module-CoreList
E. Choroba [Tue, 28 Apr 2020 23:43:40 +0000 (01:43 +0200)]
Link to the definition of true and false from perlsyn
There used to be a section on Truth and Falsehood there, as the
following paragraphs talk about conditions and booleans a lot. It was
moved to perldata in
77fae4394e3ad9f159a74a6731a8d347cd2466c7, but
without a trace. Let's have a link to the new destination in the old one.
Karl Williamson [Tue, 28 Apr 2020 23:28:18 +0000 (17:28 -0600)]
perldiag: Alphabetize two entries
The order of these was swapped
Karl Williamson [Tue, 28 Apr 2020 23:22:24 +0000 (17:22 -0600)]
perldiag: Update text about '{' warnings/death
Karl Williamson [Tue, 28 Apr 2020 23:20:16 +0000 (17:20 -0600)]
perldeprecation: Update for 5.32 changed behavior
Sawyer X [Tue, 28 Apr 2020 21:45:36 +0000 (00:45 +0300)]
Bump Module::CoreList for 5.31.12
Sawyer X [Tue, 28 Apr 2020 21:41:05 +0000 (00:41 +0300)]
Bump the perl version in various places for 5.31.12
Sawyer X [Tue, 28 Apr 2020 21:06:16 +0000 (00:06 +0300)]
new perldelta for 5.31.11
Sawyer X [Tue, 28 Apr 2020 21:01:13 +0000 (00:01 +0300)]
tick release
Sawyer X [Tue, 28 Apr 2020 18:02:50 +0000 (21:02 +0300)]
Add new release to perlhist
Sawyer X [Tue, 28 Apr 2020 18:02:10 +0000 (21:02 +0300)]
Update perldelta
Sawyer X [Tue, 28 Apr 2020 14:59:46 +0000 (17:59 +0300)]
Update Module::CoreList for 5.31.11
Jason McIntosh [Sat, 18 Apr 2020 02:34:45 +0000 (22:34 -0400)]
Clarifying the note about "list form" and Windows.
Jason McIntosh [Fri, 17 Apr 2020 15:34:46 +0000 (11:34 -0400)]
Further PR fixes and whitespace/fill tweaks
Jason McIntosh [Fri, 17 Apr 2020 15:13:14 +0000 (11:13 -0400)]
More fixes from PR review.
Jason McIntosh [Wed, 15 Apr 2020 02:32:36 +0000 (22:32 -0400)]
Clarifying that it's OK to work with bareword filehandle names if they're built-ins filehandles.
Jason McIntosh [Wed, 15 Apr 2020 02:31:44 +0000 (22:31 -0400)]
Typo and whitespaces fixes and such
Jason McIntosh [Wed, 15 Apr 2020 02:05:33 +0000 (22:05 -0400)]
Clarifying that the PerlIO technical node applies only to older Perl.
Jason McIntosh [Wed, 15 Apr 2020 01:28:06 +0000 (21:28 -0400)]
Updating the cross-references to perlfunc/open so that it aims at the new first heading.
Jason McIntosh [Tue, 14 Apr 2020 17:09:59 +0000 (13:09 -0400)]
Making several revisions to the `open` section of perlfunc.pod, primarily (but not limited to) splitting it into several nested sub-sections, with headers.
Chad Granum [Tue, 28 Apr 2020 16:59:23 +0000 (12:59 -0400)]
Sync Test-Simple with CPAN version 1.302175
Okayed as code freeze exception per discussion with pumpking.
David Mitchell [Mon, 27 Apr 2020 21:04:23 +0000 (22:04 +0100)]
[MERGE] Revert BEGIN { caller() } fixups
These commits were intended to fix a problem with stack backtraces
reporting wrong file and line numbers in nested use's.
A side-effect of the commits was to fix the package name returned by
caller() too; but quite a few distributions were relying on the old
behaviour.
So for now, revert to the old behaviour and re-address after 5.32.0 is
released.
The reverted commits are:
v5.31.6-141-gf2f32cd638 avoid identical stack traces
v5.31.9-122-gee428a211d docs: clarify effect of $^H, %^H, ${^WARNING_BITS}
v5.31.9-162-gad89278aa2 fixup to "avoid identical stack traces" - try 2
David Mitchell [Mon, 27 Apr 2020 20:54:16 +0000 (21:54 +0100)]
Revert "avoid identical stack traces"
This reverts commit
f2f32cd638746f538da6db804dab6dd54e654f30.
David Mitchell [Mon, 27 Apr 2020 20:54:05 +0000 (21:54 +0100)]
Revert "docs: clarify effect of $^H, %^H, ${^WARNING_BITS}"
This reverts commit
ee428a211d040dc56d9efc4a89c96886a398fc1c.
David Mitchell [Mon, 27 Apr 2020 20:53:43 +0000 (21:53 +0100)]
Revert "fixup to "avoid identical stack traces" - try 2"
This reverts commit
ad89278aa25475fb03971aec66692e18e35d9c07.
James E Keenan [Mon, 27 Apr 2020 14:21:01 +0000 (10:21 -0400)]
Two fatalizations completed on schedule
James E Keenan [Mon, 27 Apr 2020 14:18:44 +0000 (10:18 -0400)]
No deprecations in 5.34
Dan Book [Sun, 26 Apr 2020 00:10:23 +0000 (20:10 -0400)]
Add github issue template config, removing blank issue option and adding CPAN module link
Karl Williamson [Sun, 26 Apr 2020 00:09:15 +0000 (18:09 -0600)]
Use dNOOP for otherwise empty declarations
Otherwise, the semi-colon the code has afterwards can be interpreted by
some compilers as ending the block of declarations, and treat any later
declarations in the same block as erors in C89.
For an example, see the ticket this fixes #17725
Hugo van der Sanden [Thu, 23 Apr 2020 13:33:55 +0000 (14:33 +0100)]
study_chunk: temporary underflow guard for scan_commit
Numeric underflow on max_offset was being silently converted to
OPTIMIZE_INFTY by a misleading test. That test was removed in
f6231ebfc0,
exposing multiple issues.
This restores the test in a more direct form for 5.32; it should
be removed after 5.32 is released so we can continue the search for
the underlying issues.
Hugo van der Sanden [Wed, 22 Apr 2020 12:24:02 +0000 (13:24 +0100)]
regcomp: avoid overflow setting last_start_max
The dubious '((*ACCEPT)0)*' construct resulted on the one hand with
is_inf being false, but on the other setting pos_delta to OPTIMIZE_INFTY.
Hugo van der Sanden [Sat, 18 Apr 2020 13:43:02 +0000 (14:43 +0100)]
gh16947: avoid mutating regexp program only within GOSUB
Commits
3bc2a7809d and
bdb91f3f96 used the existence of a frame to
decide when it was unsafe to mutate the regexp program, due to having
recursed for as GOSUB. However the frame recursion mechanism is also
used for SUSPEND.
Refine it further to avoid mutation only when within a GOSUB by saving
a new boolean in the frame structure, and using that to derive a "mutate_ok"
flag.
Jason McIntosh [Wed, 22 Apr 2020 18:00:38 +0000 (14:00 -0400)]
Adding a missing word and removing two supernumerary ones.
Karl Williamson [Tue, 21 Apr 2020 00:22:33 +0000 (18:22 -0600)]
perlopentut: Add mainainers statement
Jason McIntosh [Fri, 17 Apr 2020 16:01:35 +0000 (12:01 -0400)]
Expand opentut
This is part of a TPF grant:
https://news.perlfoundation.org/post/gp_jan_2020_open_docs
Karl Williamson [Tue, 21 Apr 2020 00:20:35 +0000 (18:20 -0600)]
Add Jason Mcintosh to AUTHORS
Leon Timmermans [Sat, 18 Apr 2020 23:37:24 +0000 (01:37 +0200)]
Bump version for open.pm for documentation change
Dan Book [Sun, 29 Mar 2020 21:45:13 +0000 (17:45 -0400)]
Rework open.pm documentation
- Modernize details of PerlIO usage and link to PerlIO
- Better describe actual argument handling of pragma, in particular subpragmas
- Remove obsolete section on unsupported non-PerlIO configuration
- Modernize examples and provide more varied examples
Dan Book [Mon, 23 Mar 2020 22:30:41 +0000 (18:30 -0400)]
perlvar - expand and link to ${^OPEN} documentation
Hugo van der Sanden [Sun, 12 Apr 2020 14:11:22 +0000 (15:11 +0100)]
study_chunk: avoid transforming ops while enframed
gh16947: the outer frame may be in the middle of looking at the part
of the program we would rewrite. Let the outer frame deal with it.
Dagfinn Ilmari Mannsåker [Mon, 13 Apr 2020 20:32:41 +0000 (21:32 +0100)]
Remove spurious double spaces before open braces in core C code
Dagfinn Ilmari Mannsåker [Mon, 13 Apr 2020 19:49:38 +0000 (20:49 +0100)]
op:h remove double space in struct op_argcheck_aux declaration
Karl Williamson [Fri, 10 Apr 2020 04:44:03 +0000 (22:44 -0600)]
regcomp.c: Rmv C undefined behavior
One analyzer said that what this commit changes was C undefined
behavior, in casting void* pointers. Right now, the only actual type it
is called with is SV*, but I made it void*, because I thought it might
be used more generally. But, it turns out that Unicode is planning on
changing its regular expression processing requirements to where what I
have no longer will make sense. And, since only SV* is actually used,
this commit changes the void* to SV*, removing any undefined behavior,
with no changes to program logic.
The changes for the new Unicode direction will come in probably 5.34;
their document is still in draft, but I anticipate it will soon be
finalized.
Hugo van der Sanden [Sat, 11 Apr 2020 13:10:24 +0000 (14:10 +0100)]
study_chunk: do not rewrite for trie while enframed
gh16947: the outer frame may be in the middle of looking at the part
of the program we would rewrite. Let the outer frame deal with it.
Dominic Hargreaves [Fri, 7 Jun 2019 09:04:26 +0000 (10:04 +0100)]
Fix edge case test failure in ext/POSIX/t/mb.t
This new test fails in an environment where LANG is set to one thing and
LC_ALL is set to another, and where LANG is set to a locale which is
not installed in the environment in question.
Such a test environment is arguably broken, but appears in common
chroot setups such as Debian's sbuild tool where LANG is inherited from
the parent environment, and LC_ALL is used to override it.
(Committer rebased the patch)
This fixes GH #17039
Dan Book [Sat, 11 Apr 2020 05:55:05 +0000 (01:55 -0400)]
perldata - More specific about assignment restriction of key/value slices