| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Encountered as an attempt to reference "2" from mis-typed
parameter type.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
7.70 Sun 26 Mar 14:13:20 BST 2023
No changes since v7.69_01
7.69_01 Sat 25 Mar 11:06:19 GMT 2023
Core reversions:
- Reverted the PERL_CORE and PERL_SRC changes from v7.67_02
These will be reintroduced after more testing in core
7.68 Tue 14 Mar 21:38:00 GMT 2023
No changes since v7.67_02
7.67_02 Mon 6 Mar 10:53:22 GMT 2023
Core fixes:
- initialize PERL_CORE object var early and use it consistently
- only search for PERL_SRC when PERL_CORE is true or unset
Clean-ups:
- remove use vars from non-bundled modules
- remove unused _find_magic_vstring function
7.67_01 Wed 1 Mar 12:38:00 GMT 2023
Bug fixes:
- Treat MidnightBSD as a BSD
- fix MIN_PERL_VERSION for perl versions with underscores
Test fixes:
- t/.../More.pm - remove isn't: apostrophe as a package sep is deprecated
|
|
|
|
|
|
|
|
|
|
| |
and t/TEST
Also that we test everything expected in MANIFEST.
Also includes some fixups to t/TEST to deal with the fact
that List/Util is not anymore the name of a distribution
even though it is the name of an extension. Same for Cwd.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We were bundling something that claimed to be 3.14 but which was not.
This removes the customization info and sync with a rereleased 3.15
which is the same as the actual 3.14 but with a version bump to keep
cmp_version.t happy.
This is the change log 3.15 and 3.14:
3.15 2023-03-20
- Release for updating bleadperl to avoid cmp_version.t trouble. No code
changes.
3.14 2022-05-22
- Remove broken link in Net::FTP manpage. [Mike Blackwell]
- Fix EBCDIC detection. [Karl Williamson, PR#45]
- Fix non-deterministic output in libnet.cfg. [Sergei Trofimovich, PR#44]
- Fix TLS session reuse for dataconn with TLS 1.3 when using passive mode.
[Steffen Ullrich, PR#41]
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This defines a new magic hash C<%{^HOOK}> which is intended to be used for
hooking keywords. It is similar to %SIG in that the values it contains
are validated on set, and it is not allowed to store something in
C<%{^HOOK}> that isn't supposed to be there. Hooks are expected to be
coderefs (people can use currying if they really want to put an object
in there, the API is deliberately simple.)
The C<%{^HOOK}> hash is documented to have keys of the form
"${keyword}__${phase}" where $phase is either "before" or "after"
and in this initial release two hooks are supported,
"require__before" and "require__after":
The C<require__before> hook is called before require is executed,
including any @INC hooks that might be fired. It is called with the path
of the file being required, just as would be stored in %INC. The hook
may alter the filename by writing to $_[0] and it may return a coderef
to be executed *after* the require has completed, otherwise the return
is ignored. This coderef is also called with the path of the file which
was required, and it will be called regardless as to whether the require
(or its dependencies) die during execution. This mechanism makes it
trivial and safe to share state between the initial hook and the coderef
it returns.
The C<require__after> hook is similar to the C<require__before> hook
however except that it is called after the require completes
(successfully or not), and its return is ignored always.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The function SAVEDESTRUCTOR_X() (save_destructor_x) can be used to
execute a C function at the end of the current psuedo-block. Prior to
this patch there was no "mortal" equivalent that would execute at the
end of the current statement. We offer a collection of functions which
are intended to free SV's at either point in time, but only support
callbacks at the end of the current pseudo-block.
This patch adds two such functions, "mortal_destructor_sv" which can be
used to trigger a perl code reference to execute at the end of the
current statement, and "mortal_svfunc_x" which can be used to trigger an
SVFUNC_t C function at the end of the current statement.
Both functions differ from save_destructor_x() in that instead of
supporting a void pointer argument they both require their argument to
be some sort of SV pointer. The Perl callback function triggered by
"mortal_destructor_sv" may be provided no arguments, a single argument
or a list of arguments, depending on the type of argument provided to
mortal_destructor_sv(): when the argument is a raw AV (with no SV ref
wrapping it), then the contents of the AV are passed in as a list of
arguments. When the argument is anything else but NULL, the argument is
provided as a single argument, and when it is NULL the perl function is
called with no arguments.
Both functions are implemented on top of a mortal SV (unseen by the
user) which has PERL_MAGIC_destruct magic associated with it, which
triggers the destructor behavior when the SV is freed.
Both functions are provided with macros to match the normal SAVExx()
API, with MORTALDESTRUCTOR_SV() wrapping mortal_destructor_sv() and
MORTALSVFUNC_X() wrapping mortal_svfunc_x().
The heart of this logic cribbed from Leon Timmermans' Variable-OnDestruct.
See the code at:
https://metacpan.org/dist/Variable-OnDestruct/source/lib/Variable/OnDestruct.xs#L6-17
I am very grateful to him for his help on this. Any errors or omissions
in this code are my fault, not his.
|
|
|
|
|
| |
I want to use these modules in other tests, so changing the name
makes sense.
|
|
|
|
| |
Makefile.PL taken from if 0.0608
|
|
|
|
|
| |
The CPAN dist uses Module::Install, so the Makefile.PL is rewritten to
use standard ExtUtils::MakeMaker.
|
|
|
|
|
|
| |
1.302193 2023-03-06 09:38:00-08:00 America/Los_Angeles
- Deprecate isn't()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch ensures that all files in a common sub-directory or
preferably sub-directory pair will have their descriptions "indented"
to the same level. Eg, all files in cpan/Foo should have the
description line up.
I did some analysis and something like 95% of our files are less than
40 characters. So short files mostly have their descriptions start
on column 40, with the caveat that if they are in a subdirectory
This also changes the sort order so files at the top level of the
repo, which are mostly C files, are sorted together, and not with
things in cpan/ dist/ or ext/, which are grouped separately.
It has been pointed out that the format for MANIFEST differs from
that used by ExtUtils::Manifest, and that maybe we should migrate.
That would allow us to use normal spaces as separators instead of tabs,
and be more fine grained about how we line up the files. IMO this
is a good idea, but out of scope for this patch.
This patch includes an application of the new logic to MANIFEST.
|
|
|
|
|
| |
For some reason the description for 'cpan/podlators/t/data/basic.cap'
was duplicated. This deletes the duplicated text.
|
|
|
|
|
|
|
|
|
|
|
| |
The MANIFEST file was not updated very artfully in older versions of the
sync script, and the porting tests took so long I bailed out of them
without letting the Maintainers.pl file get updated. Since there is no
test that the Maintainers.pl file is up to date (yet) I didn't notice
that doing so leaves the Maintainers.pl out of date.
The Porting/sync-with-cpan script has been updated to be nicer and
faster and avoid these problems in the future. See previous commit.
|
|
|
|
|
| |
Minor changes to the Makefile.PL to point at the github repo for perl,
and cleaned trailing whitespace from Changes file.
|
|
|
|
|
|
|
| |
Minor changes to Makefile.PL: whitespace, INSTALLDIRS, and added a
require 5.006 as the module uses 'our', and removed some logic that is
thus redundant for building on perl versions earlier than 5.006. Also
changed license from 'perl' to 'perl_5'
|
|
|
|
|
|
|
|
| |
Minor tweaks to Makefile.PL to reflect that the file require 5.006,
so no need to do anything special for 5.005. Also fixed the LICENSE
field to be 'perl_5' and not 'perl'.
I did whitespace cleanup on Changes at the same time.
|
|
|
|
| |
Tweaked license to be 'perl_5' and not 'perl'.
|
| |
|
|
|
|
|
|
| |
Add Changes, Makefile.PL and examples directory.
Fixes this module for https://github.com/Perl/perl5/issues/20874
|
| |
|
|
|
|
|
|
| |
Adds Changes, Makefile.PL, and examples/semaphore.pl
Fixes this module for https://github.com/Perl/perl5/issues/20874
|
|
|
|
|
|
| |
Fixes https://github.com/Perl/perl5/issues/20874 for this module
Tweaked Makefile.PL to set the license to 'perl_5' and not 'perl'
|
|
|
|
|
|
| |
This fixes this module for https://github.com/Perl/perl5/issues/20874
Tweaked Makefile.PL to set the LICENSE to 'perl_5' and not 'perl'
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a Makefile.PL for Attribute-Handlers in core so that it can be
maintained properly. This avoids the need for an external repo to
maintain these extra files.
Taken from Attribute-Handlers-0.99, with the following modifications:
- install in site, not perl
- Fix license, and don't try to handle ancient perl or EUMM versions
- update metadata URLs
- no indexing demo directory
|
|
|
|
|
|
|
|
| |
Fixes this module for https://github.com/Perl/perl5/issues/20874
Note the Makefile.PL was tweaked a bit to install into the right place
depending on version, and with an added comment. There are some very
old perls listed here.
|
|
|
|
|
|
|
| |
For some reason the CPAN module is not properly indexed. It is
https://metacpan.org/release/SBURKE/I18N-LangTags-0.35.
This fixes this module for https://github.com/Perl/perl5/issues/20874
|
|
|
|
|
|
|
|
| |
Files copied from https://github.com/rurban/Net-Ping
with minor changes made to point at the perl5 repo as we are upstream,
also changed the INSTALLDIRS rule to make the other files.
This fixes the module for https://github.com/Perl/perl5/issues/20874
|
|
|
|
| |
Fixes https://github.com/Perl/perl5/issues/20874 for this module
|
|
|
|
| |
By always including `ppport.h`, this simplifies both XS code and tooling around it.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
From Changes:
- Fix the name of the extra_paired_delimiters feature (previously
mis-documented as extra_paired_delims)
- Added "stable.pm", which acts like experimental.pm only for features which
have been marked non-experimental in their current form, in later version of
perl.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Previously you could use seekdir/readdir on Windows to examine
the memory space of the process until this triggered SIGSEGV.
Adds a new test file t/win32/seekdir.t
[Note: patch fixup and squash by Yves]
|
|
|
|
|
|
|
|
|
| |
* perlclass.pod: Document field initialising expressions and :param attribute
* perlclass.pod: Add a TODO section to explain what more is to be added
* Added pod/perlclassguts.pod which contains internal implementation notes and
details about how the class system works.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds a new experimental warning, feature, keywords and enough parsing to
implement basic classes with an empty `new` constructor method.
Inject a $self lexical into method bodies; populate it with the object instance, suitably shifted
Creates a new OP_METHSTART opcode to perform method setup
Define an aux flag to remark which stashes are classes
Basic implementation of fields.
Basic anonymous methods.
|
|
|
|
| |
Fixes sync discrepancies with CPAN
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The ACCEPT logic didnt know how to handle WHILEM, which for
some reason does not have a next_off defined. I am not sure why.
This was revealed by forcing CURLYX optimisations off. This includes
a patch to test what happens if we embed an eval group in the tests
run by regexp.t when run via regexp_normal.t, which disabled CURLYX ->
CURLYN and CURLYM optimisations and revealed this issue.
This adds t/re/regexp_normal.t which test "normalized" forms of
the patterns in t/re/re_tests by munging them in various ways
to see if they still behave as expected. For instance injecting
a (?{}) can disable optimisations.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
EVAL was calling regcppush twice per invocation, once before executing the
callback, and once after. But not regcppop'ing twice. So each time we
would accumulate an extra "frame" of data. This is/was hidden somewhat by
the way we eventually "blow" the stack, so the extra data was just thrown
away at the end.
This removes the second set of pushes so that the save stack stays a stable
size as it unwinds from each failed eval.
We also weren't cleaning up after a (?{...}) when we failed to match to its
right. This unwinds the stack and restores the parens properly.
This adds tests to check how the save stack grows during patterns using
(?{ ... }) and (??{ ... }) and ensure that when we backtrack and re-execute
the EVAL again it cleans up the stack as it goes.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We were not handling gaps in the sequence properly, and effectively
showing the wrong flag names or missing the last flag. Now we die if there
are any collisions or if any of the PREGf defines set more than one bit.
This also adds some crude tests to validate that intflags serialization is
working properly.
Note, extflags handles more complex scenarios and seems to handle this
gracefully already, hence the reason I haven't touched it as well.
This also tweaks a comment in lexical_debug.t which part of this was
cribbed from.
|
|
|
|
|
|
|
|
|
|
| |
We were only handling "synthetic start classes", not ones that are in
the program itself, because those dont have an entry in the data array.
So after copying the program after ruling out that the regstclass is
synthetic we can assume that if its non-null it points into the program
itself, and simply set it up the copy accordingly.
Fixes https://github.com/Perl/perl5/issues/9373
|