This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5.git
2 years agot/TEST: print Skip msg for EBCDIC skipped tests
Karl Williamson [Tue, 14 Dec 2021 15:06:53 +0000 (08:06 -0700)]
t/TEST: print Skip msg for EBCDIC skipped tests

2 years agomktables: Use builtin::refaddr
Karl Williamson [Sat, 11 Dec 2021 20:32:49 +0000 (13:32 -0700)]
mktables: Use builtin::refaddr

Now that this function is available in miniperl, mktables can use it to
avoid a bunch of visually distracting 'no overloading' calls.

2 years agomktables: Don't calculate some unused values
Karl Williamson [Sat, 11 Dec 2021 20:07:05 +0000 (13:07 -0700)]
mktables: Don't calculate some unused values

These apparently were once needed, but no longer.

2 years agoUpdate compile and bind options for z/OS (os390)
Mike Fulton [Wed, 8 Dec 2021 01:06:02 +0000 (19:06 -0600)]
Update compile and bind options for z/OS (os390)

This update enables us to build EBCDIC static/dynamic
and 31-bit/64-bit addressing mode Perl. The number of
tests that pass is consistent with the baseline before
these updates, namely:

For blead.31.dynamic.ebcdic
  Configured using -Dusedl

  Failed 98 tests out of 1939, 94.95% okay.
  Elapsed: 1038 sec
  u=18.13  s=6.04  cu=535.69  cs=178.56  scripts=1939  tests=1035071

For blead.64.dynamic.ebcdic
  Configured using -Dusedl -Duse64bitall

  Failed 102 tests out of 1941, 94.74% okay.
  Elapsed: 1057 sec
  u=19.49  s=6.49  cu=543.00  cs=181.00  scripts=1941  tests=1053149

These changes also provide the base support to be able to provide
ASCII static/dynamic and 31-bit/64-bit addressing mode Perl.

Description of changes:

Makefile.SH
  Changes were made to the os390*) case specific part of the code.
  Support was added for the 64-bit DLL path because the original
  only had support for 31-bit.

hints/os390.sh
  This is the largest set of changes:
   - Compilation and Link options were added for ASCII and 64-bit
   - A z/OS specific check was added to determine if the Perl
     code being built is ASCII or EBCDIC. The check works by
     looking at the first character of the shell script to see
     if it is an ASCII or non-ASCII character. If ASCII, then
     the build is deemed to be ASCII. If not ASCII, it is assumed
     to be EBCDIC.
   - Cleanup was performed to remove code for z/OS systems that are
     no longer supported, simplifying the file (e.g.
        "`uname -v`x`uname -r`" in 02x0[89].*|02x1[0-9].*|[0-9][3-9]x*)
     which would only be true on unsupported, very old pre-z/OS systems
   - The compiler has been changed from xlc to c99. Both are available
     as priced features of the operating system, and the c99 compiler is
     a better 'fit' for options processing, being more consistent with
     c99 on other platforms.
   - Suppressing warning messages for CCN3159 were added because the
     1-bit bitfields flagged due to a smaller-than-int data type are
     harmless.
   - Several feature test macros were added to bring the compilation up
     to a modern level to enable Perl to take advantage of capabilities
     available on all supported z/OS 2.4 and up systems.
   - Removed the -Wl,EDIT=NO because debug information is no longer stored
     in an area that will be loaded into memory, but is now stored in a
     NOLOAD section. So - while this does mean that the binary on disk is a
     little 'fat', what is loaded into memory is not, and it means that
     people can have better problem determination tools available even on
     production Perl distributions.

2 years agoMike Fulton is now a Perl author
Karl Williamson [Thu, 9 Dec 2021 01:42:50 +0000 (18:42 -0700)]
Mike Fulton is now a Perl author

2 years agoSimplify IV abs operation in pp_abs.
TAKAI Kousuke [Fri, 8 Oct 2021 13:58:54 +0000 (22:58 +0900)]
Simplify IV abs operation in pp_abs.

Transforming -iv into "(UV)-(iv + 1) + 1" can avoid signed integer
overflow even if iv was IV_MIN in 2's compelement representation
(as long as iv < 0), so that it makes special treatment for IV_MIN
unnecessary and saves one conditional jump.

2 years agoUnify SETu() calls in pp_abs.
TAKAI Kousuke [Thu, 7 Oct 2021 17:02:04 +0000 (02:02 +0900)]
Unify SETu() calls in pp_abs.

SETu() is a relatively complex macro and calling it in multiple places
will lead bloating of compiled code.  Unifying them with intermediate
variable may save a few hundred bytes.

