| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
API.
Currently no flags bits are used, and the length is cross-checked against
strlen() on the pointer, but the intent is to re-work the entire pad API to be
UTF-8 aware, from the current situation of char * pointers only.
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A smoke using g++ has revealed:
>KeywordRPN.c: In function 'void XS_XS__APItest__KeywordRPN_import(CV*)':
>KeywordRPN.c:320: error: expected unqualified-id before 'class'
>KeywordRPN.c:320: error: expected initializer before 'class'
>KeywordRPN.c: In function 'void XS_XS__APItest__KeywordRPN_unimport(CV*)':
>KeywordRPN.c:357: error: expected unqualified-id before 'class'
>KeywordRPN.c:357: error: expected initializer before 'class'
>make[1]: *** [KeywordRPN.o] Error 1
>Unsuccessful make(ext/XS-APItest-KeywordRPN): code=512 at make_ext.pl line 449.
>make: *** [lib/auto/XS/APItest/KeywordRPN/KeywordRPN.so] Error 25
I used "class" as a variable name, but in C++ it's a keyword. Patch
attached. Someone should also add a note about C++ compatibility to
perlhack.pod.
-zefram
Signed-off-by: H.Merijn Brand <h.m.brand@xs4all.nl>
|
| | |
|
| | |
|
| |\
| | |
| | |
| | |
| | | |
Conflicts:
MANIFEST
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
the original files insted of to the copied files perlmini.c and opmini.c
|
| | |
| | |
| | |
| | | |
warnings (the "return NORMAL"s are never reached).
|
| | |
| | |
| | |
| | | |
instead of the arena flag, which is not set with PURIFY
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Carp frequently gets loaded very early, before tools that want to
override caller(). Previously, caller() was only in Carp::Heavy,
which was only loaded on demand (thus after any CORE::GLOBAL::caller
override). This patch unbreaks anything expecting the old behavior.
|
| | |
| | |
| | |
| | | |
There is currently still a linker error about PL_keyword_plugin.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
Use $cpp instead of cpp
|
| | |
| | |
| | |
| | | |
syntax triggered by keywords
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Date: Tue, 27 Oct 2009 01:29:40 +0000
From: Zefram <zefram@fysh.org>
To: perl5-porters@perl.org
Subject: bareword sub lookups
Attached is a patch that changes how the tokeniser looks up subroutines,
when they're referenced by a bareword, for prototype and const-sub
purposes. Formerly, it has looked up bareword subs directly in the
package, which is contrary to the way the generated op tree looks up
the sub, via an rv2cv op. The patch makes the tokeniser generate the
rv2cv op earlier, and dig around in that.
The motivation for this is to allow modules to hook the rv2cv op
creation, to affect the name->subroutine lookup process. Currently,
such hooking affects op execution as intended, but everything goes wrong
with a bareword ref where the tokeniser looks at some unrelated CV,
or a blank space, in the package. With the patch in place, an rv2cv
hook correctly affects the tokeniser and therefore the prototype-based
aspects of parsing.
The patch also changes ck_subr (which applies the argument context and
checking parts of prototype behaviour) to handle subs referenced by an
RV const op inside the rv2cv, where formerly it would only handle a gv
op inside the rv2cv. This is to support the most likely kind of modified
rv2cv op.
[This commit includes the Makefile.PL for XS-APITest-KeywordRPN missing
from the original patch, as well as updates to perldiag.pod and a
MANIFEST sort]
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
An accident of Perl's parser meant that my $pi := 4; was parsed as an empty
attribute list. Empty attribute lists are ignored, hence the above is
equivalent to my $pi = 4; However, the fact that it is currently valid syntax
means that := cannot be used as new token, without silently changing the
meaning of existing code.
Hence it is now deprecated, so that it can subsequently be removed, allowing
the possibility of := to be used as a new token with new semantics.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Don't let sv_setsv swipe temps in av_make, since the source array
might have multiple references to the same temp scalar (e.g. from
a list slice).
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Here’s a patch to include the bug number in the test script.
And 68971 can be resolved, too. Sorry for the duplicate!
Signed-off-by: H.Merijn Brand <h.m.brand@xs4all.nl>
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
regcomp.c stopped using it before 5.10, leaving only toke.c. The only code on
CPAN that uses it is copies of regcomp.c. Replace it with a static function,
with a cleaner interface.
|
| | |
| | |
| | |
| | |
| | |
| | | |
- Fix test for error message
- Add negative test cases
- Remove unneeded evals
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If this is defined, it will be called instead of stringification
whenever an object is used as a regexp or interpolated into a regexp.
This will fall back to stringification even without C<fallback => 1>,
for compatibility.
An overloaded 'qr' must return either a REGEXP or a ref to a REGEXP
(such as created by qr//). Any further overloading on the return value
will be ignored.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
inside a return"
This reverts commit 60aa6a1aa894dd62b8194841a6d6c80c15079dba.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
quantified groups)
This patch was modified to work with the updated file locations.
|
| | |
| | |
| | |
| | | |
a bug with Readonly::XS that might actually be a guts bug.)
|
| | |
| | |
| | |
| | | |
Updated plan count missing in the original patch.
|
| | |
| | |
| | |
| | | |
level jumplevel
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The patch to speed up split in scalar context broke Font::GlyphNames,
because it stops scalar(@array = split) from working. The attached
patch fixes this, and ineluctably slows it down slightly.
(Patch amended by replacing the 2nd GIMME_V macro call by the gimme
variable)
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|