summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix a few perldelta nitsv5.17.4Florian Ragwitz2012-09-191-4/+4
|
* Specify what to push in the RMGFlorian Ragwitz2012-09-191-2/+1
|
* Add 5.17.4 to perlhistFlorian Ragwitz2012-09-191-0/+1
|
* Update Module::CoreList for v5.17.4Florian Ragwitz2012-09-194-4/+82
|
* Make a note of $Module::CoreList::TieHashDelta::VERSIONFlorian Ragwitz2012-09-191-0/+6
|
* Quote corelist bugtracker urlsFlorian Ragwitz2012-09-191-1/+10
| | | | | XSLoader started to have a bugtracker URL containing single quotes, which is also what we currently quote bug trackers with.
* Finalise perldeltaFlorian Ragwitz2012-09-191-212/+29
|
* Remove an unused variableFlorian Ragwitz2012-09-191-2/+0
|
* Perldelta up to 3b9aea0Florian Ragwitz2012-09-191-0/+32
|
* Add new warning about sleep's limitation on WindowsSteve Hay2012-09-192-1/+11
| | | | | | 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.
* Note that sleep is emulated on Windows to allow alarm interruptsSteve Hay2012-09-191-1/+3
| | | | This came up recently in [perl #33096].
* Remove MAD-only debugging code from Perl_newATTRSUB_flags().Nicholas Clark2012-09-191-7/+0
| | | | | | | | 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.
* Document when the early return in Perl_newPROG() is bypassed completely.Nicholas Clark2012-09-191-0/+11
|
* [perl #114942] Correct scoping for ‘for my $x(){} $x’Father Chrysostomos2012-09-195-30/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Update CPANPLUS to CPAN version 0.9131Chris 'BinGOs' Williams2012-09-196-6/+13
| | | | | | | | | | [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
* Sync version, erm, version in Maintainers.plChris 'BinGOs' Williams2012-09-191-1/+1
|
* [perl #99382] 'stat' call documentation is poorly wordedCraig A. Berry2012-09-181-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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:
* embed.fnc: Clarify o commentsFather Chrysostomos2012-09-181-1/+1
| | | | It applies also to S_ for static functions.
* perlgit: bare ‘git push’ is dangerousFather Chrysostomos2012-09-181-2/+2
| | | | | | 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.
* Squash two win32.c warnings which have crept in recentlySteve Hay2012-09-181-3/+3
| | | | | Ensure a non-void function always returns something, and a signed/unsigned mismatch.
* Add missing articles.Shlomi Fish2012-09-181-1/+1
|
* make perlhist_calculate.pl emit ready-to-use textRicardo Signes2012-09-181-13/+23
| | | | | | | | | | format the data for the line in a line (and right now that line matches up with the lines in the current table) format the table in a table so that you can block-select it and paste into the file the last two edits were done by hand, which was a drag
* add Porting/perlhist_calculate.pl to RMGRicardo Signes2012-09-181-0/+4
|
* add 5.16.0 sizes and filecounts to perlhistRicardo Signes2012-09-181-26/+27
| | | | | | running and using the output of Porting/perlhist_calculate.pl has not been done regularly, presumably because I had no idea that it existed!
* add 5.14.0 sizes and filecounts to perlhistRicardo Signes2012-09-181-26/+27
| | | | | | running and using the output of Porting/perlhist_calculate.pl has not been done regularly, presumably because I had no idea that it existed!
* update the release scheduleRicardo Signes2012-09-181-2/+2
| | | | | | October is now up in the air, probably rjbs. Dominic is working on 5.14.3
* Minor fixups from 001e9f8966Steve Hay2012-09-183-12/+11
|
* fix over/underflow issues in win32_msgwaitDaniel Dragan2012-09-183-11/+43
| | | | | | | | | | | This commit does not completely fix 33096, since the real problem is that VS IDE's debugger causes a Windows message to be sent to perl on each breakpoint. Depending on where the breakpoint was set. The BP may make it impossible to exit the loop because of the Visual Studio IDE Debugger's design. Various overflow and underflow issues were fixed in win32_msgwait. Specifically, the time count rolling forwards through zero (GetSystemTimeAsFileTime), and the time count running ahead of the end time (rolling backwards through zero) were fixed ("<=" check).
* perldelta for ${^LAST_FH}Father Chrysostomos2012-09-181-0/+6
|
* ${^LAST_FH}Father Chrysostomos2012-09-174-1/+45
| | | | | | | This was brought up in ticket #96672. This variable gives access to the last-read filehandle that Perl uses when it appends ", <STDIN> line 1" to a warning or error message.
* Handle xhv_super in thread cloningFather Chrysostomos2012-09-171-0/+1
|
* t/run/mad.t: Avoid %ENV assignmentFather Chrysostomos2012-09-171-2/+2
| | | | I see no skip on VMS, so use an %ENV localisation that it supports.
* g++ + mad fails t/run/mad.tFather Chrysostomos2012-09-171-6/+6
| | | | | | | | | | | | | | | | | | | | For some reason, g++ causes $^X to have a relative path when called with one, whereas gcc causes it to have an absolute path: g++: $ ./perl -le 'print $^X' ./perl gcc: $ ./perl -le 'print $^X' /Users/sprout/Perl/perl.git-copy/perl (This is on 32-bit darwin.) This affects mad.t’s ability to find the current perl interpreter after a chdir.
* perldelta for #114924Father Chrysostomos2012-09-171-0/+15
|
* [perl #114924] Make method calls work with ::SUPER packagesFather Chrysostomos2012-09-178-70/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Perl caches SUPER methods inside packages named Foo::SUPER. But this interferes with actual method calls on those packages (SUPER->foo, foo::SUPER->foo). The first time a package is looked up, it is vivified under the name with which it is looked up. So *SUPER:: will cause that package to be called SUPER, and *main::SUPER:: will cause it to be named main::SUPER. main->SUPER::isa used to be very sensitive to the name of the main::FOO package (where the cache is kept). If it happened to be called SUPER, that call would fail. Fixing that bug (commit 3c104e59d83f) caused the CPAN module named SUPER to fail, because SUPER->foo was now being treated as a SUPER::method call. gv_fetchmeth_pvn was using the ::SUPER suffix to determine where to look for the method. The package passed to it (the ::SUPER package) was being used to look for cached methods, but the package with ::SUPER stripped off was being used for the rest of lookup. 3c104e59d83f made main->SUPER::foo work by treating SUPER as main::SUPER in that case. Mentioning *main::SUPER:: or doing a main->SUPER::foo call before loading SUPER.pm also caused it to fail, even before 3c104e59d83f. Instead of using publicly-visible packages for internal caches, we should be keeping them internal, to avoid such side effects. This commit adds a new member to the HvAUX struct, where a hash of GVs is stored, to cache super methods. I cannot simpy use a hash of CVs, because I need GvCVGEN. Using a hash of GVs allows the existing method cache code to be used. This new hash of GVs is not actually a stash, as it has no HvAUX struct (i.e., no name, no mro_meta). It doesn’t even need an @ISA entry as before (which was only used to make isa caches reset), as it shares its owner stash’s mro_meta generation numbers. In fact, the GVs inside it have their GvSTASH pointers pointing to the owner stash. In terms of memory use, it is probably the same as before. Every stash and every iterated or weakly-referenced hash is now one pointer larger than before, but every SUPER cache is smaller (no HvAUX, no *ISA + @ISA + $ISA[0] + magic). The code is a lot simpler now and uses fewer stash lookups, so it should be faster. This will break any XS code that expects the gv_fetchmeth_pvn to treat the ::SUPER suffix as magical. This behaviour was only barely docu- mented (the suffix was mentioned, but what it did was not), and is unused on CPAN.
* Revert "Set PL_comppad_name on sub entry"Father Chrysostomos2012-09-174-7/+2
| | | | This reverts commit d2c8bf052f5a8bb99050f6d2418d77151eb4b468.
* pp.c:pp_clonecv: Use find_runcv to find the padnameFather Chrysostomos2012-09-171-1/+2
| | | | | | | | | See: https://rt.perl.org/rt3/Ticket/Display.html?id=113930#txn-1153156 By using find_runcv, we can revert d2c8bf052f. This may not be the best tradeoff in the long run, as it makes code using experimental my subs (my experimental subs?) slower. But at least we avoid slowing down existing code.
* pod/perlsub.pod: Warn about possible lexsub removalFather Chrysostomos2012-09-171-2/+2
|
* Remove duplicate paragraph from perlref.podSteve Hay2012-09-171-6/+0
| | | | | | Spotted by Vincent Belaïche <vincent.b.1@hotmail.fr> Date: Fri, 14 Sep 2012 20:23:31 +0200 Message-ID: <DUB102-W243A350D79540D31E95E2884900@phx.gbl>
* regexec.c: Avoid unnecessary calculationKarl Williamson2012-09-161-17/+42
| | | | | | | | | | | | When matching an EXACT node and the target string and the pattern differ in utf8ness, the code prior to this patch calculated each code point from the utf8 version in order to do the EXACT comparision with the non-utf8 version. But it is unnecessary to do this full calculation. Code points above Latin1 cannot possibly match a non-UTF8 string; there is no need to know precisely which code point it is in order to know that it won't match. Similarly, invariant code points can be checked directly; and the Latin1 variants can be downgraded for comparison by a simple macro.
* utf8.h: Add macro to test if UTF8 code point isn't Latin1Karl Williamson2012-09-162-0/+2
|
* Refactor t/run/noswitch.t to use test.pl instead of making TAP by hand.Colin Kuskie2012-09-161-5/+9
|
* Refactor t/run/switchF.t to use test.pl instead of making TAP by hand.Colin Kuskie2012-09-161-3/+8
|
* Refactor t/run/switchn.t to use test.pl instead of making TAP by hand.Colin Kuskie2012-09-161-3/+7
|
* Refactor t/lib/1_compile.t to use test.pl instead of making TAP by hand.Colin Kuskie2012-09-161-21/+14
|
* Make cx_dump() display the correct gimme descriptionVincent Pit2012-09-161-1/+16
| | | | Contexts are no longer what they used to be back in 1996.
* Fix perl with -DPERL_POISON after commit 22ade07Vincent Pit2012-09-161-5/+2
| | | | | The third argument to PoisonNew is the type, not the size. Also, poisoning the contents of the sv itself is incorrect.
* Save one NULL assignment per TMPSteffen Mueller2012-09-161-2/+7
| | | | | This assignment looks really rather like overzealous cleanliness. It's a hot path. Now it's death by 999 cuts instead of 1000.
* Bring bleadperl up to parity with CPAN for version.pmJohn Peacock2012-09-169-9/+20
| | | | | | | | | | | | | Please find attached a patch to bleadperl to bring up to date with the CPAN release of version.pm. This release was to deal primarily with an edge case in numifying alpha decimal versions: https://rt.cpan.org/Ticket/Display.html?id=79259 I've also synchronized all of the other version.pm test cases, so that the code in core is identical to the CPAN release. Signed-off-by: David Golden <dagolden@cpan.org>
* perlδFather Chrysostomos2012-09-161-10/+254
| | | | | This completes the entries for all the patches that I authored plus a few things by others that I happened to understand.