2 years agoReplace SvUV_nomg(sv) with SvUVX(sv) in pp_abs.
TAKAI Kousuke [Thu, 7 Oct 2021 15:51:55 +0000 (00:51 +0900)]
Replace SvUV_nomg(sv) with SvUVX(sv) in pp_abs.

Under the conditions SvIOK(sv) and SvIsUV(sv), SvUV_nomg(sv) is
equivalent to SvUVX(sv).  This change will eliminate unreachable code
and may save a few dozen bytes of code size.

2 years agoRemove unnecessary braces in t/op/array.t
Paul "LeoNerd" Evans [Wed, 8 Dec 2021 13:37:52 +0000 (13:37 +0000)]
Remove unnecessary braces in t/op/array.t

2 years agoUse builtin::reftype/refaddr in .t files
Paul "LeoNerd" Evans [Sat, 4 Dec 2021 13:08:08 +0000 (13:08 +0000)]
Use builtin::reftype/refaddr in .t files

2 years agoUse builtin::weaken() in .t files in lib/ + ext/
Paul "LeoNerd" Evans [Fri, 3 Dec 2021 18:03:57 +0000 (18:03 +0000)]
Use builtin::weaken() in .t files in lib/ + ext/

2 years agoUse builtin::weaken() in t/
Paul "LeoNerd" Evans [Fri, 3 Dec 2021 17:56:56 +0000 (17:56 +0000)]
Use builtin::weaken() in t/

2 years agoMerge branch 'builtin-ref-utils' into blead
Paul "LeoNerd" Evans [Wed, 8 Dec 2021 00:05:30 +0000 (00:05 +0000)]
Merge branch 'builtin-ref-utils' into blead

2 years agoGive blessed() the same TRUEBOOL optimisation that ref() has in boolean contexts
Paul "LeoNerd" Evans [Fri, 3 Dec 2021 22:42:26 +0000 (22:42 +0000)]
Give blessed() the same TRUEBOOL optimisation that ref() has in boolean contexts

2 years agoAdd builtin::blessed, refaddr and reftype
Paul "LeoNerd" Evans [Fri, 3 Dec 2021 21:23:00 +0000 (21:23 +0000)]
Add builtin::blessed, refaddr and reftype

2 years agoTest equivalence of 'true' and 'false' to negated statements 19252/head
James E Keenan [Wed, 1 Dec 2021 13:04:45 +0000 (13:04 +0000)]
Test equivalence of 'true' and 'false' to negated statements

The documentation for lib/builtin.pm asserts that 'true' is equivalent
to !!1 or !0, and that false is equivalent to !!0 or !1.  Demonstrate
that this is so.

Per review by Paul Evans in https://github.com/Perl/perl5/pull/19252,
we'll use cmp_ok() rather than is() and test for each of 'eq' and '=='.

2 years agoPathTools: update bug_tracker location
Michiel Beijen [Sat, 4 Dec 2021 14:42:18 +0000 (15:42 +0100)]
PathTools: update bug_tracker location

Unlist Ken Williams as maintainer as requested in
https://rt.cpan.org/Public/Bug/Display.html?id=116342

For: https://github.com/Perl/perl5/pull/19261

2 years agot/perf/optcount.t for pushdefer no longer needs the $debug flag
Paul "LeoNerd" Evans [Tue, 7 Dec 2021 17:00:41 +0000 (17:00 +0000)]
t/perf/optcount.t for pushdefer no longer needs the $debug flag

2 years agomktables: Use mnemonic variable names
Karl Williamson [Tue, 7 Dec 2021 15:59:14 +0000 (08:59 -0700)]
mktables: Use mnemonic variable names

Spotted by Dagfinn Ilmari Mannsåker

2 years agoFix unicore/mktables to avoid any @_ accesses in signatured subs
Paul "LeoNerd" Evans [Tue, 7 Dec 2021 00:17:44 +0000 (00:17 +0000)]
Fix unicore/mktables to avoid any @_ accesses in signatured subs

2 years agoMerge branch 'do-not-count-tests-if-possible' into blead
James E Keenan [Tue, 7 Dec 2021 01:49:15 +0000 (01:49 +0000)]
Merge branch 'do-not-count-tests-if-possible' into blead

2 years agoadd {} around the now two lines introduced by f7f919a0
Tony Cook [Mon, 6 Dec 2021 23:16:25 +0000 (10:16 +1100)]
add {} around the now two lines introduced by f7f919a0

This turned out to be harmless, as sv_setpvn_fresh() does nothing
when h_addr is NULL, but the call is also unnecessary when h_addr
is NULL, and possibly confusing to future maintainers.

CID 343917

