remove an useless null check in S_copy_little_tm_to_big_TM

All callers of S_copy_little_tm_to_big_TM pass a true variable src.
Checking for null is pointless. On Win32 32 bit VC 2003 -O1 -GL,
perl517.dll's .text section went from 0xCO13F to 0xC012F bytes long. It can
be argued that the compiler should have figured this out on its own, but VC
for whatever reason didn't. Also pretty the indenting and align the
assignments. The null check blames to commit 806a119aef .
Added asserts() to check the arguments to S_copy_little_tm_to_big_TM.

The original version just zeroed dest if src == NULL, but that code path
was never used.  (gcc -Os inlined the function and optimized the test
away anyway.)
tweak the way we mention if.pm

It should be clear even to readers of the documentation in text
format that "if" is a module and not the "if" flow control.
bump I18N::Langinfo to a non-dev version
use non-dev version for I18N::LangTags::List

...and sync with I18N::LangTags
use non-dev version for IO
use non-dev version for Safe
further refinement to EISDIR tests from `perl dir`

1. actually use the EISDIR string, rather than getting it and
   not using it; this was a refactoring screw-up

2. don't hardcode the Win32 EACCES error, either, use the same
   "$!" mechanism
todo: revisit the super-linear cache

Suggested by Yves.
rearrange initializations in S_intuit_more for better code gen

MS VC 2003 in my experiance does not reorder var initializations with
constants to reduce their liveness. This commit attempts to defer
initialization until right before the var is first used. I can't explain
exactly why less instructions or shorter addressing happened since I didnt
record what the asm looked like before. On VC 2003 -O1 -GL, S_intuit_more
was previously 0x4B5 bytes of 32 bit machine code long, after it this
change it is 0x4A3 bytes long. These changes should have no user visible
effect.

The scope of the vars was not reduced to avoid large indentation changes
which would be required under C89 and Perl code formatting policy.
Update Pod-LaTeX to CPAN version 0.61

Upstream changes:

- Update site vs perl install for perl v5.12 and above
- Issue a deprecation warning if the module is being used in perl 5.17.0 and above.
  This module will be removed from perl Core for perl 5.20. (Ricardo Signes)
  It will still be available on CPAN.
Update Socket to CPAN version 2.009

  [DELTA]

  2013/01/18
  2.009   CHANGES:
         * Fix building in core by skipping check_for() as it doesn't work
           there (RT82760)

  2012/12/27
  2.008   CHANGES:
         * Fix uninitialised memory read (RT82119)

  2012/12/16
  2.007   CHANGES:
         * Test %Config keys for definedness, not mere existence (RT79854)
         * Fix missing argument in sprintf in Socket.xs (from perl.git
           5d6dfea82e1c4b6, RT82007)
Skip t/io/eintr.t on older Darwins.

Identify the OS version by capturing the first two parts of the M.m.p version
number.

For RT #116262
Remove checks for Perl 5.6; adjust tests; bump version number.

Patch contributed by Sébastien Aperghis-Tramoni

For: RT #114770.

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch blead
# Your branch is ahead of 'origin/blead' by 1 commit.
#
# Changes to be committed:
#   (use "git reset HEAD^1 <file>..." to unstage)
#
#	modified:   dist/constant/lib/constant.pm
#	modified:   dist/constant/t/constant.t
#
constant-1.25 has been released to CPAN
Extend strictness for qr/(?[ \N{} ])/

This recently added regex syntax imposes stricter rules on parsing than
normal.   However, this did not include parsing \N{} constructs that
occur within it.  This commit does that, making fatal the warnings that
come from \N{}

I will add to perldiag the newly added messages along with the others
for (?[ ]) before 5.18 ships
Revert "Deprecate literal unescaped "{" in regexes."

This reverts commit 2a53d3314d380af5ab5283758219417c6dfa36e9.

Not the entire commit was reverted, but the deprecation message is
gone.  This caused too many problems.  See thread
http://www.nntp.perl.org/group/perl.perl5.porters/2012/11/msg195425.html
(which lists previous threads).
toke.c: White-space alignment only
Deprecate certain rare uses of backslashes within regexes

There are three pairs of characters that Perl recognizes as
metacharacters in regular expression patterns: {}, [], and ().  These
can be used as well to delimit patterns, as in:

 m{foo}
 s(foo)(bar)

Since they are metacharacters, they have special meaning to regular
expression patterns, and it turns out that you can't turn off that
special meaning by the normal means of preceding them with a backslash,
if you use them, paired, within a pattern delimitted by them.  For
example, in

 m{foo\{1,3\}}

the backslashes do not change the behavior, and this matches "f", "o"
followed by one to three more occurrences of "o".

Usages like this, where they are interpreted as metacharacters, are
exceedingly rare; we think there are none, for example, in all of CPAN.
Hence, this deprecation should affect very little code.  It does give
notice, however, that any such code needs to change, which will in turn
allow us to change the behavior in future Perl versions so that the
backslashes do have an effect, and without fear that we are silently
breaking any existing code.

=head1 Performance Enhancements
perlre: Fix typo

"<" isn't a metacharacter, therefore "\<" doesn't change its meaning.
"[" is a metacharacter, therefore "\[" does change its meaning.