This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5.git
10 months agolib/DBM_Filter/t/encode.t: TODO a test on EBCDIC
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

10 months agodist/IO/t/cachepropagate-unix.t: Add os390 to TODO list
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

10 months agolib/warnings.t: Fix EBCDIC toke warning wording
Karl Williamson [Wed, 20 May 2020 20:27:41 +0000 (14:27 -0600)]
lib/warnings.t: Fix EBCDIC toke warning wording

10 months agopod/perluniprops: Split run-on lines before '\'
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.

10 months agot/TEST: Skip some cpan module testing on EBCDIC
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.

10 months agohints/os390.sh: Handle no C optimizations
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.

10 months agot/re/regexp.t: Fix to properly handle EBCDIC
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.

10 months agoFix tr/// determination of inplace editing for EBCDIC
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.

10 months agoset magic on $lex for $lex = (index(...) == -1) and make it an lvalue
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

10 months agofix utf8 length magic handling for scalar reverse
Tony Cook [Wed, 22 Apr 2020 01:02:16 +0000 (11:02 +1000)]
fix utf8 length magic handling for scalar reverse

fixes #17737

10 months agoRemove part of comment
Sawyer X [Sun, 24 May 2020 22:02:22 +0000 (01:02 +0300)]
Remove part of comment

10 months agoRevision to hvds patch for #17775
Karl Williamson [Tue, 12 May 2020 17:45:29 +0000 (11:45 -0600)]
Revision to hvds patch for #17775

10 months agopjacklam has an email alias - fix checkAUTHORS.pl
Sawyer X [Sun, 24 May 2020 20:03:47 +0000 (23:03 +0300)]
pjacklam has an email alias - fix checkAUTHORS.pl

10 months agoAdd quadmath to list of libraries.
Peter John Acklam [Sat, 11 Apr 2020 12:28:10 +0000 (14:28 +0200)]
Add quadmath to list of libraries.

10 months agoregcomp.c: Fix leak
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

10 months agoFinally, bump version of File-Glob 17801/head
Sawyer X [Sun, 24 May 2020 05:55:22 +0000 (08:55 +0300)]
Finally, bump version of File-Glob

10 months agoFix File::Glob test:
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')`.

10 months agoCorrect text on my() in false conditional
Sawyer X [Sat, 23 May 2020 21:57:57 +0000 (00:57 +0300)]
Correct text on my() in false conditional

10 months agoRemove File::Glob::glob() entirely
Sawyer X [Sat, 23 May 2020 21:46:46 +0000 (00:46 +0300)]
Remove File::Glob::glob() entirely

10 months agoFinalize config_h.SH for the __attribute__(always_inline) probe
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)

10 months agoFix config_h.SH duplication due to re-running Porting/config_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)

10 months agoupdate POSIX POD to indicate that 'to(lower|upper)' were removed
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

10 months agoSergey Borodych is a perl author
Karl Williamson [Sat, 23 May 2020 13:32:19 +0000 (07:32 -0600)]
Sergey Borodych is a perl author

11 months agoUpdate perlfaq to CPAN version 5.20200523
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)

11 months agoFix a bunch of repeated-word typos
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'.

11 months agoB: Remove duplicate check for split op in walkoptree.t
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.

11 months agoio_unix.t: make tests run on Windows builds if threads + AF_UNIX
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

11 months agoeliminate recursion from yyl_fake_eof() into yyl_try()
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

11 months agoeliminate len from recursive yyl_try/yyl_fake_eof
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.

11 months agoremoved unused len parameter from yyl_dblquote()
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.

11 months agotest that many blank lines doesn't exhaust stack in the tokenizer
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

11 months agoperlop - Use a tied scalar directly in chained comparison examples
Dan Book [Tue, 28 Apr 2020 19:38:24 +0000 (15:38 -0400)]
perlop - Use a tied scalar directly in chained comparison examples

11 months agoperlop - Add more examples for chained comparisons
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.

11 months agoperlsyn - Mention that postfix foreach cannot specify a lexical variable
Dan Book [Thu, 9 Apr 2020 18:27:35 +0000 (14:27 -0400)]
perlsyn - Mention that postfix foreach cannot specify a lexical variable

11 months agoA few small cleanups in Configure
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

11 months agopp_sys.c: don't hardcode socket address buffer size
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