2 years agobuiltin.pm: Fix pod spelling, slight rewording
Karl Williamson [Sat, 4 Dec 2021 17:07:21 +0000 (10:07 -0700)]
builtin.pm: Fix pod spelling, slight rewording

2 years agodo not count tests, instead use done_testing() 19256/head
Michiel Beijen [Fri, 3 Dec 2021 06:56:08 +0000 (07:56 +0100)]
do not count tests, instead use done_testing()

Having to count tests is annoying for maintainers.

Also, manually updating count tests is problematic when multiple people
are working on the same code; it causes merge conflicts and recounts.

done_testing() is available since Test::More 0.88 which was released in
2009.

This commit changes all tests under lib/ that use Test::More and were
planning the number of tests.

Michiel Beijen is now a Perl author

2 years agoMisc microoptimizations when dealing with new SVs
Richard Leach [Fri, 3 Dec 2021 00:10:51 +0000 (00:10 +0000)]
Misc microoptimizations when dealing with new SVs

In a few places, SVs can be created more efficiently or new SVs
can be assigned to more efficiently. Small changes included:
* Use sv_setpvn_fresh instead of sv_setpvn
* Use sv_mortalcopy_flags instead of sv_newmortal + sv_setsv_flags
* newSVsv_flags instead of newSV + sv_setsv_flags
* sv_newmortal instead of sv_2mortal(newSV(0))
* Remove a SvGROW(sv, 257) following a newSV(257)

2 years agoAdd builtin:: funcs for handling weakrefs
Paul "LeoNerd" Evans [Fri, 3 Dec 2021 13:35:53 +0000 (13:35 +0000)]
Add builtin:: funcs for handling weakrefs

Also, ensure that B::Deparse understands the OA_TARGMY optimisation of
OP_ISBOOL

2 years agoMark scripts, modules and tests as linguist-language=Perl
Dagfinn Ilmari Mannsåker [Fri, 3 Dec 2021 16:31:15 +0000 (16:31 +0000)]
Mark scripts, modules and tests as linguist-language=Perl

Otherwise GitHub thinks some of them are Raku or Prolog.

2 years agoGive files autogenerated by regen/opcode.pl the linguist-generated attribute so githu...
Paul "LeoNerd" Evans [Fri, 3 Dec 2021 16:17:54 +0000 (16:17 +0000)]
Give files autogenerated by regen/opcode.pl the linguist-generated attribute so github hides diffs

2 years agoImprovements to OP_ISBOOL
Paul "LeoNerd" Evans [Thu, 2 Dec 2021 13:06:27 +0000 (13:06 +0000)]
Improvements to OP_ISBOOL

 * Apply OA_RETSCALAR, OA_TARGLEX and OA_FOLDCONST flags
 * Handle both 'get' and 'set' magic

2 years agofix redundant apidoc warning
Tony Cook [Thu, 2 Dec 2021 00:12:03 +0000 (11:12 +1100)]
fix redundant apidoc warning

fixes #19250

2 years agoDirect optree implementations of builtin:: functions
Paul "LeoNerd" Evans [Tue, 30 Nov 2021 17:37:13 +0000 (17:37 +0000)]
Direct optree implementations of builtin:: functions

Turn builtin::true/false into OP_CONSTs

Add a dedicated OP_ISBOOL, make an efficient op version of builtin::isbool()

2 years agoMerge branch 'hydahy/fix-gh19249' into blead
James E Keenan [Tue, 30 Nov 2021 23:19:05 +0000 (23:19 +0000)]
Merge branch 'hydahy/fix-gh19249' into blead

For: p.r. https://github.com/Perl/perl5/pull/19251;
issue: https://github.com/Perl/perl5/issues/19249

2 years agofix pod error in sv.c. Closes #19249 19251/head
Richard Leach [Tue, 30 Nov 2021 22:41:00 +0000 (22:41 +0000)]
fix pod error in sv.c. Closes #19249

2 years agobuiltin.c: Fix C++ compilation errors
Dagfinn Ilmari Mannsåker [Tue, 30 Nov 2021 16:07:34 +0000 (16:07 +0000)]
builtin.c: Fix C++ compilation errors

C++ does not allow `goto` across initalisations of variables that are
in scope at the label, so just get rid of the `goto`.

An alternative would be to start a new scope after the first `goto`,
so that the variables aren't in scope any more at the label, but I
think this is neater.

2 years agoAdd a builtin:: namespace, with true/false/isbool
Paul "LeoNerd" Evans [Sat, 20 Nov 2021 16:40:59 +0000 (16:40 +0000)]
Add a builtin:: namespace, with true/false/isbool

This finishes the perl-visible API required for RFC 0008
  https://github.com/Perl/RFCs/blob/master/rfcs/rfc0008.md

