summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* [perl #45147] Issue with the exists functionPeter Martini2011-01-023-2/+27
| | | | | | | | Perl_av_exists tested to see if regdata magic was present, but did not have any logic to fetch that data in the positive key case. Additionally, in the negative key case, if AvFILL indicated the key existed, it wouldn't return, and would then fall through to the logic that treated it like a real array.
* [perl #81032] Overhaul Porting/epigraphs.podZsbán Ambrus2011-01-022-137/+464
| | | | | | | | | | | | | | | | | | | | | | | | This patch makes multiple changes to Porting/epigraphs.pod and pod/perlhist.pod. For those that don't know, Porting/epigraphs.pod is a new document that collects the quotes (chosen by Pumpkins) in perl release announcements. The changes are the following. 1. Add a link pointing to each release announcement in the mailing list archives. These are from ysth's list, the source from which Porting/epigraphs.pod was originally compiled, but they weren't in Porting/epigraphs.pod so far. 2. Reorder Porting/epigraphs.pod chronologically, because I believe that makes more sense -- pod/perlhist.pod is still sorted by version numbers. 3. Incidentally, some missing releases are added to pod/perlhist.pod too. 4. Fix a mistake where Porting/epigraphs.pod gives the wrong version number. 5. Add some epigraphs that appear in ysth's list but not in Porting/epigraphs.pod. 6. I did some research in perl history before the part that ysth's list covers, and added older perl announcements I found. This work is not complete: I stopped somewhere in 2000.
* Give a warning if pack_sockaddr_in6 is asked to pack a non-zero scope_id on ↵Paul "LeoNerd" Evans2011-01-031-0/+4
| | | | machines that can't support it
* Use HAS_SIN6_SCOPE_ID rather than glibc version testingPaul "LeoNerd" Evans2011-01-032-7/+7
|
* Bugfix to Socket.pm 's GAI fallback constants - use $name rather than $_Paul "LeoNerd" Evans2011-01-031-1/+1
|
* Capture newly-created unit tests to MANIFESTPaul "LeoNerd" Evans2011-01-031-0/+2
|
* Make Socket.pm 'use strict' cleanPaul "LeoNerd" Evans2011-01-031-2/+4
|
* Provide fallback implementation of getaddrinfo and getnameinfo in pure perl ↵Paul "LeoNerd" Evans2011-01-031-0/+200
| | | | if libc doesn't provide one
* Initial documentation of getaddrinfo and getnameinfo functionsPaul "LeoNerd" Evans2011-01-031-0/+77
|
* Unit tests for Socket::getaddrinfo() and Socket::getnameinfo()Paul "LeoNerd" Evans2011-01-032-0/+156
|
* Implement Socket::getaddrinfo() and Socket::getnameinfo(), with related ↵Paul "LeoNerd" Evans2011-01-033-0/+216
| | | | constants
* Conditionally set sa_len-type fields when packing sockaddr addressesPaul "LeoNerd" Evans2011-01-031-0/+9
|
* Add new test file t/porting/filenames.tNuno Carvalho2011-01-023-0/+89
| | | | | | | | | | | Check portability of filenames from the MANIFEST. Modified by committer to remove check for multiple dots -- there are already too many violations and there are workarounds to handle them. Also tweaked to report full path so it's easier to find culprits. Still need checks for dots in directory names and paths that differ only by case.
* Clever tests may fool with $^O.Craig A. Berry2011-01-021-8/+8
| | | | So make t/test.pl use its private version throughout.
* Add JSON::PP to the Perl coreDavid Golden2011-01-0244-6/+4775
| | | | | Per discussions with Jesse Vincent, JSON::PP has been added to the Perl core to support the new CPAN meta file specification
* tests for [perl #36347] Object destruction incompleteFather Chrysostomos2011-01-021-1/+20
|
* [perl #36347] Object destruction incompleteFather Chrysostomos2011-01-024-59/+94
| | | | | | | | | | | | | | | | | | | do_clean_objs only looks for objects referenced by RVs, so blessed array references and lexical variables (and probably other SVs, too) are not DESTROYed. This commit adds a new visit() call to sv_clean_objs, which curses (DESTROYs and un-blesses, leaving the reference count as it is) any objects that are still left after do_clean_named_io_objs. The new do_curse routine (a pointer to which is passeds to visit()) follows do_clean_named_io_objs’ example and explicitly skips the STDOUT and STDERR handles, in case destructors need to use them. The cursing code, which is now called from two places, is moved out of sv_clear and put in its own routine. The check that the reference count is zero does not apply when called from sv_clean_objs, so the new S_curse routine takes a boolean argument that determines whether that check should take place.
* Merge branch 'briandfoy/perlfaq' into bleadbrian d foy2011-01-022-22/+26
|\
| * perlfaq1: Adjust some of the language around the Perl 6 referencesbrian d foy2011-01-021-17/+20
| |
| * Emphasis that you have to check input data in your CGI programbrian d foy2010-12-201-5/+6
| |
* | [perl #73630] Build separate DTrace for miniperlDavid Leadbeater2011-01-021-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | As outlined in the RT ticket due to miniperl's dependencies differing to the final perl binary dtrace -G needs to be called separately for each. Build tested on Mac OS X 10.6, Solaris 11 and Scientific Linux with SystemTap from git. (Solaris is the only system I have access to where DTRACE_O actually gets defined. Neither the dtrace binary on OS X nor SystemTap's dtrace compatibility layer accept the -G option.)
* | Update CPAN::Meta::YAML to 0.003David Golden2011-01-022-5/+4
| | | | | | | | | | | | This is a minor documentation change at Ingy's request. Also, the 0.003 CPAN release omits a test file that we were excluding so I've removed it from the EXCLUDES list in Maintainers.pl
* | [perl #81500] Make compilation work when NO_ENV_ARRAY_IN_MAIN is definedDavid Leadbeater2011-01-021-1/+3
| | | | | | | | | | | | This is only normally defined if OEMVS is defined; the commit that added it (2f3efc97) claims z/OS support. I guess no-one has tried this for awhile as dd374669 broke this in 2005.
* | [perl #81400] Fix bmodinv() part of RT 63237Peter John Acklam2011-01-023-27/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following standard definition is used: z is the modular inverse of x (mod y) if and only if x*z (mod y) = 1 (mod y). - dist/Math-BigInt/lib/Math/BigInt.pm: Fix the code in bmodinv() so it can handle negative arguments. The code can be optimized further for speed, but correctnes first. - dist/Math-BigInt/t/bigintpm.inc: Fix the test case for modinv(-3, -5). The output should be -3, since -3 * -3 (mod -5) = -9 (mod -5) = -4, and 1 (mod -5) = -4. - dist/Math-BigRat/t/bigratpm.inc: Fix same test case as above. Math::BigRat::bmodinv() only handles integers, and is essentially just a front-end to Math::BigInt::bmodinv().
* | Don't clobber $^O when you're going to use it again.Craig A. Berry2011-01-021-0/+1
| | | | | | | | | | Even if using it means relying on t/test.pl functionality such as fresh_perl_is().
* | GvIO(gv) returns NULL for a NULL gv, so refactor to take advantage of this.Nicholas Clark2011-01-023-39/+34
| | | | | | | | | | | | Simplify tests of !gv || !io to just !io, avoid calling GvIO(gv) more than once, and where possible initialise io at declaration time, to allow it to be const.
* | make <expr> always overload if expr is overloadedDavid Mitchell2011-01-025-15/+25
| | | | | | | | | | | | | | | | Due to the way that '<> as glob' was parsed differently from '<> as filehandle' from 5.6 onwards, something like <$foo[0]> didn't handle overloading, even where $foo[0] was an overloaded object. This was contrary to the docs for overload, and meant that <> couldn't be used as a general overloaded iterator operator.
* | overloaded <> sometimes left an extra stack argDavid Mitchell2011-01-022-1/+20
| |
* | call pp_glob() even when its being skippedDavid Mitchell2011-01-023-6/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently when an external Perl glob function is used (which is most of the time), the OP_GLOB op is removed and replaced with the pair: GV("CORE::GLOBAL::glob"), ENTERSUB. This commit re-adds the OP_GLOB to the op tree, but with OPf_SPECIAL set; and pp_glob() is updated to just return if OPf_SPECIAL is set. Thus there's no change in outward functionality with this commit. However, by always calling pp_glob(), it will allow us (in the next commit) to handle iterator overloading consistently, regardless of whether the internal globbing function is used or not.
* | ck_glob() - add a little code commentDavid Mitchell2011-01-021-1/+1
| |
* | 1; is not a valid no-op for /bin/sh, but true is.Nicholas Clark2011-01-021-1/+1
| | | | | | | | | | b99c822f5c5b52c3 was not actually correct in identify the cause of the errors. (although still a valid change to make for the sake of consistency)
* | Update META.yml's no_index after the Time-Local moveFlorian Ragwitz2011-01-021-1/+0
| | | | | | | | We should probably write a porting test for that at some point.
* | CPAN is upstream for Time::Local againFlorian Ragwitz2011-01-024-7/+4
| |
* | Make Time::Local run on perls older than 5.12 againFlorian Ragwitz2011-01-024-37/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With 5.12, this module was made y2038-safe, even on systems with a 32-bit time_t. Unfortunately, that broke things on older perl versions and blead became this module's upstream as the y2038-safety couldn't easily be backported. This change also doesn't attempt to backport y2038 support. It merely restores the old behaviour including the y2038 limitations on older versions of perl on platforms without a 64-bit time_t. With this, we can at least move Time::Locale's upstream back to CPAN. Making it y2038-safe for old perls on 32-bit time_t platforms probably shouldn't be a priority anyway. There's Time::y2038, which does everything this module does, and then some, while being y2038-safe. At some point, this module should probably be deprecated.
* | chmod +x metaconfig.SH.Nicholas Clark2011-01-022-0/+1
| | | | | | | | | | Otherwise ./Configure -S generates a diagnostic, as it expects to be able to execute it.
* | perlbug did not previously generate a From: header. While some MTAs doJesse Vincent2011-01-021-1/+2
| | | | | | | | | | the "right" thing and insert a valid "From:", not all of them do, potentially resulting in dropped mail.
* | Ensure ExtUtils::CBuilder's 04-base.t cleans up its temporary directories.Nicholas Clark2011-01-011-2/+2
| | | | | | | | | | | | | | The tempdir() function has the rather confusing default of *not* cleaning up ("because of issues with backwards compatibility") so one needs the CLEANUP flag. (The analogous newdir() method in the OO interface doesn't suffer this gotcha.)
* | Document 'test_porting' and start a section on how committing to bleadJesse Vincent2011-01-011-0/+32
| |
* | Update Encode to CPAN version 2.42Chris 'BinGOs' Williams2011-01-017-14/+40
| | | | | | | | | | | | | | | | | | | | [DELTA] $Revision: 2.42 $ $Date: 2010/12/31 22:48:48 $ ! Encode.xs ! Unicode/Unicode.xs Applied: RT#64371: Update for 5.14 API changes http://rt.cpan.org/Ticket/Display.html?id=64371
* | Avoid using OP_NAME() in unimplemented_op(), as it won't give useful strings.Nicholas Clark2010-12-311-2/+12
| | | | | | | | | | | | | | | | | | | | | | Using OP_NAME() isn't going to be helpful here. Firstly, it doesn't cope with out of range op numbers - it only "special" cases op_custom. Secondly, as the three ops we "panic" on are padmy, mapstart and custom, if we get here for a custom op then that means that the custom op didn't have an implementation. Given that OP_NAME() looks up the custom op by its pp_addr, likely it will return NULL, unless someone (unhelpfully) registers &PL_unimplemented_op as the address of their custom op. NULL doesn't generate a useful error message. "custom" does. */
* | Porting/Maintainers.pl: add (MY)META.json to ignored filesDavid Golden2010-12-311-2/+2
| |
* | standardise amagic method namingDavid Mitchell2010-12-318-22/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Some amagic-related macros take the full method enumeration name, (e.g. "add_amg"); while others "helpfully" allow you to pass a shortened version, ("add"), and do a CAT2(meth,_amg) behind the scenes. Standardise on passing the full name; this makes it less confusing and allows you to grep for the enumeration name in the source. It updates two macros to accept full enumeration names: tryAMAGICunTARGET (which isn't used outside the core apparently), and AMG_CALLun, which is replaced by a new AMG_CALLunary (since AMG_CALLun is used outside the core).
* | VMS nits in cpan/Test-Harness/t/source.tCraig A. Berry2010-12-301-4/+2
| | | | | | | | | | | | | | | | | | | | 1.) Can't get the basename of a directory in native format. 2.) Symlinks still a bit dodgy -- skip tests for now. Submitted upstream at: https://rt.cpan.org/Ticket/Display.html?id=64353
* | Skip ExtUtils-CBuilder base tests expected and known to fail on VMS.Craig A. Berry2010-12-301-31/+48
| |
* | Merge the opcode bodies for pp_bind and pp_connect.Nicholas Clark2010-12-304-33/+14
| |
* | Most socket ops weren't warning for unopened handles unless 'closed' was enabledNicholas Clark2010-12-302-14/+190
| | | | | | | | | | | | They were checking that category 'closed' was enabled for warnings before calling report_evil_fh(), which in turn was (correctly) checking category 'unopened'.
* | Convert a pp_sys test to use warnings 'closed', instead of the broader 'io'.Nicholas Clark2010-12-301-2/+2
| | | | | | | | | | It's actually only testing warnings enabled by 'closed', so test using the tighter category.
* | pp_leavewrite wasn't warning for unopened handles unless 'closed' was enabled.Nicholas Clark2010-12-302-2/+39
| | | | | | | | | | It was checking that category 'closed' was enabled for warnings before calling report_evil_fh(), which in turn was (correctly) checking category 'unopened'.
* | Better handling of magic methods freeing the SVDavid Mitchell2010-12-303-20/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a fix for RT #81230 (and more). Currently, mg_get() works around the case where the called magic (e.g. FETCH) frees the magic SV. It does this by unconditionally pushing the SV on the tmps stack before invoking the method. There are two issues with this. Firstly, it may artificially extend the life of the SV. This was the root of the problem with #81230. There, the DB_File code, under -T, created a tainted tied object. Accessing the object (within FETCH as it happens), caused mg_get() to be invoked on the object (due to the taint magic), and thus extend the life of the object. This then caused c<untie %h if $h{k}> to give the warning untie attempted while 1 inner references still exist. This only became noticeable after efaf36747029c85b4d8825318cb4d485a0bb350e, which stopped wrapping magic method calls in SAVETMPS/FREETMPS. The second issue issue that this protection only applies to mg_get(); functions like mg_set() can still segfault if the SV is deleted. This commit fixes both problems as follows: First, the protection mechanism is moved out of mg_get() and into save_magic() / restore_magic(), so that it protects more things. Secondly, the protection is now: * in save_magic(), SvREFCNT_inc() the SV, thus protecting it from being freed during FETCH (or whatever) * in restore_magic(), SvREFCNT_dec() the SV, undoing the protection without extending the life of the SV, *except* if the refcount is 1 (ie FETCH tried to free it), then push it on the mortals stack to extend it life a bit so our callers wont choke on it.
* | Update Renee Baeckers mail addressRenee Baecker2010-12-292-2/+3
| | | | | | | | Signed-off-by: David Golden <dagolden@cpan.org>