perlgit: bare ‘git push’ is dangerous

About three times now I have made changes on a branch, to try things
out, and then later on tried to push to blead with ‘git push’ and
modified other people’s branches at the same time.
embed.fnc: Clarify o comments

It applies also to S_ for static functions.
[perl #99382] 'stat' call documentation is poorly worded

The use of "block" to describe both the file-or-device-specific sweet
spot for I/O operations and the number of file-system-specific chunks
(not necessarily 512-byte chunks) is unfortunate.  I think we came by
it honestly because Perl just provides a wrapper around:

http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/stat.h.html

which says:

blksize_t st_blksize A file system-specific preferred I/O block size for
                     this object. In some file system types, this may
                     vary from file to file.
blkcnt_t  st_blocks  Number of blocks allocated for this object.

and in the "Rationale" section they say:

"The unit for the st_blocks member of the stat structure is not
defined within IEEE Std 1003.1-2001. In some implementations it is 512
bytes. It may differ on a file system basis. There is no correlation
between values of the st_blocks and st_blksize, and the f_bsize (from
<sys/statvfs.h>) structure members."

The existing piece in perlfunc.pod was written in 1997 for Perl 5.003.
 Screens were smaller then.  Perhaps we could afford to wrap to a
second line now and say something like:
Sync version, erm, version in Maintainers.pl
Update CPANPLUS to CPAN version 0.9131

  [DELTA]

  Changes for 0.9131      Tue Sep 18 14:10:16 2012
  ================================================
  * Add Pod::* modules to reported toolchain modules
  * Resolve issue with $cb->search() and SQLite
    source engine
[perl #114942] Correct scoping for ‘for my $x(){} $x’

This was broken by commit 60ac52eb5d5.

What that commit did was to merge two different queues that the
lexer had for pending tokens.  Since bison requires that yylex
return exactly one token for each call, when the lexer sometimes has
to set aside tokens in a queue and return them from the next few
calls to yylex.

Formerly, there were two mechanism: the forced token queue (used by
force_next), and PL_pending_ident.  PL_pending_ident was used for
names that had to be looked up in the pads.

$foo was handled like this:

  First call to yylex:
    1. Put '$foo' in PL_tokenbuf.
    2. Set PL_pending_ident.
    3. Return a '$' token.
  Second call:
    PL_pending_ident is set, so call S_pending_ident, which looks up
    the name from PL_tokenbuf, and return the THING token containing
    the appropriate op.

The forced token queue took precedence over PL_pending_ident.  Chang-
ing the order (necessary for parsing ‘our sub foo($)’) caused some
XS::APItest tests to fail.  So I concluded that the two queues needed
to be merged.

As a result, the $foo handling changed to this:

  First call to yylex:
    1. Put '$foo' in PL_tokenbuf.
    2. Call force_ident_maybe_lex (S_pending_ident renamed and modi-
       fied), which looks up the symbol and adds it to the forced
       token queue.
    3. Return a '$' token.
  Second call:
    Return the token from the forced token queue.

That had the unforeseen consequence of changing this:

    for my $x (...) { ... }
    $x;

such that the $x was still visible after the for loop.  It only hap-
pened when the $ was the next token after the closing }:

$ ./miniperl -e 'for my $x(()){} $x = 3; warn $x'
Warning: something's wrong at -e line 1.
$ ./miniperl -e 'for my $x(()){} ;$x = 3; warn $x'
3 at -e line 1.

This broke Class::Declare.

The name lookup in the pad must not happen before the '$' token is
emitted.  At that point, the parser has not yet created the for loop
(which includes exiting its scope), as it does not yet know whether
there is a continue block.  (See the ‘FOR MY...’ branch of the
barestmt rule in perly.y.)  So we must delay the name lookup till the
second call.

So we rename force_ident_maybe_lex back to S_pending_ident, removing
the force_next stuff.  And we add a new force_ident_maybe_lex function
that adds a special ‘pending ident’ token to the forced token queue.

The part of yylex that handles pending tokens (case LEX_KNOWNEXT) is
modified to account for these special ‘pending ident’ tokens and call
S_pending_ident.
Document when the early return in Perl_newPROG() is bypassed completely.
Remove MAD-only debugging code from Perl_newATTRSUB_flags().

When MAD was enabled, if the cv under compilation was named "import" it was
assigned to PL_formfeed, and its address issued as an mandatory warning.
The use of PL_formfeed was only ever intended as a way to enter a debugger.
See commits a2edbdc9c7ad6335 and c1bd9b63a6f9fb1f, which removed the other
places that co-opted PL_formfeed for MAD debugging purposes.
Note that sleep is emulated on Windows to allow alarm interrupts

This came up recently in [perl #33096].
Add new warning about sleep's limitation on Windows

This also came up recently in [perl #33096]. On Windows, sleep's unsigned
int argument range is effectively reduced by a factor of 1000 because the
emulation uses milliseconds rather than seconds.
Perldelta up to 3b9aea0
Remove an unused variable
Finalise perldelta
Quote corelist bugtracker urls

XSLoader started to have a bugtracker URL containing single quotes, which is
also what we currently quote bug trackers with.
Make a note of $Module::CoreList::TieHashDelta::VERSION
Update Module::CoreList for v5.17.4
Add 5.17.4 to perlhist
Specify what to push in the RMG
Fix a few perldelta nits
Add the 5.17.4 epigraph