It also begins the "builtin::" namespace of RFC 0009
  https://github.com/Perl/RFCs/blob/master/rfcs/rfc0009.md

2 years agonewSVpvn_flags().. is more efficient than sv_2mortal(newSVpvn(..))
Richard Leach [Tue, 23 Nov 2021 23:35:58 +0000 (23:35 +0000)]
newSVpvn_flags().. is more efficient than sv_2mortal(newSVpvn(..))

The same holds for newSVpvs* wrappers around newSVpvn* functions.

2 years agonewSVpvn_flags(x, .. ,SVs_TEMP) more efficient than sv_2mortal(newSVpv(x,0))
Richard Leach [Wed, 24 Nov 2021 19:10:05 +0000 (19:10 +0000)]
newSVpvn_flags(x, .. ,SVs_TEMP) more efficient than sv_2mortal(newSVpv(x,0))

2 years agoAdd a phase_name() macro.
Felipe Gasper [Thu, 5 Aug 2021 20:01:44 +0000 (16:01 -0400)]
Add a phase_name() macro.

2 years agoAlso C<codeword> quote "defer" and "goto"
Paul "LeoNerd" Evans [Tue, 23 Nov 2021 20:49:22 +0000 (20:49 +0000)]
Also C<codeword> quote "defer" and "goto"

2 years agoQuote the word "defer" in exception messages about control flow
Paul "LeoNerd" Evans [Tue, 23 Nov 2021 18:04:19 +0000 (18:04 +0000)]
Quote the word "defer" in exception messages about control flow

2 years agoForbid using 'goto' to jump into a 'defer' block because everything will break when...
Paul "LeoNerd" Evans [Mon, 22 Nov 2021 21:58:33 +0000 (21:58 +0000)]
Forbid using 'goto' to jump into a 'defer' block because everything will break when it's done

2 years agoupdate perldsc examples to be strict compliant
Graham Knop [Mon, 22 Nov 2021 16:51:57 +0000 (17:51 +0100)]
update perldsc examples to be strict compliant

Where possible, update perldsc examples to use lexical variables, to be
strict compliant. Earlier code in this document specifically discusses
differences with strict, but the examples aren't really related to
anything about non-lexical variables, so they should be updated to work
with modern standards.

Some parts of the examples have not been updated because they are using
variables that are implicitly meant to come from some an outside source.

2 years agoadd missing brace in perldsc hash of hashes example
Graham Knop [Sun, 21 Nov 2021 13:18:57 +0000 (14:18 +0100)]
add missing brace in perldsc hash of hashes example

2 years agoFixup Corelist.pm
Richard Leach [Mon, 22 Nov 2021 13:21:25 +0000 (13:21 +0000)]
Fixup Corelist.pm

2 years agoPrepare Module::Corelist for 5.35.7
Richard Leach [Mon, 22 Nov 2021 12:42:20 +0000 (12:42 +0000)]
Prepare Module::Corelist for 5.35.7

2 years agoBump the perl version in various places for 5.35.7
Richard Leach [Sun, 21 Nov 2021 01:30:23 +0000 (01:30 +0000)]
Bump the perl version in various places for 5.35.7

2 years agonew perldelta for 5.35.7
Richard Leach [Sun, 21 Nov 2021 00:59:20 +0000 (00:59 +0000)]
new perldelta for 5.35.7

2 years agoTick off 5.35.6 from release schedule
Richard Leach [Sun, 21 Nov 2021 00:50:33 +0000 (00:50 +0000)]
Tick off 5.35.6 from release schedule

2 years agoAdd epigraph for 5.35.6
Richard Leach [Sun, 21 Nov 2021 00:49:57 +0000 (00:49 +0000)]
Add epigraph for 5.35.6

2 years agoadd new release to perlhist v5.35.6
Richard Leach [Sat, 20 Nov 2021 16:59:33 +0000 (16:59 +0000)]
add new release to perlhist

2 years agoUpdate perldelta for 5.35.6 release
Richard Leach [Sat, 20 Nov 2021 16:59:02 +0000 (16:59 +0000)]
Update perldelta for 5.35.6 release

2 years agoUpdate Module::CoreList for 5.35.6
Richard Leach [Sat, 20 Nov 2021 15:55:47 +0000 (15:55 +0000)]
Update Module::CoreList for 5.35.6

2 years agoUpdate AUTHORS list for 5.35.6
Richard Leach [Sat, 20 Nov 2021 15:36:59 +0000 (15:36 +0000)]
Update AUTHORS list for 5.35.6

