Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Bump version to 5.33.6 | Max Maischein | 2020-12-20 | 1 | -1/+1 | |
| | ||||||
* | Bump version to 5.33.5 | Tom Hukins | 2020-11-20 | 1 | -1/+1 | |
| | ||||||
* | Bump version to 5.33.4 | Steve Hay | 2020-10-20 | 1 | -1/+1 | |
| | ||||||
* | Bump the perl version in various places for 5.33.3 | Sawyer X | 2020-09-21 | 1 | -1/+1 | |
| | ||||||
* | Bump the perl version in various places for 5.33.2 | Karen Etheridge | 2020-08-20 | 1 | -1/+1 | |
| | ||||||
* | Re-run Porting/makemeta | James E Keenan | 2020-07-17 | 1 | -1/+1 | |
| | | | | | | | | | | | | | | | | | | | | | | When I was running 'make test_porting', I got a failure in porting/regen.t. $ cd t;./perl harness -v porting/regen.t; cd - ok 1 - generated perly.act is up to date ... ok - regen/feature.pl feature.h not ok - Porting/makemeta META.json 'META.json-new' and 'META.json' differ ok - Porting/makemeta META.yml Failed 1/45 subtests Test Summary Report ------------------- porting/regen.t (Wstat: 0 Tests: 45 Failed: 1) Failed test: 44 This was alleviated by re-running: ./perl -Ilib Porting/makemeta, which brought the content of META.json up-to-date. | |||||
* | Bump the perl version in various paces for 5.33.1 | Sawyer X | 2020-07-17 | 1 | -1/+1 | |
| | ||||||
* | Bump to 5.33.0 | Sawyer X | 2020-06-28 | 1 | -2/+2 | |
| | ||||||
* | Update meta | Sawyer X | 2020-06-08 | 1 | -1/+1 | |
| | ||||||
* | Update META filesv5.32.0-RC1 | Sawyer X | 2020-06-07 | 1 | -1/+1 | |
| | ||||||
* | disarmed META.json | Sawyer X | 2020-05-30 | 1 | -1/+1 | |
| | ||||||
* | Update META files | Sawyer X | 2020-05-30 | 1 | -1/+1 | |
| | ||||||
* | Update META | Sawyer X | 2020-05-30 | 1 | -1/+1 | |
| | ||||||
* | Bump perl version in various places for 5.32.0 | Sawyer X | 2020-05-30 | 1 | -1/+1 | |
| | ||||||
* | Bump the perl version in various places for 5.31.12 | Sawyer X | 2020-04-29 | 1 | -1/+1 | |
| | ||||||
* | Bump back to 5.31.11, if we need to release it | Sawyer X | 2020-04-09 | 1 | -2/+2 | |
| | ||||||
* | Setting version to RC0 | Sawyer X | 2020-03-21 | 1 | -1/+1 | |
| | ||||||
* | Bump version to 5.32.0 | Sawyer X | 2020-03-21 | 1 | -2/+2 | |
| | ||||||
* | Bump the perl version in various places for 5.31.10 | reneeb | 2020-02-21 | 1 | -1/+1 | |
| | ||||||
* | Make it possible to remove a closed IO::Socket handle from IO::Select. | Todd Rinaldo | 2020-02-04 | 1 | -0/+1 | |
| | | | | Fixes #17447 | |||||
* | Bump the perl version in various places for 5.31.9 | Matthew Horsfall | 2020-01-20 | 1 | -1/+1 | |
| | ||||||
* | Loading IO is now threadsafe, avoiding the core bug reported as GH #14816. | Nicholas Clark | 2020-01-19 | 1 | -0/+1 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Re-implement getline() and getlines() as XS code. The underlying problem that we're trying to solve here is making getline() and getlines() in IO::Handle respect the open pragma. That bug was first addressed in Sept 2011 by commit 986a805c4b258067: Make IO::Handle::getline(s) respect the open pragma However, that fix introduced a more subtle bug, hence this reworking. Including the entirety of the rest of that commit message because it explains both the bug the previous approach: See <https://rt.cpan.org/Ticket/Display.html?id=66474>. Also, this came up in <https://rt.perl.org/rt3/Ticket/Display.html?id=92728>. The <> operator, when reading from the magic ARGV handle, automatic- ally opens the next file. Layers set by the lexical open pragma are applied, if they are in scope at the point where <> is used. This works almost all the time, because the common convention is: use open ":utf8"; while(<>) { ... } IO::Handle’s getline and getlines methods are Perl subroutines that call <> themselves. But that happens within the scope of IO/Handle.pm, so the caller’s I/O layer settings are ignored. That means that these two expressions are not equivalent within in a ‘use open’ scope: <> *ARGV->getline The latter will open the next file with no layers applied. This commit solves that by putting PL_check hooks in place in IO::Handle before compiling the getline and getlines subroutines. Those hooks cause every state op (nextstate, or dbstate under the debugger) to have a custom pp function that saves the previous value of PL_curcop, calls the default pp function, and then restores PL_curcop. That means that getline and getlines run with the caller’s compile- time hints. Another way to see it is that getline and getlines’s own lexical hints are never activated. (A state op carries all the lexical pragmata. Every statement has one. When any op executes, it’s ‘pp’ function is called. pp_nextstate and pp_dbstate both set PL_curcop to the op itself. Any code that checks hints looks at PL_curcop, which contains the current run-time hints.) The problem with this approach is that the (current) design and implementation of PL_check hooks is actually not threadsafe. There's one array (as a global), which is used by all interpreters in the process. But as the code added to IO.xs demonstrates, realistically it needs to be possible to change the hook just for this interpreter. GH #14816 has a fix for that bug for blead. However, it will be tricky (to impossible) to backport to earlier perl versions. Hence it's also worthwhile to change IO.xs to use a different approach to solve the original bug. As described above, the bug is fixed by having the readline OP (that implements getline() and getlines()) see the caller's lexical state, not their "own". Unlike Perl subroutines, XS subroutines don't have any lexical hints of their own. getline() and getlines() are very simple, mostly parameter checking, ending with a one line that maps to a single core OP, whose values are directly returned. Hence "all" we need to do re-implement the Perl code as XS. This might look easy, but turns out to be trickier than expected. There isn't any API to be called for the OP in question, pp_readline(). The body of the OP inspects interpreter state, it directly calls pp_rv2gv() which also inspects state, and then it tail calls Perl_do_readline(), which inspects state. The easiest approach seems to be to set up enough state, and then call pp_readline() directly. This leaves us very tightly coupled to the internals, but so do all other approaches to try to tackle this bug. The current implementation of PL_check (and possibly other arrays) still needs to be addressed. | |||||
* | Bump the perl version in various places for 5.31.8 | Nicolas R | 2019-12-20 | 1 | -1/+1 | |
| | ||||||
* | Regenerate META: | Sawyer X | 2019-11-25 | 1 | -0/+1 | |
| | | | | | | Regenerate the META by calling: make regen_meta | |||||
* | Bump the perl version in various places for 5.31.7 | Chris 'BinGOs' Williams | 2019-11-20 | 1 | -1/+1 | |
| | ||||||
* | Update documentation, comments, metadata to reference GitHub as canonical ↵ | Dan Book | 2019-10-20 | 1 | -2/+2 | |
| | | | | | | | | | | | | | | | | repository (#1186) * Update repository and bugtracker URLs to GitHub in makemeta regen META files * Update POD and comments to reference GitHub as canonical repository * Update Porting/corelist.pl to recognize GitHub issue tracker * remove "A note on camel and dromedary" * Remove redundant 'Committing your changes' section | |||||
* | Bump version to 5.31.6 | Steve Hay | 2019-10-20 | 1 | -1/+1 | |
| | | | | (includes regen/opcode.pl) | |||||
* | Update URLs in META.* to https:// | Max Maischein | 2019-10-11 | 1 | -3/+3 | |
| | ||||||
* | Bump Version from 5.31.4 to 5.31.5 in various places | Max Maischein | 2019-09-21 | 1 | -1/+1 | |
| | ||||||
* | Bump version to 5.31.4 and update Module::Corelist | Tom Hukins | 2019-08-20 | 1 | -1/+1 | |
| | ||||||
* | Bump version to 5.31.3 | Steve Hay | 2019-07-20 | 1 | -1/+1 | |
| | ||||||
* | Update META.json following JSON::PP update | Steve Hay | 2019-07-04 | 1 | -1/+1 | |
| | ||||||
* | bump version to 5.31.2 | Karen Etheridge | 2019-06-20 | 1 | -1/+1 | |
| | ||||||
* | Bump the perl version in various places for 5.31.1 | Sawyer X | 2019-05-25 | 1 | -1/+1 | |
| | ||||||
* | Bump the perl version in various places for 5.31.0 | Sawyer X | 2019-05-22 | 1 | -2/+2 | |
| | ||||||
* | Update META | Sawyer X | 2019-05-17 | 1 | -1/+1 | |
| | ||||||
* | Update META filesv5.30.0-RC2 | Sawyer X | 2019-05-17 | 1 | -1/+1 | |
| | ||||||
* | Regen for some reason | Sawyer X | 2019-05-12 | 1 | -1/+1 | |
| | ||||||
* | Update META files | Sawyer X | 2019-05-11 | 1 | -1/+1 | |
| | ||||||
* | Bump the perl version in various places for 5.30.0 | Sawyer X | 2019-05-10 | 1 | -2/+2 | |
| | ||||||
* | Bump the perl version in various places for 5.29.10 | Zak B. Elep | 2019-03-21 | 1 | -1/+1 | |
| | ||||||
* | upgrade cpan/JSON-PP from 4.00 to 4.02 | David Mitchell | 2019-02-23 | 1 | -1/+1 | |
| | | | | | | | | | 4.02 2019-02-23 - fix a test that breaks if perl is compiled with -Dquadmath (RT-128589) 4.01 2019-02-22 - allow to pass indent_length to json_pp (GH#46) | |||||
* | Bump the perl version in various places for 5.29.9 | Nicolas R | 2019-02-20 | 1 | -1/+1 | |
| | ||||||
* | Update JSON-PP to CPAN version 4.00 | Nicolas R | 2019-02-14 | 1 | -1/+1 | |
| | | | | | | | | | | | | | | | | | | | [DELTA] 4.00 2018-12-07 - production release 3.99_01 2018-12-03 - BACKWARD INCOMPATIBILITY: As JSON::XS 4.0 changed its policy and enabled allow_nonref by default, JSON::PP also enabled allow_nonref by default - implement allow_tags that was introduced by JSON::XS 3.0 - add boolean_values that was introduced by JSON::XS 4.0 - allow literal tags in strings in relaxed mode, as JSON::XS 3.02 does - allow PERL_JSON_PP_USE_B environmental variable to restore old number detection behavior for compatibility - various doc updates | |||||
* | Bump the perl version in various places for 5.29.8 | Abigail | 2019-01-20 | 1 | -1/+1 | |
| | ||||||
* | Bump the perl version in various places for 5.29.7 | Abigail | 2018-12-18 | 1 | -1/+1 | |
| | ||||||
* | Bump the perl version in various places for 5.29.6 | Karen Etheridge | 2018-11-20 | 1 | -1/+1 | |
| | ||||||
* | Bump the Perl version for 5.29.5 | Aaron Crane | 2018-10-20 | 1 | -1/+1 | |
| | ||||||
* | bumping versions to 5.29.4 | John SJ Anderson | 2018-09-20 | 1 | -1/+1 | |
| | ||||||
* | Bump the perl version in various places for 5.29.3 | Chris 'BinGOs' Williams | 2018-08-20 | 1 | -1/+1 | |
| |