In perl.git, the branch p5h/core_scalar has been created
<http://perl5.git.perl.org/perl.git/commitdiff/d6e506925a26169a0b50372cbb793cd77ddf1d1a?hp=0000000000000000000000000000000000000000>
at d6e506925a26169a0b50372cbb793cd77ddf1d1a (commit)
- Log -----------------------------------------------------------------
commit d6e506925a26169a0b50372cbb793cd77ddf1d1a
Author: Yves Orton <[email protected]>
Date: Mon Aug 30 00:41:09 2010 +0200
create the core::scalar namespace for things like reftype
Perl has never formally define a namespace for internal utilities
like reftype(), refaddr(), blessed(), etc.
Historically we have used namespaces like Scalar::Util, Hash::Util,
etc, however these namespaces are not uniformly owned by the core
development group, and have various undesirable usage issues.
At the Amsterdam Perl-core hackathon it was decided that the
"core" namespace will be the namespace where such utility functions
will be embedded in the language, and that furthermore we will
use "core::scalar" for things about scalars, etc.
This patch adds "core::scalar", future patches will add "core::array",
"core::hash", etc, for similar functionality. We will migrate away
the important parts of Hash::Util, and 're' to the core::hash and
core::regex namespacees, etc.
USAGE NOTE: a number of the functions that are in both core::scalar
AND in Scalar::Util have had their interfaces slightly changed to
make them more useful. Specifically reftype() and refaddr() and
blessed() have been changed to return *FALSE* (that is Pl_sv_no)
when their argument is not a ref, or not a class, and not to return
undef like Scalar::Util does. This is considered an improvement,
as generally returning undef meant these functions needed to be
guarded such that typically the internal logic would get called
twice.
M MANIFEST
M Porting/Maintainers.pl
A lib/core/scalar.pm
A lib/core/scalar.t
M pod/perlop.pod
M sv.c
M universal.c
commit 932d301556da09cc9ef0919bb6645d74eb5815dc
Author: Yves Orton <[email protected]>
Date: Sun Aug 29 20:47:16 2010 +0200
add sv_reftype_len() and make sv_reftype() be a wrapper for it
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.
M embed.fnc
M embed.h
M proto.h
M sv.c
commit f14db2644e6bfa813f7a2ac4c548f5945f59798a
Author: Yves Orton <[email protected]>
Date: Sun Nov 13 19:46:14 2016 +0100
make t/porting/diag.t do the right thing with packWARN(WARN_DEPRECATED)
M t/porting/diag.t
-----------------------------------------------------------------------
--
Perl5 Master Repository