summaryrefslogtreecommitdiff
path: root/ext
Commit message (Collapse)AuthorAgeFilesLines
* Typemap tests: T_SHORT, T_U_INT, T_INT, T_LONGSteffen Mueller2012-02-013-14/+74
|
* Cleanup: Condense tests and add a fewSteffen Mueller2012-02-011-80/+34
|
* Minor documentation fixes and annotationsSteffen Mueller2012-02-012-5/+8
|
* Stop SvPVutf8 from forcing the POK flagFather Chrysostomos2012-01-311-1/+3
| | | | | | It was setting this even on magical variables, causing stringification not to bother calling FETCH, because the POK flag means ‘yes, I’m a bonified [sic] string, with nothing funny going on’.
* XS::APItest: svpv_magic.t: Correct test nameFather Chrysostomos2012-01-311-1/+1
|
* Make SvPVbyte return bytes for non-PVsFather Chrysostomos2012-01-311-1/+7
| | | | | Instead of just doing SvPV on something that is not a PV, SvPVbyte should actually do what it is advertised as doing.
* Test that SvPVutf8 works with magic varsFather Chrysostomos2012-01-311-1/+19
| | | | It didn’t until the previous commit.
* [perl #108994] Stop SvPVutf8 from coercing SVsFather Chrysostomos2012-01-312-0/+33
| | | | | | | | | | In shouldn’t destroy globs or references passed to it, or try to coerce them if they are read-only or incoercible. I added tests for SvPVbyte at the same time, even though it was not exhibiting the same problems, as sv_utf8_downgrade doesn’t try to coerce anything. (SvPVbyte has its own set of bugs, which I hope to fix in fifthcoming commits.)
* XS::APItest: Move $VERSION further upFather Chrysostomos2012-01-311-2/+2
| | | | so it can be changed without one having to search for it.
* Increase $XS::APItest::VERSION to 0.35Father Chrysostomos2012-01-311-1/+1
|
* B.pm: Document stashflagsFather Chrysostomos2012-01-311-0/+2
| | | | | (actually just list in; you have to know the internals to use these things anyway)
* Increase $File::Glob::VERSION to 1.17Father Chrysostomos2012-01-311-1/+1
| | | | following commit ffa23acf6.
* In B.xs, use *pvf() functions to reduce the number of API calls.Nicholas Clark2012-01-311-7/+5
| | | | This gives a small reduction in both source lines and object code size.
* Increase the fallback value of MAXPATHLENDominic Hargreaves2012-01-301-1/+1
| | | | | | On systems without MAXPATHLEN or PATH_MAX defined (GNU/Hurd is an example of such a system), set MAXPATHLEN to 4096 rather than 1024; this increase creates parity with Linux.
* Moving :mmap out of core binary into a moduleLeon Timmermans2012-01-302-0/+350
|
* Implement the fc keyword and the \F string escape.Brian Fraser2012-01-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | Along with the simple_casefolding and full_casefolding features. fc() stands for foldcase, a sort of pseudo case (like lowercase), which is used to implement Unicode casefolding. It maps a string to a form where all case differences are erased, so it's a locale-independent way of checking if two strings are the same, regardless of case. This functionality was, and still is, available through the regular expression engine -- /i matches would use casefolding internally. The fc keyword merely exposes this for easier access. Previously, one could attempt to case-insensitively test two strings for equality by doing lc($a) eq lc($b) But that might get you wrong results, for example in the case of \x{DF}, LATIN SMALL LETTER SHARP S.
* [perl #77388] Make stacked -t workFather Chrysostomos2012-01-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Up till now, -t was popping too much off the stack when stacked with other filetest operators. Since the special use of _ doesn’t apply to -t, we cannot simply have it use _ when stacked, but instead we pass the argument down from the previous op. To facilitate this, the whole stacked mechanism has to change. As before, in an expression like -r -w -x, -x and -w are flagged as ‘stacking’ ops (followed by another filetest), and -w and -r are flagged as stacked (preceded by another filetest). Stacking filetest ops no longer return a false value to the next op when a test fails, and stacked ops no longer check the truth of the value on the stack to determine whether to return early (if it’s false). The argument to the first filetest is now passed from one op to another. This is similar to the mechanism that overloaded objects were already using. Now it applies to any argument. Since it could be false, we cannot rely on the boolean value of the stack item. So, stacking ops, when they return false, now traverse the ->op_next pointers and find the op after the last stacked op. That op is returned to the runloop. This short-circuiting is proba- bly faster than calling every subsequent op (a separate function call for each). Filetest ops other than -t continue to use the last stat buffer when stacked, so the argument on the stack is ignored. But if the op is preceded by nothing other than -t (where preceded means on the right, since the ops are evaluated right-to-left), it *does* use the argument on the stack, since -t has not set the last stat buffer. The new OPpFT_AFTER_t flag indicates that a stacked op is preceded by nothing other than -t. In ‘-e -t foo’, the -e gets the flag, but not in ‘-e -t -r foo’, because -r will have saved the stat buffer, so -e can just use that.
* Fix bad pointer size in has_trailing_nulEric Brine2012-01-231-2/+3
|
* Increase $B::VERSION to 1.34Father Chrysostomos2012-01-231-1/+1
|
* B.xs add missing B::COP::stashflagsReini Urban2012-01-231-0/+11
| | | | Threaded perl added this field with 5.15.4 for utf8 stashes.
* B.pm POD: revise 44f7f2d5b1 on IoFLAGSReini Urban2012-01-231-2/+0
| | | | IoFLAGS are not defined in perliol.h
* PerlIO::scalar: tests for trailing nullFather Chrysostomos2012-01-191-1/+24
| | | | using Eric Brine’s function.
* (PerlIO::)scalar.t: Add function for testing trailing nullEric Brine2012-01-191-0/+14
|
* [perl #108398] Make PerlIO::scalar add null terminatorBo Lindbergh2012-01-191-5/+7
|
* B.pm: spaces after dotsFather Chrysostomos2012-01-191-28/+29
|
* B.pm: wording tweaksFather Chrysostomos2012-01-191-3/+4
|
* Make B’s pod fit in 79 colsFather Chrysostomos2012-01-191-2/+2
|
* Document B::PV’s LEN and CUR methodsFather Chrysostomos2012-01-191-1/+11
|
* Increase $B::VERSION to 1.32Father Chrysostomos2012-01-191-1/+1
|
* B.pm: fix and add B::IO documentationReini Urban2012-01-191-3/+28
| | | | | add pod to B::IO Methods and IoTYPE. fix IsSTD.
* avoid truncating time values when long is smaller than time_tTony Cook2012-01-181-2/+2
| | | | | | | | | long is only 32-bits on x64 Win32, but time_t is 64-bits. This was warning: POSIX.xs(1777) : warning C4244: 'initializing' : conversion from 'time_t' to 'const long', possible loss of data The check against (time_t)-1 is the approved check from ANSI C 89 and 99.
* Make Pod::Html more robust against malformed L<> contents.Nicholas Clark2012-01-171-2/+2
| | | | | | | | Pod::Html attempts to search for the contents to see if they are a suffix of any entry in an existing list, using a regular expression. Previously the contents were interpolated directly into a regex, which meant that if they happened to be syntactically invalid regular expression syntax, Pod::Html aborted with a runtime error.
* Purge references to --netscape and --libpods, no longer in Pod::HtmlNicholas Clark2012-01-171-19/+1
| | | | | | | | | | The long deprecated --netscape flag was removed in commit 27b29ec338b08496. This was originally added to control use of Netscape specific HTML extensions, , but became a no-op when that functionality was removed. --libpods was removed in commit 3b49d8d9ac841d8e. However neither commit removed use of these flags by callers to Pod::Html, notably in installhtml and the Makefiles that invoke it. Hence this commit.
* PerlIO::scalar: allow writing to SvIOK SVsFather Chrysostomos2012-01-052-4/+16
| | | | | | | It used to crash if the PVX buffer happened to be null. If the PVX buffer happened to be left over from before, it would use that instead of the numeric value, even for !SvPOK scalars.
* In PerlIO::Scalar’s write, stringify refsFather Chrysostomos2012-01-052-3/+9
| | | | Otherwise, it won’t work with an overloaded object.
* Increase $PerlIO::scalar::VERSION to 0.13Father Chrysostomos2012-01-051-1/+1
|
* [perl #92706] In PerlIO::Scalar::seek, don’t assume SvPOKpFather Chrysostomos2012-01-052-20/+21
| | | | | | | | | | | | | | | | | | | Otherwise we get assertion failures. In fact, since seeking might be just for reading, we can’t coerce and SvGROW either. In fact, since the scalar might be modified between seek and write, there is no *point* in SvGROW during seek, even for SvPOK scalars. PerlIO::scalar assumes in too many places that the scalar it is using is its own private scalar that nothing else can modify. Nothing could be farther from the truth. This commit moves the zero-fill that usually happens when seeking past the end from seek to write. During a write, if the current position is past the end of the string, the intervening bytes are zero-filled at that point, since the seek hasn’t done it.
* Correct comment in APItest’s hash.tFather Chrysostomos2012-01-021-1/+1
|
* [perl #103492] Give lvalue cx to (s)printf argsFather Chrysostomos2011-12-311-12/+15
| | | | | | | | | Or potential lvalue context, like function calls. The %n format code’s existence renders these two very much like func- tion calls, as they can modify their arguments. This allows sprintf("...%n", substr ...) to work.
* [perl #107296] Document File::Glob’s default flagsFather Chrysostomos2011-12-301-2/+21
|
* Increase $File::Glob::VERSION to 1.16Father Chrysostomos2011-12-301-1/+1
|
* include a package POSIX::SigSetRicardo Signes2011-12-301-0/+8
| | | | | this is mostly for the benefit of the PAUSE indexer, as described in the code comment
* Provide the correct POSIX return value for POSIX::dup2() on Win32.Nicholas Clark2011-12-302-3/+11
| | | | | | | | | | Microsoft, in their wisdom, chose to ignore the POSIX spec when implementing their dup2(), and have theirs return 0 on success, instead of the file descriptor. It seems that no other vendor is this, um, "special", so code the exception directly, as we don't run Configure on Win32, so there's little point probing for this. This resolves RT #98912.
* Convert POSIX::sleep to an XS wrapper for PerlProc_sleep().Nicholas Clark2011-12-303-3/+10
| | | | | | | | Previously it was a Perl wrapper for CORE::sleep, converting CORE::sleep's return value of elapsed time slept into the POSIX return value of seconds remaining. However, that approach could sometimes return a negative result if CORE::sleep had slept for more than a second longer than the requested time.
* Increase $POSIX::VERSION to 1.28Father Chrysostomos2011-12-291-1/+1
|
* Signal handlers must run before sigsuspend returnsLeon Timmermans2011-12-291-0/+4
| | | | | | | | | | The whole point of sigsuspend and pause is to wait until a signal has arrived, and then return *after* it has been triggered. Currently delayed/"safe" signals prevent that from happening, which might cause race conditions. This patch prevents that (as far as possible) by running the signal handlers ASAP.
* Update concise-xs.t for recent DD changeFather Chrysostomos2011-12-251-1/+2
|
* Supress warning in XS::APItest’s hash.tFather Chrysostomos2011-12-251-1/+3
|
* Don’t crash when writing to null hash elemFather Chrysostomos2011-12-241-0/+13
| | | | | | | It’s possible for XS code to create hash entries with null values. pp_helem and pp_slice were not taking that into account. In fact, the core produces such hash entries, but they are rarely visible from Perl. It’s good to check for them anyway.
* hv.c: Make newHVhv work on tied hashesFather Chrysostomos2011-12-242-0/+15
|