This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Karl Williamson [Fri, 27 Jan 2012 04:01:33 +0000 (21:01 -0700)]
mktables: Refactor if-else series
This is a slight refactoring to avoid using 'next' in the loop, and to
surround things with a bare block. Future commits will want to
do common code at the bottom of the loop, including a redo of the bare
block.
Karl Williamson [Mon, 23 Jan 2012 19:43:42 +0000 (12:43 -0700)]
Unicode::UCD::prop_invmap(): Use regex to get trie
This should speed up this test slightly
Karl Williamson [Sun, 22 Jan 2012 15:50:24 +0000 (08:50 -0700)]
mktables: Don't generate no-longer used tables
Previous commits have removed all uses of these tables, so they are no
longer needed.
Karl Williamson [Sun, 22 Jan 2012 15:35:34 +0000 (08:35 -0700)]
Unicode::UCD: Rmv uses of no-longer needed tables
Previous commits have expanded whats in the full case mapping tables
to include the simple maps as well. Thus the specially constructed
tables need no longer be used, leading to simplification.
Karl Williamson [Sun, 22 Jan 2012 15:27:11 +0000 (08:27 -0700)]
UCD.t: white space only
outdent now that surrounding block is removed
Karl Williamson [Sun, 22 Jan 2012 03:04:51 +0000 (20:04 -0700)]
mktables: Include simple mappings in full tables
This changes the case change mapping tables to include the simple
mappings. This was done in 5.14 for the case folding table. The full
mappings are contained, as before, in a hash. Now the simple mappings
they override (when doing multi-char case changing) are added to the
main body of the table, to the already existing simple mappings that
aren't overridden.
If the caller wants to do full mapping, it should look first in the
hash, and only if not found, look in the main body. If the caller wants
only simple mapping, it ignores the hash.
This is already how the code in utf8.c that reads these tables is
constructed.
The .t is modified to take into account that these code points are now
in the main table body.
Karl Williamson [Sat, 21 Jan 2012 22:27:00 +0000 (15:27 -0700)]
mktables: Add duplicate tables
This is for backwards compatibility. Future commits will change these
tables that are generated by mktables to be more efficient. But the
existence of them was advertised in v5.12 and v5.14, as something a Perl
program could use because the Perl core did not provide access to their
contents. We can't change the format of those without some notice.
The solution adopted is to have two versions of the tables, one kept in
the original file name has the original format; and the other is free to
change formats at will.
This commit just creates copies of the original, with the same format.
Later commits will change the format to be more efficient.
We state in v5.16 that using these files is now deprecated, as the
information is now available through Unicode::UCD in a stable API. But
we don't test for whether someone is opening and reading these files; so
the deprecation cycle should be somewhat long; they will be unused, and
the only drawbacks to having them are some extra disk space and the time
spent in having to generate them at Perl build time.
This commit also changes the Perl core to use the original tables, so
that the new format can be gradually developed in a series of patches
without having to cut over the whole thing at once.
Karl Williamson [Thu, 26 Jan 2012 18:30:37 +0000 (11:30 -0700)]
mktables: avoid some extra work
The object is already known to us as the loop variable, so no need to
derive it again; and change the loop variable name and one other
variable name to distinguish the table as being the full map one from
the simple map one
Karl Williamson [Thu, 26 Jan 2012 16:52:26 +0000 (09:52 -0700)]
mktables: Allow non-standard initializations of properties
Some property tables have multiple values per code point. These include
the final Name-equivalent property in which some code points have more
than one synonym; and the full case changing property tables that are
supersets of the simple case changing tables, in which some code points
have a full mapping that differs from the simple mapping.
Prior to this patch, these could not be initialized simply using the
Initialize parameter to the constructor, as it was unable to handle
multiple values per code point.
This also preserves the range type.
Karl Williamson [Mon, 23 Jan 2012 16:23:16 +0000 (09:23 -0700)]
mktables: Comments, white-space and typo in message text only
Karl Williamson [Sat, 21 Jan 2012 19:57:41 +0000 (12:57 -0700)]
mktables: Refactor populating simple case folding tables
These three tables are handled alike; this creates a loop to execute the
same instructions on each of them. Currently there is so little to do,
that it wouldn't be worth it, except that future commits will add
complications, and this makes those easier to handle.
There is now a test that the input data is sane, and instead of
overwriting a value in a table with a known identical value, we skip
that. This doesn't save much effort, because most of the work is
looking up the value (which we can now check sanity for), but again will
be useful for future commits.
Karl Williamson [Sat, 21 Jan 2012 20:19:15 +0000 (13:19 -0700)]
mktables: Assume a leading zero means hex format
When calculating the format of a table, assume that there are no leading
zeros if it is a decimal number, but that means hex.
Karl Williamson [Sat, 21 Jan 2012 19:47:01 +0000 (12:47 -0700)]
mktables: Don't populate the _stc table
This table was used only by Unicode::UCD which no longer uses it, and it
turns out that the data in it are redundant. This is in preparation for
refactoring and removal of the table altogether.
Karl Williamson [Sat, 21 Jan 2012 19:37:28 +0000 (12:37 -0700)]
Unicode::UCD: Don't read _stc table
It turns out that currently in Unicode 6.0, this table is redundant.
This prepares for removing it altogether.
Karl Williamson [Sat, 21 Jan 2012 16:21:40 +0000 (09:21 -0700)]
mktables: Subroutine call needs to be fully qualified
As it is calling something in a different package
Karl Williamson [Thu, 2 Feb 2012 21:12:29 +0000 (14:12 -0700)]
Unicode 6.1
This commit delivers the official Unicode character database files for
release 6.1, plus the final bits needed to cope with the changes in them
from release 6.0, including documentation.
Karl Williamson [Fri, 3 Feb 2012 04:24:35 +0000 (21:24 -0700)]
charnames: pod nits
Karl Williamson [Thu, 2 Feb 2012 02:46:16 +0000 (19:46 -0700)]
mktables: Cope with 6.1 Name_Alias changes
This property has an extra field. So far, commits have allowed mktables
to cope with an extra field, with the value it would have if it had
existed in earlier Unicode releases. This adds code to deal with the
values it will have in 6.1
Karl Williamson [Thu, 2 Feb 2012 02:32:24 +0000 (19:32 -0700)]
Unicode::UCD: Cope with 6.1 Name_Alias changes
The format of this property in Unicode 6.1 is changing, so that the
previous algorithm for separating it out from Name.pl no longer works.
Chris 'BinGOs' Williams [Sat, 4 Feb 2012 10:23:42 +0000 (10:23 +0000)]
Update CPAN-Meta to CPAN version 2.120351
[DELTA]
2.120351 2012-02-03 23:01:45 America/New_York
[OTHER]
- Fixed CPAN packaging errors
2.120350 2012-02-03 22:46:59 America/New_York
[BUGFIX]
- Work around a memory leak bug involving version objects
in boolean context.
Nicholas Clark [Sat, 4 Feb 2012 09:34:57 +0000 (10:34 +0100)]
Avoid a warning from clang when compiling Data::Dumper.
There are other similar casts to void elsewhere in Dumper.xs
Father Chrysostomos [Sat, 4 Feb 2012 07:32:32 +0000 (23:32 -0800)]
Remove ‘Useless use of "re" pragma’ warning
It’s wrong.
$ ./perl -Ilib -le 'use re; print re::regmust(qr/foo/)'
Useless use of "re" pragma at -e line 1.
foo
Useless, eh? OK, then:
$ ./perl -Ilib -le 'print re::regmust(qr/foo/)'
Undefined subroutine &re::regmust called at -e line 1.
Father Chrysostomos [Sat, 4 Feb 2012 07:27:44 +0000 (23:27 -0800)]
Increase $re::VERSION to 0.19
Father Chrysostomos [Sat, 4 Feb 2012 07:09:21 +0000 (23:09 -0800)]
[perl #58608] Fix DD’s dumping of qr|\/|
By trying to escape / as \/, DD was turning \/ into \\/, producing
invalid qr//’s like qr/ \\/ /. You can’t (and don’t need to) escape a
/ preceded by a backslash. But you have to make sure \\/ gets escaped
properly as \\\/. Counting forward from the beginning of the string
and ignoring escaped characters is the proper way to do it.
Father Chrysostomos [Sat, 4 Feb 2012 06:54:41 +0000 (22:54 -0800)]
Data::Dumper/qr.t: This test is not strict-safe
Father Chrysostomos [Sat, 4 Feb 2012 06:54:14 +0000 (22:54 -0800)]
Data::Dumper/qr.t: Add test names and diagnostics
Father Chrysostomos [Sat, 4 Feb 2012 06:45:38 +0000 (22:45 -0800)]
Data::Dumper: qr.t: Add a pure-Perl TODO test
Father Chrysostomos [Sat, 4 Feb 2012 06:43:46 +0000 (22:43 -0800)]
Update MANIFEST with dist/Data-Dumper/t/qr.t
Alexandr Ciornii [Sat, 4 Feb 2012 06:42:31 +0000 (22:42 -0800)]
[perl #58608] TODO tests for DD and qr|\/|
Father Chrysostomos [Sat, 4 Feb 2012 06:31:38 +0000 (22:31 -0800)]
Increase $Cwd::VERSION to 3.39_02
Eric Brine [Sat, 4 Feb 2012 03:32:57 +0000 (22:32 -0500)]
Load File::Spec before using it in Cwd
Father Chrysostomos [Sat, 4 Feb 2012 05:55:31 +0000 (21:55 -0800)]
[perl #109762] Stop !$^V from leaking
by mortalising the temporary SVs.
Father Chrysostomos [Sat, 4 Feb 2012 05:48:27 +0000 (21:48 -0800)]
Increase $Data::Dumper::VERSION to 2.135_04
Father Chrysostomos [Sat, 4 Feb 2012 01:48:55 +0000 (17:48 -0800)]
[perl #107372] DD and overloaded blessed globs
Data::Dumper’s Perl implementation was not working with overloaded
blessed globs, which it thought were strings.
The _dump routine was already copying the value to another variable,
but it was using ref \$original or \$original stringified to see
whether it was dealing with a glob. Since the copy was already there,
it made sense for it to use ref \$copy instead. So that’s what I
made it do.
Eric Brine [Fri, 3 Feb 2012 21:56:54 +0000 (13:56 -0800)]
For the sake or robustness, avoid reproducing Perl guts in test file
Nicholas Clark [Fri, 3 Feb 2012 20:08:43 +0000 (21:08 +0100)]
Add -c option to bisect-runner.pl, for use with -e
This allows one to easily bisect to find when a something became, or stopped
being, a (compile-time) syntax error.
Chris 'BinGOs' Williams [Fri, 3 Feb 2012 15:41:03 +0000 (15:41 +0000)]
Update Version-Requirements to CPAN version 0.101022
[DELTA]
0.101022 2012-02-03 10:29:59 America/New_York
DEPRECATED DEPRECATED DEPRECATED DEPRECATED
Version::Requirements is still DEPRECATED
deprecation is only warned-about if not doing core perl tests,
to quiet them up for the sake of porters' sanity
Nicholas Clark [Fri, 3 Feb 2012 16:47:04 +0000 (17:47 +0100)]
Correct a =head2 to a =head3 in perlfunc.pod
Commit
8f0d6a616731a3d1 added the 'Non-function Keywords by Cross-reference'
section, using =head3 to group by man page. However, the entry for entry
for perlsyn was typo'd as =head2.
Ricardo Signes [Fri, 3 Feb 2012 15:24:20 +0000 (10:24 -0500)]
Revert "Add IO::Socket::IP 0.08 as dual-life module"
This reverts commit
497f7de2d964167330f7260590736e9adb18899c.
Zefram [Fri, 3 Feb 2012 11:30:22 +0000 (11:30 +0000)]
update copyright years in Carp
Paul Evans [Fri, 3 Feb 2012 09:33:16 +0000 (09:33 +0000)]
Add IO::Socket::IP 0.08 as dual-life module
Signed-off-by: Chris 'BinGOs' Williams <chris@bingosnet.co.uk>
Zefram [Fri, 3 Feb 2012 10:53:00 +0000 (10:53 +0000)]
in Carp, avoid vivifying utf8 stash on Perl 5.6
Carp was breaking swash loading on Perl 5.6. Makes no difference to
blead, where the utf8 stash is previvified, but it matters for the
CPAN release.
Steffen Mueller [Fri, 3 Feb 2012 06:53:15 +0000 (07:53 +0100)]
XS::Typemap: Fix tests with -Dusemorebits
Thanks, Karl, for spotting this sillyness!
Father Chrysostomos [Fri, 3 Feb 2012 06:44:40 +0000 (22:44 -0800)]
[perl #108754] perlgit.pod: Stress rebase more
Based on a patch from Andreas König, but rearranged and reworded.
Father Chrysostomos [Fri, 3 Feb 2012 06:22:06 +0000 (22:22 -0800)]
perldelta for Carp dot
Father Chrysostomos [Fri, 3 Feb 2012 06:20:25 +0000 (22:20 -0800)]
perldelta for arybase lslice fix
Father Chrysostomos [Fri, 3 Feb 2012 02:00:17 +0000 (18:00 -0800)]
perldelta for SvPVutf8/byte
Father Chrysostomos [Fri, 3 Feb 2012 01:57:38 +0000 (17:57 -0800)]
perldelta for File::Copy and newlines
Father Chrysostomos [Fri, 3 Feb 2012 01:53:59 +0000 (17:53 -0800)]
perldelta for PerlIO::mmap
Father Chrysostomos [Fri, 3 Feb 2012 01:45:09 +0000 (17:45 -0800)]
Add 2 more CPAN mods to known_pod_issues.dat
Father Chrysostomos [Fri, 3 Feb 2012 00:14:53 +0000 (16:14 -0800)]
perldelta for Term::ReadLine and AE
Craig A. Berry [Fri, 3 Feb 2012 00:50:44 +0000 (18:50 -0600)]
Resurrect PerlIO-related typemap tests.
Apparently we were just missing the fact that T_IN and T_OUT are
pointers to PerlIO structs, not PerlIO structs themselves, which
kinda makes sense as you wouldn't normally have an entire struct
as a return value.
Craig A. Berry [Fri, 3 Feb 2012 00:17:02 +0000 (18:17 -0600)]
Revert "XS::Typemap: Disable PerlIO related typemap tests"
This reverts commit
57e770c980de065ed94a4bc87d0b1f930c5ff3d0.
Next commit gets these tests working.
Steffen Mueller [Thu, 2 Feb 2012 18:38:24 +0000 (19:38 +0100)]
perldelta for the various typemap and ParseXS related changes
Steffen Mueller [Thu, 2 Feb 2012 18:36:07 +0000 (19:36 +0100)]
Remove dead and obscure typemap entries
T_DATAUNIT and T_CALLBACK are nowhere to be found in a CPAN module and
are not used in core. Their purpose is entirely unclear and they are
trivial. They'll always be available from CPAN from the
ExtUtils::Typemaps::Excommunicated module. See perlxstypemap for details
on how to use that if you need it.
Father Chrysostomos [Thu, 2 Feb 2012 18:04:42 +0000 (10:04 -0800)]
perldelta for ->method(my(...)) fix
Father Chrysostomos [Thu, 2 Feb 2012 17:59:39 +0000 (09:59 -0800)]
perldelta for "\n" =~ /.*/g fix
Father Chrysostomos [Thu, 2 Feb 2012 17:49:06 +0000 (09:49 -0800)]
perldelta: Clarify Time::HiRes bug fix
Father Chrysostomos [Thu, 2 Feb 2012 17:48:27 +0000 (09:48 -0800)]
perldelta for _@ and _% prototypes
Zefram [Thu, 2 Feb 2012 16:35:34 +0000 (16:35 +0000)]
synch Carp::Heavy version number to Carp
Also add a test to make sure it stays synched.
Zefram [Thu, 2 Feb 2012 16:07:10 +0000 (16:07 +0000)]
make Carp messages match die properly
Add dot to end of message from Carp, to match the formatting from
CORE::die. The stack trace, coming after the message, is unchanged.
Steffen Mueller [Thu, 2 Feb 2012 07:04:43 +0000 (08:04 +0100)]
XS::Typemap: Silence pedantic compiler warnings
No need to try to optimize the typemap tests.
But it's still a rather backwards and useless typemap in general.
Steffen Mueller [Thu, 2 Feb 2012 07:02:08 +0000 (08:02 +0100)]
XS::Typemap: Disable PerlIO related typemap tests
Craig reports that these blow up for his compiler. (Presumably on VMS)
I don't have the time to fix this properly and wouldn't be certain how
to go about it efficiently anyway, so this should at least prevent
breaking the build and test suite.
Brian Fraser [Thu, 2 Feb 2012 04:10:52 +0000 (01:10 -0300)]
t/op/method.t: Add tests for subless AUTOLOAD and DESTROY
Ricardo Signes [Thu, 2 Feb 2012 03:07:35 +0000 (22:07 -0500)]
CORE does not need to be in perlfunc
Ricardo Signes [Tue, 31 Jan 2012 15:52:03 +0000 (10:52 -0500)]
finish documenting keywords, sort the xrefs
Ricardo Signes [Tue, 31 Jan 2012 15:21:58 +0000 (10:21 -0500)]
add perlfunc cross-reference sections
this should allow confused users to say "perldoc -f if"
hopefully in the future, a more generalized mechanism will
exist
Zefram [Wed, 1 Feb 2012 23:45:05 +0000 (23:45 +0000)]
update Math-Complex to CPAN version 1.59
* Don't declare "tan" operator overloading on Math::Complex
objects, because there is no such overloading type [rt.cpan.org
#74288].
* Remove execute bit from test scripts in CPAN tarball.
Zefram [Wed, 1 Feb 2012 22:22:59 +0000 (22:22 +0000)]
really allow pad_findmy's retval to be ignored
402642c6301a1dbc64ea3acc8beee35078afee26 only changed pad_findmy_pvn.
pad_findmy_pv and pad_findmy_sv need the same treatment.
Nicholas Clark [Wed, 1 Feb 2012 21:58:14 +0000 (22:58 +0100)]
Update, correct and clarify the comment in Perl_sv_setuv().
See the correspondence on ticket #36459 for more details.
Father Chrysostomos [Wed, 1 Feb 2012 21:30:06 +0000 (13:30 -0800)]
Increase $arybase::VERSION to 0.04
Father Chrysostomos [Wed, 1 Feb 2012 21:29:28 +0000 (13:29 -0800)]
[perl #109570] Fix off-by-1 error in arybase’s lslice
When I wrote that originally, I was treating POPMARK as equivalent to
--*PL_markstack_ptr, rather than *PL_markstack_ptr--.
So I was using the marker for the outer list surrounding the list
slice, and modifying whatever numbers were to be found there, such as
the 3 and 4 in [3, 4, qw(foo bar)[0]].
Father Chrysostomos [Wed, 1 Feb 2012 21:00:43 +0000 (13:00 -0800)]
Allow pad_findmy’s retval to be ignored
Nicholas Clark [Wed, 1 Feb 2012 20:44:51 +0000 (21:44 +0100)]
bisect.pl now exits with 0 for success for --help
bisect.pl --help now exits with 0 for success. The "that took" timing
message is no longer shown after the help text. The sanity test for "are we
running from the current checkout" is now moved after the argument checking,
so that bisect.pl --help will always show the help text.
Nicholas Clark [Wed, 1 Feb 2012 20:24:20 +0000 (21:24 +0100)]
Add --no-match to bisect.pl, equivalent to --expect-fail --match
Nicholas Clark [Wed, 1 Feb 2012 18:41:29 +0000 (19:41 +0100)]
bisect.pl now treats the command line as files to match with --match.
Previously with --match it would ignore the command line options, and search
in all distribution files (no --target given), or the build products only
(--target given). These remain the defaults if there are no command line
arguments. But now if command line arguments are given, this are used as glob
patterns to give the list of files to match against.
Zefram [Wed, 1 Feb 2012 18:06:38 +0000 (18:06 +0000)]
update Time-HiRes to CPAN version 1.9725
- Correct stack discipline in stat(), which was screwing up list
operations in expressions containing calls to it [rt.cpan.org
#72926].
- Add missing OUTPUT sections to the XS code [rt.cpan.org #70930].
- Skip itimer tests on GNU/Hurd, which has the API but lacks
the implementation [rt.cpan.org #72754].
- Fix a doubled word in the documentation [rt.cpan.org #72763].
Chris 'BinGOs' Williams [Wed, 1 Feb 2012 18:01:08 +0000 (18:01 +0000)]
Update Maintainers.pl for ExtUtils-ParseXS on teh CPAN
Steffen Mueller [Wed, 1 Feb 2012 17:27:30 +0000 (18:27 +0100)]
ExtUtils::ParseXS: Changelog and version bump to 3.14
Zefram [Wed, 1 Feb 2012 13:03:24 +0000 (13:03 +0000)]
fix punctuation in a panic message
Tony Cook [Mon, 30 Jan 2012 07:09:11 +0000 (08:09 +0100)]
perlxstypemap: typemap variable documentation
Add a list of the special Perl variables for interpolation
into typemaps. That's a very important bit of the typemapping mechanism
that was previously virtually undocumented!
Steffen Mueller [Sun, 29 Jan 2012 17:10:19 +0000 (18:10 +0100)]
Move more typemap-related documentation to the typemap doc file
Some of the discussion in perlxs was duplicated in perlxstypemap.
This also adds several references to the new man page and fixes
a few minor nits.
Steffen Mueller [Sun, 29 Jan 2012 14:25:52 +0000 (15:25 +0100)]
XS::Typemap: Somewhat consistent indentation
At least in my new code.
Steffen Mueller [Sat, 28 Jan 2012 16:50:05 +0000 (17:50 +0100)]
Fix typo in documentation
Steffen Mueller [Sat, 28 Jan 2012 16:47:16 +0000 (17:47 +0100)]
Move typemap documentation to its own file
Sadly, the POD in Typemap.xs was not easily extractable into a POD file
at build time, so it now lives in a separate POD file from the start.
Makes keeping documentation and testing efforts in sync marginally
harder, but it's probably the right trade-off.
What's left to do is finding the right places in other POD files to
refer to this old/new documentation.
Steffen Mueller [Sat, 28 Jan 2012 12:10:59 +0000 (13:10 +0100)]
XS::Typemap: Fix typo in docs, fix version
Steffen Mueller [Thu, 26 Jan 2012 22:54:38 +0000 (23:54 +0100)]
XS::Typemap: Tests for T_IN/T_OUT typemaps
Steffen Mueller [Thu, 26 Jan 2012 18:18:33 +0000 (19:18 +0100)]
XS::Typemap: Tests for T_INOUT typemap
Steffen Mueller [Thu, 26 Jan 2012 18:04:23 +0000 (19:04 +0100)]
XS::Typemap: Tests for the T_PACKEDARRAY typemap
Steffen Mueller [Tue, 24 Jan 2012 07:24:00 +0000 (08:24 +0100)]
XS::Typemap: Tests for T_PACKED
Steffen Mueller [Mon, 23 Jan 2012 17:33:26 +0000 (18:33 +0100)]
Document T_PACKEDARRAY
Steffen Mueller [Sat, 21 Jan 2012 14:20:05 +0000 (15:20 +0100)]
XS::Typemap: Document T_PACKED
Steffen Mueller [Fri, 20 Jan 2012 07:15:45 +0000 (08:15 +0100)]
XS-Typemap: Document sharing mechanism for typemaps
Thankfully, it's a one-liner now.
Steffen Mueller [Wed, 18 Jan 2012 07:28:36 +0000 (08:28 +0100)]
Inline the XS-Typemap typemap file
Steffen Mueller [Wed, 18 Jan 2012 07:13:58 +0000 (08:13 +0100)]
Document the exact format of a typemap
Including both the format of the content of a typemap file as well as
the embedded typemap syntax.
Steffen Mueller [Tue, 17 Jan 2012 07:54:50 +0000 (08:54 +0100)]
Typemaps: Start writing some general documentation
Steffen Mueller [Mon, 16 Jan 2012 21:39:01 +0000 (22:39 +0100)]
First stab T_REFREF docs
I am rather confident that this was added for some notion of symmetry
and completion. It's only half-implemented and there are no known users
in core or on CPAN. Candidate for deprecation (instead or in addition to
documentation?)?
Steffen Mueller [Mon, 16 Jan 2012 20:10:05 +0000 (21:10 +0100)]
Typemap tests: T_SHORT, T_U_INT, T_INT, T_LONG
Steffen Mueller [Mon, 16 Jan 2012 17:08:37 +0000 (18:08 +0100)]
Cleanup: Condense tests and add a few
Steffen Mueller [Mon, 16 Jan 2012 17:08:25 +0000 (18:08 +0100)]
Minor documentation fixes and annotations