| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
[DELTA]
2.12 16/10/2016 (KHW && JKEENAN)
- Fix pod in bin/ptar
- Distinguish between archives with/without directory entries
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Most ops that execute a regex, such as match and subst, are of type PMOP.
A PMOP allows the actual regex to be attached directly to that op, due
to its extra fields.
OP_SPLIT is different; it is just a plain LISTOP, but it always has an
OP_PUSHRE as its first child, which *is* a PMOP and which has the regex
attached.
At runtime, pp_pushre()'s only job is to push itself (i.e. the current
PL_op) onto the stack. Later pp_split() pops this to get access to the
regex it wants to execute.
This is a bit unpleasant, because we're pushing an OP* onto the stack,
which is supposed to be an array of SV*'s. As a bit of a hack, on
DEBUGGING builds we push a PVLV with the PL_op address embedded instead,
but this still isn't very satisfactory.
Now that regexes are first-class SVs, we could push a REGEXP onto the
stack rather than PL_op. However, there is an optimisation of @array =
split which eliminates the assign and embeds the array's GV/padix directly
in the PUSHRE op. So split still needs access to that op. But the pushre
op will always be splitop->op_first anyway, so one possibility is to just
skip executing the pushre altogether, and make pp_split just directly
access op_first instead to get the regex and @array info.
But if we're doing that, then why not just go the full hog and make
OP_SPLIT into a PMOP, and eliminate the OP_PUSHRE op entirely: with the
data that was spread across the two ops now combined into just the one
split op.
That is exactly what this commit does.
For a simple compile-time pattern like split(/foo/, $s, 1), the optree
looks like:
before:
<@> split[t2] lK
</> pushre(/"foo"/) s/RTIME
<0> padsv[$s:1,2] s
<$> const(IV 1) s
after:
</> split(/"foo"/)[t2] lK/RTIME
<0> padsv[$s:1,2] s
<$> const[IV 1] s
while for a run-time expression like split(/$pat/, $s, 1),
before:
<@> split[t3] lK
</> pushre() sK/RTIME
<|> regcomp(other->8) sK
<0> padsv[$pat:2,3] s
<0> padsv[$s:1,3] s
<$> const(IV 1)s
after:
</> split()[t3] lK/RTIME
<|> regcomp(other->8) sK
<0> padsv[$pat:2,3] s
<0> padsv[$s:1,3] s
<$> const[IV 1] s
This makes the code faster and simpler.
At the same time, two new private flags have been added for OP_SPLIT -
OPpSPLIT_ASSIGN and OPpSPLIT_LEX - which make it explicit that the
assign op has been optimised away, and if so, whether the array is
lexical.
Also, deparsing of split has been improved, to the extent that
perl TEST -deparse op/split.t
now passes.
Also, a couple of panic messages in pp_split() have been replaced with
asserts().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[DELTA]
podlators 4.08 (2016-09-24)
[Pod::Man] Partially revert change in 4.00 to require the name option
(--name to pod2man) when generating man pages from standard input.
Historically, pod2man silently tolerated this, and there turned out to
be a lot of software that depended on this, making the change too
disruptive. Instead, silently set the man page title to STDIN in this
case, but warn about it in the documentation. (#117990)
[Pod::Man] Fix rendering bug for "TRUE (1)", which was recognized as
needing small caps and then erroneously as a man page reference,
resulting in escaped nroff. (Found by Dan Jacobson with the
XML::LibXML::Element man page.) (Debian Bug#836831)
[Pod::Man] Fix rendering bug causing "\s0(1)" to be mistakenly marked
as a man page reference, later confusing backslash escaping.
[Pod::Man] Add new lquote and rquote options (and corresponding
--lquote and --rquote flags to pod2man) to set the left and right
quotes for C<> text independently. (#103298)
Remove test for nested L<> markup, since an upcoming version of
Pod::Simple will drop support for this. (#114075)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[DELTA]
0.068 2016-09-23 16:10:03-04:00 America/New_York
- No changes from 0.067-TRIAL.
0.067 2016-09-14 11:43:14-04:00 America/New_York (TRIAL RELEASE)
[FIXED]
- Includes redirect history when issuing a 599 internal error.
0.065 2016-09-09 22:42:43-04:00 America/New_York (TRIAL RELEASE)
[TESTS]
- Try harder to clean up environment in t/140_proxy.t (needed for VMS)
|
| |
|
| |
|
|
|
|
| |
This includes changes that supersede the blead customization.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
While the localization earlier in the test *should* leave the
relevent %ENV entries in a good state for the final test, for
some reason this is not happening on VMS. It may have something
to do with the fact that %ENV has all upper case keys but the
test has previously localized both upper and lower case versions.
In any case, even though it isn't this test's fault, the easiest
and safest way to get it passing is to just do another clean-up.
Awaiting upstream application at:
https://github.com/chansen/p5-http-tiny/pull/95
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[DELTA]
7.24 Sat Aug 20 13:22:28 BST 2016
No changes since 7.23_01
7.23_01 Fri Aug 19 10:02:30 BST 2016
Test fixes:
- always use the core serializers when testing in core
|
| |
|
|
|
|
|
|
|
|
|
| |
cpan/CPAN-Meta/Lib/CPAN/Meta.pm was being very naughty when it came to being
the target of 'git am'. As committer, I extracted the diff for that file from
the patch supplied by the author and attempted to apply it via 'git apply'.
Still no luck. Hence, I manually edited the source file.
For: RT #128987
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
into this distribution)
2.150010 2016-08-18 12:10:08-04:00 America/New_York
[FIXED]
- the YAML and JSON backend variables are ignored when building/testing the
perl core itself, where non-core backends are not yet installed.
[CHANGED]
- Added "use warnings" to Parse::CPAN::Meta
2.150009 2016-07-02 21:07:49-04:00 America/New_York (TRIAL RELEASE)
[FIXED]
- Fixed used of Encode in Parse::CPAN::Meta::load_json_string
(Cherry picked from Parse::CPAN::Meta 1.4422)
2.150008 2016-06-28 17:01:03-04:00 America/New_York (TRIAL RELEASE)
[ADDED]
- Merged Parse::CPAN::Meta 1.4420 into this distribution
2.150007 2016-06-28 03:48:16-04:00 America/New_York (TRIAL RELEASE)
[FIXED]
- The cloning routine would raise an error on expected types when it
previously would stringify. The old behavior is restored.
2.150006 2016-06-23 20:05:46-04:00 America/New_York (TRIAL RELEASE)
[FIXED]
- CPAN::Meta::Prereqs now fully accepts phases and types starting with 'x_'.
New 'phases' and 'types_in' interfaces have been added.
- No longer relies on JSON backend for data structure cloning. This is
much faster than using JSON::PP.
[TESTS]
- The 'extra_mappings' feature for meta merging is now tested and
documented.
- During tests, delete new environment variables added by
Parse::CPAN::Meta 1.4418
[SPEC]
- Clarifies acceptable values for booleans
- Cleaned up text and links of historical specs.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts a portion of commit
0f33e03c7e91f63bcd07b5ddfc00101715fa1fc0 which introduces some security
holes in checking for UTF-8 malformations. In particular, it allows
overflow in non-strict mode, and overlongs in either mode.
See discussion at https://github.com/dankogai/p5-encode/issues/64
This reversion is to make sure that we don't release even a development
version with known security holes. A final disposition is still to be
determined
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This incorporates all current blead customizations.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Failures on Win32/MSVC++ when dropped into core are:
not ok 3 - got expected output in STDOUT
# Failed test 'got expected output in STDOUT'
# at t/02_module_pod_output.t line 40.
# undef
# doesn't match '(?^:Look up Perl documentation)'
not ok 7 - got expected output in STDERR
# Failed test 'got expected output in STDERR'
# at t/02_module_pod_output.t line 73.
# ''perl' is not recognized as an internal or external command
,
# operable program or batch file.
# '
# doesn't match '(?^:No documentation)'
|
| |
|
|
|
|
|
| |
This retains the customizations to Byte/Makefile.PL, encoding.pm and
various test scripts that have not yet been assimilated.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
[DELTA]
2.10 27/07/2016 (TONYC)
- CVE-2016-1238: avoid loading optional modules from default .
|
|
|
|
|
|
|
|
|
|
| |
[DELTA]
0.96 Thu Jul 28 11:17:12 BST 2016
Bug fixes:
* Require Module::Load::Conditional 0.66 to resolve
CVE-2016-1238: avoid loading optional modules from default .
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[DELTA]
7.22 Mon Aug 8 09:29:02 BST 2016
No changes since 7.21_01
7.21_01 Sun Aug 7 10:37:53 BST 2016
Bug fixes:
- CVE-2016-1238: instmodsh sanitise @INC
7.20 Fri Aug 5 09:39:56 BST 2016
No changes since 7.19_08
7.19_08 Thu Jul 28 12:31:13 BST 2016
Bug fixes:
- CVE-2016-1238: avoid loading VMS::Feature from the default .
7.19_07 Sun Jul 3 15:11:40 BST 2016
Bug fixes:
- Restore ordering issue involving OTHERLDFLAGS
7.19_06 Mon Jun 27 12:32:06 BST 2016
Test fixes:
- Skip subdirscomplex test on VMS
7.19_05 Mon Jun 20 15:21:52 BST 2016
Doc fixes:
- fix typos and add subdirs text to MakeMaker.pm
7.19_04 Tue Jun 14 11:16:19 BST 2016
Bug fixes:
- prevent EUMM::Locale from warning with old Win32.pm
Doc fixes:
- added examples for running tests in subdirs
7.19_03 Mon Jun 13 14:22:46 BST 2016
Bug fixes:
- Fix test warnings in MM_Unix.pm when in core
7.19_02 Mon Jun 13 09:57:37 BST 2016
Bug fixes:
- Check for ascii locale using normalized name
7.19_01 Thu Jun 2 14:26:20 BST 2016
Bug fixes:
- Cygwin: avoid libperl.dll.dll.a
- Fix basic.t tests on Win32 in core
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
[DELTA]
0.68 Fri Jul 29 08:01:12 BST 2016
* Fix unconditional @INC localisation
|
|
|
|
|
|
|
|
| |
[DELTA]
0.66 Wed Jul 27 08:22:53 BST 2016
* Add FORCE_SAFE_INC option to fix CVE-2016-1238
|
| |
|
| |
|
|
|
|
|
|
| |
I tried to follow the numbering convention of the module,
bumping every module if the versions are synchronized, bumping
just the primary module if not.
|
|
|
|
|
|
|
| |
While currently Encode and Storable are know to attempt to load modules
not included in the core, updates to other modules may lead to those
also attempting to load new modules, so be safe and remove . for those
as well.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Its default mode became a no-op in recent commits, because
${^ENCODING} stopped doing anything.
Also, fix/delete/skip tests that fail as a result.
|
|
|
|
| |
${^ENCODING} is disabled and tests are modified to account.
|