Nicholas Clark [Mon, 18 Oct 2010 18:31:00 +0000 (20:31 +0200)]
Convert Fcntl::S_IFMT to XS.
This removes the requirement to call XSLoader::load() at BEGIN time, which
simplifies the Perl code further.
Nicholas Clark [Mon, 18 Oct 2010 18:10:39 +0000 (20:10 +0200)]
Convert Fcntl::S_IMODE to XS.
Nicholas Clark [Mon, 18 Oct 2010 17:30:12 +0000 (19:30 +0200)]
Convert Fcntl::S_IS{LNK,SOCK,BLK,CHR,FIFO,WHT,ENFMT} to XS.
This reduces the memory usage of Fcntl by quite a bit, as the same XSUB is used
by all 9 S_IS* functions.
Nicholas Clark [Mon, 18 Oct 2010 14:01:00 +0000 (16:01 +0200)]
Convert Fcntl::{S_ISREG,S_ISDIR} to XS.
I estimate that this saves 294 bytes in Perl space (per thread, or per-process
if memory pages become unshared after forking), but costs only 232 bytes in the
shared object (should always remain shared between threads and processes).
Oh, and it's XS code, and avoids 2 Perl subroutine calls.
Nicholas Clark [Mon, 18 Oct 2010 17:20:24 +0000 (18:20 +0100)]
Tweak t/porting/dual-life.t for the file renames in
463da0ac9e3d63ff.
podlators 2.4.0 renamed scripts/pod2*.PL to scripts/pod2*
Chris 'BinGOs' Williams [Mon, 18 Oct 2010 15:37:43 +0000 (16:37 +0100)]
Update Compress-Raw-Bzip2 to CPAN version 2.031
[DELTA]
2.031 21 September 2010
* Updated to use bzip2 1.0.6
Chris 'BinGOs' Williams [Mon, 18 Oct 2010 14:00:04 +0000 (15:00 +0100)]
Update podlators to CPAN version 2.4.0
The new perlpodstyle.pod has been located to pod/
Changes were necessary to mkppport because of a new dependency on
Encode in podlators that stopped it being built before Encode was built.
[DELTA]
2010-10-10 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 2.4.0 released.
* scripts/pod2man: Remove the code to generate the #! line and
supporting code and instead rely on ExtUtils::MakeMaker to handle
that during package build.
* scripts/pod2text: Likewise.
* scripts/pod2man.PL: Renamed to pod2man.
* scripts/pod2text.PL: Renamed to pod2text.
* Makefile.PL: Remove PL_FILES section.
* pod/perlpodstyle.pod: New style guide for POD documentation,
split mostly from the NOTES section of the pod2man man page.
* scripts/pod2man.PL: Remove NOTES section, now maintained as the
separate perlpodstyle document.
* Makefile.PL: Add perlpodstyle.1 to the generated man pages.
* lib/Pod/Man.pm (cmd_para): Do not strip escaped trailing
whitespace, such as that created by S<> at the end of a line,
since the backslash is then taken by *roff as escaping the
newline. Thanks, Kevin Ryde.
* t/man.t: Test S<> at the end of lines.
* lib/Pod/Man.pm (output): If the utf8 option is given, encode
output in UTF-8 if there is no encoding layer. Now requires the
Encode module.
(start_document): Rather than forcibly change the PerlIO encoding
layer, probe the PerlIO layers with protection for Perl versions
without PerlIO and set a flag indicating whether to encode on the
fly on output.
* lib/Pod/Text.pm: Likewise.
* Makefile.PL: Mark Encode as required.
* t/man-perlio.t: Test Pod::Man output to a file handle with a
PerlIO encoding layer already applied.
* t/text-perlio.t: Likewise for Pod::Text.
Nicholas Clark [Mon, 18 Oct 2010 13:04:32 +0000 (15:04 +0200)]
Fix Fcntl::S_ISENFMT(), which could never have worked before.
S_ISENFMT() and S_ISWHT() were added in 2000 as part of commit
ca6e1c26e8ac218f.
1a16747c2ea1992d (2 weeks later) intended to fix the copy/paste error in that
previous commit which would prevent either from working. It did fix S_ISWHT().
However, there was a second error in the definition of S_ISEMFMT() which was
never picked up - S_ENFMT(), not S_IFENFMT().
Nicholas Clark [Mon, 18 Oct 2010 08:55:15 +0000 (10:55 +0200)]
Convert File::Glob::import to $Exporter::ExportLevel and grep.
Previously it was using goto & and splice, and was not as simple to read.
Nicholas Clark [Mon, 18 Oct 2010 08:22:44 +0000 (10:22 +0200)]
Convert File::Glob::import to use given/when.
Nicholas Clark [Mon, 18 Oct 2010 07:47:12 +0000 (09:47 +0200)]
Remove MacOS classic support from File::Glob's tests.
Craig A. Berry [Mon, 18 Oct 2010 03:42:57 +0000 (22:42 -0500)]
Mention symbol shortening on VMS in perldelta.
Ævar Arnfjörð Bjarmason [Sun, 17 Oct 2010 20:45:37 +0000 (13:45 -0700)]
perldelta entries
with tweaks from the committer
Father Chrysostomos [Sun, 17 Oct 2010 20:24:54 +0000 (13:24 -0700)]
Remove mention of
cb525dbe88 from the perldelta comment
Craig A. Berry [Sun, 17 Oct 2010 20:23:08 +0000 (15:23 -0500)]
Parentheses in compiler flags are legal on VMS.
And sometimes required. Removing them was causing Embed.t to fail
when compiler options with lists were in use, such as
/NAMES=(AS_IS,SHORTENED).
Craig A. Berry [Sun, 17 Oct 2010 20:18:02 +0000 (15:18 -0500)]
Clean up the name mangler database on VMS.
This is created when compiling with /NAMES=SHORTENED.
Already committed upstream at:
http://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/commit/
8f164a59
brian d foy [Sun, 17 Oct 2010 04:43:50 +0000 (23:43 -0500)]
* perlfaq4: perlreftut is no longer upcoming, it's come
Chris 'BinGOs' Williams [Sat, 16 Oct 2010 23:37:58 +0000 (00:37 +0100)]
Update Unicode-Collate to CPAN version 0.63
[DELTA]
0.63 Sun Oct 10 22:13:21 2010
- supported suppress contractions (see 'suppress' in POD).
- internal for hangul_terminator in getSortKey().
- U::C::Locale newly supports locales: be, bg, kk, mk, ru, sr.
- added tailoring with U+0340 or U+0341 instead of U+0300 or U+0301.
(affected locales: hr, is, pl, se, to, wo)
Father Chrysostomos [Sat, 16 Oct 2010 05:52:30 +0000 (22:52 -0700)]
Add Mike Kelly to AUTHORS
Mike Kelly [Sat, 16 Oct 2010 00:40:45 +0000 (17:40 -0700)]
dist/IO: fix a few typos
Father Chrysostomos [Sat, 16 Oct 2010 00:40:22 +0000 (17:40 -0700)]
Add Ali Polatel to AUTHORS
Ali Polatel [Sat, 16 Oct 2010 00:15:34 +0000 (17:15 -0700)]
dist/IO: Always bind to localhost in tests.
This is necessary on Exherbo, at least, because of the network
sandboxing that is done by 'sydbox'. And, in general, tests shouldn't be
listening on all interfaces.
Jan Dubois [Fri, 15 Oct 2010 21:48:38 +0000 (14:48 -0700)]
Use __declspec(dllimport) for XS code on Windows
By default C compilers will generate direct call instructions that the
linker will have to route trhough a call thunk if the call site is not
available at link time. By annotating all imported symbols the compiler
is able to generate a indirect call instruction directly.
This should improve performance minimally, but will also make sure the
Perl API functions have the same addresses inside the core and inside
XS modules. The ext/XS-APItest/t/call_checker.t tests rely on being able
to compare function addresses.
Craig A. Berry [Fri, 15 Oct 2010 19:56:58 +0000 (14:56 -0500)]
Update regen targets on VMS.
Craig A. Berry [Fri, 15 Oct 2010 19:38:53 +0000 (14:38 -0500)]
Band-aid to handle long API symbol on VMS.
For the first time we now have a symbol longer than 31 characters
in the API, not just internally or generated in xsubs. That means
we have to provide the shortened name in the linker options file
used to produce the shareable image, but the documentation on the
CRC used to produce the short name is incomplete. For a more
general solution, we may have to root through the demangler
database or parse the output of CC/WARN=ENABLE=NAMESHORTENED.
Florian Ragwitz [Fri, 15 Oct 2010 17:34:52 +0000 (19:34 +0200)]
Make splice invoke set magic
Karl Williamson [Fri, 24 Sep 2010 05:36:40 +0000 (23:36 -0600)]
Subject: [perl #58182] partial: Add uni \s,\w matching
This commit causes regex sequences \b, \s, and \w (and complements) to
match in the latin1 range in the scope of feature 'unicode_strings' or
with the /u regex modifier.
It uses the previously unused flags field in the respective regnodes to
indicate the type of matching, and in regexec.c, uses that to decide
which of the handy.h macros to use, native or Latin1.
I chose this for now rather than create new nodes for each type of
match. An earlier version of this patch did that, and in every case the
switch case: statements were adjacent, offering no performance
advantage. If regexec were modified to use in-line functions or more
macros for various short section of it, then it would be faster to have
new nodes rather than using the flags field. But, using that field
simplified things, as this change flies under the radar in a number of
places where it would not if separate nodes were used.
Karl Williamson [Thu, 23 Sep 2010 15:35:53 +0000 (09:35 -0600)]
perlre.pod: slight rewording
Karl Williamson [Thu, 23 Sep 2010 13:57:02 +0000 (07:57 -0600)]
Subject: unicode_strings.t: Imprv test output
This improves the phrasing of the output of the tests
Karl Williamson [Thu, 23 Sep 2010 13:55:15 +0000 (07:55 -0600)]
Subject: unicode_strings.t: rmv trail blanks
Karl Williamson [Thu, 23 Sep 2010 13:53:10 +0000 (07:53 -0600)]
Subject: regcomp.h: Add macro to get regnode flags
Karl Williamson [Thu, 23 Sep 2010 13:51:09 +0000 (07:51 -0600)]
Subject: [PATCH] regexec.c: make macros fit 80 cols
Certain multi-line macros had their continuation backslashes way out.
One line of each is longer than 80 chars, but no point in makeing all
the lines that long.
Karl Williamson [Thu, 23 Sep 2010 13:49:37 +0000 (07:49 -0600)]
Subject: [PATCH] regexec.c: add and refactor macros
Add macros that will have unicode semantics; these share much code in
common with ones that don't. So factor out that common code.
These might be good candidates for inline functions.
Karl Williamson [Thu, 23 Sep 2010 13:18:12 +0000 (07:18 -0600)]
regcomp.c: Fix white space, cuddled else
Karl Williamson [Thu, 23 Sep 2010 13:15:36 +0000 (07:15 -0600)]
perlrebackslash: Fix poor grammar
Jesse Vincent [Fri, 15 Oct 2010 14:12:05 +0000 (23:12 +0900)]
remove some broken markup from release_schedule
Jesse Vincent [Fri, 15 Oct 2010 14:11:45 +0000 (23:11 +0900)]
Add another victim, get a 2011 heading
Jesse Vincent [Fri, 15 Oct 2010 14:04:19 +0000 (23:04 +0900)]
Update our victim list through spring
Jesse Vincent [Fri, 15 Oct 2010 13:53:21 +0000 (22:53 +0900)]
sign myself up for a blead release and the 5.14 RC0
Nicholas Clark [Fri, 15 Oct 2010 13:42:47 +0000 (14:42 +0100)]
Implement File::Glob::GLOB_CSH in XS instead of perl.
Nicholas Clark [Fri, 15 Oct 2010 13:11:44 +0000 (14:11 +0100)]
Use inlineable proxy constant subs for File::Glob
Nicholas Clark [Fri, 15 Oct 2010 10:29:53 +0000 (11:29 +0100)]
Express @File::Glob::EXPORT_OK in terms of %File::Glob::EXPORT_TAGS.
This reduces duplication.
Nicholas Clark [Fri, 15 Oct 2010 10:00:27 +0000 (11:00 +0100)]
File::Glob::GLOB_ERROR is a real subroutine, not a constant().
Previously it was bodged as a constant(), with an explicit wrapper subroutine
in Glob.pm to call each time to get the value.
Nicholas Clark [Fri, 15 Oct 2010 08:53:28 +0000 (09:53 +0100)]
Nothing autoloaded in Sys::Hostname or I18N::Langinfo, so don't use AutoLoader;
Nicholas Clark [Fri, 15 Oct 2010 08:52:54 +0000 (09:52 +0100)]
Remove erroneous references to AutoLoader from File::Glob.
Chip Salzenberg [Fri, 15 Oct 2010 00:50:10 +0000 (17:50 -0700)]
Document that av_delete and hv_delete make their return values mortal.
Father Chrysostomos [Thu, 14 Oct 2010 21:04:55 +0000 (14:04 -0700)]
Make cpan/CGI/t/http.t (hopefully) compatible with VMS
I will submit a similar patch upstream in a few days.
Father Chrysostomos [Thu, 14 Oct 2010 20:45:13 +0000 (13:45 -0700)]
perldelta: Missing a C from C<>
Nicholas Clark [Thu, 14 Oct 2010 20:44:08 +0000 (21:44 +0100)]
Convert modules in ext/ to pass minimal arguments to XSLoader::load().
Nicholas Clark [Thu, 14 Oct 2010 20:30:16 +0000 (21:30 +0100)]
XSLoader::load() with no arguments can use caller to find a default package.
In the case of dynamic linking, it's already using caller to get a filename, so
this isn't usually any extra work.
Father Chrysostomos [Thu, 14 Oct 2010 20:37:18 +0000 (13:37 -0700)]
perldelta: delete $+{...} was in the wrong section
Father Chrysostomos [Thu, 14 Oct 2010 20:34:15 +0000 (13:34 -0700)]
perldelta up to 97a3247
Father Chrysostomos [Thu, 14 Oct 2010 20:02:40 +0000 (13:02 -0700)]
Correct threads version
Florian Ragwitz [Thu, 14 Oct 2010 16:55:52 +0000 (18:55 +0200)]
Update .gitignore for the Tie::Hash::NamedCapture move
Father Chrysostomos [Thu, 14 Oct 2010 16:33:01 +0000 (09:33 -0700)]
Change the perl version mentioned in threads.pm concerning dirhandles
as this may change before 5.14.
Nicholas Clark [Thu, 14 Oct 2010 14:30:47 +0000 (15:30 +0100)]
Remove the code for file exclusions from Maintainers.pm - nothing needs it now.
Nicholas Clark [Thu, 14 Oct 2010 13:39:15 +0000 (14:39 +0100)]
Since
c440907b, Maintainers.pl doesn't need exclusions for XSLoader's files.
Previously, XSLoader and DynaLoader shared a directory (ext/DynaLoader).
The ownership lists for core files was expressed as ext/DynaLoader, with
specific exclusions for XSLoader's files. These are now superfluous.
Nicholas Clark [Thu, 14 Oct 2010 14:34:03 +0000 (15:34 +0100)]
Move remaining Tie::Hash::NamedCapture XS code to NamedCapture.xs
Now all the support code for %+ and %- is contained in the module in ext/
Nicholas Clark [Thu, 14 Oct 2010 13:09:15 +0000 (14:09 +0100)]
Move Tie::Hash::NamedCapture::{FIRST,NEXT}KEY to NamedCapture.xs
Nicholas Clark [Thu, 14 Oct 2010 12:29:22 +0000 (13:29 +0100)]
Convert lib/Tie/Hash/NamedCapture.pm to an XS module in ext/
Initially move only Tie::Hash::NamedCapture::flags from universal.c to it.
Nicholas Clark [Thu, 14 Oct 2010 10:41:50 +0000 (11:41 +0100)]
Merge XS_Tie_Hash_NamedCapture_{FIRSTK,NEXTK} into S_named_capture_iter_common.
Nicholas Clark [Thu, 14 Oct 2010 10:17:35 +0000 (11:17 +0100)]
Merge XS_Tie_Hash_NamedCapture_STORE into S_named_capture_common.
Nicholas Clark [Thu, 14 Oct 2010 10:04:51 +0000 (11:04 +0100)]
Merge XS_Tie_Hash_NamedCapture_CLEAR into S_named_capture_common.
Nicholas Clark [Thu, 14 Oct 2010 09:44:15 +0000 (10:44 +0100)]
Merge XS_Tie_Hash_NamedCapture_DELETE into S_named_capture_common.
Nicholas Clark [Thu, 14 Oct 2010 09:24:45 +0000 (10:24 +0100)]
Merge XS_Tie_Hash_NamedCapture_SCALAR into S_named_capture_common.
Nicholas Clark [Thu, 14 Oct 2010 09:08:08 +0000 (10:08 +0100)]
Merge XS_Tie_Hash_NamedCapture_{FETCH,EXISTS} into S_named_capture_common.
Nicholas Clark [Thu, 14 Oct 2010 08:47:57 +0000 (09:47 +0100)]
Expand CALLREG_NAMED_BUFF* macros in XS_Tie_Hash_NamedCapture_*
This reveals even more similarity between the routines' bodies.
Andy Dougherty [Wed, 13 Oct 2010 17:27:12 +0000 (13:27 -0400)]
Fix x2p and utils dependencies for static builds
The x2p and utils .PL extractions use the Cwd module, which is not
available in miniperl in a static build. (For a dynamic build, miniperl
only loads the pure perl portion of Cwd, but building the whole extension
ensures that the pure perl part is correctly built and available. It might
be cleaner just to always require the full perl.)
Father Chrysostomos [Thu, 14 Oct 2010 06:41:38 +0000 (23:41 -0700)]
Remove or update pod references to regexp reëntrance.
Father Chrysostomos [Thu, 14 Oct 2010 06:29:57 +0000 (23:29 -0700)]
warnings.pl -> regen/warnings.pl
Father Chrysostomos [Thu, 14 Oct 2010 06:28:48 +0000 (23:28 -0700)]
regcomp.pl -> regen/regcomp.pl
Father Chrysostomos [Thu, 14 Oct 2010 06:26:14 +0000 (23:26 -0700)]
reentr.pl -> regen/reentr.pl
Father Chrysostomos [Thu, 14 Oct 2010 06:24:22 +0000 (23:24 -0700)]
overload.pl -> regen/overload.pl
Father Chrysostomos [Thu, 14 Oct 2010 06:18:36 +0000 (23:18 -0700)]
opcode.pl -> regen/opcode.pl
Father Chrysostomos [Thu, 14 Oct 2010 06:22:56 +0000 (23:22 -0700)]
keywords.pl -> regen/keywords.pl
Father Chrysostomos [Thu, 14 Oct 2010 06:15:06 +0000 (23:15 -0700)]
embed.pl -> regen/embed.pl
so newcomers can find it more easily
Zefram [Thu, 14 Oct 2010 05:34:15 +0000 (22:34 -0700)]
Father Chrysostomos [Thu, 14 Oct 2010 05:31:59 +0000 (22:31 -0700)]
Father Chrysostomos [Thu, 14 Oct 2010 01:15:07 +0000 (18:15 -0700)]
Father Chrysostomos [Thu, 14 Oct 2010 01:01:47 +0000 (18:01 -0700)]
perldelta up to
07ffcb738
Father Chrysostomos [Wed, 13 Oct 2010 23:31:28 +0000 (16:31 -0700)]
Father Chrysostomos [Wed, 13 Oct 2010 21:53:09 +0000 (14:53 -0700)]
perldelta up to
2748c77610
Nicholas Clark [Wed, 13 Oct 2010 20:04:47 +0000 (21:04 +0100)]
Add tests for the usage messages for Tie::Hash::NamedCapture::*
Nicholas Clark [Wed, 13 Oct 2010 17:58:06 +0000 (18:58 +0100)]
In reg_nc_tie.t, use like() to get better diagnostics on failure.
Florian Ragwitz [Wed, 13 Oct 2010 15:35:03 +0000 (17:35 +0200)]
Add perl5122delta
Father Chrysostomos [Wed, 13 Oct 2010 16:45:08 +0000 (09:45 -0700)]
Stop cpan/CGI/t/http.t from failing
A similar patch has been applied upstream. This will be overwritten
when the next CGI.pm is merged into blead, but at least we can get
the tests passing for now.
This does not affect any installed files.
Nicholas Clark [Wed, 13 Oct 2010 16:07:34 +0000 (17:07 +0100)]
In S_save_scalar_at, remove oldtainted, unneeded since
0cbee0a449cc4e11.
0cbee0a449cc4e11 removed the call to mg_get(), and hence any possibility of
calling code with the side effect of changing PL_tainted.
Nicholas Clark [Wed, 13 Oct 2010 15:16:11 +0000 (16:16 +0100)]
Consistent stack handling for XS_re_regnames_*
This may also fix bugs for the (untested) cases where the called routine
returns NULL, and the calling routine attempted XSRETURN_UNDEF.
Nicholas Clark [Wed, 13 Oct 2010 13:37:16 +0000 (14:37 +0100)]
Consistent usage messages for XS_Tie_Hash_NamedCapture_*
The $flags argument is actually the object, so should not be mentioned.
Nicholas Clark [Wed, 13 Oct 2010 13:12:27 +0000 (14:12 +0100)]
In XS_Tie_Hash_NamedCapture_{CLEAR,STORE}, free any returned value.
The calling convention for CALLREG_NAMED_BUFF_*() is to return NULL, or a
reference to a scalar. For CLEAR and STORE we return no values, so if we're
erroneously passed a reference, we should free it to stop it being leaked.
Nicholas Clark [Wed, 13 Oct 2010 12:56:38 +0000 (13:56 +0100)]
Consistent stack handling for XS_Tie_Hash_NamedCapture_*
This may also fix bugs for the (untested) cases where CALLREG_NAMED_BUFF_*
returned NULL, and the calling routine attempted XSRETURN_UNDEF.
It's fine to call sv_2mortal() on the immortals returned by
CALLREG_NAMED_BUFF_EXISTS()
Nicholas Clark [Wed, 13 Oct 2010 10:09:02 +0000 (11:09 +0100)]
XS_Tie_Hash_NamedCapture_DELETE should return a value.
The core's regexp implementation will always croak, but other pluggable engines
may have read/write semantics, and hence return from their delete call.
Note that STORE and EXISTS are called in void context, hence their return stack
is discarded.
brian d foy [Wed, 13 Oct 2010 07:40:49 +0000 (02:40 -0500)]
perlfaq4: use given() in number/float/integer answer
How do I determine whether a scalar is a number/whole/integer/float?
David Canzi also adjusted some of the regexes. The
real number and decimal number tests are really the
same thing, and we don't have to capture in the float
case.
Karl Williamson [Tue, 12 Oct 2010 22:24:59 +0000 (16:24 -0600)]
Fix typos in comments
Zefram [Wed, 13 Oct 2010 05:18:46 +0000 (22:18 -0700)]
perldelta entries for op-building functions and LINKLIST
Karl Williamson [Thu, 7 Oct 2010 04:16:56 +0000 (22:16 -0600)]
charnames.t: Make sure code point aliasess are right
Some code points have two (possibly more names). This makes sure that
all work.
Karl Williamson [Thu, 7 Oct 2010 04:12:35 +0000 (22:12 -0600)]
charnames.t: Extract common code to subroutine
Father Chrysostomos [Wed, 13 Oct 2010 05:07:17 +0000 (22:07 -0700)]
[perl #78362] Make mro_package_moved check for recursion
The existence of main::main::... caused mro_package_moved to break
Text::Template, and probably Acme::Meta as well.
Tony Cook [Tue, 12 Oct 2010 23:12:35 +0000 (10:12 +1100)]
ANSI C-ify the Perl_mro_isa_changed_in return mathoms.c
A return statement with an expression shall not appear in a
function whose return type is void.
See http://source.test-smoke.org/tsdb?mode=report&rid=86779&top=86781
for an example build failure.
Karl Williamson [Mon, 11 Oct 2010 19:04:02 +0000 (13:04 -0600)]
mktables: Change name of option to -annotate
This name is more descriptive of what this option has come to be. The
previous option name has been released only in a few of the 5.13 series
Perls, and is for internal mktables development only, so backward
compatibility shouldn't be an issue.