summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Test (im)mutability of constants and constant-like subsFather Chrysostomos2013-07-252-2/+72
| | | | including many to-do tests
* Test !0 and !1 immutability and singletonnessFather Chrysostomos2013-07-251-1/+16
| | | | The latter (for bug #114838) is a to-do test under ithreads.
* Test that literal numbers and strings are read-onlyFather Chrysostomos2013-07-251-1/+23
| | | | | including ${\3}, which currently fails under ithreads (and is hence a to-do test).
* To-do tests for perl #78194Father Chrysostomos2013-07-259-8/+69
| | | | | plus a regular (not to-do) test for an lvalue sub case that already works properly.
* ref.t: To-do test for retvals of folded opsFather Chrysostomos2013-07-251-1/+10
|
* sub.t: To-do test for recursive shared-hash-keys TARGsFather Chrysostomos2013-07-251-1/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is only buggy under ithreads. sub a { for (${\""}.${\""}) { $_ = $_[0] || __PACKAGE__; print "$_\n"; a("road") unless $_[0]; print "$_\n"; } } a(); The outer call sets the scalar returned by ${\""}.${\""} to the cur- rent package name. The inner call sets it to "road". Each call prints it twice, the outer call surrounding the inner call. The output in 5.10-5.18 is: main road road road because the inner call is clobbering the same scalar. If __PACKAGE__ is changed to "main", it works, and prints main road road main (as the script above also prints in 5.8.8).
* perldelta for d7d11da6a3Tony Cook2013-07-261-0/+7
|
* [perl #39739] Exporter::Heavy ignores custom $SIG{__WARN__} handlersTony Cook2013-07-264-1/+46
|\
| * bump $Exporter::VERSION (and hence $Exporter::Heavy::VERSION)Tony Cook2013-07-261-1/+1
| |
| * [perl #39739] Exporter::Heavy ignores custom $SIG{__WARN__} handlersTony Cook2013-07-262-1/+6
| |
| * [perl #39739] TODO test for Exporter respecting warning handlersTony Cook2013-07-262-0/+40
|/
* let Porting/cmpVERSION.pl know Exporter was moved to dist/Tony Cook2013-07-261-1/+1
|
* Update ExtUtils-MakeMaker to CPAN version 6.72Chris 'BinGOs' Williams2013-07-2430-29/+36
| | | | | | | | | | | [DELTA] 6.72 Wed Jul 24 18:38:19 BST 2013 No changes from 6.71_01 6.71_01 Wed Jul 24 09:31:07 BST 2013 Bug Fixes: * Resolved more regressions in parse_version code
* Update Module-CoreList MANIFEST to include Utils.pmChris 'BinGOs' Williams2013-07-242-0/+8
|
* perlopentut: Fit verbatim lines into 79 columnsKarl Williamson2013-07-241-4/+6
|
* perlvar.pod: add a separate section on $& et alDavid Mitchell2013-07-241-28/+58
| | | | | | | | | | Add a new separate section explaining the performance issues of $`, $& and $'; plus descriptions of the various workarounds like @-, /p and COW, and which perl version they were each introduced in. Then in the entries for each individual var, strip out any commentary about performance, and just include a link to the new performance section.
* English.pm: update perl version where perf fixedDavid Mitchell2013-07-241-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.
* Update ExtUtils-MakeMaker to CPAN version 6.70Chris 'BinGOs' Williams2013-07-2472-450/+599
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [DELTA] 6.70 Tue Jul 23 21:55:23 BST 2013 No changes from 6.69_09 6.69_09 Sun Jul 21 09:22:40 BST 2013 Bug Fixes: * RT#86976 Fix version parsing bug introduced in 6.69_05 Part Deux :) 6.69_08 Wed Jul 17 00:36:28 BST 2013 Bug Fixes: * RT#86976 Fix version parsing bug introduced in 6.69_05 6.69_07 Tue Jul 16 15:32:25 BST 2013 New features: * RT#4550 report the file created after make dist Bug Fixes: * RT#66113 strip control characters from ABSTRACT * RT#20662 Don't check for config.h if it doesn't exist 6.69_06 Fri Jul 12 14:49:32 BST 2013 Bug Fixes: * RT#64163 clean_subdirs infinite loop if subdir already gone * RT#79348 doesn't support miniperl in installation paths Doc Fixes: * Fix META_MERGE example * RT#31053 Mention configure_requires in PREREQ_FATAL documentation * RT#14680 Document TEST_FILES usage with 'make test' * RT#21285 Document 'make veryclean' 6.69_05 Thu Jul 11 22:10:10 BST 2013 Bug Fixes: * Resolve RT#9452 regression with parse_version() (Victor Efimov) * RT#28632 use LD and OPTIMIZE in recursive Makefile.PL invocations (Niko Tyni) 6.69_04 Wed Jul 10 11:48:22 BST 2013 Cygwin Fixes: * Revert RT#54703 and apply patch from RT#69401 to resolve /cygdrive issues (Reini Urban) 6.69_03 Tue Jul 9 22:39:54 BST 2013 Bug Fixes: * RT#61419 Avoid invisible interactive question when rebuilding Makefile (Slaven Rezic) * VERSION also now really handles v-strings correctly. Cygwin Fixes: * RT#54703 - Don't hardcode /cygdrive (Jerry Hedden) Misc: * Install into site when 5.12 or above 6.69_02 Tue Jul 2 13:12:51 BST 2013 Bug Fixes: * [RT#86609] VERSION_FROM now handles v-strings correctly. * VERSION also now handles v-strings correctly. Misc: * Updated bundled CPAN::Meta and removed Version::Requirements 6.69_01 Thu Jun 20 12:49:45 BST 2013 Win32 Fixes: * resolve regression on Win32 introduced in 6.67_01 (bingos)
* Merge work automating generation of lib/.gitignore and lib/ subdir cleanup.Nicholas Clark2013-07-2411-352/+520
|\ | | | | | | This makes no changes to any installed code.
| * Generate the lib/ cleanup rules in the Win32 Makefiles from MANIFEST.Nicholas Clark2013-07-244-23/+65
| |
| * Generate the lib/ cleanup rules in Makefile.SH automatically from MANIFEST.Nicholas Clark2013-07-243-35/+70
| |
| * Re-order clean-up rules to give a line for regen/lib_cleanup.pl to key off.Nicholas Clark2013-07-243-6/+6
| | | | | | | | | | The Win32 line C<-del /f *.def *.map> and the start of the Unix line C<rm -f so_locations> are unlikely to change.
| * Remove the EXTUTILSDIR macro from the Win32 makefiles.Nicholas Clark2013-07-242-2/+0
| | | | | | | | | | It hasn't been used since commit e3160748789c8366 in Sept 2009 eliminated the XSUBPP macro.
| * Delete obsolete clean rules from Makefile.SHNicholas Clark2013-07-241-5/+0
| | | | | | | | | | Rules to clean lib/ExtUtils/CBuilder/t and lib/ExtUtils/ParseXS/t haven't been needed since the modules were moved to cpan/ and dist/
| * Move process() from Porting/pod_rules.pl to Porting/pod_lib.plNicholas Clark2013-07-242-29/+72
| | | | | | | | And document it.
| * Some tidying of Porting/pod_rules.plNicholas Clark2013-07-241-17/+18
| | | | | | | | | | | | | | | | Iterate over the files in sorted order, instead of hash iteration order. This means that in TAP mode test failures will have consistent numbers. Provide a description for the first test when outputting TAP. Use clearer variable names in process(), and avoid using // as this code will soon be exposed to pre-5.10
| * Extract the main processing loop of Porting/pod_rules/pl into process().Nicholas Clark2013-07-241-14/+16
| |
| * Move verify_contiguous() from Porting/pod_rules.pl to Porting/pod_lib.plNicholas Clark2013-07-242-10/+42
| | | | | | | | And document it.
| * Refactor the use of verify_contiguous() in pod_rules.plNicholas Clark2013-07-241-13/+14
| | | | | | | | | | | | | | Move the substitution from the callers in into verify_contiguous(). Pass in a regex object for the substitution. Return the modified file contents from verify_contiguous(). Load Carp when verify_contiguous() is called, instead of at compile time.
| * Remove 3 redundant lines from .gitignoreNicholas Clark2013-07-241-3/+0
| | | | | | | | These test files are no longer generated in directories beneath lib/
| * Generate lib/.gitignore from MANIFEST.Nicholas Clark2013-07-243-173/+170
| | | | | | | | | | | | | | | | | | | | It's possible to programmatically determine almost all the files and directories which will be created in lib/ by building the extensions. Hence add a new script regen/lib_cleanup.pl to do this. This saves having to manually update lib/.gitignore to reflect changes in the build products of extensions, which has become a small but reoccurring instance of scut-work.
| * On failure, regen_lib.pl now generates diagnostics, not just "not ok".Nicholas Clark2013-07-241-2/+33
| | | | | | | | | | We have to stop using File::Compare's compare(), as it doesn't return diagnostics about what went wrong.
| * Move all the "special case" build products from lib/.gitignore to .gitignoreNicholas Clark2013-07-242-18/+22
| | | | | | | | | | These are all the build products that we can't programmatically infer will be generated from extensions in ext, dist and cpan.
| * Make .gitignore and lib/.gitignore more consistent.Nicholas Clark2013-07-242-64/+64
| | | | | | | | | | | | | | | | | | | | | | | | Move the ignore of lib/App/, lib/mro.pm, lib/TAP/, lib/Test/Harness.pm, lib/File/DosGlob.pm, lib/inc/, Win32.pm, Win32API/ and Win32Core.pm from .gitignore to lib/.gitignore, where they more logically belong. Consistently use trailing / for ignored directories. Add a leading / to the ignore of unicore/TestProp.pl (The line was added by commit 3df51b85ce4a5664 in Nov 2009, and it's not clear why it did not have a leading / from the start.) Re-sort lib/.gitignore lexically.
| * Prune some .gitignore files.Nicholas Clark2013-07-242-10/+0
|/ | | | | | | | | | Class::ISA was removed by 3df51b85ce4a5664 in April 2010. Module::Pluggable was removed by commit 482cac4d574f8c6c in May 2013. Module/Build/ConfigData.pm was moved from lib/ to cpan/ by commit 0b93a7997e668a67 in Nov 2009. Pod::Plainer was removed by commit afbe215fcafe7a92 in April 2010. Shell was removed by commit a1e75797c204ade8 in June 2011. Switch was removed by commit 75108aefc8b50fcf in April 2010.
* perldelta for ea382fac4c7Tony Cook2013-07-241-0/+7
| | | | | The versioning for dist/bignum was a little confused, hopefully I've unconfused it
* [perl #118995] Fix bigrat's $MBI configurationTony Cook2013-07-245-5/+6
|\
| * [perl #118955] bump $bignum::VERSION to 0.36Tony Cook2013-07-245-5/+5
| | | | | | | | | | set all other modules in dist/bignum to 0.36 too, the CPAN dist has them all at the same version
| * Initialize BigInt's $MBI correctly with "use bigrat lib => '...'".Nathan Trapuzzano2013-07-241-0/+1
|/
* Refactor t/porting/regen.t to check everything (and the return values!).Nicholas Clark2013-07-242-22/+42
| | | | | | | | | | | | | | Previously it was fire-and-forget for the 3 programs it ran (and for the programs that regen.pl ran). Now we die if any program fails to return 0. Also regen.t had an explicit list of programs to test. It turned out that it was not testing regen/mk_invlists.pl. Now regen.t has a skip list of what not to test, and everything not skipped it tested. This way any new additions will not get missed. This was implemented by refactoring regen.pl to read the list of programs it runs from <DATA>, so that regen.t can open regen.pl to extract the same list.
* Syntax check regen/uconfig_h.pl using t/porting/utils.tNicholas Clark2013-07-241-1/+6
| | | | | | | | | | | | | | | | | | | | | It's the only regen script that we can't run as part of the tests (because it requires a Unix shell), but can syntax check (because it only uses core modules). In theory we could make it skip with --tap if $Config{sh} is not what we expect, but to be robust this looks to be a problem. Firstly, $Config{sh} can be undef, or something "non-Unix". To be useful a whitelist needs to be (at least) (?:/usr)?/bin/sh, and potentially also ksh. But the output is not valid TAP: $ ./perl -Ilib regen/uconfig_h.pl --tap Extracting uconfig.h-new (with variable substitutions) ok - regen/uconfig_h.pl uconfig.h and t/TEST would choke, so we'd need to capture it or otherwise comment out that "Extracting" line which just adds both complexity and fragility. So the right trade off appears to be just to syntax check it.
* Missed this when updating Module-BuildChris 'BinGOs' Williams2013-07-241-1/+1
|
* perldelta for ab5c89ab2Tony Cook2013-07-241-0/+7
|
* [perl #118907] Do not call DESTROY on empty objects with STORABLE_attachTony Cook2013-07-244-35/+128
|\ | | | | | | | | avoids creating temporary objects for STORABLE_attach when they aren't needed.
| * [perl #118907] bump $Storable::VERSIONTony Cook2013-07-241-1/+1
| |
| * [perl #118907] fix some issues with patchTony Cook2013-07-242-2/+3
| |
| * Restore Storable speed after previous fix.Vladimir Timofeev2013-07-241-35/+76
| | | | | | | | | | | | Pull out getting stash by name from macro BLESS and SEEN. So results of gv_stashpv may be reused by calling side. This allow to not evaluate same things twice in retrieve_hook.
| * Do not call DESTROY for empty objectsVladimir Timofeev2013-07-242-4/+55
|/ | | | | | | | | | | | | | | | | | | Before this fix, deserialization process for object with STORABLE_attach hook looks like: 1. create SV of needed type 2. lookup classname 3. bless SV to class 4. lookup for STORABLE_attach 5. destroy SV 6. return result of STORABLE_attach call As a result DESTROY method of target class was called with empty, not initialized object. This behaviour very bad especially for non hash-based XS objects. Fix it, by move blessing temprorary SV after STORABLE_attach hook check. This commit slowdown deserialization of other objects (with STORABLE_thaw hook). It will be fixed later.
* [perl #118923] Add some edge cases to join.tTony Cook2013-07-242-1/+22
|\
| * join() with an empty list and undef separator may not warn in the futureTony Cook2013-07-241-0/+3
| | | | | | | | but keep the test to avoid it changing by accident