2 years agot/op/pack.t: Get it to pass under 'make minitest' 19231/head
James E Keenan [Fri, 19 Nov 2021 22:44:23 +0000 (22:44 +0000)]
t/op/pack.t: Get it to pass under 'make minitest'

During preparations for release of perl-5.35.6 we noticed that
t/op/pack.t was failing during 'make minitest', though passing under
'make test'.  Certain tests require Math::BigInt, which in turn now
requires Scalar::Util.  The latter is not available under miniperl.  So
we skip certain tests.

Also, Math::BigInt is now under cpan/, not dist/.

Insert one 'note' so that we can see where we are in the file.  Minor
whitespace improvements.

2 years agoUpdate HTTP::Tiny to v0.080
Richard Leach [Fri, 19 Nov 2021 22:43:32 +0000 (22:43 +0000)]
Update HTTP::Tiny to v0.080

0.080     2021-11-05 08:15:46-04:00 America/New_York

    - No changes from 0.079-TRIAL.

0.079     2021-11-04 12:33:43-04:00 America/New_York (TRIAL RELEASE)

    [FIXED]

    - Fixed uninitialized value warnings on older Perls when the
      REQUEST_METHOD environment variable is set and CGI_HTTP_PROXY
      is not.

2 years agoMerge branch 'blead' of https://github.com/Perl/perl5 into blead
Richard Leach [Fri, 19 Nov 2021 21:39:32 +0000 (21:39 +0000)]
Merge branch 'blead' of https://github.com/Perl/perl5 into blead

2 years agoUpdate bignum, Math::BigInt, Math::BigInt::FastCalc, and Math::BigRat
Richard Leach [Fri, 19 Nov 2021 21:37:48 +0000 (21:37 +0000)]
Update bignum, Math::BigInt, Math::BigInt::FastCalc, and Math::BigRat

bignum
======

0.63 2021-10-08

 * This version instroduces no changes to the Perl modules, only the
tests.

 * Remove tests that don't work on old Perls and that were actually
testing
   Math::Big(Int|Float|Rat) more than big(int|num|rat).

 * Skip tests that don't work on older versions of Perl.

 * Remove Perl v5.10.0 as dependency. This distribution is compatible
with
   Perls    back to at least v5.6.1, although some functionality
   (e.g., nesting the pragmas) requires more recent versions of Perl.

0.62 2021-10-03

 * Add support for multiple options in import(), so that one can use,
e.g.,

    use bignum accuracy => 20, lib => "GMP";

 * Make sure the bigrat pragma always returns Math::BigRat objects.

 * Make the "trace" option work as indended, or at least according to
what I
   believe is the intention.

 * Improve documentation. Fix typos, improve wording, add more examples
etc.

0.61 2021-10-01

 * Improve documentation related to floating point literals.

 * Skip tests that fail due to Perl's broken handling of floating point
   literals before v5.32.0.

0.60 2021-09-28

 * Separate the bigint, bignum, and bigrat pragmas.

   - The bigint pragma now converts every numeric constant that
represents an
     integer to a Math::BigInt object. Non-integers are converted to
     Math::BigInt NaNs. With the previous behaviour, only some numeric
     constant integers were converted to a Math::BigInt.

   - The bignum pragma now converts every numeric constant to a
Math::BigFloat
     object.

   - The bigrat pragma now converts every numeric constant to a
Math::BigRat
     pragma.

   The pragmas no longer activate upgrading and downgrading. The
upgrading and
   downgrading must now be activated explicitly. The rationale behind
   deactivating it by default is that can cause infinite looping where
objects
   bounce back and forth between different classes. Explicitly
requesting a
   specific class doesn't always work either, because the object might
be
   automatically upgraded or downgraded to a different class.

   Only one pragma can be used at a time in a given scope. Enabling one
pragma
   disables the others in the same scope.

 * Implementat working version of "no bigint", "no bignum", and "no
bigrat".
   Previously, the upgrading and downgrading activated by, e.g., "use
bigint"
   was not deactivated by "no bigint".

 * Sync behaviour with the Math-BigInt distribution.

Math::BigInt
============

1.999827 2021-10-03

 * Improve error message for missing library argument.

 * Skip tests that don't work on older Perls. Also skip tests that
compare
   floating point numbers.

1.999826 2021-10-01

 * Improve documentation related to floating point literals.

 * Skip tests that fail due to Perl's broken handling of floating point
   literals before v5.32.0.

1.999825 2021-09-28

 * Make Math::BigInt accept integers regardless of whether they are
written as
   decimal, binary, octal, or hexadecimal integers or decimal, binary,
octal,
   or hexadecimal floating point number.

 * When numeric constants are overloaded (with the ":constant" option)
