| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
The 0th entry in a pad is for @_, and the name corresponding to it is NULL,
so save a check.
|
|
|
|
|
| |
Provide a Perl_newSUB() function in mathoms.c for anyone referencing it by its
full name.
|
| |
|
|
|
|
|
|
|
|
|
| |
For Cygwin, runperl() in test.pl adds ':/bin' to $ENV{PATH}. However, if
$ENV{PATH} is initially empty, the leading colon causes the following error:
Insecure directory in $ENV{PATH} while running with -T switch at ./test.pl line 566.
This fix sets $ENV{PATH} to just '/bin' when it's intially empty.
|
|
|
|
|
|
|
| |
This stopped working with the 84601d63a (the 3.50 upgrade).
This patch was not applied to the CGI.pm repository until
after the new release.
|
|
|
|
|
| |
Only the one copied as part of the build should be removed in the
clean target. TODO: buildtoc is probably busted.
|
|
|
|
|
| |
This was supposed to have been removed by 80ebaca, when negative val-
ues for the newname_len argument stopped being used.
|
|
|
|
|
|
|
| |
This stops S_hv_delete_common from skipping the call to
mro_package_moved if the HvNAME of the stash containing the deleted
glob is no longer valid, but the stash is still attached to some other
part of the symbol table.
|
|
|
|
|
| |
Perl_pad_undef was never in the API, and has no users (elsewhere in core,
on CPAN, or anywhere else visible to Google codesearch).
|
|
|
|
| |
This will allow the non-API function Perl_pad_undef to be inlined into it.
|
| |
|
|
|
|
| |
Signed-off-by: Chris 'BinGOs' Williams <chris@bingosnet.co.uk>
|
| |
|
|
|
|
|
|
|
|
|
| |
Most subroutines never recurse, hence only need 2 entries in the padlist
array - names, and depth=1. The default for av_store() is to allocate 0..3,
and even an explicit call to av_extend() with <3 will be rounded up, so we
inline the allocation of the array here.
Running ./installman allocates 7K less with this change.
|
|
|
|
|
|
|
|
|
| |
We've just stored padname and pad as the first two elements in padlist - so
calling av_fetch() is makework.
The code was the way it was because dd2155a49b710f23 moved the two halves from
disjoint locations into the same function adjacent to each other, but didn't
spot this subsequent optimisation.
|
|
|
|
|
|
|
|
| |
The stash of the GV is what's being used to look up a global variables name. If
the GV has no stash, we might as well give up early. This fixes a segfault
because S_varname would later assume gv_fullname4 has resolved the glob's full
name and try to use the svu_pv slot of the scalar returned, while all it got
back was undef.
|
|
|
|
|
| |
If HvENAME was set by a destructor, it needs to be freed as well.
hv_name_set(whatever, NULL, ...) does that.
|
|
|
|
|
|
|
| |
This allows it to delete PL_isarev entries.
mro_isa_changed_in only deletes items mentioned in HvMROMETA(hv)->isa,
so it must be present.
|
|
|
|
| |
Fortunately, this bug has not affected the output of mktables so far.
|
|
|
|
|
| |
[perl #79024] was a very specific case of part of this entry, which
was only broken temporarily.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
[DELTA]
* important changes in version 1.70 15/11/2010
- Add ptargrep utility courtesy of Grant McLean
** I think I found everywhere that needed updating
by grepping for 'ptardiff' and adding where needed.
This stuff is definitively not intuitive.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This keeps stash names visible during %foo:: = ().
This fixes @ISA assignment inside a DESTROY method triggered by
%foo:: = () and also lets existing CVs retain their pointers to
the stash.
So
%foo:: = ()
is now equivalent to
delete $foo::{$_} for keys %foo::
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
operator with defined
The ternary operator can be used in lvalue context; $a // $b cannot.
|
|
|
|
| |
Even if the xop description couldn't be fetched from PL_custom_op_descs.
|
| |
|
|
|
|
|
| |
They're mostly small bugfixes here and there. Nothing of particular interest
when upgrading to a new version of perl, I'd say.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Karl Williamson says these do not need entries.
|
|
|
|
|
|
|
|
|
| |
The format accumulator $^A now becomes tainted when formline() is
called with tainted data.
There is still one failing test from the TODO set; it seems
that the $^A get magic is handled too late for the taintedness
to show up.
|
|
|
|
|
| |
The format accumulator $^A should become tainted when formline() is
called with tainted data.
|
| |
|
|
|
|
|
|
|
| |
A private (tainted) string did not get its share of space
in the destination string, causing a buffer overflow later.
Originally reported by Roland Kuhn as http://bugs.debian.org/575318
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change the custom op registrations from two separate hashes to one hash
holding structure pointers, and add API functions to register ops and
look them up. This will make it easier to add new properties of custom
ops in the future. Copy entries across from the old hashes where
necessary, to preserve compatibility.
Add two new properties, in addition to the already-existing 'name' and
'description': 'class' and 'peep'. 'class' is one of the OA_*OP
constants, and allows B and other introspection mechanisms to work with
custom ops that aren't BASEOPs. 'peep' is a pointer to a function that
will be called for ops of this type from Perl_rpeep.
Adjust B.xs to take account of the new properties, and also to give
custom ops their registered name rather than simply 'custom'.
|
| |
|