11 months agoadd Configure probe for struct sockaddr_storage
Tomasz Konojacki [Thu, 30 Apr 2020 06:34:41 +0000 (06:34 +0000)]
add Configure probe for struct sockaddr_storage

11 months agoReflect move of metaconfig.git
Dominic Hargreaves [Sun, 17 May 2020 13:19:02 +0000 (14:19 +0100)]
Reflect move of metaconfig.git

11 months agoUpdate release schedule for forthcoming maint releases
Steve Hay [Fri, 15 May 2020 09:33:03 +0000 (10:33 +0100)]
Update release schedule for forthcoming maint releases

11 months agoAdd epigraph for 5.31.11
Steve Hay [Thu, 14 May 2020 11:21:18 +0000 (12:21 +0100)]
Add epigraph for 5.31.11

11 months agoTick 5.31.11 in another place and correct its release date
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

11 months agotypo "set_locale" should be "setlocale"
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.)

11 months agoFixed typemap in perlxs.
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.

11 months agoStore github token after workflow v1 checkout.
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.

11 months agoperlguts.pod - add C<> around a mention of dTHX;
Richard Leach [Sun, 3 May 2020 22:30:29 +0000 (23:30 +0100)]
perlguts.pod - add C<> around a mention of dTHX;

11 months agoSync Encode version 3.06 into blead
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

11 months agohandle_names_wildcard: better avoid compiler warning
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

11 months agohandle_names_wildcard: avoid compiler warning
Hugo van der Sanden [Thu, 30 Apr 2020 13:20:39 +0000 (14:20 +0100)]
handle_names_wildcard: avoid compiler warning

11 months agoFix panic in Unicode wildcard matching
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

11 months agoregcomp.c: Add assert
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.

11 months agoregcomp.c: Fix named sequences in (?[...])
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

11 months agoregcomp.c: Avoid use after free
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.

11 months agoregcomp.c: Add comments
Karl Williamson [Wed, 29 Apr 2020 16:47:44 +0000 (10:47 -0600)]
regcomp.c: Add comments

11 months agoWhat can we make with pasta and toilet roll?
Chris 'BinGOs' Williams [Wed, 29 Apr 2020 18:29:00 +0000 (19:29 +0100)]
What can we make with pasta and toilet roll?

11 months agoUpdate repository and bugtracker meta for Module-CoreList
Chris 'BinGOs' Williams [Wed, 29 Apr 2020 18:26:38 +0000 (19:26 +0100)]
Update repository and bugtracker meta for Module-CoreList

11 months agoLink to the definition of true and false from perlsyn
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.

11 months agoperldiag: Alphabetize two entries
Karl Williamson [Tue, 28 Apr 2020 23:28:18 +0000 (17:28 -0600)]
perldiag: Alphabetize two entries

The order of these  was swapped

11 months agoperldiag: Update text about '{' warnings/death
Karl Williamson [Tue, 28 Apr 2020 23:22:24 +0000 (17:22 -0600)]
perldiag: Update text about '{' warnings/death

11 months agoperldeprecation: Update for 5.32 changed behavior
Karl Williamson [Tue, 28 Apr 2020 23:20:16 +0000 (17:20 -0600)]
perldeprecation: Update for 5.32 changed behavior

11 months agoBump Module::CoreList for 5.31.12
Sawyer X [Tue, 28 Apr 2020 21:45:36 +0000 (00:45 +0300)]
Bump Module::CoreList for 5.31.12

11 months agoBump the perl version in various places 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

11 months agonew perldelta for 5.31.11
Sawyer X [Tue, 28 Apr 2020 21:06:16 +0000 (00:06 +0300)]
new perldelta for 5.31.11

11 months agotick release
Sawyer X [Tue, 28 Apr 2020 21:01:13 +0000 (00:01 +0300)]
tick release

11 months agoAdd new release to perlhist v5.31.11
Sawyer X [Tue, 28 Apr 2020 18:02:50 +0000 (21:02 +0300)]
Add new release to perlhist

11 months agoUpdate perldelta
Sawyer X [Tue, 28 Apr 2020 18:02:10 +0000 (21:02 +0300)]
Update perldelta

11 months agoUpdate Module::CoreList for 5.31.11
Sawyer X [Tue, 28 Apr 2020 14:59:46 +0000 (17:59 +0300)]
Update Module::CoreList for 5.31.11

11 months agoClarifying the note about "list form" and Windows.
Jason McIntosh [Sat, 18 Apr 2020 02:34:45 +0000 (22:34 -0400)]
Clarifying  the note about "list form" and Windows.

