summaryrefslogtreecommitdiff
path: root/ext
Commit message (Collapse)AuthorAgeFilesLines
* Bump VERSIONs in XS-APItest and XS-APItest-KeywordRPNSteve Hay2010-09-192-2/+2
| | | | | Not strictly necessary for these modules since they don't get installed anyway, but their XS files have been changed since 5.13.4
* Bump VERSION in PerlIO-scalarSteve Hay2010-09-191-1/+1
| | | | The XS file has been changed since 5.13.4
* reftype() used without checking for undefChas. Owens2010-09-161-3/+5
| | | | | | | | | Hash::Util used "reftype($v) eq 'HASH'" without checking for undefinendness. This patch rectifies that. Also bumps Hash::Util version. Original patch and detective work by Chas. Owens. Modified by Steffen Mueller.
* add hv_copy_hints_hv and save_hints to the APIZefram2010-09-163-0/+88
|
* [perl #77684] Restore the 5.10/12 behaviour of open $fh, ">", \$glob_copyFather Chrysostomos2010-09-131-0/+7
| | | | | | | | | This restores the perl 5.10/12 behaviour, making open treat \$foo as a scalar reference if it is a glob copy (SvFAKE). It also fixes an existing assertion failure that the test now trig- gers. PerlIOScalar_pushed was not downgrading the sv before set- ting SvCUR.
* Bump $POSIX::VERSIONFlorian Ragwitz2010-09-111-1/+1
|
* Add missing POSIX signal constantsFlorian Ragwitz2010-09-112-2/+4
|
* Tests for caller_cx, cop_hints_*.Ben Morrow2010-09-072-1/+109
| | | | | It seems that the runtime hinthash isn't returned correctly when running under the debugger, so mark those tests TODO for now.
* function interface to parse Perl statementZefram2010-09-062-0/+184
| | | | | | | | | | | | | yyparse() becomes reentrant. The yacc stack and related resources are allocated in yyparse(), rather than in lex_start(), and they are localised to yyparse(), preserving their values from any outer parser. yyparse() now takes a parameter which determines which production it will parse at the top level. New API function parse_fullstmt() uses this facility to parse just a single statement. The top-level single-statement production that is used for this then messes with the parser's head so that the parsing stops without seeing EOF, and any lookahead token seen after the statement is pushed back to the lexer.
* Bump $Errno::VERSION after change be54382Florian Ragwitz2010-09-031-1/+1
|
* Sanity check on Errno values.Curtis Jewell2010-09-021-2/+3
| | | | | | On a few machines (Win32/gcc using mingw64 headers) Errno.pm will find a value that is not numeric for a proposed error key. This change adds a sanity check to discard such keys.
* better silencing of APItest deprecation warningDavid Mitchell2010-08-311-1/+2
| | | | | | | | | Commit 95ddc6755c1ff41d06e5afc2212c85f918ebcd28 attempted to add -Wno-deprecated-declarations' to the ccflags for APItest.xs; however it ended up deleting existing flags rather than appending. Under -DDEBUG_LEAKING_SCALARS this caused the PerlInterpreter structure to have different field alignments in core and APItest.xs. Ouch!
* fix the AIX skip to only skip on AIXTony Cook2010-08-311-1/+1
|
* rt77432: sigaction would crash/assert with a replaced %SIGTony Cook2010-08-312-2/+9
|
* silence APItest deprecation warningRobin Barker2010-08-281-0/+3
|
* Peephole optimise adjacent pairs of nextstate ops.Nicholas Clark2010-08-272-312/+298
| | | | | | | | | | | | | | | | | | | | | Previously, in code such as use constant DEBUG=>0; sub GAK { warn if DEBUG; print "stuff\n"; } the ops for C<warn if DEBUG;> would be folded to a null op (ex-const), but the nextstate op would remain, resulting in a runtime op dispatch of nextstate, nextstate, ... The execution of a sequence of nexstate ops is indistinguishable from just the last nextstate op, so teach the peephole optimiser to eliminate the first of a pair of nextstate ops. (Except where the first carries a label, as labels mustn't be eliminated by the optimiser, and label usage isn't conclusively known at compile time.)
* prevent Devel::Peek::Dump from lieing to us about evil class namesYves Orton2010-08-251-1/+23
| | | | | While one certainly can argue the merits of using a class name like "\0", it is legal so lets avoid it confusing our primary debugging tool.
* add lex_stuff_pvs()Zefram2010-08-221-1/+1
| | | | New macro lex_stuff_pvs(), wrapping lex_stuff_pvn() for literal strings.
* Moved prototype check to XS code, allowing the .pm file change from yesterdaySteve Peters2010-08-192-5/+2
| | | | to be removed. Thanks to Rafael for pointing out prototypes in XS.
* Make I18N::Langinfo::langinfo take $_ as an argument if none is specified asSteve Peters2010-08-182-2/+6
| | | | its documentation advertises. Bump version for this change.
* Move POSIX.pm to lib/POSIX.pm to fix autosplitter problemJerry D. Hedden2010-08-173-1/+2
|
* Remove MacOS 9 support code from XS-APItestFlorian Ragwitz2010-08-1612-19/+2
| | | | | | EUMM dropped support for it ages ago, and so did perl core a couple of releases back. This is an attempt to stop MacOS 9 support from being cargo-culted into new XS-APItest tests.
* Revert "Make the peep recurse via PL_peepp"Florian Ragwitz2010-08-162-86/+0
| | | | | | | | | | | | | This reverts commit 65bfe90c4b4ea5706a50067179e60d4e8de6807a. While it made a few of the things I wanted possible, a couple of other things one might need to do and I thought this change would enable don't actually work. Thanks Zefram for pointing out my mistake. Conflicts: ext/XS-APItest/APItest.xs op.c
* POSIX/t/posix.t expects a certain start to Makefile.PLTony Cook2010-08-141-0/+1
| | | | | | 6695a346 changed the start of Makefile.PL, but t/posix.t reads that to test its read() implementation, restore enough of the original for the test to pass.
* make_ext.pl populates @INC correctly, don't override it badlyTony Cook2010-08-131-4/+0
| | | | | | PERL5LIB is populated by make_ext.pl with paths to the modules we need to run, don't override this with "../../lib" since that may not have been populated yet in a parallel build.
* Pure Perl lvalue subs can't return temps, even if they are magical. This ↵Eric Brine2010-08-131-1/+0
| | | | | | | holds back a fix for RT#67838. This commit allows PP lvalue subs to return temps with set magic and removes TODO from tests.
* Pure Perl lvalue subs can't return temps, even if they are magical. This ↵Eric Brine2010-08-133-1/+75
| | | | holds back a fix for RT#67838. Adds TODO tests.
* Peek.t: better identify failing testsDavid Mitchell2010-07-291-1/+3
|
* Dump didn't display CVf_ISXSUB flagDavid Mitchell2010-07-291-1/+1
|
* Refactor common parts of op.h, regexp.h into new .hKarl Williamson2010-07-291-1/+1
| | | | | | | | | | | op.h and regexp.h share common elements in their data structures. They have had to manually be kept in sync. This patch makes it easier by putting those common parts into a common header #included by the two. To do this, it seemed easiest to change the symbol definitions to use left shifts to generate the flag bits. But this meant that regcomp.pl and axt/B/defsubs_h.PL had to be taught to recognize those forms of expressions, done in separate commits
* ext/B/defsubs_h.PL: teach to allow exprs with <<Karl Williamson2010-07-291-1/+5
| | | | Allow #defines which have left shift operators in them.
* ext/B/defsubs_h.PL: add explanatory commentKarl Williamson2010-07-291-0/+4
|
* defsubs_h.PL: Use correct variable in error msgKarl Williamson2010-07-291-1/+1
|
* Make the peep recurse via PL_peeppFlorian Ragwitz2010-07-252-5/+91
| | | | | | | | | | | Also allows extensions, when delegating to Perl_peep, to specify what function it should use when recursing into a part of the op tree. The usecase for this are extensions like namespace::alias, which need to hook into the peep to do their thing. With this change they can stop copying the whole peep only to add tiny bits of new behaviour to it, allowing them to work easier on a large variety of perls, without having to maintain one peep which works on all of them (which is HARD!).
* Global executable bit cleanupDavid Golden2010-07-242-0/+0
| | | | | | | | | | | | | | | | | | | | When porting/makerel runs, all files copied into the directory for the tarball have the executable bit stripped and then only a specific set of files have the executable bit restored. There are many files in the repo that have the executable bit set in the repo that will be stripped. So that the state of files in the repo is as close as possible to the state of files in the release tarball, the executable bit has been stripped from such files. In one recent case, a file added from a dual-life module needed the executable bit set. Because it had the bit in the repo but was not listed in makerel to get an executable bit, tests using it passed in the repo and failed in the tarball. This commit refactors the list into a new file, Porting/exec-bit.txt and add tests to detect a mismatch between files listed there and actual executable bits in the repo.
* Bump module version numbersDavid Golden2010-07-191-1/+1
|
* add CVf_CVGV_RC flagDavid Mitchell2010-07-181-2/+2
| | | | | | | | | | | | | after the recent commit 803f274831f937654d48f8cf0468521cbf8f5dff, the CvGV field is sometimes reference counted. Since it was intended that the reference counting would happen only for anonymous CVs, the CVf_ANON flag was co-opted to indicate whether RC was being used. This is not entirely robust; for example, sub __ANON__ {} is a non-anon sub which points to the same GV used by anon subs, which while itself doesn't directly break things, shows that the potential for breakage is there. So add a separate flag just to indicate the reference count status of the CvGV field.
* Remove diagnostics from XS-APItest/t/blockhooks.Ben Morrow2010-07-151-3/+0
| | | | They were causing problems with 'make test'.
* new is a reserved word in C++, don't use it as a variable nameTony Cook2010-07-131-3/+3
| | | | Fix a cause of black smoke for C++ builds.
* Systematic tests for the block hooks.Ben Morrow2010-07-127-74/+460
| | | | | | I've left the dummy implementation of @{^C_S_C} in, as it's actually useful for some of the other tests. (Something simpler would work just as well, of course.)
* Wrap PL_blockhooks in an API function.Ben Morrow2010-07-121-4/+1
| | | | | This should help prevent people from thinking they can get cute with the contents.
* Macroify the block_hooks structure.Ben Morrow2010-07-121-8/+8
| | | | | Add a flags member, so it can be extended later if necessary. Add a bhk_eval member, called from doeval to catch requires and string evals.
* Initial very basic tests for PL_blockhooks.Ben Morrow2010-07-122-0/+149
| | | | | This is taken directly from rafl's @{^COMPILE_SCOPE_CONTAINER} implementation posted on p5p.
* Convert Fcntl and PerlIO::encoding's tests to Test::More.Nicholas Clark2010-06-302-8/+2
| | | | Remove one vestigial mention of MacOS.
* Convert POSIX's test to Test::More.Nicholas Clark2010-06-302-3/+7
|
* Convert Devel::Peek's test to Test::More.Nicholas Clark2010-06-301-4/+2
| | | | The flag change from 0x0 to 0x4 is because Test::More sets autoflush on STDOUT.
* Standardize on use of 'capture group' over 'buffer'Karl Williamson2010-06-281-1/+1
| | | | | | Both terms 'capture group' and 'capture buffer' are used in the documentation. This patch changes most uses of the latter to the former, as they are referenced using "\g".
* Remove MacOS classic support from DynaLoader.Nicholas Clark2010-06-232-210/+3
| | | | | ExtUtils::MakeMaker removed MacOS support in 6.25, merged to blead in December 2004, so this code is vestigial, and a small maintenance penalty.
* Remove MacOS classic support from File::{Copy,DosGlob,Find,Glob,stat}.Nicholas Clark2010-06-231-2/+2
| | | | | ExtUtils::MakeMaker removed MacOS support in 6.25, merged to blead in December 2004, so this code is vestigial, and a small runtime penalty.
* Tweak the generated Errno.pm slightly. Shorter and slightly fewer ops.Nicholas Clark2010-06-231-8/+7
| | | | | | | Use our directly at the first assignment, rather than on a line by itself. Add editor readonly blocks, consistent with most other generated files. require Exporter, rather than using it with an empty import list. We don't need it at compile time.