summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix EXPORT_OK list in Hash::Utilbaserock/richardipsum/fix-hash-util-export-bugRichard Ipsum2015-08-201-0/+1
| | | | Export lock_hashref_recurse and unlock_hashref_recurse
* Add new release to perlhistv5.23.1Matthew Horsfall2015-07-201-0/+1
|
* Finalize perldelta for 5.23.1Matthew Horsfall2015-07-201-43/+73
|
* Update Module::CoreList for 5.23.1Matthew Horsfall2015-07-202-2/+57
|
* RMG: Note that Porting/cmpVERSION.pl requires -Ilib to runMatthew Horsfall2015-07-201-1/+1
|
* Update INSTALL versions for 5.23.1Matthew Horsfall2015-07-201-2/+2
|
* Initial perldelta updates for 5.23.1Matthew Horsfall2015-07-201-228/+3
|
* Update File::Path entry in Porting/Maintainers.plSteve Hay2015-07-201-5/+0
| | | | t/pod.t no longer exists on CPAN, and the MAP is no longer required
* Make README.md a common IGNORABLE fileSteve Hay2015-07-201-7/+1
|
* bump $DynaLoader::VERSION to 1.33Tony Cook2015-07-201-1/+1
|
* Replace reference to newXSUB with newXS.Matthew Horsfall (alh)2015-07-201-1/+1
| | | | newXSUB hasn't been around for a long time
* factor out an %ENV assignment from make_ext.plDaniel Dragan2015-07-201-1/+1
| | | | | | | | nytprof using full (not mini) Win32 perl reported 44 calls on line "$ENV{PERL_CORE} = 1;" at 623 us spent on line for make_ext.pl --dynamic Move the env var setting out from build_extension() to before the foreach loop starts.
* Fix test that fails with new warny File::PathChris 'BinGOs' Williams2015-07-191-1/+1
|
* Update File-Path to CPAN version 2.11Chris 'BinGOs' Williams2015-07-193-207/+578
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [DELTA] 2.11 2015-07-17 - Change argument check error from croak to carp since there are some dependent modules using non-standard options. The error check will move back to croak when dependent modules have the opportunity to correct the argument. 2.10_005 2015-07-17 - Better argument checking and reporting of failure for unrecognized options. - RT 71562 Document automount race condition limitation and workaround - RT 99230 Document multithreaded application limitation and that the limitation may be removed in a future release. 2.10_004 2015-07-10 - Remove use of English.pm since it breaks many older Perls - Fix a unit test skip count for users who have not installed Test::Output 2.10_003 2015-07-08 - Administrative changes to MANIFEST and MANIFEST.SKIP - Style changes to Path.pm for easier reading of code - Removal of pod.t - Use English.pm to make variables like $! more fluent for code readers 2.10_002 2015-06-26 - RT 42139. Add better SKIP test emit for VMS. - RT 85360. Fix typos and better .gitignore and MANIFEST.SKIP settings. - RT 51588. Added patch elements but unable to verify on VMS. 2.10_001 2015-06-24 - RT 39949. Report errors on lstat failure. - RT 53178. Deprecate UNIVERSAL::isa usage - RT 70657. Test added. - RT 70938. Documentation fix for Windows native relative usage - RT 72256. Option added for setting permission (chmod) - RT 73840. Fix taint/untaint bug. - RT 95150. Add CPAN metadata for source tree location. - RT 103512. Documentation language fix.
* Update libnet to CPAN version 3.07Chris 'BinGOs' Williams2015-07-1917-85/+152
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [DELTA] 3.07 2015-07-17 - Net::FTP::rmdir() has been made more robust by making use of the MLSD command in addition to the NLST command since the latter is known not to be processed correctly by some FTP servers. [Chris Lindee, CPAN RT#100694] - Net::FTP, Net::NNTP, Net::POP3 and Net::SMTP can now restrict domain to IPv4 even if IPv6 is available by using the new Domain or Family argument. Net::NNTP now supports the LocalPort argument in addition to LocalAddr. Net::POP3 now supports the LocalAddr and LocalPort arguments in addition to ResvPort (which is retained for backwards compatibility). [Steffen Ullrich, PR#18] - Fixed a bug in Net::Cmd::datasend() which caused octets in [\x80-\xFF] stored in a "binary string" to be replaced with their UTF-8 encodings if the string happened to be stored internally in an "upgraded" state (i.e. with the UTF-8 flag on). (As noted below, strings passed to datasend() should always be encoded first, and therefore not stored in such a state anyway, but it is all too easy for perl to change this internal state unless the encodeing is done at the very last minute before calling datasend(), so it helps if datasend() plays more nicely in this case. In particular, it was wrong of datasend() to treat upgraded and downgraded strings differently when their contents were identical at the Perl level.) This bugfix results in a breaking change to the case of a "text string" with characters in U+0080..U+00FF stored internally in an upgraded state since those characters are likewise no longer encoded to UTF-8 by datasend(), but callers of datasend() should not have been relying on this behaviour anyway: In general, datasend() has no idea what encoding is required for output so callers should always encode the data to be output to whatever encoding is required first. This has now been clarified in the documentation. Finally, a text string with characters >= U+0100 will now cause a "Wide character in print" warning from datasend() since such characters cannot be output as bytes and datasend() no longer encodes to UTF-8. In this case, UTF-8 bytes will still be output as before since that happens to be the internal representation of such characters, but the warning is new. Callers should heed this warning and encode such strings to whatever encoding is required before calling datasend(), as noted above. [Ricardo Signes, CPAN RT#104433]
* update changelog for Attribute-Handlers as of perl 5.22Ricardo Signes2015-07-171-0/+3
|
* perldelta tweaks on the shift.Jarkko Hietaniemi2015-07-171-4/+10
|
* Fix thinko in perlsdio.h.Craig A. Berry2015-07-161-2/+1
| | | | | | | | | | | | | | In 04ce8649990 I inadvertently created conflicting definitions for PerlIO_ungetc on the non-VMS branch of an #ifdef. This broke a NetWare build that was still based on the stdio layer. See <http://nntp.perl.org/group/perl.perl5.porters/228427>. Even though stdio is no longer supported, we really ought to ship something that compiles up until the point where we remove it, which will hopefully be soon for perlsdio.h. N.B. This commit is not sufficient to get stdio as the base layer working again. Notably XS::APITest is broken for unrelated reasons.
* perldelta for recent printf changesAaron Crane2015-07-151-2/+15
|
* Document and ensure that sv_catpvf() does no argument orderingAaron Crane2015-07-156-11/+68
| | | | | | | | | | | sv_catpvf() and friends ultimately end up calling sv_vcatpvfn_flags() with a C-style va_list argument (rather than with an array of SV pointers). When the sprintf implementation in sv_vcatpvfn_flags() is called with a va_list it always ignores any attempt by the format string to reorder the arguments. This reasonable limitation is now documented, and the implementation throws an exception when it encounters this situation. Minimal tests for these exceptions have been added to XS::APItest.
* Support reordered precision arguments in (s)printfAaron Crane2015-07-153-17/+28
| | | | | | | | | | | | | | | | | The printf builtins gained support for argument reordering in October 2000, in eb3fce905f8436bbc374998ec8c7c34ce2b73e4e, as part of the 5.7.x blead release cycle. However, a simple typo meant that it never worked: the initial implementation stored the argument index in the variable "ewix" (explicit width-argument index) instead of "epix" (for "precision"). The bug was noticed in July 2002, two days before the 5.8.0 release, so fixing it at that stage was deemed riskier than documenting it. The commit in question is 7b8dd722af72d0ca45650fb784c09763c0732e34, which was originally posted as http://marc.info/?l=perl5-porters&m=102683138220786&w=2 . For whatever reason, the obvious fix was never subsequently applied. This commit remedies that, and extends it to also skip all redundant-argument warnings when the precision is supplied with via an explicit index.
* sv_vcatpvfn_flags(): make warnings more preciseAaron Crane2015-07-152-28/+46
| | | | | | | | | | | | | | | | - RT#125469 points out that no "redundant argument" warning should be emitted for code like C<< printf '<%*2$s>', "a", 6 >>; that's now fixed. - We no longer emit a "missing argument" warning for invalid format strings, so C<< printf '%4$K %d', 17 >> now emits one "invalid" warning, and no other warnings. (Perl 5.12 and subsequent versions have inappropriately emitted a "missing argument" warning in this case.) - We no longer treat the invalid format string in C<< printf '%1$$d', 17 >> as containing an explicit index, so (a) we emit an "invalid" warning for the double "$", and (b) we emit a "redundant argument" warning for the trailing argument. The "redundant argument" warning is new in this situation.
* t/op/sprintf.t: include test comment in "ok" output, where availableAaron Crane2015-07-151-1/+1
|
* Upgrade Unicode-Normalize from version 1.18 to 1.19Steve Hay2015-07-144-4/+6
|
* Upgrade Unicode-Collate from version 1.12 to 1.14Steve Hay2015-07-1496-589/+596
|
* Upgrade autodie from version 2.28 to 2.29Steve Hay2015-07-1411-11/+15
|
* toke.c: Move macro definitionKarl Williamson2015-07-131-28/+28
| | | | | This moves the definition to before the function it is used in, rather than disrupting the flow of code within the function.
* Forbid variable names with ASCII non-graphic charsKarl Williamson2015-07-136-184/+114
| | | | | | | | | | | See http://nntp.perl.org/group/perl.perl5.porters/229168 Also, the documentation has been updated beyond this change to clarify related matters, based on some experimentation. Previously, spaces couldn't be in variable names; now ASCII control characters can't be either. The remaining permissible ASCII characters in a variable name now must be all graphic ones.
* perldata: Change pod to reflect realityKarl Williamson2015-07-131-5/+6
| | | | | Caret variable names don't have to be limited to $^A through $^Z. $^], etc. are also valid.
* toke.c: Comments, white-space onlyKarl Williamson2015-07-131-3/+6
| | | | | Add some clarifying comments, and properly indent some lines to prevailing level.
* uni/variables.t: Add TODO testsKarl Williamson2015-07-131-1/+10
| | | | | | | | These show a bug in perl parsing where utf8ness makes a difference. in what happens. In this case, a syntax error is accompanied by warning messages when in 'use utf8', and no warnings when not. I'm not filing a bug report, as I don't think it is worth fixing, as it is a syntax error after all. But I did make tests for it, as TODOs.
* uni/variables.t: Output unexpected warningsKarl Williamson2015-07-131-1/+3
| | | | This helps debug when the test fails.
* uni/variables.t: Fix grammar in commentKarl Williamson2015-07-131-1/+1
|
* Eliminate repetitious wording in perldiagAaron Crane2015-07-132-46/+3
|
* Delete experimental autoderef featureAaron Crane2015-07-1332-951/+298
|
* regen/regcharclass.pl: avoid autoderef featureAaron Crane2015-07-132-4/+3
|
* Porting/corelist.pl: avoid autoderef featureAaron Crane2015-07-131-13/+12
|
* Make postfix dereferencing work without the postderef featureAaron Crane2015-07-138-66/+52
| | | | | The feature still exists, for compatibility with code that tries to enable it, but it has no effect. The postderef_qq feature still exists, however.
* chdir.t fix-up for VMS.Craig A. Berry2015-07-121-4/+3
| | | | | | | | There is no problem with setting or deleting HOME as there was back in 58277c145607d, but there is still no way to delete SYS$LOGIN from the job table. So we do have to skip testing for what happens with chdir() when the environment is clear, but it's not conditional on $Config{d_setenv}.
* Document $OLD_PERL_VERSION's historyKaren Etheridge2015-07-123-1/+9
| | | | | | | $OLD_PERL_VERSION was added commented-out in Perl 5.6.0, when $PERL_VERSION became $^V. It remained unimplemented and undocumented until it was added to perlvar.pod, in the deprecated section, in 5.13.10. It was then implemented in English.pm in 5.19.10, but remained undocumented until 5.22.0.
* Use CRTL getlogin and getlogin_r on VMS.Craig A. Berry2015-07-124-19/+7
| | | | | | The CRTL has supplied getlogin since v7.0, so let's not use the home-made one anymore. Plus the CRTL als has a reentrant version, so we'll use that under threads.
* Module::CoreList->find_version(): refactor for testability.James E Keenan2015-07-103-5/+20
| | | | | | | | | | | | | In order to address weaknesses in the documentation of find_version() in CoreList.pod, we first had to address its lack of unit tests. It was previously only exercised inside the 'corelist' utility. Refactored function a bit to expose all its branches for testing. Then added tests for the function with and without arguments. Corrected documentation for find_version() in CoreList.pod. Documentation subsequently clarified per feedback from Steve Parker. For: RT # 125563 (1st of 2 problems cited in that ticket).
* Clarify that deprecated_in() returns a perl version.James E Keenan2015-07-101-1/+1
| | | | | | | I.e., a string like 5.010001. This makes documentation of deprecated_in() consistent with that of other Module::CoreList functions. For: RT # 125563 (2nd of two problems raised)
* Remove obsolete __GNUC__isms under vms/.Craig A. Berry2015-07-092-23/+0
| | | | | | | | | | | There used to be some version of GCC 2.x that ran only on VAX that was capable of building Perl. But that was 18-20 years ago and there have been no recent reports of building Perl with gcc on VMS. If and when a modern version of GCC is ported to VMS (and the underpinnings are reportedly there as part of GNAT Pro Ada, just nothing complete or publicly available), these ancient workarounds are at least as likely to do harm as good. So get rid of them.
* Don't create zero-length filename on VMS in Typemap.tCraig A. Berry2015-07-091-1/+4
| | | | | | | | | It turns out it's quite legal but then causes other mayhem, such as confusing things that are looking for the "." directory (because there is no such thing as a file without an extension so passing an empty string to fopen creates ".;1" on disk). Also make this test clean up its test files.
* improve debugging of padlist APIDaniel Dragan2015-07-091-2/+10
| | | | | | | | | | | | | | | | | | xpadl_alloc should really be pointer to a struct with a flexible array member, but flexible array members aren't portable enough among CCs. While debugging the padlist API for memory corruption (caused by an unrelated XS module), I saw that the pointer in the first slice of xpadl_alloc pointed to an AV head of gibberish but 2nd slice was fine. This was confusing and led me to belive the memory corruption was a bad write to the array in xpadl_alloc. PadlistARRAY's POD a couple pages down mentions that index 0 is not an AV *, but the struct comments just said "pointer to beginning of array of AVs " and didnt mention index 0. Fix the comments to make it clear what xpadl_alloc is. Add a union so it is easier to analyze a crash dump/breakpoint with a C debugger, without writing new code "PADNAMELIST * pnl = PadlistNAMES(pl);" in many places and recompiling the interp with -O0, just to be able to inspect the padnamelist struct.
* perldelta: Fix typoKarl Williamson2015-07-081-1/+1
|
* all SV inheriter types have DEBUG_LEAKING_SCALARS data, so always show itDaniel Dragan2015-07-081-9/+13
| | | | | | | | I noticed AV *s in my C debugger didn't the sv_debug_* members, but if I casted the AV * to a SV * in my C debugger using a expession in my watch tab, all the info was there. Put the DEBUG_LEAKING_SCALARS in _SV_HEAD_UNION so the sv_debug_* members appear everywhere (CV/HV/AV/etc), not just for SVs.
* dont report a $@ exception with uninitialized $!'s message in IPC::Open3Daniel Dragan2015-07-083-4/+53
| | | | | | | | | | | | | | | Commit a24d8dfd08 "Make IPC::Open3 work without fork()" from 5.003 created an eval block, and if that eval block threw an exception, instead of propagating $@, the code propagated $!, even though no system call was done and $! is effectivly unintialized data. In one case for me, a taint exception inside system was turned into open3() throwing an exception about "Inappropriate I/O control operation" or "Bad file descriptor", which had nothing to do with the real fault which was a Perl C level croak with the message "Insecure $ENV{PATH} while running with -T switch at ..." which was called as Perl_pp_system->Perl_taint_env->Perl_taint_proper-> Perl_croak->Perl_vcroak. This patch does not try to fix the ambiguity of the error messages between the !DO_SPAWN and IO::Pipe branches/implementations of _open3.
* fix #124181 double free/refcnt problems in IO types in typemapDaniel Dragan2015-07-082-13/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 50e5165b96 "stop T_IN/OUT/INOUT/STDIO typemaps leaking" changed newRV to newRV_noinc, but the GV * returned by newGVgen() is owned by the package tree, like the SV * returned by get_sv(). Now when the RV to GV is freed on mortal stack, the GV * in the package tree is freed, and now there is a freed GV * in the package tree, if you turn on "PERL_DESTRUCT_LEVEL=2" (and perhaps DEBUGGING is needed too), the package tree is destroyed SV * by SV *, and perl will eventually warn with "Attempt to free unreferenced scalar" which a very bad panic type warning. commit 50e5165b96 was reverted in commit bae466e878 "Revert "stop T_IN/OUT/INOUT/STDIO typemaps leaking" for 5.22's release to stop the panic, but reintroduced the SV/RV leak. So fix the RV leak (the val passed as source arg of sv_setsv) by freeing it after the copying. In a very unlikely scenario, the RV could still leak if sv_setsv dies. Also fix the problem, that if this OUTPUT: type is being used for an incoming arg, not the outgoing RETVAL arg, you can't assign a new SV* ontop of the old one, that only works for perl stack return args, so replace "$arg = &PL_sv_undef;" with "sv_setsv($arg, &PL_sv_undef);" if its not RETVAL, this way OUTPUT on incoming args also works if it goes down the error path. For efficiency, in a RETVAL siutation, let the undef original SV* in $arg which is typically obtained from sv_newmortal() by xsubpp pass through if we error out. Also for efficiency, if it is RETVAL (which is more common) dont do the sv_setsv/SvREFCNT_dec_NN stuff (2 function calls), just mortalize (1 function call) the ex-temp RV and arrange for the RV to wind up on perl stack. Also, the GV * already knows what HV * stash it belongs to, so avoid the stash lookup done by gv_stashpv() and just use GvSTASH which are simple pointer derefs.