in
   Math::BigInt, every numeric constant that represent an integer is
converted
   to an object regardless of how it is written. All finite non-integers
are
   converted to a NaN.

 * When numeric constants are overloaded (with the ":constant" option)
in
   Math::BigFloat, every numeric constant is converted to an object
regardless
   of how it is written.

 * Add method from_dec() (cf. from_bin(), from_oct(), and from_hex()).
It is
   like new() except that it does not accept anything but a string
   representing a finite decimal number.

1.999824 2021-09-20

 * Don't allow mixing math libraries. Use the first backend math library
that
   is successfully loaded, and ignore any further attempts at loading a
   different backend library. This is a solution to the re-occurring
problem
   of using objects using different math libraries.

 * Add missing documentation.

 * Miscellaneous minor improvements.

Math::BigInt::FastCalc
======================

0.5012 2021-09-28

 * Sync test files with Math-BigInt.

0.5011 2021-09-20

 * Sync test files with Math-BigInt.

 * Add missing documentation.

 * Make the test files only print to the standard error when there is an
   actual error.

 * Miscellaneous changes and updates to author and release test files.

Math::BigRat
============

0.2620 2021-10-03

 * Skip tests that don't work on older Perls. Also skip tests that
compare
   floating point numbers.

0.2619 2021-10-01

 * Correct the handling of Inf and NaN in numify().

 * Improve constant overloading. When numeric constants are overloaded
   (with the ":constant" option) in Math::BigRat, every numeric constant
   is converted to an object regardless of how it is written.

0.2618 2021-09-28

 * Add new method binv() for the inverse.

 * Add new method dparts(), which returns the integer part and fraction
part
   of a number. For example, 9/4 is split into 2 and 1/4. This method is
   equivalent to the Math::BigInt and Math::BigFloat methods with the
same
   name.

 * Improve blog(). Handle cases $x->blog($b) where the numerator of $x
   and/or $b is 1 as special.

 * Sync tests with Math-BigInt.

2 years agoMerge branch 'openstrike-blead' into blead
James E Keenan [Thu, 18 Nov 2021 12:33:33 +0000 (12:33 +0000)]
Merge branch 'openstrike-blead' into blead

2 years agoPOD breakage in lib/warnings.pm
Pete Houston [Mon, 15 Nov 2021 14:56:41 +0000 (14:56 +0000)]
POD breakage in lib/warnings.pm

An unescaped right angle bracket was resulting in a malformed code snippet in warnings.pm

This tiny PR escapes that character and thus fixes the rendering.

regen/warnings.pl corrected and regenerated; version bumped.

Pete Houston is now a Perl Author.

For: https://github.com/Perl/perl5/pull/19228

2 years agoAdditional feedback 19230/head
James E Keenan [Wed, 17 Nov 2021 14:10:53 +0000 (14:10 +0000)]
Additional feedback

2 years agoUpdate per feedback
James E Keenan [Wed, 17 Nov 2021 13:57:30 +0000 (13:57 +0000)]
Update per feedback

2 years agoObituary for David H Adler
James E Keenan [Wed, 17 Nov 2021 13:00:19 +0000 (13:00 +0000)]
Obituary for David H Adler

2 years agoperldelta for 0cdbe216286, 9bce496f83cb, 9c913148860
Tony Cook [Mon, 15 Nov 2021 00:49:25 +0000 (11:49 +1100)]
perldelta for 0cdbe2162869bce496f83cb9c913148860

2 years agocorrect the comment distinguishing between threaded/unthreaded cop macros
Tony Cook [Thu, 21 Oct 2021 03:19:49 +0000 (14:19 +1100)]
correct the comment distinguishing between threaded/unthreaded cop macros

2 years agoAdd CopFILEAVn() and use it when cleaning up COP pointers
Tony Cook [Thu, 21 Oct 2021 03:16:54 +0000 (14:16 +1100)]
Add CopFILEAVn() and use it when cleaning up COP pointers

On threaded builds CopFILEAV() calls gv_fetchfile(), which always
created the *{"::_<filenamehere"} glob, so the attempted clean up
here could recreate the glob, even if it has already been removed
when cleaning up a string eval.

To avoid this, add CopFILEAVn() that never creates the glob,
nor the AV so that the clean up never adds new objects.

This change makes the check for PL_phase unnecessary, but that check
is much cheaper than the call for gv_fetchfile_flags() that the
macro hides, so retain the check.

2 years agodon't try to clean up the COP pointer during global destruction
Tony Cook [Thu, 21 Oct 2021 02:51:17 +0000 (13:51 +1100)]
don't try to clean up the COP pointer during global destruction

