summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Change POSIX::localeconv() to a table-driven implementation.Nicholas Clark2011-09-131-63/+58
| | | | | | This removes a lot of copy-paste code. [with a tweak by Ilmari that removed residual duplication]
* Add tests for POSIX::localeconv().Nicholas Clark2011-09-131-3/+31
|
* Merge the implementations of 2 sets of POSIX functions.Nicholas Clark2011-09-131-15/+14
| | | | | | Using ALIAS to merge POSIX::sig{pending,suspend} and POSIX::tc{flow,flush,sendbreak} reduces the size of POSIX.so by about 2K on this platform.
* Merge the implementations of 4 sets of POSIX::Termios methods.Nicholas Clark2011-09-131-87/+53
| | | | | | Using ALIAS to merge cfget[io]speed(), get[cloi]flag(), cfset[io]speed() and set[cloi]flag() reduces the size of POSIX.so by almost 2K on this platform.
* Merge the implementations of 2 pairs of POSIX::SigSet methods.Nicholas Clark2011-09-131-11/+14
| | | | | | Using ALIAS to merge addset() with delset() and emptyset() with fillset() reduces the shared object size, by removing duplicate marshaling code for arguments and return values. On this platform the saving is over .5K
* Add tests for POSIX::sigpending().Nicholas Clark2011-09-131-3/+10
|
* Store sigset_t used by POSIX::SigSet directly in the object SV.Nicholas Clark2011-09-132-23/+16
| | | | | | | | | | | | | | Previously POSIX::SigSet was using the PTROBJ typemap to store a pointer to a dynamically-allocated sigset_t as an IV (blessed into the class) This requires an explicit DESTROY to free the dynamic allocation, but fails badly if any POSIX::SigSet objects exist at ithread clone time, as the dynamic allocation is not duplicated in the new thread. (DESTROY is called in both threads, free-from-wrong pool or other jollity occurs.) Removing dynamic allocation removes the need for a DESTROY method. This change is analogous to the previous change in POSIX::Termios, and is made for the same reason.
* In POSIX.xs, extract allocate_struct() from POSIX::Termios::new().Nicholas Clark2011-09-131-7/+13
| | | | | The same code will be needed for POSIX::SigSet::new(), so share it as a small static function.
* Add tests for POSIX::SigSet.Nicholas Clark2011-09-132-0/+97
|
* Store struct termios used by POSIX::Termios directly in the object SV.Nicholas Clark2011-09-132-16/+28
| | | | | | | | | | | | | | | | | Previously POSIX::Termios was using the PTROBJ typemap to store a pointer to a dynamically-allocated struct termios as an IV (blessed into the class). This requires an explicit DESTROY to free the dynamic allocation, but fails badly if any POSIX::Termios objects exist at ithread clone time, as the dynamic allocation is not duplicated in the new thread. (DESTROY is called in both threads, free-from-wrong pool or other jollity occurs.) Removing dynamic allocation removes the need for a DESTROY method. This introduces a new OPAQUEPTROBJ typemap, but currently doesn't use the OUTPUT section, as that copies an existing structure, whereas POSIX::Termios->new() only needs to zero-allocate the right space. Assuming that this typemap should be of general applicability, it should be moved to the main typemap file.
* Add tests for POSIX::tc{drain,flow,flush,sendbreak}()Nicholas Clark2011-09-131-0/+18
| | | | | | We don't want to mess with the user's terminal (as we might mess it up), so attempt to call each function on a disk file, and verify that it fails with ENOTTY.
* Add tests for POSIX::Termios->setattr().Nicholas Clark2011-09-131-0/+12
| | | | | | We don't want to mess with the user's terminal (as we might mess it up), so attempt to call tcsetattr() on a disk file, and verify that it fails with ENOTTY.
* Add tests for POSIX::Termios->setcc().Nicholas Clark2011-09-131-0/+21
|
* Add tests for POSIX::Termios->get[iocf]flags().Nicholas Clark2011-09-131-0/+33
|
* Add tests for POSIX::Termios->get[io]speed().Nicholas Clark2011-09-131-0/+25
|
* Add tests for passing POSIX::Termios->getcc() out of range subscripts.Nicholas Clark2011-09-131-0/+5
|
* In termios.t, avoid reading uninitialised memory in the tests.Nicholas Clark2011-09-131-22/+39
| | | | | | | | | | If no terminal devices are found, or getattr() fails on all of them, then the struct termios wrapped by the POSIX:Termios object will consist of initialised memory. In this case, it's not possible to use getcc() or the other get*() methods on it. Try harder to find a terminal device - as well as STDIN, STDOUT and STDERR also try to open the controlling terminal directly.
* Refactor ext/POSIX/t/termios.tNicholas Clark2011-09-131-43/+25
| | | | | | | | | | * Only import termios.h functions and constants from POSIX * Loop over STDIN, STDOUT, STDERR instead of duplicating code. * Avoid a needless defined? test, as isa_ok() handles undef. * Switch to done_testing(), which also allows @getters to be inlined and eliminated. * The various get*() methods return integer values, so check this. * Enable warnings.
* Remove if(isGV_with_GP(PL_defoutgv)) checks from mg.cFather Chrysostomos2011-09-121-24/+12
| | | | | | | | | | | | | | | Commit 099be4f1d added code to cope with this: my $x = *STDERR; select($x); $x = 1; which would cause PL_defoutgv to hold something other than a GV, resulting in various crashes. Commit 2acc3314 changed the way rv2gv works on fake globs, and inad- vertently fixed this problem, too, so PL_defoutgv can no longer end up holding something other than a GV. So the code that checks if(isGV_with_GP(PL_defoutgv)) can go.
* Fix misspellings in gv.tFather Chrysostomos2011-09-121-6/+6
|
* Make \&$tied call get-magic when it holds a globFather Chrysostomos2011-09-122-10/+12
| | | | | | | | This is a follow-up to ff55a0191f1, but this bug has probably existed as long as ties. \&$tied_scalar was ignoring get-magic on $tied if it happened to hold a glob.
* Add diag_listed_as for lstat error msgFather Chrysostomos2011-09-122-1/+1
| | | | to let porting/diag.t know how it’s listed in perldiag.
* Make (l)stat respect get-magic on globs and globrefsFather Chrysostomos2011-09-124-18/+19
| | | | | | | | | | | | | | | They were ignoring get-magic for those. A side effect of this fix is that lstat filehandle warnings and errors are now consistent: lstat _ used to die if the previous stat was not an lstat, but lstat *_ and lstat \*_ would happily return what was in the buffer. Now they die. lstat FH and \*FH used to warn, but not lstat *FH. Now it does. See bug #98864.
* Update CPAN-Meta-YAML to CPAN version 0.004Chris 'BinGOs' Williams2011-09-124-10/+49
| | | | | | | | [DELTA] 0.004 2011-09-06 09:42:52 America/New_York - Generated from ADAMK/YAML-Tiny-1.50.tar.gz
* Update Exporter to CPAN version 5.65Chris 'BinGOs' Williams2011-09-123-2/+6
| | | | | | | | | | | | | | [DELTA] 5.65 Tue Aug 30 2011 Todd Rinaldo - No changes. Tests clean. Bumping to production release. 5.64_04 Wed Aug 24 2011 Todd Rinaldo - Re-vamp module to work in Git. - Update Makefile.PL with extra META bits. - Point bugs to perl's RT. - Add a README from Exporter.pm perldoc. - Depend on Carp 1.05 now we're assuming a fix from 1.05
* Update perlfaq to CPAN version 5.0150034Chris 'BinGOs' Williams2011-09-1214-1176/+1019
| | | | | | | | | | | | | | | | | [DELTA] 5.0150034 Mon 12 Sep 2011 18:41:25 +0100 * Copy edit Perl 6 a bit more (ranguard) * Add blog section (ranguard) * Update much of the copy about emails in perlfaq9 (apeiron) * Many small changes (bigpresh) * Add descriptions to doc list (bigpresh) * Start moving away from global file handles (shlomif) * Typos, clarity and other cleanups (shlomif) * Cleanup copy (ranguard) * Start to add "my" to variables (shlomif) * Remove verbose/history copy (ranguard) * Switch to L<> around URLs (ranguard)
* Make tie_fetch_count.t pass on ‘broken’ platformsFather Chrysostomos2011-09-121-1/+9
| | | | by which I mean platforms on which some -X $file ops don’t work.
* t/TEST: clean up cachegrind.out.$pid intermediate filesJim Cromie2011-09-121-13/+24
| | | | | | | | | running cachegrind leaves lots of intermediate files, delete them at the end. Killing make test leaves them around, but this may be useful for some debugging purposes. Rework _find_tests($dir) into _find_files($patt,$dir) and wrapper, to support existing uses and new one.
* add 3 test.valgrind outputs to .gitignoreJim Cromie2011-09-121-0/+5
|
* Update CPAN tracking version of ExtUtils::ParseXSSteffen Mueller2011-09-121-1/+1
|
* perldelta galore for ExtUtils::ParseXS changesSteffen Mueller2011-09-121-5/+38
| | | | | This also rephrases the "XSUBs are now static" section since the exact behaviour has changed since 5.15.2.
* ExtUtils::ParseXS changelogSteffen Mueller2011-09-121-0/+5
|
* Make cpan officially upstream for Text::BalancedFather Chrysostomos2011-09-111-1/+1
|
* Make truncate respect get-magic on globs and globrefsFather Chrysostomos2011-09-112-25/+16
| | | | It was ignoring get-magic for those.
* Update Devel-PPPort to CPAN version 3.20Chris 'BinGOs' Williams2011-09-11134-667/+1598
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [DELTA] 3.20 - 2011-09-10 * fix CPAN #56749: isASCII and isCNTRL macros are buggy (thanks to Karl Williamson for providing a patch and patiently waiting almost two years for me to integrate it) * fix CPAN #70427: RealPPPort.xs:1587: error: lvalue required as unary ‘&’ operand 3.19_03 - 2011-04-13 * keep up with latest core changes 3.19_02 - 2010-03-07 * fix a warning emitted by the test suite with older perls * added support for the following API newSVpvs_share get_cvn_flags get_cvs (thanks to Goro Fuji for providing a patch to implement all of these, fixes CPAN #47174) 3.19_01 - 2010-02-20 * fix CPAN #50763: mistaken use of $[ (thanks to Zefram for spotting this) * remove spurious PUSHMARK from Perl_ppaddr_t (thanks to Gerard Goossen for providing a patch) * improved support for newer compilers in buildperl.pl (thanks to Philippe Bruhat (BooK) for providing a patch) * added support for the following API memEQs memNEs * lots of small toolchain updates
* Add links to Windows documentation of shell and CRT quote parsing rulesSteve Hay2011-09-111-9/+12
|
* Remove Windows 95 support from win32/makefile.mkSteve Hay2011-09-113-169/+7
| | | | All supporting code for Windows 95 was already removed in 8cbe99e5b6.
* Eliminate warnings from XSLoader on 5.005 and 5.004.Nicholas Clark2011-09-113-6/+32
| | | | | | Don't pass parameters that old ExtUtil::MakeMaker doesn't understand. Ensure that $DynaLoader::dl_debug exists prior to calling into DynaLoader's XS code.
* updated podcheck data file to know about the changes from Leon's patchJesse Vincent2011-09-111-1/+2
|
* Doc patch to perlipcLeon Timmermans2011-09-111-89/+30
| | | | | | | | | | | | | | | | | 1. I've removed some erroneous code regarding signal names (it doesn't handle signal aliases) with a reference to a module that does handle it correctly. 2. Removed the sample on temporary signal ignoring; this is not likely to do what users want it to do. Possibly this should be replaced by a discussion on sigprocmask & friends, but perhaps we can skip in altogether 3. Corrected the discussion on permissions to take the difference between real, effective and saved UIDs into account. 4. Removed all mention of the SysV signaling issue. This was rather relevant when perlipc was written 15 years ago but it isn't anymore nowadays. 5. Removed the suggestion that you can longjmp out of a signal handler (see CERT's SIG32-C).
* Add missing win32/config_H.* files to Porting/makerelSteve Hay2011-09-111-0/+4
| | | | | Most Win32 shell environments take no notice of these permissions anyway, but this seems like a safer option than removing them all.
* Simplify generated XS code by emitting a compatibility version of dVAR.Nicholas Clark2011-09-115-12/+14
| | | | | | If ExtUtils::ParseXS emits conditional C pre-processor code once per XS file to provide a default for dVAR, then it doesn't need to emit 4 lines per function to cater for dVAR not being present.
* Teach B::Concise about OPpFT_STACKINGFather Chrysostomos2011-09-101-1/+1
|
* Collapse repetititive code in tie_fetch_count.tFather Chrysostomos2011-09-101-18/+9
|
* Make utime handle get-magic correctly for glob(ref)sFather Chrysostomos2011-09-102-9/+7
| | | | It used to ignore get-magic for globs and globrefs.
* Stop filetest ops from calling FETCH on parent op’s argFather Chrysostomos2011-09-102-3/+14
| | | | | | | | | | | | | This is a regression in 5.14.0. Commit 6f1401dc made ops call get-magic before overloading, but it ended up making filetest ops call get-magic on the topmost item of the stack even if the filetest op was not going to use the stack (which happens for ‘-r bareword’ and plain ‘-r’). This would affect cases like: push @foo, $tied, -r;
* Make filetest ops handle get-magic correctly for glob(ref)sFather Chrysostomos2011-09-104-46/+17
| | | | | | This patch uses the recently-added MAYBE_DEREF_GV macro which puts the glob deref logic in one spot. It also adds _nomg and _flags varia- tions of it. _flags understands the SV_GMAGIC flag.
* Restore changelog entry removed by 378eedaFather Chrysostomos2011-09-101-1/+6
| | | | | Existence of this entry has nothing to do with Borland support. It is merely history, that’s all.
* -l followed by bareword should leave the stack aloneFather Chrysostomos2011-09-102-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | $ ln -s /usr/bin/perl bar $ perl -le' print "bar", -l foo' 1 The -l ate my bar. It’s this naughty piece of code in doio.c:Perl_my_lstat_flags that is the culprit: if (ckWARN(WARN_IO)) { Perl_warner(aTHX_ packWARN(WARN_IO), "Use of -l on filehandle %s", GvENAME(cGVOP_gv)); return (PL_laststatval = -1); } When -l is followed by a bareward, it has no argument on the stack, but the filetest op itself is a gvop. That snippet is from the bare- word-handling code. So, if warnings are off, it falls through to the argument-on-the-stack code and pops off something does not belong to it (that belong to the print, in the example above).
* Update Archive-Tar to CPAN version 1.78Chris 'BinGOs' Williams2011-09-1013-119/+181
| | | | | | | | [DELTA] * important changes in version 1.78 08/09/2011 - patch from Rocky Bernstein to add chown() method [rt#70623] - blead patch from Alexandr Ciornii to resolve [perl#78708]