summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* fix typo in perldeltaRicardo Signes2014-01-071-1/+1
|
* correct release date for v5.18.2Ricardo Signes2014-01-071-2/+2
|
* Update META filesv5.18.2Ricardo Signes2014-01-061-1/+1
|
* disarm the release candidate markerRicardo Signes2014-01-061-1/+0
|
* add haarg to AUTHORSv5.18.2-RC4Ricardo Signes2013-12-211-0/+1
|
* skip RC tags when checking versions diffsGraham Knop2013-12-211-2/+8
|
* bump to RC4Ricardo Signes2013-12-211-1/+1
|
* remove a now-fixed podcheck known problemRicardo Signes2013-12-211-1/+0
|
* perldelta for the rest of the changes since RC3Ricardo Signes2013-12-211-0/+42
|
* update CoreList for B::Concise updateRicardo Signes2013-12-211-0/+1
|
* bump version on B::ConciseRicardo Signes2013-12-211-1/+1
|
* Update README copyright to 2013Smylers2013-12-211-2/+2
| | | | | | For RT #119625. (cherry picked from commit a271a376b9ff839eed6d1db3181e47e01d846591)
* update the super quick patch guideRicardo Signes2013-12-211-186/+173
| | | | | | This is an import of the blead perlhack.pod from blead, with changes made by Smylers <Smylers@stripey.com> and detailed in [perl #119599].
* Restore perlrepository.pod in stub formSmylers2013-12-214-0/+24
| | | | | | | | | | | | | | Give Perl doc sites a sane ‘latest’ version to display, directing readers to current information, rather than showing the Perl 5.12 version in perpetuity. And help anybody typing man perlrepository find where the docs have moved to. Suggested by Father Chrysostomos in: http://www.nntp.perl.org/group/perl.perl5.porters/2013/09/msg207079.html (cherry picked from commit 5edbc4ffd619bf985c0d95ab3981022eea5bcc99)
* Fix segfault in filehandle duplicationLeon Timmermans2013-12-211-1/+1
| | | | | | | | Previously PerlIOBase_dup didn't check if pushing the new layer succeeded before (optionally) setting the utf8 flag. This could cause segfaults-by-nullpointer. (cherry picked from commit df8c7dee25da69fc88678b8949166e08fb686037)
* Fix buffer overflow with overlong identifiersFather Chrysostomos2013-12-212-2/+10
| | | | | | | | | | | | | | | | This was introduced by commit 32833930e32dc in 5.17.10. $ ./perl -Ilib -e Foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo Identifier too long at -e line 1. Segmentation fault: 11 (That was an amusing use of macro parentheses for the while condition, at least while it lasted.) (cherry picked from commit eaaaaa32882752f15fc0db1c73a1adbe34b49642) Conflicts: t/comp/parser.t
* Don’t assume targs are contiguous for ‘my $x; my $y’Father Chrysostomos2013-12-211-1/+1
| | | | | | | | | | | | | | | In commit 18c931a3, the padrange optimisation was prevented from mak- ing this assumption for ‘my ($x,$y)’, but the assumption was still there in the code that combines multiple statements into one. This would lead to assertion failures (or, as of ce0d59f, crashes under non-debugging builds) if a keyword plugin declined to handle the second ‘my’, but only after creating a padop. This fixes a regression from 5.16 affecting Devel::CallParser under threaded builds. (cherry picked from commit 7601007bbbe673d3791a2d77c692a0c377835430)
* Unbreak Concise glob outputFather Chrysostomos2013-12-212-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | $ ./perl -MO=Concise -Ilib -le '; print <\n>' 8 <@> leave[1 ref] vKP/REFC ->(end) 1 <0> enter ->2 2 <;> nextstate(main 23 -e:1) v:{ ->3 7 <@> print vK ->8 3 <0> pushmark s ->4 6 <@> glob[t2] lK/1 ->7 - <0> ex-pushmark s ->4 4 <$> const[PV "\n"] s ->5 Can't locate object method "NAME" via package "B::SPECIAL" at lib/B/Concise.pm line 707. CHECK failed--call queue aborted. e88567f2acf38fe5ed90a88569b808e82cd3eca1 is the first bad commit commit e88567f2acf38fe5ed90a88569b808e82cd3eca1 Author: Father Chrysostomos <sprout@cpan.org> Date: Sun Nov 4 20:18:51 2012 -0800 Stop the glob operator from leaking GVs It was adding GVs to the symbol table (via newGVgen), so they would never be freed, even after the op was freed, unless done so explicitly. There is no reason for these GVs to be exposed. That means $gv->STASH returns a B::SPECIAL. B::Concise was not pre- pared to handle that. (cherry picked from commit 7b696247e72c0b92f1fcee2a830851021827aa4b)
* Backport Module-CoreList changes for v5.19.7 for sanityChris 'BinGOs' Williams2013-12-212-0/+127
|
* update patchlevel to RC3v5.18.2-RC3Ricardo Signes2013-12-191-1/+1
|
* update tentative release date in corelistRicardo Signes2013-12-191-1/+1
|
* update tentative release date in perlhistRicardo Signes2013-12-191-1/+1
|
* perldelta for 18ca6dc3Ricardo Signes2013-12-191-0/+6
|
* Unbreak -bareword under strict+integerFather Chrysostomos2013-12-192-2/+9
| | | | | | | | | | | Commit 077da62ff9 was not supposed to change behaviour, but only remove logic rendered unnecessary two commits earlier in 1c2b3fd6f10. But the special stricture exception for negation was in the same func- tion (S_op_integerize) which applied it to OP_NEGATE, but now needed to apply it to OP_I_NEGATE, too. (cherry picked from commit fcbc518d7ac7875b7f443e72caf15fd07ab023a6)
* add perldelta for 947ba0fRicardo Signes2013-12-191-0/+6
|
* PATCH: [perl #120799] 5.18 regression with [:^ascii] and \x80-\xFFKarl Williamson2013-12-192-0/+10
| | | | | | | | | | | | | | | Posix classes generally match different sets of characters under /d rules than otherwise. This isn't true for [:ascii:], but the handling for it is shared with the others, so it needs to use the same mechanism to deal with that. I forgot this in commit bb9ee97444732c84b33c2f2432aa28e52e4651dc which created this regression. Our tests for this only use regexes with a single element, and an optimization added in 5.18 causes this bug to be bypassed. These tests should be enhanced to force both code paths, but not for this commit, which should be suitable for a maintenance release. (cherry picked from commit 46c10357a881cd92500e4ade81cbc8813e49e2cb)
* perldelta for cherry pick of 257dc59v5.18.2-RC2Ricardo Signes2013-12-061-0/+6
|
* update versions and dates for a second 5.18.2 RCRicardo Signes2013-12-063-3/+3
|
* [perl #120694] Fix ->SUPER::foo and AUTOLOADFather Chrysostomos2013-12-062-2/+24
| | | | | | | | | | | | | | | | | | Commit aae438050a20 (5.17.4) broke ->SUPER::foo with AUTOLOAD by look- ing up AUTOLOAD from the current package, rather than the current package’s superclass. Instead of keeping track of whether it was doing a SUPER lookup via a ::SUPER prefix on the package name, that commit changed method lookup to pass a GV_SUPER flag around (to fix another bug) and to pass the current stash, rather than __PACKAGE__::SUPER. But it did not update gv_autoload_pvn to pass that flag through to gv_fetchmeth_pvn when actually looking up the method. (cherry picked from commit 257dc59d7b864a6cf0ccc9179de1f3f0a797f4e0) Conflicts: t/op/method.t
* arm the "this is RC1" alertv5.18.2-RC1Ricardo Signes2013-12-022-1/+2
|
* corelist: push back 5.18.2 release dateRicardo Signes2013-12-011-1/+1
|
* push back 5.18.2 release dateRicardo Signes2013-12-011-1/+1
|
* update perldelta for File::Glob version bumpRicardo Signes2013-11-301-0/+4
|
* bump File::Glob version for 5.18.2Ricardo Signes2013-11-302-1/+2
|
* Fix ext/File-Glob/t/threads.t filenames for VMS.Craig A. Berry2013-11-301-1/+1
| | | | | | | | | | | As noted in http://www.nntp.perl.org/group/perl.perl5.porters/2013/09/msg208134.html zero-length extensions always get a trailing dot on VMS, and the easiest workaround is to always use an explicit extension. (cherry picked from commit 43ed1b742e2b7be9184e1fb35c0f68d15b87feed)
* File::Glob: Dup glob state in CLONE()Brian Fraser2013-11-303-0/+105
| | | | | | | | | | | | | This solves [perl #119897] and [perl #117823], and restores the behavior of glob() in conjunction with threads of 5.14 and older. Since 5.16, code that used glob() inside a thread had been unintentionally sharing state between threads, which lead to things like this crashing and failing assertions: ./perl -Ilib -Mthreads -e 'scalar glob("*"); threads->create(sub { glob("*") })->join();' (cherry picked from commit facf34ef484d62d15b2da11ee03d01942a22ff15)
* [perl #114864] Make UNIVERSAL::DESTROY changes invalidate cachesFather Chrysostomos2013-11-303-2/+24
| | | | | | | | | | | Commit 8c34e50d inadvertently caused DESTROY caches not to be reset when UNIVERSAL::DESTROY changes. Normally, a change to a method will cause mro_method_changed_in to be called on all subclasses, but mro.c cheats for UNIVERSAL and just does ++PL_sub_generation. So clearing the DESTROY cache explicitly in mro_method_changed_in is clearly not enough. (cherry picked from commit c716b3beb77406159d18fd52251821fee641f9fc)
* reparse compile-time /(?{})/ in right scopeDavid Mitchell2013-11-302-1/+47
| | | | | | | | | | | | | | | | | When a compile-time regex like /...(?{ code-block }) .../ is compiled in the presence of constant and concat overloading, this can cause (still at compile-time) for the pattern to be evaled and re-compiled, in order to re-compile any code-blocks that got messed up during the overloading and thus whose text no longer matches that which the perl parser previously compiled. When this happens, eval_sv() happens to be called when the perl parser is still in compiling state; normally its called from running state. This tickles an undiscovered bug in Perl_find_runcv_where(), which finds the current cop sequence by looking at PL_curcop->cop_seq. At compile time, we need to get it from PL_cop_seqmax instead. (cherry picked from commit c3923c33af542d8764d5a1e4eb5d7b311f443b89)
* PATCH [perl #119713] Regex \8 and \9 after literals no longer workKarl Williamson2013-11-272-1/+29
| | | | | | | | Commit 726ee55d introduced a regression that has been fixed in blead by commit f1e1b256. However the later commit changed some buggy behavior into errors instead of warnings, and so is contraindicated in a maintenance release. This current commit attempts to fix the regression without changing other behavior. It includes the pat.t tests from f1e1b256.
* add tentative 5.18.2 release dateRicardo Signes2013-11-271-0/+1
|
* For SDBM_File, stop EU::MM from generating its default subdirs rule.Nicholas Clark2013-11-221-0/+6
| | | | | | | | The default subdirs rule creates a race condition with the rule that Makefile.PL explicitly adds to generate libsdbm.a, which can cause parallel makes to fail. Signed-off-by: Chris 'BinGOs' Williams <chris@bingosnet.co.uk>
* remove 5.19.7 tentative entries from corelistRicardo Signes2013-11-212-25/+0
|
* add new CoreList tests to manifestRicardo Signes2013-11-201-0/+1
|
* add the v5.18.2 changes to Module::CoreListRicardo Signes2013-11-203-4/+29
|
* import Module-CoreList from bleadRicardo Signes2013-11-207-413/+1074
|
* update perldelta for 5.18.2Ricardo Signes2013-11-201-323/+25
|
* bump version to v5.18.2Ricardo Signes2013-11-2022-127/+127
|
* English.pm: update perl version where perf fixedDavid Mitchell2013-11-191-3/+3
| | | | | | | | It still said that the performance of $`, $&, $' was fixed in 5.18. Update that to 5.20, since COW wasn't enabled by default in 5.18. Conflicts: lib/English.pm
* Disable new //p testsDavid Mitchell2013-11-191-1/+2
| | | | | | | | | | | | | | | | | | | The previous commit fixed a regression in 5.18.0: my $pat = qr/a/; 'aaaa' =~ /$pat/gp or die; print "MATCH=[${^MATCH}]\n"; which printed 'a' in 5.16.0, and undef in 5.18.0. 5.18.0 only broke the /g behaviour; the non-/g variant was already broken and the previous commit didn't fix that for maint. The new tests are testing for the non-/g variant, which still fail, so disable these tests. (Getting it to capture under non-/g works in 5.19.2 due to a major reorganisation of the pp_match/pp_subst/regexec() code, which isn't suitable for backporting to maint-5.18.)
* RT #118213: handle $r=qr/.../; /$r/p properlyDavid Mitchell2013-11-193-22/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (cherry-picked from 5b0e71e9d506. Some of the new tests are unsuitable for 5.18.x and fail with this commit; they'll be disabled in the next commit) In the case where a qr// regex is directly used by PMOP (rather than being interpolated with some other stuff and a new regex created, such as /a$r/p), then the PMf_KEEPCOPY flag will be set on the PMOP, but the corresponding RXf_PMf_KEEPCOPY flag *won't* be set on the regex. Since most of the regex handling for copying the string and extracting out ${^PREMATCH} etc is done based on the RXf_PMf_KEEPCOPY flag in the regex, this is a bit of a problem. Prior to 5.18.0 this wasn't so noticeable, since various other bugs around //p handling meant that ${$PREMATCH} etc often accidentally got set anyway. 5.18.0 fixed these bugs, and so as a side-effect, exposed the PMOP verses regex flag issue. In particular, this stopped working in 5.18.0: my $pat = qr/a/; 'aaaa' =~ /$pat/gp or die; print "MATCH=[${^MATCH}]\n"; (prints 'a' in 5.16.0, undef in 5.18.0). The presence /g caused the engine to copy the string anyway by luck. We can't just set the RXf_PMf_KEEPCOPY flag on the regex if we see the PMf_KEEPCOPY flag on the PMOP, otherwise stuff like this will be wrong: $r = qr/..../; /$r/p; # set RXf_PMf_KEEPCOPY on $r /$r/; # does a /p match by mistake Since for 5.19.x onwards COW is enabled by default (and cheap copies are always made regardless of /p), then this fix is mainly for PERL_NO_COW builds and for backporting to 5.18.x. (Although it still applies to strings that can't be COWed for whatever reason). Since we can't set a flag in the rx, we fix this by: 1) when calling the regex engine (which may attempt to copy part or all of the capture string), make sure we pass REXEC_COPY_STR, but neither of REXEC_COPY_SKIP_PRE, REXEC_COPY_SKIP_POST when we call regexec() from pp_match or pp_subst when the corresponding PMOP has PMf_KEEPCOPY set. 2) in Perl_reg_numbered_buff_fetch() etc, check for PMf_KEEPCOPY in PL_curpm as well as for RXf_PMf_KEEPCOPY in the current rx before deciding whether to process ${^PREMATCH} etc. As well as adding new tests to t/re/reg_pmod.t, I also changed the string to be matched against from being '12...' to '012...', to ensure that the lengths of ${^PREMATCH}, ${^MATCH}, ${^POSTMATCH} would all be different.