At this point there should be no further debugging code trying to
use the COP pointer.

On threaded builds the call to CopFILEAV() could cause a segmentation
fault, since during late destruction gv_fetchfile() could return
NULL, which the threaded version of CopFILEAV() would blindly call
GvAV() on.

2 years agoremove cop addressed from saved lines when the cop is freed
Tony Cook [Wed, 20 Oct 2021 04:36:44 +0000 (15:36 +1100)]
remove cop addressed from saved lines when the cop is freed

This could cause a bad read and write when the debugger tried to
set a breakpoint on the line.

Fixed #19198

2 years agodocument the DebugWrap class used internally to perl5db.t
Tony Cook [Wed, 20 Oct 2021 04:33:31 +0000 (15:33 +1100)]
document the DebugWrap class used internally to perl5db.t

saves me having to find the difference between "output" and
"contents" each time I write a debugger test

2 years agoallow DebugWrap to take the test code as an argument
Tony Cook [Wed, 20 Oct 2021 04:31:44 +0000 (15:31 +1100)]
allow DebugWrap to take the test code as an argument

This increases the locality of the code being tested to the test and
avoids littering the tree with little test files.

2 years agoUnencrypted git protocol no longer supported by github.com
James E Keenan [Tue, 2 Nov 2021 19:24:09 +0000 (19:24 +0000)]
Unencrypted git protocol no longer supported by github.com

Reference: https://github.blog/2021-09-01-improving-git-protocol-security-github/

For: https://github.com/Perl/perl5/pull/19220

2 years agoMerge branch 'features-for-5-36' into blead
Ricardo Signes [Tue, 2 Nov 2021 18:23:45 +0000 (14:23 -0400)]
Merge branch 'features-for-5-36' into blead

2 years agoperldelta: update feature bundle changes for bareword_filehandles 19184/head
Ricardo Signes [Sat, 30 Oct 2021 19:22:21 +0000 (15:22 -0400)]
perldelta: update feature bundle changes for bareword_filehandles

2 years agofeature.pm: remove bareword_filehandles from :5.36
Ricardo Signes [Sat, 30 Oct 2021 19:20:52 +0000 (15:20 -0400)]
feature.pm: remove bareword_filehandles from :5.36

2 years agofeature updates: tweaks from code review
Ricardo Signes [Sat, 30 Oct 2021 18:48:51 +0000 (14:48 -0400)]
feature updates: tweaks from code review

2 years agoperldelta: note changes to feature bundle
Ricardo Signes [Sat, 16 Oct 2021 23:08:51 +0000 (19:08 -0400)]
perldelta: note changes to feature bundle

2 years agoperlfunc: note that bareword open is now often forbidden
Ricardo Signes [Sat, 16 Oct 2021 22:54:24 +0000 (18:54 -0400)]
perlfunc: note that bareword open is now often forbidden

2 years agofeature: remove indirect and multidimensional in v5.36
Ricardo Signes [Sat, 9 Oct 2021 21:12:31 +0000 (17:12 -0400)]
feature: remove indirect and multidimensional in v5.36

2 years agoRemove missed mention of perldos POD document in plan9/mkfile
Dagfinn Ilmari Mannsåker [Tue, 2 Nov 2021 18:14:56 +0000 (18:14 +0000)]
Remove missed mention of perldos POD document in plan9/mkfile

2 years agoRemove AT&T UWIN support
Dagfinn Ilmari Mannsåker [Mon, 27 Jul 2020 13:31:25 +0000 (14:31 +0100)]
Remove AT&T UWIN support

UWIN is a UNIX compatibility layer for Windows.  It was last released
in 2012 and has been superseded by Cygwin these days.

2 years agoRemove DOS/DJGPP support
Dagfinn Ilmari Mannsåker [Thu, 16 Jul 2020 16:32:16 +0000 (17:32 +0100)]
Remove DOS/DJGPP support

DJGPP is a port of the GNU toolchain to 32-bit x86 systems running DOS.
The last known attempt to build Perl on it was on 5.20, which only got
as far as building miniperl.

2 years agoOne character spelling error
James E Keenan [Tue, 2 Nov 2021 17:45:38 +0000 (17:45 +0000)]
One character spelling error

2 years agobump $GDBM_File::VERSION
Tony Cook [Mon, 1 Nov 2021 23:03:23 +0000 (10:03 +1100)]
bump $GDBM_File::VERSION

2 years agogdbm: Define error codes; provide the global $gdbm_errno variable.
Sergey Poznyakoff [Mon, 11 Oct 2021 15:58:44 +0000 (15:58 +0000)]
gdbm: Define error codes; provide the global $gdbm_errno variable.

