| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
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.
|
|
|
|
| |
Not every operating system has /proc/self/exe
|
|
|
|
|
|
|
| |
Commit 8f776eae73090661 turned out to be a bit optimistic with
"should be capable of running in parallel", as the temporary files and
modules written out by the various test scripts have clashing names.
Hence run each test a private subdirectory.
|
|
|
|
|
|
|
|
|
| |
running the following produces 7 warnings like this on my system:
'LD_LIBRARY_PATH=/usr/home/build/perl-5.12.0 ./perl installperl --destdir=/var/local/tmp/perl-root'
Use of uninitialized value $dev2 in numeric eq (==) at ./install_lib.pl line 123.
replacing == with ~~ (the smart match operator) seems to be the best DWIM fix.
|
| |
|
| |
|
|
|
|
| |
This makes sure the fix for RT#74404 is working.
|
|
|
|
|
|
|
|
|
|
| |
It looks like h2ph makes copious use of global variables. As a result, I can
commit this evil for a minimal patch. No code was changed moving it into the
sub other than passing $proto, which is the only non-global used (but not
modified).
I tried a 5.12.0 build with this patch and it seems to be passing tests.
There is a lib/h2ph.t file but I don't know what it tests exactly.
|
|
|
|
|
| |
This change is analogous to bc3707112523ba7a in Tie::Scalar, but with far fewer
tests.
|
|
|
|
|
|
|
|
|
| |
The
if (( !global
rather than
if ( (!global
made it hard to follow the precedence.
Tidy up the rest of the expression while I'm at it.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Partial fix for [perl #77084]. Sometimes pp_match makes a copy of the
original SV's string for the later use of $1 et al; in particular if the
SV is TEMP (so will soon go away).
Make it do the same if the SV is overloaded, as the string return is most
certainly temporary!
(Also tweak the tests to make them more likely to fail on badness by
creating new stings that will likely reallocate freed buffer).
|
| |
|
|
|
|
|
|
| |
All these tests are for different modules, and should be capable of running
in parallel. Hopefully this will reduce the chance of seeing lib/warnings.t
running all alone on a multi-core machine.
|
| |
|
| |
|
| |
|
|
|
|
| |
Only whitespace changes
|
|
|
|
| |
No functional changes
|
|
|
|
|
|
|
| |
Three years ago there was a cut and paste of all the MY_CXT macros
into a second #ifdef PERL_GLOBAL_STRUCT_PRIVATE branch with minor
modifications (Bad programmer! No cookie!). Make the two branches more
similar in preparation for a partial merge. No functional changes.
|
|
|
|
|
|
| |
[perl #77352]
PL_my_cxt_list was never freed
|
|
|
|
|
|
|
| |
[perl #77352]
In S_sv_dup_common, Perl_rvpv_dup was called twice on a non-GP PVGV value,
causing the first duped value to be leaked
|
|
|
|
| |
This reduces code duplication slightly, and reduces the object code size.
|
|
|
|
|
|
|
| |
Instead pass in a COP, as suggested by Ben Morrow. Also add length and flags
parameters, and remove the comment suggesting this change. The underlying
storage mechanism can honour length and UTF8/not, so there is no harm in
exposing this one level higher.
|
| |
|
|
|
|
|
| |
PerlIO_layer_from_ref must not treat a real glob as a scalar. This
function was not updated when SVt_PVGV was moved before SVt_PVLV.
|
|
|
|
|
| |
The fixes of Makefile.SH in 0f13ebd5d71f8177 also need to be applied on Win32
and VMS.
|
| |
|
|
|
|
|
| |
This patch retroactively adds a description of the breakage to
perl5134delta so it will be copied eventually into perl5140delta.
|
|
|
|
|
| |
The third production of <listexprcom>, "expr ','", could never be invoked,
because <expr> can already end with arbitrarily many commas.
|
|
|
|
|
|
|
|
|
| |
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!
|
| |
|
|
|
|
|
| |
This fixes $^A being reset when $1..$2 are localized before any regexp match
happened.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Some literals (e.g. q'abc') don't set the UTF8 flag for pure ASCII literals.
Others (e.g. -abc) do. This should be consistent.
|
|
|
|
|
| |
Some literals (e.g. q'abc') don't set the UTF8 flag for pure ASCII literals.
Others (e.g. -abc) do. This should be consistent.
|
|
|
|
| |
return "LVALUE"
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Scalar::Util::reftype(), refaddr() and blessed() are all a bit
less useful than they could be as they all return C<undef> when
their argument is not a reference. While this is logical, it also
means that using these routines has to be guarded, and normally
guarded in such a way that the internal logic is called twice.
Additionally these routines are quite commonly used and having to
load an additional DLL and XS code every program is inefficient.
Therefore we introduce the "mauve" namespace for to hold the "fixed"
equivalents, this namespace is /always/ loaded (like the 're' or 'utf8'
namespaces), and thus these routines can be accessed easily at any time.
We also provide a new module wrapper in t/lib which allows these
routines to be exported into other namespaces if the user so chooses.
At Jesse's request I have included weaken() and as it seemed logical to
do so I have also added isweak().
Once we have a good name for the namespace we can s/mauve/whatever/g
|
|
|
|
|
|
|
|
|
| |
sv_reftype() mostly returns strings whose length is known at compile
time, so we can avoid a strlen() call if we return the length.
Additionally, the non-length interface is potentially buggy in the
face of class names which contain "\0", therefore providing a way
to obtain the true length allows us to avoid any trickyness.
|
| |
|
|
|
|
|
|
|
| |
[DELTA]
0.58 Sun Aug 29 19:56:50 2010
- U::C::Locale newly supports locales: af, cy, da, fo, haw, is, kl, sw.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When perlio became the default and unixio became the default bottom
layer, the most common path for creating files from Perl became
PerlIOUnix_open, which has always explicitly used 0666 as the
permission mask. This has the following undesireable effects on
VMS:
1.) The execute bit is lost regardless of whether it's in the default
permissions.
2.) Delete permission (which doesn't exist in the Unix permission mask) is
copied from write permission, so granting write permission also grants
delete even if it's not in the default permission mask. This can result
in an inadvertent widening of permissions.
3.) System permissions (which don't exist in the Unix permission mask) are
copied from owner permissions, so any distinction between system and
owner is lost.
4.) ACLs are not inherited. For example, setting a default_protection ACE
on a directory such that all world access is disallowed will be ignored;
world will have the intersection of RWD (the final 6 in 0666) and whatever
the default permissions are regardless of what the ACL says. Thus not
inheriting ACLs can result in the inadvertent widening of permissions.
The way to avoid all of this is to pass 0777 as the permissions to open().
In the VMS CRTL, 0777 has a special meaning over and above intersecting
with the current umask; specifically, it allows Unix syscalls to preserve
native default permissions. Details currently documented at:
http://h71000.www7.hp.com/doc/732final/5763/5763pro_060.html#umask_routine
|
|
|
|
|
|
|
|
| |
This returns us to 8 flag bits, and restores OCSHIFT and OASHIFT to 8 and 12
Previously these were 9 and 13, and effectively PL_opargs[] was using 33 of
32 bits, relying on the ugly hack that no 5 argument builtin had an optional
5th argument, hence the (13 + 5 * 4)th bit was always zero.
is effectively 33 bits.
|
| |
|