| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
[DELTA]
Changes for 0.26 Sat Nov 6 23:30:59 2010
=================================================
* Added support for HTTP::Lite
* Resolved issue with '-l' switch and iosock fetch
|
|
|
|
|
|
| |
gcc said:
regexec.c: In function ‘S_reginclass’:
regexec.c:6305: warning: suggest parentheses around ‘&&’ within ‘||’
|
| |
|
| |
|
|
|
|
|
|
| |
I noticed two dubious expressions that look as if they were
intended to be assignments. The comment above the code says
it's broken.
|
|
|
|
| |
The ops are the recently-introduced reach, rvalues, rkeys and transr.
|
|
|
|
|
|
|
|
| |
Commit 2f8edad0d37e91319b6ba10b3745327ea49c179 made G_ARRAY
equal to G_SCALAR | G_VOID, contrary to perlcall.pod.
Bring the documentation up to date and add a test to prevent a similar
(although unlikely) accident in the future.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
FreeBSD 5.0 was released on 2003-01-17 so everyone should be used to
FreeBSD lacking Perl in its base system by now.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's possible for this to be called during the compilation phase of Perl
by miniperl before the Unicode tables have been built. This patch
checks if dynamic loading is available, and if not evals the require
needed to gain access to the tables. If it succeeds, the tables have
been built; if it doesn't, instead of dying, just return empty tables,
as currently the things being built don't require information outside
the ASCII range, which is hard-coded into Perl without needing the
tables.
In the future, that may not be the case, and then likely the tables will
have to be shipped with Perl, and make regen would be done to rebuild
them.
|
| |
|
|
|
|
|
|
| |
One should always generate the golden B::Concise output with PERL_UNICODE set
so that ${^OPEN} is set, as the test system knows how to take it out, not put
it in.
|
|
|
|
|
|
| |
While the other -C settings are global, "i" and "o" only affect subsequent
open() calls in the current file. Document this and add two tests to
make sure the documented behaviour doesn't change accidentally.
|
|
|
|
|
|
|
|
|
|
|
| |
When calling out to the user-supplied method, re-use the same reference and
object where possible. Only create a new one if the user supplied method
modified the reference or object passed to it.
The previous implementation had a comment "Use the same opsv. Rely on methods
not to mess it up." but it was actually generating a new reference for every
call, and also a new object for every recursive call. So massive churn of
objects, and large accumulation of mortals on the temp stack.
|
|
|
|
|
|
|
|
| |
Notably the substcont of s/// was being missed.
The bug was introduced as part of c0939ceec1b3e902,
"Re: [patch] teach B::Concise to see XS code", which did rather more than it
said on the tin.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Posted by Niko Tyni
Commit 9bb1f947 fixed the description of \E in perlre.pod to include
the 'end quoted section' functionality, so update the similar list in
perlop.pod too.
Triggered by http://bugs.debian.org/126238
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reported by Niko Tyni
Commit b76cc8ba45957 made each group a quadruple without
updating the name. Take out the name altogether to avoid
this in the future.
Also update the reference to "list form" pipes to include
both the old last example and the new one.
Originally noticed by Reuben Thomas in http://bugs.debian.org/469402
|
|
|
|
|
| |
Quite likely coverage isn't that good, but some tests are better than none.
More tests welcome.
|
|
|
|
|
| |
Typeglob assignment avoids compiler work creating the optree for a second
subroutine, and runtime work executing that optree.
|
|
|
|
|
|
|
|
|
|
|
| |
pp_reach, pp_rvalues, and pp_transr are aliases, but regen/opcode.pl
generates declarations for aliases as if they were C functions in
their own right. This is necessary for aliases that refer to mathoms
(as most of them do) but seems less right for new entries that will
never refer to an actual function of the same name. For now, these
need to be explicitly excluded when building the linker options file
on VMS. Failure to do so breaks the build with undefined symbol
warnings.
|
| |
|
|
|
|
|
|
|
|
| |
This will also inline the constant in the code of walkoptree_slow().
Things are complicated by the fact that B's BOOT code needs $VERSION set, and
pushes to @EXPORT_OK.
Move the 'use strict' much earlier.
|
| |
|
| |
|
|
|
|
|
|
|
| |
padav is leaving an arrayref on the stack when producing the return value for an
lvalue sub. But when this is in an argument list it really should be a array,
not a ref. So, in leavesublv I check for this case and expand the arrayref to
an array.
|
|
|
|
| |
Nothing outside the core was using this macro.
|
|
|
|
|
|
|
|
|
| |
This removes around 300 bytes of object code from each place it was previously
inlined. It also provides a better interface - quite a lot of the core
currently bodges things by creating a local variable C<SV **sp = &sv> to use
the macro.
Change the XS::APItest wrapper to amagic_deref_call().
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
[DELTA]
0.65 Wed Nov 3 13:10:20 2010
- U::C::Locale newly supports locale: zh and its some variants.
(zh__big5han, zh__gb2312han, zh__pinyin, zh__stroke)
- added Unicode::Collate::CJK::Big5 for zh__big5han.
- added Unicode::Collate::CJK::GB2312 for zh__gb2312han.
- added Unicode::Collate::CJK::Pinyin for zh__pinyin.
- added Unicode::Collate::CJK::Stroke for zh__stroke.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is based on a patch by Father Chrysostomos <sprout@cpan.org>
The start class optimisation has two modes, "try every valid start
position" (doevery) and "flip flop mode" (!doevery) where it trys
only the first valid start position in a sequence.
Consider /(\d+)X/ and the string "123456Y", now we know that if we fail
to match X after matching "123456" then we will also fail to match after
"23456" (assuming no evil tricks are in place, which disable the
optimisation anyway), so we know we can skip forward until the check
/fails/ and only then start looking for a real match. This is flip-flop
mode.
Now consider the case with zero-width lookahead under /g: /(?=(\d+)X)/.
In this case we have an additional failure mode, that is failure when
we match a zero-width string twice at the same pos(). So now, the
"flip-flop" logic breaks as it /is/ possible that we could match at
"23456" when we couldn't match at "123456" because of the zero-length
twice at the same pos() rule. For instance:
print $1 for "123"=~/(?=(\d+))/g
should first match "123". Since $& is zero length, pos() is not
incremented. We then match again, successfully, except that the match
is rejected despite technical-success because its $& is also zero
length and pos() has not advanced. If the flip-flop mode is enabled
we wont retry until we find a failing character first.
The point here is that it makes perfect sense to disable the
"flip-flop" mode optimisation when the start class is inside
a lookahead as it really doesnt apply.
|
| |
|
| |
|
|
|
|
|
|
| |
When the jump code was added the case of an empty string followed
by a jump wasnt accounted for. One could argue it should not happen
however that is a matter for a different commit.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
for the upcoming y///r feature. There are not enough flag bits,
hence the extra type.
|
| |
|
|
|
|
|
|
|
| |
Only Perl_amagic_call() was using RvDEEPCP() when it was added in 5.000, and I
believe that it's never had any other users (in the core, on CPAN, or anywhere
else visible to Google codesearch). Hence it seems an ideal candidates to be
inlined and eliminated.
|