CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Wed, 30 Jul 2025 10:12:36 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20220126204917
location: https://web.archive.org/web/20220126204917/https://perl5.git.perl.org/perl5.git/log/HEAD
server-timing: captures_list;dur=0.577033, exclusion.robots;dur=0.023579, exclusion.robots.policy;dur=0.011101, esindex;dur=0.011450, cdx.remote;dur=502.436288, LoadShardBlock;dur=224.066140, PetaboxLoader3.datanode;dur=136.377368
x-app-server: wwwb-app222
x-ts: 302
x-tr: 759
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
set-cookie: SERVER=wwwb-app222; path=/
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 200
server: nginx
date: Wed, 30 Jul 2025 10:12:38 GMT
content-type: application/xhtml+xml; charset=utf-8
x-archive-orig-date: Wed, 26 Jan 2022 20:49:16 GMT
x-archive-orig-server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips
x-archive-orig-keep-alive: timeout=5, max=100
x-archive-orig-connection: Keep-Alive
x-archive-orig-x-crawler-transfer-encoding: chunked
x-archive-orig-content-length: 124521
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Wed, 26 Jan 2022 20:49:17 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Tue, 19 Jan 2021 15:12:01 GMT", ; rel="prev memento"; datetime="Tue, 19 Jan 2021 15:12:01 GMT", ; rel="memento"; datetime="Wed, 26 Jan 2022 20:49:17 GMT", ; rel="next memento"; datetime="Fri, 03 Feb 2023 19:49:34 GMT", ; rel="last memento"; datetime="Fri, 03 Feb 2023 19:49:34 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: CC-MAIN-2022-05-1642320304961.89-0032/CC-MAIN-20220126192506-20220126222506-00646.warc.gz
server-timing: captures_list;dur=0.585210, exclusion.robots;dur=0.021864, exclusion.robots.policy;dur=0.009928, esindex;dur=0.011837, cdx.remote;dur=1129.237391, LoadShardBlock;dur=155.883597, PetaboxLoader3.datanode;dur=160.426907, load_resource;dur=105.034677, PetaboxLoader3.resolve;dur=66.960644
x-app-server: wwwb-app222
x-ts: 200
x-tr: 1632
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
perl5.git.perl.org Git - perl5.git/log
This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add test for experimental::builtin warnings
Warn about experimental builtins at runtime as well as compile time
For when the functions are called via reference or perl4-style &foo syntax.
For when the functions are called via reference or perl4-style &foo syntax.
Fix bundled .pm files for experimental::builtin warnings
Fix lib/unicore/mktables for experimental::builtin warnings
Fix unit tests for experimental::builtin warnings
Emit experimental::builtin warnings from the builtin function callchecker
Add experimental::builtin warning
Remove remaining uses of @_ in signatured subs in lib/unicore/mktables
Add ceil & floor to builtin
regcomp.c: Fix undefined behavior
Spotted by ASAN. To shift 31 bits in a 32 bit word, it has to be
unsigned.
Spotted by ASAN. To shift 31 bits in a 32 bit word, it has to be
unsigned.
perl.h: Add comments
Add '=cut' to silence POD formatting warning
Update epigraph for 5.35.8
Bumped Module-CoreList ready for 5.35.9
Bump B::OP_private version
Bump the perl version in various places for 5.35.9
New perldelta for 5.35.9
Tick off 5.35.8
Added 5.35.8 to perlhist
Update Module::CoreList for 5.35.8
Update perldelta for blead release v5.35.8
Adjust prediction year for 5.34.1
Update Perl copyright for 2022
Add mailmap entry for Mike
Add a pod sort sample with function signature
GH #19344
Provide a sample for sort using function signature.
GH #19344
Provide a sample for sort using function signature.
Update bignum to CPAN version 0.64
[DELTA]
* Fix CPAN RT #140470. The pragmas ignored user-specified backend libraries.
Add tests to verify the fix.
* Add missing documentation.
[DELTA]
* Fix CPAN RT #140470. The pragmas ignored user-specified backend libraries.
Add tests to verify the fix.
* Add missing documentation.
Update Math-BigInt to CPAN version 1.999829
[DELTA]
* Improve methods div_scale() and round_mode() so they work better with
subclasses. This fixes CPAN RT #125430.
* Make div_scale() accept a Math::Big(Int|Float|Rat) object as input. This
fixes CPAN RT #140599.
[DELTA]
* Improve methods div_scale() and round_mode() so they work better with
subclasses. This fixes CPAN RT #125430.
* Make div_scale() accept a Math::Big(Int|Float|Rat) object as input. This
fixes CPAN RT #140599.
Add perldelta entry for try/catch/finally
Implement correct deparse logic for try/catch/finally
Ensure that forbidden control flow messages about finally blocks say "finally" and not "defer"
Document the new try/catch/finally syntax
Implement and test try/catch/finally syntax
Add op_wrap_finally() convenience function
Define 'finally' keyword
Make sure to rpeep() the body of catch {} blocks
Provide inclusive names allowlist and denylist
Updated the following files:
AUTHORS:
- corrected my email address
MANIFEST:
- added new testcases for Locale-Maketext
dist/Locale-Maketext/ChangeLog:
- short summary of changes made
dist/Locale-Maketext/lib/Locale/Maketext.pm:
- updated the version to 1.30
- refactored the code to create a common method _include
called by the allowlist and whitelist methods
(whitelist is now an alias, deprecated method, for allowlist).
The _include method now has an internal list called allowlist
that is updated by calls to _include through whitelist or
allowlist methods.
- refactored the code to create a common method _exclude
called by the denylist and blacklist methods
(blacklist is now an alias, deprecated method, for denylist).
The _exclude method now has an internal list called denylist
that is updated by calls to _exclude through blacklist or
denylist methods.
dist/Locale-Maketext/lib/Locale/Maketext.pod:
- documented allowlist and denylist as new methods
- added a NOTE for allowlist and denylist indicating that
they are now the preferred method names to use instead
of whitelist and blacklist
dist/Locale-Maketext/t/92_blacklist.t
- updated the code to have messages in terms of allowlist
and denylist. Actual code continues to test blacklist
method.
dist/Locale-Maketext/t/93_whitelist.t
- updated the code to have messages in terms of allowlist
and denylist. Actual code continues to test whitelist
method.
Created 2 new testcases:
dist/Locale-Maketext/t/94_denylist.t
- this testcase is analagous to 92_blacklist.t but calls
the denylist method instead of the blacklist method.
dist/Locale-Maketext/t/95_allowlist.t
- this testcase is analagous to 93_whitelist.t but calls
the allowlist method instead of the whitelist method.
Updated the following files:
AUTHORS:
- corrected my email address
MANIFEST:
- added new testcases for Locale-Maketext
dist/Locale-Maketext/ChangeLog:
- short summary of changes made
dist/Locale-Maketext/lib/Locale/Maketext.pm:
- updated the version to 1.30
- refactored the code to create a common method _include
called by the allowlist and whitelist methods
(whitelist is now an alias, deprecated method, for allowlist).
The _include method now has an internal list called allowlist
that is updated by calls to _include through whitelist or
allowlist methods.
- refactored the code to create a common method _exclude
called by the denylist and blacklist methods
(blacklist is now an alias, deprecated method, for denylist).
The _exclude method now has an internal list called denylist
that is updated by calls to _exclude through blacklist or
denylist methods.
dist/Locale-Maketext/lib/Locale/Maketext.pod:
- documented allowlist and denylist as new methods
- added a NOTE for allowlist and denylist indicating that
they are now the preferred method names to use instead
of whitelist and blacklist
dist/Locale-Maketext/t/92_blacklist.t
- updated the code to have messages in terms of allowlist
and denylist. Actual code continues to test blacklist
method.
dist/Locale-Maketext/t/93_whitelist.t
- updated the code to have messages in terms of allowlist
and denylist. Actual code continues to test whitelist
method.
Created 2 new testcases:
dist/Locale-Maketext/t/94_denylist.t
- this testcase is analagous to 92_blacklist.t but calls
the denylist method instead of the blacklist method.
dist/Locale-Maketext/t/95_allowlist.t
- this testcase is analagous to 93_whitelist.t but calls
the allowlist method instead of the whitelist method.
t/porting/authors.t: Windows fixes
^ is a shell metacharacter in cmd.exe, so it needs to be quoted.
Also, /dev/null doesn't exist on Windows.
^ is a shell metacharacter in cmd.exe, so it needs to be quoted.
Also, /dev/null doesn't exist on Windows.
make a sort with zero args a compile-time err
@a = sort @empty; # unaffected
@a = sort; # now a compile-time error
the main motivation for this is to potentially be able to treat a
colon following the 'sort' keyword as part of the sort expression,
to then be able to add sort attributes at some point, e.g.
@a = sort :num, 1,2,3;
rather than the colon being seen as part of a ?: conditional.
See https://nntp.perl.org/group/perl.perl5.porters/262425.
@a = sort @empty; # unaffected
@a = sort; # now a compile-time error
the main motivation for this is to potentially be able to treat a
colon following the 'sort' keyword as part of the sort expression,
to then be able to add sort attributes at some point, e.g.
@a = sort :num, 1,2,3;
rather than the colon being seen as part of a ?: conditional.
See https://nntp.perl.org/group/perl.perl5.porters/262425.
Stop setting console to "con" on non-MSWin systems
The condition has existed since eternity but it never made sense.
Only use "con" if $^O eq 'MSWin32'.
Also, remove MSDOS from the comment: it's the last forgotten mention
of the OS in the whole file.
The condition has existed since eternity but it never made sense.
Only use "con" if $^O eq 'MSWin32'.
Also, remove MSDOS from the comment: it's the last forgotten mention
of the OS in the whole file.
fix commit calculations in authors porting test
For pull requests, the current commit is a merge commit simulated by
github. The first parent will be from blead - anything that has been
commited since the creation of the branch. The second parent will be the
last commit on the branch, which is what we want to test.
The commit range should be all of the commits in the second parent,
excluseding the first parent. We can use HEAD^1 and HEAD^2 for these.
The merge-base does not need to be precomputed, since the .. in the
commit range does that for us.
For pull requests, the current commit is a merge commit simulated by
github. The first parent will be from blead - anything that has been
commited since the creation of the branch. The second parent will be the
last commit on the branch, which is what we want to test.
The commit range should be all of the commits in the second parent,
excluseding the first parent. We can use HEAD^1 and HEAD^2 for these.
The merge-base does not need to be precomputed, since the .. in the
commit range does that for us.
Update Win32 to CPAN version 0.58
[DELTA]
0.58 [2022-01-17]
- add Win32::HttpGetFile (thanks to Craig Berry for the implementation
and Tomasz Konojacki for code review) [PR/30]
- skip failing Unicode.t on Cygwin because cwd() no longer returns an
ANSI (short) path there.
- Fixed test 14,15 of GetFullPathName.t when package is unpacked in a
top level folder (thanks to Jianhong Feng) [PR/20]
[DELTA]
0.58 [2022-01-17]
- add Win32::HttpGetFile (thanks to Craig Berry for the implementation
and Tomasz Konojacki for code review) [PR/30]
- skip failing Unicode.t on Cygwin because cwd() no longer returns an
ANSI (short) path there.
- Fixed test 14,15 of GetFullPathName.t when package is unpacked in a
top level folder (thanks to Jianhong Feng) [PR/20]
Update NEXT to CPAN version 0.69
[DELTA]
0.69 2022-01-19 NEILB
- Removed dependency on mro. PR#5 from HAARG++.
- Only install in perl dirs on older perls with bad load order
PR#6 from HAARG++.
[DELTA]
0.69 2022-01-19 NEILB
- Removed dependency on mro. PR#5 from HAARG++.
- Only install in perl dirs on older perls with bad load order
PR#6 from HAARG++.
Update File-Fetch to CPAN version 1.04
[DELTA]
1.04 Tue Jan 18 20:46:04 2022
* Resolve test warnings reported in GitHub issue #22
relating to Github's deprecation and removal of git:// protocol
* Pointed various RFC links in docs to ietf.org
[DELTA]
1.04 Tue Jan 18 20:46:04 2022
* Resolve test warnings reported in GitHub issue #22
relating to Github's deprecation and removal of git:// protocol
* Pointed various RFC links in docs to ietf.org
z/OS ASCII Enablement: Manage untagged header errno.h by copy & tag
The system headers on z/OS are in EBCDIC, but are untagged. The bi-modal build requires that files be tagged correctly
so this patch copies the errno.h file (which may be mounted on a read-only file system) to a local file and then tags
it as IBM-1047 (EBCDIC) so that it can be processed properly. The longer-term fix for this may be to have z/OS tag
header files as EBCDIC, although this would not be something Perl could rely on for several years.
The system headers on z/OS are in EBCDIC, but are untagged. The bi-modal build requires that files be tagged correctly
so this patch copies the errno.h file (which may be mounted on a read-only file system) to a local file and then tags
it as IBM-1047 (EBCDIC) so that it can be processed properly. The longer-term fix for this may be to have z/OS tag
header files as EBCDIC, although this would not be something Perl could rely on for several years.
officially support Visual C++ 2022
No code changes are needed.
No code changes are needed.
PERL_SET_CONTEXT(t) needs to set PL_current_context from C++ too
We want to use C11 thread local storage where possible, as its read overhead
is lower. However C++ uses incompatible syntax for TLS, so we have to hide
the variable from C++ extensions, and have the read code "fall back" to the
pthread_getspecific() approach.
However, C++ extensions also need to be able to call PERL_SET_CONTEXT(t) and
have everything still work the same as C extensions. Hence they *also* need
to set PL_current_context - a variable that has to be hidden from them.
Hence change the version of the PERL_SET_CONTEXT macro used by C++
extensions from inline code to a call to Perl_set_context(), and have that
set PL_current_context (when used).
Technically this commit also fixes a bug in that Perl_set_context() is API
and should have been setting PL_current_context since that variable was
first introduced. In practice, likely nothing uses this API, as there is no
code on CPAN that calls it, and the macro PERL_SET_CONTEXT() is much more
prominent.
We want to use C11 thread local storage where possible, as its read overhead
is lower. However C++ uses incompatible syntax for TLS, so we have to hide
the variable from C++ extensions, and have the read code "fall back" to the
pthread_getspecific() approach.
However, C++ extensions also need to be able to call PERL_SET_CONTEXT(t) and
have everything still work the same as C extensions. Hence they *also* need
to set PL_current_context - a variable that has to be hidden from them.
Hence change the version of the PERL_SET_CONTEXT macro used by C++
extensions from inline code to a call to Perl_set_context(), and have that
set PL_current_context (when used).
Technically this commit also fixes a bug in that Perl_set_context() is API
and should have been setting PL_current_context since that variable was
first introduced. In practice, likely nothing uses this API, as there is no
code on CPAN that calls it, and the macro PERL_SET_CONTEXT() is much more
prominent.
For C++ extensions, use the pthreads definition of PERL_GET_CONTEXT
Configure probes the C compiler to find out whether it supports C11 thread
local storage, and if found uses this for PERL_SET_CONTEXT/PERL_GET_CONTEXT,
in preference to the pthread_setspecific()/pthread_getspecific() approach.
However, we can come unstuck with XS extensions written in C++, as C++ and C
disagree on the syntax used for thread local storage, meaning that the
working token that Configure probed for C turns out to be a compiler error
on C++.
As Configure doesn't have a way to probe for C++ dialects, we just take the
safe option and do the same as 5.34.0 and earlier - use pthreads on C++.
This commit is minimal because the implementation of PERL_SET_CONTEXT for
C11 thread local storage was already defensively written to *also* call
pthread_setspecific().
Configure probes the C compiler to find out whether it supports C11 thread
local storage, and if found uses this for PERL_SET_CONTEXT/PERL_GET_CONTEXT,
in preference to the pthread_setspecific()/pthread_getspecific() approach.
However, we can come unstuck with XS extensions written in C++, as C++ and C
disagree on the syntax used for thread local storage, meaning that the
working token that Configure probed for C turns out to be a compiler error
on C++.
As Configure doesn't have a way to probe for C++ dialects, we just take the
safe option and do the same as 5.34.0 and earlier - use pthreads on C++.
This commit is minimal because the implementation of PERL_SET_CONTEXT for
C11 thread local storage was already defensively written to *also* call
pthread_setspecific().
Update File-Fetch to CPAN version 1.02
[DELTA]
1.02 Fri Jan 7 14:44:34 2022
* wget: use --passive-ftp switch only for ftp scheme
[DELTA]
1.02 Fri Jan 7 14:44:34 2022
* wget: use --passive-ftp switch only for ftp scheme
EUPXS was updated on CPAN
Make spelling of values for 'FILES' consistent
While developing a program which require-s Porting/Maintainers.pl for
the data in %Modules, I noticed that the entries for two modules'
'FILES' key-value pairs were spelled with a trailing slash. All other
'FILES' KVPs omitted the trailing slash.
For consistency, let's omit the trailing slash. Once that's done, two
invocations of "./perl -Ilib Porting/makemeta -y" were needed to make
'make test_porting' happy.
While developing a program which require-s Porting/Maintainers.pl for
the data in %Modules, I noticed that the entries for two modules'
'FILES' key-value pairs were spelled with a trailing slash. All other
'FILES' KVPs omitted the trailing slash.
For consistency, let's omit the trailing slash. Once that's done, two
invocations of "./perl -Ilib Porting/makemeta -y" were needed to make
'make test_porting' happy.
Added releasers for next 3 dev releases
Add date of release of ExtUtils-ParseXS 3.44
Update the README to describe ASCII and EBCDIC builds
Rewrite of the readme file to bring it up to date and to document the
various ways Perl can now be built and used on z/OS.
Rewrite of the readme file to bring it up to date and to document the
various ways Perl can now be built and used on z/OS.
Add missing aliases for \p{Present_In}
\p{Present_In} is a Perl extension of the Unicode Age property, added
because knowing the exact Unicode version in which a code point became
assigned is rarely what you want; much more frequently you want to know
if the code point exists in the version or not. (Since this extension
was added, Unicode changed their language to declare that the Age
property should be interpreted in pattern matching, not as described,
but as Perl's Present_In is. But I chose to not change Age, to avoid
backwards compatibility issues, and this way, a coder can choose which
thing s/he wanted.)
Unicode typically has synonyms (aliases) for each value a property can
tak on, so \p{Age=6.1} and \p{Age=V61_1} mean the same thing.
Prior to this commit, neither \p{Present_In=1_1} nor \p{Present_In=NA}
worked.
\p{Present_In} is a Perl extension of the Unicode Age property, added
because knowing the exact Unicode version in which a code point became
assigned is rarely what you want; much more frequently you want to know
if the code point exists in the version or not. (Since this extension
was added, Unicode changed their language to declare that the Age
property should be interpreted in pattern matching, not as described,
but as Perl's Present_In is. But I chose to not change Age, to avoid
backwards compatibility issues, and this way, a coder can choose which
thing s/he wanted.)
Unicode typically has synonyms (aliases) for each value a property can
tak on, so \p{Age=6.1} and \p{Age=V61_1} mean the same thing.
Prior to this commit, neither \p{Present_In=1_1} nor \p{Present_In=NA}
worked.
mktables: Add variable for clarity
This uses a new variable whose name reflects its usage, making the code
easier to understand.
This uses a new variable whose name reflects its usage, making the code
easier to understand.
Pod::Html: improve all tests
"use warnings;" in all tests. Remove emacs identifiers. Change tabs to
spaces in tests.
For: https://github.com/Perl/perl5/pull/19304
"use warnings;" in all tests. Remove emacs identifiers. Change tabs to
spaces in tests.
For: https://github.com/Perl/perl5/pull/19304
Update Changes log for ExtUtils::ParseXS:
I've walked the history and grabbed changes to the code itself, not the
perlxs et. al. pod files.
I've walked the history and grabbed changes to the code itself, not the
perlxs et. al. pod files.
Hash::Util::FieldHash: improve test suite
- do not count tests:
- use done_testing
- put tests requiring threading in their own subtests so we can
skip_all
- smaller improvements: use strict & warnings everywhere, tabs >>
spaces
- do not count tests:
- use done_testing
- put tests requiring threading in their own subtests so we can
skip_all
- smaller improvements: use strict & warnings everywhere, tabs >>
spaces
dist/Time-HiRes/t/stat.t: Provide descriptions for all tests
Convert 'print' to 'Test::More::note' in stat.t and t/Watchdog.pm.
Require Test More 0.84 to get 'note' function per feedback from Tony
Cook in https://github.com/Perl/perl5/pull/19322.
Convert 'print' to 'Test::More::note' in stat.t and t/Watchdog.pm.
Require Test More 0.84 to get 'note' function per feedback from Tony
Cook in https://github.com/Perl/perl5/pull/19322.
doio.c: White-space, comment only
Need to remove ASCII tags on copied compiled executables for z/OS ASCII
Untag compiled executables (perl and the .so files) after they are
copied with File::copy because File::copy is marking them as CCSID 819
(ASCII). The longer term fix for this could be to provide a syscopy on
z/OS which would perform a _cp_ which on z/OS copies the tag
information as part of the copy.
Untag compiled executables (perl and the .so files) after they are
copied with File::copy because File::copy is marking them as CCSID 819
(ASCII). The longer term fix for this could be to provide a syscopy on
z/OS which would perform a _cp_ which on z/OS copies the tag
information as part of the copy.
z/OS ASCII needs file descriptors on pipes tagged as ASCII
Add code to change the file descriptor on the file descriptors opened from
``Perl_my_popen_list`` and ``Perl_my_popen`` so that the CCSID of the file
descriptor is 819. This change is only when the code is built for
ASCII ``#if (__CHARSET_LIB == 1)`` on z/OS ``#if defined(OEMVS)``.
Add code to change the file descriptor on the file descriptors opened from
``Perl_my_popen_list`` and ``Perl_my_popen`` so that the CCSID of the file
descriptor is 819. This change is only when the code is built for
ASCII ``#if (__CHARSET_LIB == 1)`` on z/OS ``#if defined(OEMVS)``.
Enable z/OS to run with '-e' option for runtests
Change this code so that the unset of MAKEFLAGS is protected because,
on z/OS, unset will return non-zero if the variable is not set and this
then causes the shell to fail because it is being run with _-e_. This
change is only required for z/OS but is harmless to have on all
platforms.
Change this code so that the unset of MAKEFLAGS is protected because,
on z/OS, unset will return non-zero if the variable is not set and this
then causes the shell to fail because it is being run with _-e_. This
change is only required for z/OS but is harmless to have on all
platforms.
Provide asciiopen and asciiopen3 for z/OS ASCII I/O
- Provide an _asciiopen_ and _asciiopen3_ pair of functions for opening
files on z/OS. These services do a standard open and then, if the
open is successful, update the CCSID of the file descriptor to 819
(ASCII) iff the oflag has ``O_CREAT`` set (e.g. a file is being
created). We could consider printing out a warning if a file is
untagged - right now this will _work correctly_ if the file in
encoded as ASCII (CCSID 819) but will fail if the file is EBCDIC.
- Provide a wrapper _Perl_mkstemp_cloexec_ which not only creates a
temporary file using mkstemp but will also tag the file as CCSID 819.
The tagging is only performed if ``__CHARSET_LIB == 1``, i.e. the
code is compiled with -qascii.
- Define _PerlIO_open_ and _PerlLIO_open3_ as _asciiopen_ and
_asciiopen3_ respectively, when the code is built for ASCII ``#if
(__CHARSET_LIB == 1)`` on z/OS ``#if defined(OEMVS)``.
- Provide an _asciiopen_ and _asciiopen3_ pair of functions for opening
files on z/OS. These services do a standard open and then, if the
open is successful, update the CCSID of the file descriptor to 819
(ASCII) iff the oflag has ``O_CREAT`` set (e.g. a file is being
created). We could consider printing out a warning if a file is
untagged - right now this will _work correctly_ if the file in
encoded as ASCII (CCSID 819) but will fail if the file is EBCDIC.
- Provide a wrapper _Perl_mkstemp_cloexec_ which not only creates a
temporary file using mkstemp but will also tag the file as CCSID 819.
The tagging is only performed if ``__CHARSET_LIB == 1``, i.e. the
code is compiled with -qascii.
- Define _PerlIO_open_ and _PerlLIO_open3_ as _asciiopen_ and
_asciiopen3_ respectively, when the code is built for ASCII ``#if
(__CHARSET_LIB == 1)`` on z/OS ``#if defined(OEMVS)``.
nostdio should test for z/OS (i.e. OEMVS) not EBCDIC
Specify PERL_USE_SAFE_PUTENV when configuring ASCII z/OS builds
The Perl code expects that the ``environ`` global variable can be
re-allocated to new storage and then have entries added and removed from
it. This isn't supported by z/OS when in Bi-Modal mode and so
_PERL_USE_SAFE_PUTENV_ macro is defined to use the _env_ services to
manipulate ``environ`` instead of doing so directly. It is not clear if
it is valid to re-allocate storage for the ``environ`` global variable
or not, although it is worth pursuing with the z/OS development team as
a longer-term potential fix.
The Perl code expects that the ``environ`` global variable can be
re-allocated to new storage and then have entries added and removed from
it. This isn't supported by z/OS when in Bi-Modal mode and so
_PERL_USE_SAFE_PUTENV_ macro is defined to use the _env_ services to
manipulate ``environ`` instead of doing so directly. It is not clear if
it is valid to re-allocate storage for the ``environ`` global variable
or not, although it is worth pursuing with the z/OS development team as
a longer-term potential fix.
Fix problem in makefile for z/OS 64-bit builds
This change fixes a bug where the value of _use64bitall_ was
expected to be nothing or something, but in fact, the proper
test is for ``define|true|[yY]*``.
This change fixes a bug where the value of _use64bitall_ was
expected to be nothing or something, but in fact, the proper
test is for ``define|true|[yY]*``.
Add AUTHORS entry for Mike Fulton
And make this entry the more public email address, moving the existing
more private one to checkAUTHORS
And make this entry the more public email address, moving the existing
more private one to checkAUTHORS
Fix builtin typo in descrip_mms.template
The one-letter macro for the file extension of an object file is
an oh not a zero.
The one-letter macro for the file extension of an object file is
an oh not a zero.
Tie::SubstrHash: rewrite tests to use Test::More
These tests were still handrolling TAP output. I've dragged the tests
into this century by porting them to Test::More.
For: https://github.com/Perl/perl5/pull/19288
These tests were still handrolling TAP output. I've dragged the tests
into this century by porting them to Test::More.
For: https://github.com/Perl/perl5/pull/19288
Replace bareword filehandle with a lexical scalar:
Bareword filehandles are bad and this module should really remove
this one.
I'm also bumping the version to a stable one because why not.
For: https://github.com/Perl/perl5/pull/19302
Bareword filehandles are bad and this module should really remove
this one.
I'm also bumping the version to a stable one because why not.
For: https://github.com/Perl/perl5/pull/19302
Change pack U behavior for EBCDIC
This effectively reverts 3ece276e6c0.
It turns out this was a bad idea to make U mean the non-native official
Unicode code points. It may seem to make sense to do so, but broke
multiple CPAN modules which were using U the previous way.
This commit has no effect on ASCII-platform functioning.
This effectively reverts 3ece276e6c0.
It turns out this was a bad idea to make U mean the non-native official
Unicode code points. It may seem to make sense to do so, but broke
multiple CPAN modules which were using U the previous way.
This commit has no effect on ASCII-platform functioning.
charnames.pm: Avoid pack U
This is because the behavior of pack U is changing in the next commit,
and this is cleaner anyway. The conversion functions are optimized out
on ASCII platforms.
This is because the behavior of pack U is changing in the next commit,
and this is cleaner anyway. The conversion functions are optimized out
on ASCII platforms.
Merge branch 'patch-1' into blead
ExtUtils-ParseXS fix plan/skip in 002-more.t
The commit https://github.com/Perl/perl5/commit/2647863031762b1897841364c638c3727bc043f1 has added 2 tests in 002-more.t, the plan was updated from 30 to 32.
But the corresponding skip counter was missing.
The commit https://github.com/Perl/perl5/commit/2647863031762b1897841364c638c3727bc043f1 has added 2 tests in 002-more.t, the plan was updated from 30 to 32.
But the corresponding skip counter was missing.
Fix misspellings in documentation. Correct spelling of name to 'De
Morgan'.
Committer: Ivan Panchenko is now a Perl author
For: https://github.com/Perl/perl5/pull/19298
Morgan'.
Committer: Ivan Panchenko is now a Perl author
For: https://github.com/Perl/perl5/pull/19298
Document and test command-line switch '-?'
Replace 'slave' with 'client'
This commit moves us a step forward on eliminating 'master/slave' terminology.
Its scope is limited to those files within the Perl 5 core distribution which
are not CPAN-upstream. Within that scope, we leave untouched the use of the
term 'slave' in epigraphs and other literary quotations and its use in data
coming from outside sources (e.g., Unicode code points).
Increment $VERSION in lib/perl5db.pl. Revisions per rjbs feedback.
For: https://github.com/Perl/perl5/pull/19227
This commit moves us a step forward on eliminating 'master/slave' terminology.
Its scope is limited to those files within the Perl 5 core distribution which
are not CPAN-upstream. Within that scope, we leave untouched the use of the
term 'slave' in epigraphs and other literary quotations and its use in data
coming from outside sources (e.g., Unicode code points).
Increment $VERSION in lib/perl5db.pl. Revisions per rjbs feedback.
For: https://github.com/Perl/perl5/pull/19227
sv_upgrade: c99 compound literals to initialize xpvav/xpvhv
For both the AV and HV cases, the new body is Zero()ed but then various
struct members are set to non-zero values. Now that we support parts of
c99, it seems more efficient to use compound literals to initailize the
struct members.
With gcc v8.3.0, the compiled function is smaller by 25 instructions.
sv.o is slightly smaller, but the final perl binary size is unchanged.
For both the AV and HV cases, the new body is Zero()ed but then various
struct members are set to non-zero values. Now that we support parts of
c99, it seems more efficient to use compound literals to initailize the
struct members.
With gcc v8.3.0, the compiled function is smaller by 25 instructions.
sv.o is slightly smaller, but the final perl binary size is unchanged.
sv_upgrade: remove redundant AvALLOC(sv) = 0
xav_alloc is a member of the xpvav struct. The instance modified
here would have been Zero()ed several lines previously, so both
sides of this if() branch should be no-ops.
With gcc 8.3.0 the compiled function is about 6 instructions smaller.
xav_alloc is a member of the xpvav struct. The instance modified
here would have been Zero()ed several lines previously, so both
sides of this if() branch should be no-ops.
With gcc 8.3.0 the compiled function is about 6 instructions smaller.
use is_deeply instead of eq_ Test::More functions
the eq_set, eq_hash, and eq_array functions in Test::More are
discouraged to use, and is_deeply is recommended. Ref:
https://metacpan.org/pod/Test::More#Discouraged-comparison-functions
The reason for this is that, if the tests fail, is_deeply has much
better diagnostics.
The other thing is that is_deeply is a test function directly, where
eq_hash and such need to be wrapped inside ok(). This is easy to forget
-- proof of this is in Benchmark.t, where we had this code, that did not
test anything:
eq_set([keys %$got], [qw(Foo Bar Baz)], 'should be exactly three objects');
It is now replaced by:
is_deeply([sort keys %$got], [sort qw(Foo Bar Baz)], 'should be exactly three objects');
this commit replaces all usage of eq_set, eq_hash, and eq_array in lib/
and ext/ for tests that use Test::More.
One small exception is where a negated test is used; Test::More does not
have is_not_deeply() or such. Test2 has `isnt()` for this, but that is
not in core. In those cases, we still keep using the eq_ operators.
the eq_set, eq_hash, and eq_array functions in Test::More are
discouraged to use, and is_deeply is recommended. Ref:
https://metacpan.org/pod/Test::More#Discouraged-comparison-functions
The reason for this is that, if the tests fail, is_deeply has much
better diagnostics.
The other thing is that is_deeply is a test function directly, where
eq_hash and such need to be wrapped inside ok(). This is easy to forget
-- proof of this is in Benchmark.t, where we had this code, that did not
test anything:
eq_set([keys %$got], [qw(Foo Bar Baz)], 'should be exactly three objects');
It is now replaced by:
is_deeply([sort keys %$got], [sort qw(Foo Bar Baz)], 'should be exactly three objects');
this commit replaces all usage of eq_set, eq_hash, and eq_array in lib/
and ext/ for tests that use Test::More.
One small exception is where a negated test is used; Test::More does not
have is_not_deeply() or such. Test2 has `isnt()` for this, but that is
not in core. In those cases, we still keep using the eq_ operators.
Add last-resort implementation for POSIX::FLT_ROUNDS.
POSIX::FLT_ROUNDS now emulates (more) standard behavior that
reflects the current rounding mode set by fesetround(),
even when compiled with GCC whose FLT_ROUNDS is wrongly fixed to 1.
Also add tests for this.
POSIX::FLT_ROUNDS now emulates (more) standard behavior that
reflects the current rounding mode set by fesetround(),
even when compiled with GCC whose FLT_ROUNDS is wrongly fixed to 1.
Also add tests for this.
POSIX: FLT_ROUNDS is now an XS function rather than a constant
POSIX::FLT_ROUNDS used to be an NV constant, but C FLT_ROUNDS is
actually an integer and not a constant (C99 seems to say that
it reflects the current rounding mode set by fesetround()).
POSIX::FLT_ROUNDS used to be an NV constant, but C FLT_ROUNDS is
actually an integer and not a constant (C99 seems to say that
it reflects the current rounding mode set by fesetround()).
Bump version number of ext/POSIX
Add option '-?' as a synonym to -h
-? is a common paradigm for finding the usage of a program. Prior to
this commit, doing so on perl would tell you it is illegal and suggest
-h. This commit allows someone using this paradigm to skip the second
step
-? is a common paradigm for finding the usage of a program. Prior to
this commit, doing so on perl would tell you it is illegal and suggest
-h. This commit allows someone using this paradigm to skip the second
step
Data-Dumper: Fixes for EBCDIC
This changes to properly calculate the control characters on EBCDIC
systems. There should be no change to ASCII doe.
Comments are updated and corrected to properly describe the EBCDIC
situation.
The tests change to use the character \xB6, as that means the same in
both character sets, and so works on both without special casing.
This changes to properly calculate the control characters on EBCDIC
systems. There should be no change to ASCII doe.
Comments are updated and corrected to properly describe the EBCDIC
situation.
The tests change to use the character \xB6, as that means the same in
both character sets, and so works on both without special casing.
Bumped Module-CoreList ready for 5.35.8
Bump the perl version in various places for 5.35.8
new perldelta for 5.35.8
recorded 5.35.7 release as done in the release schedule
Recorded epigraph for 5.35.7
Merge branch 'release-5.35.7' into blead
Added 5.35.7 to perlhist
Updated perldelta with changes to core modules
Update Module::CoreList for 5.35.7
added some entries to perldelta after trawling the git log
Updated dual-life modules for 5.35.7
perldelta entry for the fix for unbounded memory consumption for hashes
This is a fix for a bug introduced two months ago in v5.35.5.
This is a fix for a bug introduced two months ago in v5.35.5.