11 months agoFurther PR fixes and whitespace/fill tweaks
Jason McIntosh [Fri, 17 Apr 2020 15:34:46 +0000 (11:34 -0400)]
Further PR fixes and whitespace/fill tweaks

11 months agoMore fixes from PR review.
Jason McIntosh [Fri, 17 Apr 2020 15:13:14 +0000 (11:13 -0400)]
More fixes from PR review.

11 months agoClarifying that it's OK to work with bareword filehandle names if they're built-ins...
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.

11 months agoTypo and whitespaces fixes and such
Jason McIntosh [Wed, 15 Apr 2020 02:31:44 +0000 (22:31 -0400)]
Typo and whitespaces fixes and such

11 months agoClarifying that the PerlIO technical node applies only to older Perl.
Jason McIntosh [Wed, 15 Apr 2020 02:05:33 +0000 (22:05 -0400)]
Clarifying that the PerlIO technical node applies only to older Perl.

11 months agoUpdating the cross-references to perlfunc/open so that it aims at the new first heading.
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.

11 months agoMaking several revisions to the `open` section of perlfunc.pod, primarily (but not...
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.

11 months agoSync Test-Simple with CPAN version 1.302175
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.

11 months ago[MERGE] Revert BEGIN { caller() } fixups
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

11 months agoRevert "avoid identical stack traces"
David Mitchell [Mon, 27 Apr 2020 20:54:16 +0000 (21:54 +0100)]
Revert "avoid identical stack traces"

This reverts commit f2f32cd638746f538da6db804dab6dd54e654f30.

11 months agoRevert "docs: clarify effect of $^H, %^H, ${^WARNING_BITS}"
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.

11 months agoRevert "fixup to "avoid identical stack traces" - try 2"
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.

11 months agoTwo fatalizations completed on schedule
James E Keenan [Mon, 27 Apr 2020 14:21:01 +0000 (10:21 -0400)]
Two fatalizations completed on schedule

11 months agoNo deprecations in 5.34
James E Keenan [Mon, 27 Apr 2020 14:18:44 +0000 (10:18 -0400)]
No deprecations in 5.34

11 months agoAdd github issue template config, removing blank issue option and adding CPAN module...
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

11 months agoUse dNOOP for otherwise empty declarations
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

11 months agostudy_chunk: temporary underflow guard for scan_commit 17744/head
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.

11 months agoregcomp: avoid overflow setting last_start_max
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.

11 months agogh16947: avoid mutating regexp program only within GOSUB
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.

11 months agoAdding a missing word and removing two supernumerary ones.
Jason McIntosh [Wed, 22 Apr 2020 18:00:38 +0000 (14:00 -0400)]
Adding a missing word and removing two supernumerary ones.

12 months agoperlopentut: Add mainainers statement
Karl Williamson [Tue, 21 Apr 2020 00:22:33 +0000 (18:22 -0600)]
perlopentut: Add mainainers statement

12 months agoExpand opentut
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

12 months agoAdd Jason Mcintosh to AUTHORS
Karl Williamson [Tue, 21 Apr 2020 00:20:35 +0000 (18:20 -0600)]
Add Jason Mcintosh to AUTHORS

12 months agoBump version for open.pm for documentation change
Leon Timmermans [Sat, 18 Apr 2020 23:37:24 +0000 (01:37 +0200)]
Bump version for open.pm for documentation change

12 months agoRework open.pm documentation
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

12 months agoperlvar - expand and link to ${^OPEN} documentation
Dan Book [Mon, 23 Mar 2020 22:30:41 +0000 (18:30 -0400)]
perlvar - expand and link to ${^OPEN} documentation

12 months agostudy_chunk: avoid transforming ops while enframed
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.

12 months agoRemove spurious double spaces before open braces in core C code
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

12 months agoop:h remove double space in struct op_argcheck_aux declaration
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

12 months agoregcomp.c: Rmv C undefined behavior
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.

12 months agostudy_chunk: do not rewrite for trie while enframed
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.

12 months agoFix edge case test failure in ext/POSIX/t/mb.t
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

12 months agoperldata - More specific about assignment restriction of key/value slices
Dan Book [Sat, 11 Apr 2020 05:55:05 +0000 (01:55 -0400)]
perldata - More specific about assignment restriction of key/value slices