| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Not strictly necessary for these modules since they don't get installed
anyway, but their XS files have been changed since 5.13.4
|
|
|
|
| |
The XS file has been changed since 5.13.4
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
| |
It seems that the runtime hinthash isn't returned correctly when running
under the debugger, so mark those tests TODO for now.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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!
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.)
|
|
|
|
|
| |
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.
|
|
|
|
| |
New macro lex_stuff_pvs(), wrapping lex_stuff_pvn() for literal strings.
|
|
|
|
| |
to be removed. Thanks to Rafael for pointing out prototypes in XS.
|
|
|
|
| |
its documentation advertises. Bump version for this change.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
holds back a fix for RT#67838.
This commit allows PP lvalue subs to return temps with set magic
and removes TODO from tests.
|
|
|
|
| |
holds back a fix for RT#67838. Adds TODO tests.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Allow #defines which have left shift operators in them.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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!).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
They were causing problems with 'make test'.
|
|
|
|
| |
Fix a cause of black smoke for C++ builds.
|
|
|
|
|
|
| |
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.)
|
|
|
|
|
| |
This should help prevent people from thinking they can get cute with the
contents.
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This is taken directly from rafl's @{^COMPILE_SCOPE_CONTAINER}
implementation posted on p5p.
|
|
|
|
| |
Remove one vestigial mention of MacOS.
|
| |
|
|
|
|
| |
The flag change from 0x0 to 0x4 is because Test::More sets autoflush on STDOUT.
|
|
|
|
|
|
| |
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".
|
|
|
|
|
| |
ExtUtils::MakeMaker removed MacOS support in 6.25, merged to blead in December
2004, so this code is vestigial, and a small maintenance penalty.
|
|
|
|
|
| |
ExtUtils::MakeMaker removed MacOS support in 6.25, merged to blead in December
2004, so this code is vestigial, and a small runtime penalty.
|
|
|
|
|
|
|
| |
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.
|