This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5.git
10 years agohandle bracket stack better in recdescent parsing
Zefram [Thu, 14 Oct 2010 00:52:59 +0000 (01:52 +0100)]
handle bracket stack better in recdescent parsing

When recursing into the parser for recursive-descent parsing, put
a special entry on the bracket stack that generates a fake EOF if a
closing bracket belonging to an outer parser frame is seen.  This keeps
the bracket stack balanced across a parse_stmtseq() frame, fixing
[perl #78222].

If a recursive-descent parser frame ends by yyunlex()ing an opening
bracket, pop its entry off the bracket stack and stash it in the
forced-token queue, to be revived when the token is re-lexed.  This keeps
the bracket stack balanced across a parse_fullstmt() frame.

10 years ago[perl #33752] B::Deparse fails with utf8 and our
Father Chrysostomos [Tue, 19 Oct 2010 00:57:25 +0000 (17:57 -0700)]
[perl #33752] B::Deparse fails with utf8 and our
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This commit makes B::Deparse support code like ‘our $ḟōō’. Currently,
an ‘our’ variable whose name is an octet sequence that does not consist
of (\w|::)+ can only be a UTF8 variable name.

When the pad is made to support UTF8 properly, this may need to
be changed.

10 years agoadd lex_start to the API
Zefram [Wed, 13 Oct 2010 20:48:49 +0000 (21:48 +0100)]
add lex_start to the API

lex_start() is added to the API, marked experimental, and documented.
It also gains a flags parameter for foreseeable future use.

10 years agoavoid side-effecting source held in scalar
Zefram [Wed, 13 Oct 2010 20:05:54 +0000 (21:05 +0100)]
avoid side-effecting source held in scalar

Syntax plugins can modify the source being parsed.  It's fine for
them to modify the lexer buffer, but this must not be the same scalar
that was supplied to lex_start() and may be in use outside.  Therefore
always copy the scalar in lex_start() rather than just referencing it.
Fixes [perl #78358].

10 years agoremove redundant lex_end
Zefram [Wed, 13 Oct 2010 19:33:41 +0000 (20:33 +0100)]
remove redundant lex_end

The lex_end() function is redundant, because the lexer context object
is actually finalised by parser_free(), triggered by the save stack.
The lex_end() function has historically been empty, except when the
PL_doextract global was being misused to store lexer state.

10 years agoreplace PL_doextract with better kinds of variable
Zefram [Wed, 13 Oct 2010 18:59:23 +0000 (19:59 +0100)]
replace PL_doextract with better kinds of variable

PL_doextract had two unrelated jobs, neither best served by an interpreter
global variable.  The first was to track the -x command-line switch.
That is replaced with a local variable in S_parse_body().  The second
was to track whether the lexer is in the middle of a =pod section.
That is replaced with an element in PL_parser.

10 years agoremove filter inheritance option from lex_start
Zefram [Wed, 13 Oct 2010 18:05:19 +0000 (19:05 +0100)]
remove filter inheritance option from lex_start

The only uses of lex_start that had the new_filter parameter false,
to make the new lexer context share source filters with the previous
lexer context, were uses with rsfp null, which therefore never invoked
source filters.  Inheriting source filters from a logically unrelated
file seems like a silly idea anyway.

10 years ago[perl #72062] Untaint DATA after it's reopened
Lubomir Rintel [Mon, 18 Oct 2010 23:40:18 +0000 (16:40 -0700)]
[perl #72062] Untaint DATA after it's reopened

DATA handle is untainted on startup, but as we close and reopen it it
gets the taint flag. It's safe to untaint it though, since we still hold
the file descriptor open and don't reassign it to another file.

This was probably broken by changeset 29606, (c96b2385 in perl git).

10 years agoSDBM_File::{error,clearerr} can be implemented as XS ALIASes.
Nicholas Clark [Thu, 21 Oct 2010 11:18:35 +0000 (12:18 +0100)]
SDBM_File::{error,clearerr} can be implemented as XS ALIASes.

10 years agodocument slices in scalar context
Moritz Lenz [Thu, 21 Oct 2010 09:45:20 +0000 (11:45 +0200)]
document slices in scalar context

10 years agoIn [GNO]DBM_File.xs, store the 4 filter functions as 1 array in the struct.
Nicholas Clark [Thu, 21 Oct 2010 10:27:54 +0000 (12:27 +0200)]
In [GNO]DBM_File.xs, store the 4 filter functions as 1 array in the struct.

Previously they were 1 distinct members. Using an array allows the use of a
in *_DESTROY, and merging of the 4 XS functions filter_{fetch,store}_{key,value}
into 1 body with ALIASes.

10 years agoIn SDBM_File.xs, store the 4 filter functions as 1 array in the struct.
Nicholas Clark [Wed, 20 Oct 2010 19:28:30 +0000 (21:28 +0200)]
In SDBM_File.xs, store the 4 filter functions as 1 array in the struct.

Previously they were 1 distinct members. Using an array allows the use of a loop
in sdbm_DESTROY, and merging of the 4 XS functions
filter_{fetch,store}_{key,value} into 1 body with ALIASes.

10 years agoConvert [GNOS]DBM_File::TIEHASH to safecalloc() from safemalloc() then Zero().
Nicholas Clark [Wed, 20 Oct 2010 19:08:37 +0000 (21:08 +0200)]
Convert [GNOS]DBM_File::TIEHASH to safecalloc() from safemalloc() then Zero().

10 years agoMerge the XS code for Hash::Util::{hidden,legal}_ref_keys.
Nicholas Clark [Wed, 20 Oct 2010 17:17:51 +0000 (19:17 +0200)]
Merge the XS code for Hash::Util::{hidden,legal}_ref_keys.

Express Hash::Util::all_keys more tersely.

10 years agoConvert Hash::Util's XS code to use typemaps for dereferencing.
Nicholas Clark [Wed, 20 Oct 2010 16:41:57 +0000 (18:41 +0200)]
Convert Hash::Util's XS code to use typemaps for dereferencing.

This will subtly change the text of the parameter mismatch errors.

10 years agoStandardise Hash::Util::hv_store's error message.
Nicholas Clark [Wed, 20 Oct 2010 14:41:14 +0000 (16:41 +0200)]
Standardise Hash::Util::hv_store's error message.

Previously it was inconsistent with the messages of the other XS routines, which
used all-uppercase for HASH and ARRAY.

10 years agoConvert Hash::Util, XS::APItest and XS::Typemap to XSLoader.
Nicholas Clark [Wed, 20 Oct 2010 14:13:47 +0000 (16:13 +0200)]
Convert Hash::Util, XS::APItest and XS::Typemap to XSLoader.

None are using any DynaLoader specific functionality.

10 years agoConvert GDBM_File to an XS AUTOLOAD.
Nicholas Clark [Wed, 20 Oct 2010 13:34:48 +0000 (15:34 +0200)]
Convert GDBM_File to an XS AUTOLOAD.

10 years agoUse inlineable proxy constant subs for GDBM_File.
Nicholas Clark [Wed, 20 Oct 2010 12:17:09 +0000 (14:17 +0200)]
Use inlineable proxy constant subs for GDBM_File.

10 years agoConvert File::Glob::bsd_glob to XS.
Nicholas Clark [Wed, 20 Oct 2010 09:21:45 +0000 (11:21 +0200)]
Convert File::Glob::bsd_glob to XS.

Unlike doglob, it has no prototype, so it's not possible to use a simple ALIAS
directive to make it and doglob aliases.

10 years agoFor PROXYSUBS error messages, generate more efficient code for -Uusethreads.
Nicholas Clark [Wed, 20 Oct 2010 08:48:22 +0000 (10:48 +0200)]
For PROXYSUBS error messages, generate more efficient code for -Uusethreads.

10 years agoConvert Fcntl, File::Glob, I18N::Langinfo and Socket to an XS AUTOLOAD.
Nicholas Clark [Wed, 20 Oct 2010 07:32:16 +0000 (09:32 +0200)]
Convert Fcntl, File::Glob, I18N::Langinfo and Socket to an XS AUTOLOAD.

All 4 use ExtUtils::Constant::ProxySubs, and only have an AUTOLOAD to deal with
failed constant lookups.

10 years agoAdd an option autoload to PROXYSUBS, to generate an AUTOLOAD subroutine.
Nicholas Clark [Wed, 20 Oct 2010 07:29:13 +0000 (09:29 +0200)]
Add an option autoload to PROXYSUBS, to generate an AUTOLOAD subroutine.

Like croak_on_error, this is only useful with the Proxy Constant Subroutine
code, as that adds all known constants to the symbol table at compile time.
The (obvious) additional restriction is that directly implementing AUTOLOAD
is only useful if the package wishes to perform no other autoloading, and to
treat all autoload requests as (failed) constant lookups (with errors describing
them as such).

10 years agoIn Perl_gv_autoload4(), remove weakref before reassigning to CvSTASH()
Nicholas Clark [Wed, 20 Oct 2010 07:25:36 +0000 (09:25 +0200)]
In Perl_gv_autoload4(), remove weakref before reassigning to CvSTASH()

Fixes a minor bug introduced in 4c74a7df3242aa95.

The underlying assumption of the XS AUTOLOAD implementation, that the fields
are unused, remains invalid.

10 years agoConvert Fcntl, File::Glob, I18N::Langinfo, POSIX and Socket to croak_on_error.
Nicholas Clark [Tue, 19 Oct 2010 18:37:06 +0000 (20:37 +0200)]
Convert Fcntl, File::Glob, I18N::Langinfo, POSIX and Socket to croak_on_error.

This is possible because all 5 use ExtUtils::Constant::ProxySubs, so the
constant() routine is only used for error conditions.

10 years agoAdd option croak_on_error to PROXYSUBS, to directly croak() the error message.
Nicholas Clark [Tue, 19 Oct 2010 18:17:22 +0000 (20:17 +0200)]
Add option croak_on_error to PROXYSUBS, to directly croak() the error message.

This is only useful with the code that generates Proxy Constant Subroutines, as
this adds all known constants to the symbol table at compile time, meaning that
the only calls to AUTOLOAD will be to load constants not available on this
platform, or for invalid constant names.

10 years agoChange goto_xs.t to use Fcntl::S_IMODE() for testing.
Nicholas Clark [Tue, 19 Oct 2010 18:04:24 +0000 (20:04 +0200)]
Change goto_xs.t to use Fcntl::S_IMODE() for testing.

The behaviour of Fcntl::constant() is about to be changed.

10 years ago[GNO]DBM_File must free any filter CVs in DESTROY.
Nicholas Clark [Thu, 21 Oct 2010 05:58:11 +0000 (07:58 +0200)]
[GNO]DBM_File must free any filter CVs in DESTROY.

They have been leaking these since DBM filters were first added in 1999 by
9fe6733ac5627edd. DB_File and SDBM_File have always correctly freed their
filters.

10 years agoRestore +x to Makefile.SH
Nicholas Clark [Thu, 21 Oct 2010 06:30:12 +0000 (07:30 +0100)]
Restore +x to Makefile.SH

f4d47668d36d0dd4 unintentionally removed it.

10 years agoupdate TOC for perl5137delta
Tatsuhiko Miyagawa [Thu, 21 Oct 2010 04:38:44 +0000 (21:38 -0700)]
update TOC for perl5137delta

10 years agoCreate perldelta for 5.13.7
Tatsuhiko Miyagawa [Thu, 21 Oct 2010 04:28:15 +0000 (21:28 -0700)]
Create perldelta for 5.13.7

10 years agoepigraph for v5.13.6
Tatsuhiko Miyagawa [Thu, 21 Oct 2010 03:50:08 +0000 (20:50 -0700)]
epigraph for v5.13.6

10 years agoupdated perlhist.pod v5.13.6
Tatsuhiko Miyagawa [Wed, 20 Oct 2010 23:56:55 +0000 (16:56 -0700)]
updated perlhist.pod

10 years agoUpdate Module::CoreList for 5.13.6
Tatsuhiko Miyagawa [Wed, 20 Oct 2010 23:52:16 +0000 (16:52 -0700)]
Update Module::CoreList for 5.13.6

10 years agomake regen; make regen_perly
Tatsuhiko Miyagawa [Wed, 20 Oct 2010 23:41:11 +0000 (16:41 -0700)]
make regen; make regen_perly

10 years agolint perldelta links
Tatsuhiko Miyagawa [Wed, 20 Oct 2010 23:12:55 +0000 (16:12 -0700)]
lint perldelta links

10 years agoUpdated perldelta to fill in acknowledgements
Tatsuhiko Miyagawa [Wed, 20 Oct 2010 23:11:04 +0000 (16:11 -0700)]
Updated perldelta to fill in acknowledgements

10 years agobumped perl versions in Changes
Tatsuhiko Miyagawa [Wed, 20 Oct 2010 22:59:43 +0000 (15:59 -0700)]
bumped perl versions in Changes

10 years agoBump version to 5.13.6
Tatsuhiko Miyagawa [Wed, 20 Oct 2010 22:55:11 +0000 (15:55 -0700)]
Bump version to 5.13.6

10 years agoMention the PL_* accessor removal in perldelta
Florian Ragwitz [Wed, 20 Oct 2010 22:17:11 +0000 (15:17 -0700)]
Mention the PL_* accessor removal in perldelta

10 years agoclean up perldelta templates
Tatsuhiko Miyagawa [Wed, 20 Oct 2010 22:13:35 +0000 (15:13 -0700)]
clean up perldelta templates

10 years agoFix the heading for the perldelta commit a7e93501
Tatsuhiko Miyagawa [Wed, 20 Oct 2010 22:12:03 +0000 (15:12 -0700)]
Fix the heading for the perldelta commit a7e93501

10 years agoIn Fcntl.xs, correct the conditional compilation of S_ISENFMT.
Nicholas Clark [Wed, 20 Oct 2010 16:06:37 +0000 (17:06 +0100)]
In Fcntl.xs, correct the conditional compilation of S_ISENFMT.

Fixes a bug in 96d24b8ce2ce0411.

10 years agoFix version for Locale-Maketext in Porting/Maintainers.pl
Chris 'BinGOs' Williams [Wed, 20 Oct 2010 09:39:37 +0000 (10:39 +0100)]
Fix version for Locale-Maketext in Porting/Maintainers.pl

10 years agoperldelta up to c3b19b5c6
Father Chrysostomos [Wed, 20 Oct 2010 05:26:15 +0000 (22:26 -0700)]
perldelta up to c3b19b5c6

10 years agoremove DISABLE_DESTRUCTOR_KLUDGE
David Mitchell [Tue, 19 Oct 2010 22:36:53 +0000 (23:36 +0100)]
remove DISABLE_DESTRUCTOR_KLUDGE

since do_clean_named_objs() is no longer kludgey, remove the
macro that allows you to skip it

10 years agoRecursive MULTICALL prematurely freed CV
David Mitchell [Tue, 19 Oct 2010 22:13:07 +0000 (23:13 +0100)]
Recursive MULTICALL prematurely freed CV

See [perl #78070].

Basically, POPSUB/LEAVESUB had a mechanism to decrement the reference
count of the CV only at CvDEPTH==1; POP_MULTICALL was decrementing it at
all depths.

10 years agoadd skeleton testing for the MULTICALL macros
David Mitchell [Tue, 19 Oct 2010 21:37:37 +0000 (22:37 +0100)]
add skeleton testing for the MULTICALL macros

The macros dMULTICALL, PUSH_MULTICALL, MULTICALL and POP_MULTICALL
are completely untested in core apart from incidentally in List-Util.
The exercise they get there is probably quite comprehensive, but it's
not explicitly testing the macros themselves.

Add a hook and new test file to XS::APItest specifically for this purpose.
Currently the test file is almost empty.

The multicall_each function is shamelessly stolen from List:;Util::first.

10 years agoperldelta updates
Dave Mitchell [Tue, 19 Oct 2010 20:26:10 +0000 (13:26 -0700)]
perldelta updates

10 years agoUpdate IPC-Cmd to CPAN version 0.64
Chris 'BinGOs' Williams [Tue, 19 Oct 2010 19:50:44 +0000 (20:50 +0100)]
Update IPC-Cmd to CPAN version 0.64

  [DELTA]

  Changes for 0.64    Tue Oct 19 19:01:05 BST 2010
  =================================================
  * Only enable the can_run instances behaviour when
    global variable $INSTANCES is set

  Changes for 0.62    Tue Oct 19 15:51:30 BST 2010
  =================================================
  * Amended can_run behaviour to run all found instances
    of the given binary in a list context

10 years agoConvert I18N::Langinfo to XSLoader from DynaLoader.
Nicholas Clark [Tue, 19 Oct 2010 15:46:16 +0000 (17:46 +0200)]
Convert I18N::Langinfo to XSLoader from DynaLoader.

10 years agoUse inlineable proxy constant subs for I18N::Langinfo
Nicholas Clark [Tue, 19 Oct 2010 13:28:52 +0000 (15:28 +0200)]
Use inlineable proxy constant subs for I18N::Langinfo

Also remove all the "fallback" code, as I18N::Langinfo is core only, and the
core always has ExtUtils::Constant.

10 years agofix indentation for prototype switch statements
David Golden [Tue, 19 Oct 2010 15:10:03 +0000 (11:10 -0400)]
fix indentation for prototype switch statements

10 years agoRemove unused variable len from code generated by ExtUtils::Constant::ProxySubs
Nicholas Clark [Tue, 19 Oct 2010 12:19:28 +0000 (13:19 +0100)]
Remove unused variable len from code generated by ExtUtils::Constant::ProxySubs

This was missed from change 575f055216d48b9f.

10 years agoStop 'use v5.8' leaking memory. Fixes #78436.
Nicholas Clark [Tue, 19 Oct 2010 11:26:19 +0000 (13:26 +0200)]
Stop 'use v5.8' leaking memory. Fixes #78436.

Based on a patch proposed by Niko Tyni.

10 years agoMake Fcntl::AUTOLOAD's error messages consistent with croak() using modules.
Nicholas Clark [Tue, 19 Oct 2010 10:34:20 +0000 (12:34 +0200)]
Make Fcntl::AUTOLOAD's error messages consistent with croak() using modules.

Fcntl avoids using Carp::croak(), but its code was adding a full stop at the
end of all error messages. Other modules are using croak(), which has no full
stop between the line number and the newline.

Add a test for the error messages from Fcntl::AUTOLOAD.

10 years agoFcntl, POSIX and Socket can all use Proxy Constant Subs unconditionally.
Nicholas Clark [Tue, 19 Oct 2010 10:13:52 +0000 (12:13 +0200)]
Fcntl, POSIX and Socket can all use Proxy Constant Subs unconditionally.

Previously each Makefile.PL had conditional code to only use them post 5.9.2,
so that the code would not diverge between blead and maint-5.8. That isn't an
important consideration any longer, whereas removing the conditional code here
will allow their AUTOLOAD routines to be simplified.

10 years agoImprove the generated C code for $xs_subname for Proxy Constant Subroutines.
Nicholas Clark [Tue, 19 Oct 2010 09:14:25 +0000 (11:14 +0200)]
Improve the generated C code for $xs_subname for Proxy Constant Subroutines.

10 years agoFix file permissions after CPAN upgrade to 1.94_61
Nicholas Clark [Tue, 19 Oct 2010 08:02:37 +0000 (09:02 +0100)]
Fix file permissions after CPAN upgrade to 1.94_61

(To keep the releases process sane, execute permission in the repository is
kept consistent with the distribution)

10 years agoFixed typo (double "with the") in release_managers_guide.pod
Tatsuhiko Miyagawa [Tue, 19 Oct 2010 07:52:38 +0000 (16:52 +0900)]
Fixed typo (double "with the") in release_managers_guide.pod

10 years agoFix C++ build for Fcntl.xs.
Nicholas Clark [Tue, 19 Oct 2010 07:42:25 +0000 (08:42 +0100)]
Fix C++ build for Fcntl.xs.

96d24b8ce2ce0411 wasn't C++ friendly.

10 years agoUpdate CPAN to CPAN version 1.94_61
Chris 'BinGOs' Williams [Tue, 19 Oct 2010 07:24:35 +0000 (08:24 +0100)]
Update CPAN to CPAN version 1.94_61

  [DELTA]

  2010-10-03  Andreas J. Koenig  <andk@cpan.org>

  * release 1.94_61

  * address RT #61735: stop talking about sending test reports by email (Schwern)

  * prevent the use of old versions of Parse::CPAN::Meta which caused test failures

  * bandaid for native solaris patch program to actually do patching

  2010-09-28  Andreas J. Koenig  <andk@cpan.org>

  * release 1.94_60

  * improvements to find_perl() by David Golden

  * test fixes to address the issues demonstrated by some cpantesters

  2010-09-26  Andreas J. Koenig  <andk@cpan.org>

  * release 1.94_59

  * address RT #61607: make the FTP download code more robust  (Reini Urban)

  * omit useless arithmetic in CPAN::Version to possibly help netbsd
  (reported by Nigel Horne and suggested David Golden)

  * address RT #59216: make sure $builddir exists before calling tempdir
  (Lee Goddard)

  * a couple of new distropref files

  2010-06-24  Andreas J. Koenig  <andk@cpan.org>

  * release 1.94_58

  * bugfix: Non-English locales got no diagnostics on a failed locking due
  to permissions (reported by Frank Wiegand)

  * chasing test failures with test fixes.

10 years agobumped GDBM_File version per da4061d and added perldelta for it
Tatsuhiko Miyagawa [Tue, 19 Oct 2010 07:18:58 +0000 (16:18 +0900)]
bumped GDBM_File version per da4061d and added perldelta for it

10 years agoBumped B::Deparse version and added perldelta entry for it per a539498
Tatsuhiko Miyagawa [Tue, 19 Oct 2010 07:15:00 +0000 (16:15 +0900)]
Bumped B::Deparse version and added perldelta entry for it per a539498

10 years agoUpdate miyagawa's email address
Jesse Vincent [Tue, 19 Oct 2010 04:01:43 +0000 (13:01 +0900)]
Update miyagawa's email address

10 years agoFix typo in how_to_write_a_perldelta.pod
Tatsuhiko Miyagawa [Tue, 19 Oct 2010 02:14:38 +0000 (11:14 +0900)]
Fix typo in how_to_write_a_perldelta.pod

10 years agoFix issues with the podlators update
Chris 'BinGOs' Williams [Mon, 18 Oct 2010 23:28:43 +0000 (00:28 +0100)]
Fix issues with the podlators update

Upstream removed the wrappers from the scripts pod2man and pod2text which
will require some re-engineering. I've reinstated the wrappers until after
v5.13.6 ships.

Added perlpodstyle to pod.lst

10 years agoSet Data::Dumper’s release date to that of perl 5.13.6
Father Chrysostomos [Mon, 18 Oct 2010 23:25:55 +0000 (16:25 -0700)]
Set Data::Dumper’s release date to that of perl 5.13.6

just in case 5.13.6 is released before the next CPAN release of DD.

10 years agoAdd keys(@a) and values(@a) to perldelta
Zsbán Ambrus [Mon, 18 Oct 2010 23:22:52 +0000 (16:22 -0700)]
Add keys(@a) and values(@a) to perldelta
since it was missed in 5.12.0

10 years agoDon't use "dllimport" for code in perl5xx.dll
Jan Dubois [Mon, 18 Oct 2010 22:56:04 +0000 (15:56 -0700)]
Don't use "dllimport" for code in perl5xx.dll

This makes a difference for extensions that are "statically"
linked into the Perl library, like DynaLoader and Win32CORE.
The MinGW compiler/linker cannot resolve symbols that have
been annotated as "dllimport" but are actually defined inside
the same library.

An exception is needed for the ext/re extension, which
redefines core APIs internally, so these functions must
not be marked as "dllimport" either.

This commit is a fix/enhancement to commit ad6ab6c5.

10 years ago[perl #78334] keys(@x) should be in perl5120delta.pod
Zsbán Ambrus [Mon, 18 Oct 2010 21:46:58 +0000 (14:46 -0700)]
[perl #78334] keys(@x) should be in perl5120delta.pod

10 years agoExpress @Fcntl::EXPORT_OK in terms of %Fcntl::EXPORT_TAGS.
Nicholas Clark [Mon, 18 Oct 2010 19:31:10 +0000 (21:31 +0200)]
Express @Fcntl::EXPORT_OK in terms of %Fcntl::EXPORT_TAGS.

This reduces quite a lot of repetition of symbol names.

Note that '&SUBNAME' and 'SUBNAME' are interchangeable to Exporter.

10 years agoConvert Fcntl::S_IFMT to XS.
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.

10 years agoConvert Fcntl::S_IMODE to XS.
Nicholas Clark [Mon, 18 Oct 2010 18:10:39 +0000 (20:10 +0200)]
Convert Fcntl::S_IMODE to XS.

10 years agoConvert Fcntl::S_IS{LNK,SOCK,BLK,CHR,FIFO,WHT,ENFMT} 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.

10 years agoConvert Fcntl::{S_ISREG,S_ISDIR} to XS.
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.

10 years agoTweak t/porting/dual-life.t for the file renames in 463da0ac9e3d63ff.
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*

10 years agoUpdate Compress-Raw-Bzip2 to CPAN version 2.031
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

10 years agoUpdate podlators to CPAN version 2.4.0
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.

10 years agoFix Fcntl::S_ISENFMT(), which could never have worked before.
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().

10 years agoConvert File::Glob::import to $Exporter::ExportLevel and grep.
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.

10 years agoConvert File::Glob::import to use given/when.
Nicholas Clark [Mon, 18 Oct 2010 08:22:44 +0000 (10:22 +0200)]
Convert File::Glob::import to use given/when.

10 years agoRemove MacOS classic support from File::Glob's tests.
Nicholas Clark [Mon, 18 Oct 2010 07:47:12 +0000 (09:47 +0200)]
Remove MacOS classic support from File::Glob's tests.

10 years agoMention symbol shortening on VMS in perldelta.
Craig A. Berry [Mon, 18 Oct 2010 03:42:57 +0000 (22:42 -0500)]
Mention symbol shortening on VMS in perldelta.

10 years agoperldelta entries
Ævar Arnfjörð Bjarmason [Sun, 17 Oct 2010 20:45:37 +0000 (13:45 -0700)]
perldelta entries

with tweaks from the committer

10 years agoRemove mention of cb525dbe88 from the perldelta comment
Father Chrysostomos [Sun, 17 Oct 2010 20:24:54 +0000 (13:24 -0700)]
Remove mention of cb525dbe88 from the perldelta comment

10 years agoParentheses in compiler flags are legal on VMS.
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).

10 years agoClean up the name mangler database on VMS.
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

10 years ago* perlfaq4: perlreftut is no longer upcoming, it's come
brian d foy [Sun, 17 Oct 2010 04:43:50 +0000 (23:43 -0500)]
* perlfaq4: perlreftut is no longer upcoming, it's come

10 years agoUpdate Unicode-Collate to CPAN version 0.63
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)

10 years agoAdd Mike Kelly to AUTHORS
Father Chrysostomos [Sat, 16 Oct 2010 05:52:30 +0000 (22:52 -0700)]
Add Mike Kelly to AUTHORS

10 years agodist/IO: fix a few typos
Mike Kelly [Sat, 16 Oct 2010 00:40:45 +0000 (17:40 -0700)]
dist/IO: fix a few typos

10 years agoAdd Ali Polatel to AUTHORS
Father Chrysostomos [Sat, 16 Oct 2010 00:40:22 +0000 (17:40 -0700)]
Add Ali Polatel to AUTHORS

10 years agodist/IO: Always bind to localhost in tests.
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.

10 years agoUse __declspec(dllimport) for XS code on Windows
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.

10 years agoUpdate regen targets on VMS.
Craig A. Berry [Fri, 15 Oct 2010 19:56:58 +0000 (14:56 -0500)]
Update regen targets on VMS.

10 years agoBand-aid to handle long API symbol 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.

10 years agoMake splice invoke set magic
Florian Ragwitz [Fri, 15 Oct 2010 17:34:52 +0000 (19:34 +0200)]
Make splice invoke set magic

10 years agoSubject: [perl #58182] partial: Add uni \s,\w matching
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.

10 years agoperlre.pod: slight rewording
Karl Williamson [Thu, 23 Sep 2010 15:35:53 +0000 (09:35 -0600)]
perlre.pod: slight rewording