summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* sv.c: consistent spaces after dots in apidocsFather Chrysostomos2011-12-231-7/+9
|
* Update a perldiag entry for 5.16Father Chrysostomos2011-12-231-9/+8
| | | | | I’m not deleting it, as one may run error messages from an older perl through a newer splain.
* Don’t clobber all magic when clobbering vstringFather Chrysostomos2011-12-232-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This code in sv_setsv, introduced in ece467f9b3, can’t possi- bly be right: if ( SvVOK(dstr) ) { /* need to nuke the magic */ mg_free(dstr); } And here is a test to prove it: sub TIESCALAR { bless[]} sub STORE {} tie $@, ""; $@ = v0; warn tied $@; # main=ARRAY(0xc0ffee) $@ = 3; warn tied $@; # something’s wrong It blows away tiedness. You could do that to any variable. Let’s see: $! = v0; $! = 3; open foo, 'oentuhaeontu' or die $!; # 3 at - line 3. Youch! Let’s just free vstring magic, shall we?
* ver.t: require test.pl in a BEGIN blockFather Chrysostomos2011-12-231-1/+1
| | | | so that lazy people like me can omit parentheses.
* [perl #29070] Add vstring set-magicFather Chrysostomos2011-12-238-5/+35
| | | | | | | | | | | | Some operators, like pp_complement, assign their argument to TARG (which copies vstring magic), modify it in place, and then call set- magic. That’s supposed to work, but vstring magic was remaining as it was, such that ~v7 would still be treated as "v7" by vstring-aware code, even though the resulting string is not "\7". This commit adds vstring set-magic that checks to see whether the pv still matches the vstring. It cannot simply free the vstring magic, as that would prevent $x=v0 from working.
* regexp.h: remove completely redundant return statementÆvar Arnfjörð Bjarmason2011-12-231-1/+0
| | | | | | | | | | | | | | | | Remove a redundant return() statement at the end of the get_regex_charset_name function. The "default" case for the above switch statement will always return for us. This was added intentionally in v5.14.0-354-g0984e55 by Jim Cromie, but the rationale for doing so is that we might have a compiler bug here, but we're pretty screwed anyway if switch statements stop working as advertised by the standard so there's no reason to be defensive in this particular case. This is also causing a lot of whine from Sun Studio 12 Update 1: regexp.h", line 329: warning: statement not reached
* Sync Locale-Maketext version in Maintainers.pl with CPANChris 'BinGOs' Williams2011-12-231-1/+1
|
* Sync Exporter version in Maintainers.pl with CPANChris 'BinGOs' Williams2011-12-231-1/+1
|
* Move Tie-File out of cpan/ and into dist/Todd Rinaldo2011-12-2345-51/+59
| | | | | | | Tie::File has not been changed on CPAN since 2003. It has meanwhile been actively maintained in p5p. Signed-off-by: Chris 'BinGOs' Williams <chris@bingosnet.co.uk>
* Don’t double-free hint hash if copying diesFather Chrysostomos2011-12-232-4/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In this horrendous piece of code, the attempt to clone GvHV(PL_hintgv) in save_hints dies because the NEXTKEY method cannot be found. But that happens while GvHV(PL_hintgv) still points to the old value. So the old hash gets freed in the new scope (when it unwinds due to the error in trying to find NEXTKEY) and then gets freed in the outer scope, too, resulting in the dreaded ‘Attempt to free unrefer- enced scalar’. package namespace::clean::_TieHintHash; sub TIEHASH { bless[] } sub STORE { $_[0][0]{$_[1]} = $_[2] } sub FETCH { $_[0][0]{$_[1]} } sub FIRSTKEY { my $a = scalar keys %{$_[0][0]}; each %{$_[0][0]} } # Intentionally commented out: # sub NEXTKEY { each %{$_[0][0]} } package main; BEGIN { $^H{foo} = "bar"; # activate localisation magic tie( %^H, 'namespace::clean::_TieHintHash' ); # sabotage %^H $^H{foo} = "bar"; # create an element in the tied hash } { ; } # clone the tied hint hash The solution is to set GvHV(PL_hintgv) to NULL when copying it.
* Deparse: remove special casing for main stashFather Chrysostomos2011-12-231-3/+1
| | | | | This was to prevent infinite recursion, but the previous commit added a more general mechanism, rendering this redundant.
* [perl #91384] Deparse and stash circularitiesFather Chrysostomos2011-12-232-2/+12
| | | | | This commit modifies B::Deparse::stash_subs to keep track of which stashes it has seen, in order to avoid looping on circularities.
* Fix the calculation for development time so it doesn't come up with things ↵Dave Rolsky2011-12-231-12/+15
| | | | | | | | | | | | | | | like "2 months" between two dev releases There were a couple bugs ... First, we should just use the date of the two commits we're looking at rather than looking at all the commits in between and picking the earliest one. This can find _much_ earlier things that weren't merged until much later, which really throws the numbers off. Second, when calculating the number of weeks and months, we shouldn't use POSIX::ceil(), that rounds up 4.01 weeks to 5. Instead, I wrote a simple rounding function that does standard rounding.
* Port utils test to VMS.Craig A. Berry2011-12-231-3/+5
| | | | | The utilities from utils.lst end with a .com extension, and the pseudo-shebang line looks quite different.
* Increase $arybase::VERSION to 0.03Father Chrysostomos2011-12-221-1/+1
|
* Eek! I left some debug code in arybase.xsFather Chrysostomos2011-12-221-1/+0
|
* Deparse.pm: Uncomment version codeFather Chrysostomos2011-12-221-5/+3
|
* speed up feature-checking slightlyFather Chrysostomos2011-12-223-10/+17
| | | | | | When seeing whether the cop hint hash contains the given feature, Perl_feature_is_enabled only needs to see whether the hint hash ele- ment exists. It doesn’t need to turn it into a scalar.
* Deparse "a::]"->[0], etc., correctlyFather Chrysostomos2011-12-222-2/+9
| | | | | | | | The package name should not be omitted when the name begins with punc- tuation unless the variable is in the main package. "]"->[0] is force into the main package. "a::]"->[0] is not.
* Deparse "string"->[$expr] and ->{$expr} correctlyFather Chrysostomos2011-12-222-7/+26
| | | | | | This commit finishes the work done by b89b7257 and be6cf5cf0a by mak- ing "string"->[...] and "string"->{...} in general deparse correctly when "string" is not a valid identifier.
* Update Term-UI to CPAN version 0.30Chris 'BinGOs' Williams2011-12-227-91/+97
| | | | | | | | | | | | [DELTA] Changes for 0.30 Wed Dec 21 23:30:39 GMT 2011 ===================================================== * Resolve PAUSE indexer problems Changes for 0.28 Wed Dec 21 22:26:05 GMT 2011 ===================================================== * Apply Debian patches [rt.cpan.org #73400]
* Added porting tests for CUSTOMIZED filesChris 'BinGOs' Williams2011-12-223-0/+160
| | | | | | | | | | | In Porting/Maintainers.pl CUSTOMIZED is a list of files that have been customized within the Perl core. These tests make SHA digests of the customized files and do a comparison previously stored digests to ensure that customization is not lost when updating from upstream. Update MANIFEST with the customized files Add --regen ability to porting/customized.t and some documentation
* Correct the Pod used to block comment a section of git log output.Nicholas Clark2011-12-221-1/+3
| | | | | | | | | Commit 31940c077ae95db7 added some git log output. To avoid the need to re-indent it, it was "commented out" using Pod. However, the Pod used was buggy. It used a =for, when it should have used a =begin/=end pair. Without this, Pod renderers display the "comment" as if it is part of the documentation, which isn't desired.
* Add t/porting/utils.t, to test that utility scripts still compile.Nicholas Clark2011-12-223-1/+94
| | | | | | | | | | Right now, without this, it's possible to pass the all the regression tests even if one has introduced syntax errors into scripts such as installperl or installman. No tests fail, so it's fair game to push the commit. Obviously this breaks installing perl, but we won't spot this. Whilst we can't easily test that the various scripts *work*, we can at least check that we've not made any trivial screw ups.
* corelist-perldelta.pl now requires Algorithm::Diff instead of using it.Nicholas Clark2011-12-221-1/+1
| | | | | | | | This way ./perl -Ilib -c Porting/corelist-perldelta.pl can be used to syntax check it. corelist-perldelta.pl was not importing symbols from Algorithm::Diff, so there are no changes in runtime behaviour.
* Porting/cherrymaint now requires LWP::UserAgent instead of using it.Nicholas Clark2011-12-221-1/+1
| | | | | | | This way ./perl -Ilib -c Porting/cherrymaint can be used to syntax check it. cherrymaint was not importing symbols from LWP::UserAgent, so there are no changes in runtime behaviour.
* Porting/checkURL.pl now requires rather than uses all non-core modules.Nicholas Clark2011-12-221-11/+11
| | | | | | | | | This way ./perl -Ilib -c Porting/checkURL.pl can be used to syntax check it. Only File::Slurp and URI::Find::Simple were actually relying on C<use> to import subroutines - replace the two uses with fully qualified names. All other packages are needed for object constructors, not imports, so there is no change in loading them with C<require>.
* Update CPANPLUS to CPAN version 0.9115Chris 'BinGOs' Williams2011-12-219-8/+25
| | | | | | | | | [DELTA] Changes for 0.9115 Tue Dec 20 21:10:24 2011 ================================================ * Added new config option 'allow_unknown_prereqs' to resolve issues with 0.9114 release
* Copy hints from tied hh to inner compile scopesFather Chrysostomos2011-12-212-8/+27
| | | | | | | | | | | | | | Entries from a tied %^H were not being copied to inner compile-time scopes, resulting in %^H appearing empty in BEGIN blocks, even though the underlying he chain *was* being propagated properly (so (caller)[10] at run time still worked. I was surprised that, in writing tests for this, I produced another crash. I thought I had fixed them with 95cf23680 and 7ef9d42ce. It turns out that pp_helem doesn’t support hashes with null values. (That’s a separate bug that needs fixing, since the XS API allows for them.) For now, cloning the hh properly stops pp_helem from getting a null value.
* regen pod issuesFather Chrysostomos2011-12-211-3/+2
|
* podcheck.t: skip make-rmg-checklistFather Chrysostomos2011-12-211-0/+1
|
* Fix pod errors in rmgFather Chrysostomos2011-12-211-4/+0
|
* Add Porting/make_rmg-checklist to MANIFESTFather Chrysostomos2011-12-211-0/+1
|
* Deparse "string"->[0] correctlyFather Chrysostomos2011-12-212-12/+34
| | | | | | | | "foo"->[0] and $foo[0] compile down to the same thing. B::Deparse was assuming that an rv2gv with a gv kid would have to be $foo[0] syntax, so it didn’t take things like '!@T#$'->[0] into account. This commit only fixes aelemfast. It is related to b89b7257.
* We don't care about "Pragma" vs. "Pragmata"Florian Ragwitz2011-12-211-4/+5
|
* Fail if one if the sections we want isn't thereFlorian Ragwitz2011-12-211-2/+3
|
* Add mention of what we want changed on dev.perl.orgDave Rolsky2011-12-211-1/+4
| | | | | Also mention that the site is in github and the release manager can do the edit him or herself if they want to.
* Tweak RMG headings to make the generated checklist more usefulDave Rolsky2011-12-211-29/+29
|
* Show --html flag for make-rmg-checklistDave Rolsky2011-12-211-0/+3
|
* No need for empty =for checklist elementDave Rolsky2011-12-211-2/+0
|
* Add a section on making a checklistDave Rolsky2011-12-211-0/+13
|
* Lots of improvements for the checklist generatorDave Rolsky2011-12-211-21/+55
| | | | | - Include the original RMG in the generated document - Generate pod or HTML - no need for Markdent
* Add a script to generate a release checklist from the RMGDave Rolsky2011-12-212-9/+139
|
* Porting/podtidy can pass 'columns' to Pod::Tidy::tidy_files().Nicholas Clark2011-12-211-4/+2
| | | | Pod::Tidy 0.10 added this. It's cleaner than setting $Text::Wrap::columns.
* Sync Maintainers.pl with CPAN for Module-CoreListChris 'BinGOs' Williams2011-12-211-1/+1
|
* In installman, move the call to File::Find::find() to the top level.Nicholas Clark2011-12-211-43/+36
| | | | | | | | The code to recursively scan a directory with File::File::find() is now only used by one caller of podset(), so move it to the call point, reducing the amount of conditional code within podset(). The first argument to podset() is now always a reference to a hash of "work to be done". Add an optional fourth argument to give the directory name for diagnostics.
* Lazier instructions for removing stale perldeltas for 5.x.0-RC0Nicholas Clark2011-12-211-4/+4
| | | | | The previous instructions were unaware that most of what they describe is already automated.
* Merge the refactoring that abolishes pod.lst to blead.Nicholas Clark2011-12-2112-370/+124
|\
| * Re-order entries in the 'master' array returned by get_pod_metadata().Nicholas Clark2011-12-213-11/+11
| | | | | | | | Now it returns just the pod's name, its filename, and the flags (if any).
| * Prune unused entries from the 'master' array returned by get_pod_metadata().Nicholas Clark2011-12-211-6/+5
| | | | | | | | | | | | | | | | | | | | | | The description is only used to generate MANIFEST entries now from 'readmes' and 'pods'. now that perl.pod is the master and is no longer generated from pod.lst The leafname/podname distinction is only used by is_duplicate_pod(), so can be replaced by simple flag, 'dual'. Replace the now-unused entries with undef to preserve the indices.