* ext/GDBM_File/GDBM_File.pm: Export gdbm error codes.
Improve documentation.
* ext/GDBM_File/GDBM_File.xs (BOOT): Define the GDBM_File::gdbm_errno
variable.
(gdbm_errno): Return a value usable both in numeric and string
contexts.
* ext/GDBM_File/Makefile.PL: Define gdbm error codes.
* Document GDBM_* constants used with tie().

2 years agopp_system: safe to switch in sv_setpvn_fresh here
Richard Leach [Fri, 28 May 2021 01:00:17 +0000 (02:00 +0100)]
pp_system: safe to switch in sv_setpvn_fresh here

2 years agopp_match: newSVpvn_flags now more efficient than sv_newmortal + sv_setpvn.
Richard Leach [Wed, 26 May 2021 23:40:27 +0000 (00:40 +0100)]
pp_match: newSVpvn_flags now more efficient than sv_newmortal + sv_setpvn.

2 years agosv.c: use Perl_sv_grow_fresh & Perl_sv_setvpn_fresh
Richard Leach [Wed, 26 May 2021 17:01:44 +0000 (18:01 +0100)]
sv.c: use Perl_sv_grow_fresh & Perl_sv_setvpn_fresh

2 years agosv.c: add Perl_sv_grow_fresh & Perl_sv_setvpn_fresh
Richard Leach [Wed, 26 May 2021 17:00:11 +0000 (18:00 +0100)]
sv.c: add Perl_sv_grow_fresh & Perl_sv_setvpn_fresh

2 years agoRegen Configure and friends after backports
H.Merijn Brand [Fri, 29 Oct 2021 17:42:38 +0000 (19:42 +0200)]
Regen Configure and friends after backports

2 years agorelease schedule: neilb to handle 2021-12
Ricardo Signes [Fri, 29 Oct 2021 14:22:06 +0000 (10:22 -0400)]
release schedule: neilb to handle 2021-12

2 years agoMerge branch 'fix-grammar' into blead
James E Keenan [Sat, 23 Oct 2021 23:59:36 +0000 (23:59 +0000)]
Merge branch 'fix-grammar' into blead

For: https://github.com/Perl/perl5/pull/19209

2 years agolib/diagnostics.pm remove obscure wording in POD
Robert Rothenberg [Fri, 22 Oct 2021 11:57:27 +0000 (12:57 +0100)]
lib/diagnostics.pm remove obscure wording in POD

The text "While apparently a whole nuther program" is too informal
and too obscure for non-Native English speakers.

It is also a misspelling of "whole nother" [1].

[1] https://www.merriam-webster.com/dictionary/whole%20nother

Committer: Robert Rothenberg is now a Perl author.

Increment $VERSION in lib/diagnostics.pm.

2 years agoPrepare Module::Corelist for 5.35.6
Leon Timmermans [Thu, 21 Oct 2021 21:04:31 +0000 (23:04 +0200)]
Prepare Module::Corelist for 5.35.6

2 years agoBump version to 5.35.6
Leon Timmermans [Thu, 21 Oct 2021 20:44:17 +0000 (22:44 +0200)]
Bump version to 5.35.6

2 years agonew perldelta for 5.35.6
Leon Timmermans [Thu, 21 Oct 2021 20:17:26 +0000 (22:17 +0200)]
new perldelta for 5.35.6

2 years agoTick off 5.35.5 from release schedule
Leon Timmermans [Thu, 21 Oct 2021 20:12:08 +0000 (22:12 +0200)]
Tick off 5.35.5 from release schedule

2 years agoAdd epigraph for 5.35.5
Leon Timmermans [Thu, 21 Oct 2021 20:10:03 +0000 (22:10 +0200)]
Add epigraph for 5.35.5

2 years agoAdd 5.35.5 to perlhist v5.35.5
Leon Timmermans [Thu, 21 Oct 2021 18:05:51 +0000 (20:05 +0200)]
Add 5.35.5 to perlhist

2 years agoUpdate perldelta for 5.35.5 release
Leon Timmermans [Thu, 21 Oct 2021 18:05:13 +0000 (20:05 +0200)]
Update perldelta for 5.35.5 release

2 years agoUpdate Module::CoreList for 5.35.5
Leon Timmermans [Wed, 20 Oct 2021 21:39:27 +0000 (23:39 +0200)]
Update Module::CoreList for 5.35.5

2 years agoinline.h: _BitScanForward64 is available only on 64-bit architectures
Tomasz Konojacki [Wed, 20 Oct 2021 14:51:58 +0000 (16:51 +0200)]
inline.h: _BitScanForward64 is available only on 64-bit architectures

Fixes #19205