summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* perlfunc: clarified 'do FILE' error checkingDavid Golden2011-03-192-5/+16
| | | | Partial fix for RT #80626
* perl5123delta: Improve descriptionFather Chrysostomos2011-03-191-1/+2
| | | | | | ‘lvalue sub return values are now COW’ is not very clear. I know 5.12.3 is already released, but at least for posterity’s sake it’s nice to make this more descriptive.
* perl5122delta: typoFather Chrysostomos2011-03-191-1/+1
|
* perl5122delta: Correct two referencesFather Chrysostomos2011-03-191-2/+2
| | | | These are CPAN tickets, not perl tickets.
* Updated HTTP::Tiny to CPAN version 0.011David Golden2011-03-194-10/+15
| | | | | | | | | | | | | [DELTA] 0.011 2011-03-19 20:48:39 America/New_York [BUG FIXES] - Made t/000_load.t less verbose under harness (RT#65507) [Dave Mitchell] - Removed 'Errno' as an explicit prefix (it is a core module, but not indexed by PAUSE, which might confuse some installers
* regcomp.c: RT#77414. Initialize flagKarl Williamson2011-03-192-2/+9
| | | | | | | | | | | | | As indicated in the comments, this flag needs to be initialized to 1 or the optimizer loses the fact that something could match a character that isn't in utf8 and whose bitmap bit isn't set. This happens, for example, with Unicode properties. Thus this fixes #77414. That ticket had been closed recently because it went away due to another patch that caused the optimizer to be bypassed in the cases tested for. But when that patch was reverted, and cleaned-up, this bug came back. Now, I believe I have found the root cause.
* regcomp.c: /l uses the \w, etc. classesKarl Williamson2011-03-191-1/+4
| | | | | | | | For non-locale, \d, etc are compiled in with their actual code points they match, so the class portion of the synthetic start class node is irrelevant, and should initialized to zero to avoid confusion. But for locale it is highly relevant, and should be initialized to all ones, to indicate matching anything.
* regcomp.c: Optimizer could lose some infoKarl Williamson2011-03-191-2/+9
| | | | | | | When ORing two nodes together for the synthetic start class, and one matches outside the 256-char bitmap, we currently don't know what it matches. In some cases it could be some or all of those 256 characters. If so, we have to assume it's all of them.
* regcomp.c: Move statement down.Karl Williamson2011-03-191-3/+3
| | | | | This is in prep for another commit which needs the flags to be untouched for some tests.
* pat_advanced.t: Bump watchdog timeoutKarl Williamson2011-03-191-1/+1
| | | | | When my system was at 100%, the 2 seconds wasn't enough. I set it to 10 seconds which is the most common value used in other .t's
* regcomp.h: Add ANYOF_CLASS_SETALL()Karl Williamson2011-03-191-0/+2
| | | | | This macro sets all the bits of the class (for \w, etc) for use during initialization
* utf8.h: A fold buffer needs to hold any utf8 charKarl Williamson2011-03-191-2/+3
| | | | It can't just be large enough to hold the Unicode subset.
* regexec.c: execute inappropriately skipped codeKarl Williamson2011-03-191-5/+6
| | | | | | The comment said that there was no use doing this in lenp was NULL, but there is, as it sees if there is a match or not and sets the appropriate variable.
* regexec.c: Chg var. name for clarityKarl Williamson2011-03-191-5/+5
|
* Update CPANPLUS to CPAN version 0.9103Chris 'BinGOs' Williams2011-03-206-44/+45
| | | | | | | | | [DELTA] Changes for 0.9103 Sun Mar 20 00:38:05 2011 ================================================ * Fixed the logic not sending NA reports when 'perl' is expressed as a prereq
* More version bumps in view of recent PERL_NO_GE_CONTEXT commitsFather Chrysostomos2011-03-193-2/+10
|
* Clean: Move old comment to proper locationMichael Witten2011-03-191-6/+6
| | | | | | | | | | | | | | | | This: commit 0298d7b92741692bcf2e34c418a564332bb034e6: Date: Tue May 31 10:40:01 2005 +0000 Avoid updating a variable in a loop. Only calculate the number of links in a hash bucket chain if we really need it. p4raw-id: //depot/perl@24648 forgot to move a large comment to its new location; this new commit fixes that.
* Doc patch for perlsyn, clarification in given/whenAlastair Douglas2011-03-191-6/+48
| | | | | | | | | | | | | | I had about an hour of über confusion regarding smart matching in a when, and when I finally clocked on to what the POD was telling me I thought clarification would be in order. Many agreed :) The chief change I would make is to use the word 'operands' instead of 'arguments' when referring to the ... and ..., ... && ... etc sections; this was the major cause of my confusion. Second clarification is that 'the test' in question is whether to use smart matching, not the result of using smart matching! Patch follows; please go ahead and amend as required :)
* Add Alastair Douglas to AUTHORSFather Chrysostomos2011-03-191-0/+1
|
* Perl_sighandler: only inc SS_ix for unsafe signalsDavid Mitchell2011-03-191-9/+13
| | | | | | | | | Perl_sighandler currently increments the savestack by 5 before running a signal handler, to avoid messing with a partially completed SS push operation that's been interrupted. This is irrelevant for safe signals, so make this action conditional on unsafe signals only.
* In signal handler, don't inc stack pointersDavid Mitchell2011-03-191-14/+1
| | | | | | | | | | | | | | | | | | | | | | | | In Perl_sighandler, we currently increment PL_markstack_ptr and PL_scopestack_ix. This was added back in 1997 in the era of unsafe signals, to make them slightly less unsafe. The idea presumably was to stop signal handlers inadvertently corrupting the top element of each stack. However, given that the normal method of pushing something onto those stacks is to increment the pointer before pushing the value, I don't see how that can happen. The downside of this is that an uninitialised or stale value can be left in the 'hole' left on these stacks. When exiting from a signal handler via exit(), these holes can be read and corruption occur, while stack unwinding is taking place. The ordering of things means we can't use SAVEDESTRUCTOR_X to undo the damage. This commit leaves the 'PL_savestack_ix += 5', because in this case, with unsafe signals, it *is* possible to interrupt halfway through a new set of save data being pushed onto the stack, and it *is* possible for this to be undone via SAVEDESTRUCTOR_X. (But it's still unsafe and half-baked.) This fixes [perl #85206].
* Add PERL_NO_GET_CONTEXT to NDBM_FileNicholas Clark2011-03-191-0/+2
| | | | | For threaded platforms, this reduces the object code size, and should slightly reduce CPU usage.
* Add PERL_NO_GET_CONTEXT to GDBM_FileNicholas Clark2011-03-191-0/+2
| | | | | For threaded platforms, this reduces the object code size, and should slightly reduce CPU usage.
* Version bumps for the recent PERL_NO_GET_CONTEXT commitsFather Chrysostomos2011-03-199-8/+40
|
* perl5121delta: #72998 was introduced earlierFather Chrysostomos2011-03-191-1/+1
|
* Add PERL_NO_GET_CONTEXT to mroNicholas Clark2011-03-191-0/+2
| | | | | For threaded platforms, this reduces the object code size, and should slightly reduce CPU usage.
* Add PERL_NO_GET_CONTEXT to attributesNicholas Clark2011-03-191-0/+1
| | | | | For threaded platforms, this reduces the object code size, and should slightly reduce CPU usage.
* Add PERL_NO_GET_CONTEXT to XS::TypemapNicholas Clark2011-03-191-1/+2
| | | | For threaded platforms, this almost halves the object code size.
* Add PERL_NO_GET_CONTEXT to Sys::HostnameNicholas Clark2011-03-191-0/+2
| | | | | For threaded platforms, this reduces the object code size, and should slightly reduce CPU usage.
* Add PERL_NO_GET_CONTEXT to I18N::LanginfoNicholas Clark2011-03-191-0/+2
| | | | | For threaded platforms, this reduces the object code size, and should slightly reduce CPU usage.
* Add PERL_NO_GET_CONTEXT to Hash::UtilNicholas Clark2011-03-191-0/+2
| | | | | For threaded platforms, this reduces the object code size, and should slightly reduce CPU usage.
* Add PERL_NO_GET_CONTEXT to Hash::Util::FieldHashNicholas Clark2011-03-191-45/+63
| | | | | For threaded platforms, this reduces the object code size, and should slight reduce CPU usage.
* Add PERL_NO_GET_CONTEXT to File::GlobNicholas Clark2011-03-191-0/+2
| | | | | For threaded platforms, this reduces the object code size, and should slightly reduce CPU usage.
* Add PERL_NO_GET_CONTEXT to dl_dlopen.xsNicholas Clark2011-03-191-0/+2
| | | | | | For threaded builds on platforms using dlopen() for dynamic loading, this should reduce object size, and slightly reduce CPU usage when loading extensions.
* Stop hang in regexKarl Williamson2011-03-192-28/+40
| | | | | | | The algorithm for mapping multi-char fold matches back to the source in processing ANYOF nodes was defective. This caused the regex engine to hang on certain character combinations. I've also added an assert to stop instead of loop.
* reset pos and utf8 cache when de/encoding utf8 strDavid Mitchell2011-03-192-3/+115
| | | | | | | | | | | | | | | | | | | | When using utf8::upgrade utf8::downgrade utf8::encode utf8::decode or the underlying C-level functions sv_utf8_upgrade_flags_grow sv_utf8_downgrade sv_utf8_encode sv_utf8_decode and sv_recode_to_utf8 update the position of the pos magic, if any, and clear the utf8 length/position-mapping cache. This fixes [perl #80190].
* Fixup errno definitions for WindowsJan Dubois2011-03-193-13/+14
| | | | | | | | | Redefine all winsock based Exxxx error constants used in the core: For VS2010 we don't want to use the errno.h values, and for older compiler versions we don't have a definition anyways. Also remove the warnings about VS2010 from README.win32, as they should all be resolved now.
* Redefine errno values for Visual Studio 2010Steve Hay2011-03-194-96/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Perl traditionally stores WinSock error codes (values above 10000) in errno, with corresponding support for $! to stringify them properly. In Visual Studio 2010 (and presumably newer Windows SDKs) Microsoft has started to define additional errno constants in errno.h (values between 100 and 200) with conflicting names (e.g. EWOULDBLOCK). There are 2 ways to deal with this situation: 1) Redefine the errno.h constants back to the winsock values for the Errno and POSIX modules. 2) Translate the winsock error codes to the new errno constants in the socket implementation in win32/win32sck.c. Solution 1) has the advantage that any existing Perl code that has numeric error codes hard-coded in it will continue to work. Solution 2) has the advantage that XS code using external libaries can set errno to the new constants, and they will be handled consistently in the Perl core. It will however need additional support for other compilers and runtime libraries that don't support these new error codes. This commit implements solution 1). Blame attribution: the commit message is from Jan Dubois, the actual patch was created by Steve Hay. Signed-off-by: Jan Dubois <jand@activestate.com>
* [PATCH] [pod] improve documentation for (?(cond)yes|no)Moritz Lenz2011-03-192-1/+9
| | | | | | | | perlre: Include a high-level description of what it does, and what a missing pattern means perlreref: Include missing look-around cases Signed-off-by: Chris 'BinGOs' Williams <chris@bingosnet.co.uk>
* regcomp.c: Reorder if to silence valgrindKarl Williamson2011-03-181-2/+4
| | | | | It is better to test that a pointer is in bounds before dereferencing it even though in this case it doesn't lead to an actual error.
* regex: Fix locale regressionKarl Williamson2011-03-182-50/+28
| | | | | | | | | | | | | | | | | | Things like \S have not been accessible to the synthetic start class under locale matching rules. They have been placed there, but the start class didn't know they were there. This patch sets ANYOF_CLASS in initializing the synthetic start class so that downstream code knows it is a charclass_class, and removes the code that partially allowed this bit to be shared, and which isn't needed in 5.14, and more thought would have to go into doing it than was reflected in the code. I can't come up with a test case that would verify that this works, because of general locale testing issues, except it looked at a dump of the generated regex synthetic start class, but the dump isn't the same thing as the real behavior, and using one is also subject to breakage if the regex code changes in the slightest.
* charset.t: Skip locale tests depending on platformKarl Williamson2011-03-171-1/+11
| | | | | | The locale tests in this file assume that the code points 128-255 are not printable, etc in the C locale. Some platforms do not conform to that so test at the beginning for that.
* Add perldelta entry about improved kill(9,$pid) on WindowsJan Dubois2011-03-171-1/+11
| | | | | | | I'm only adding it because there was a comment at the top of perldelta that this change was missing an entry. I'm not sure it has to be mentioned at all, as it is not a full fix, just making the issue less likely to occur.
* #81026: Perl binary no longer relocatableJan Dubois2011-03-171-0/+8
| | | | | | | | | | | | Provide a preprocessor macro PERL_RELOCATABLE_INCPUSH to tell incpush_use_sep() to ignore the passed in len argument. This enables relocatable Perl distributions that patch the various paths at install time. Core Perl neither provides actual relocation scripts/programs, nor endorses this practise as being "supported"; this patch only makes it possible to create such tools. It is therefore undocumented outside the source level comments.
* regcomp.c: Avoid locale in optimizer unless necessaryKarl Williamson2011-03-173-30/+42
| | | | | | | | | | | | | | | | | | | | | | | This is further work along the lines in RT #85964 and commit af302e7fa58415c2d8454c8cbef7bccd8b504257. It reverts, for the the most part, commits aa19b56b2f07e9eabf57540f00d312d8093e9d28 (Remove unused parameter) and c613755a4b4fc8e64a77639d47d7e208fee68edc (/l in synthetic start class). Those commits caused the synthetic start class to often be marked as matching under locale rules, even if there was no part of the regular expression that used locale. This led to RT #85964, which made apparent that there were a number of assumptions in the optimizer about locale that were no longer necessarily true. This new commit changes things so that locale has to be somewhere in the regex in order to get the synthetic start class to include /l. In other words, this reverts the effect of those commits to regular expression which have /l -- we go back to the old way of doing things for non-locale regexes. This limits any bugs that may have been introduced by the addition of /l (and being able to match only sub-parts of a regex under locale) to the relatively uncommon regexes which actually use it. There are a number of bugs that have surfaced for the locale rules regexes that have gone unreported; and some say locale rules regexes should be deprecated.
* Revert "re/pat.t: Remove TODO message on passing tests"Karl Williamson2011-03-171-0/+1
| | | | | | This reverts commit b8953805dfeee53cd2300f61834ba32ccaaefaa8. These tests started passing as a side effect of a commit which now needs to be reverted for other reasons.
* Revert "regcomp.c: Rmv unused parameter"Karl Williamson2011-03-173-15/+17
| | | | | This reverts commit c45df5a16bb5a26a06275cc63f2c3e6b1d708184. The parameter is about to be put back in.
* regcomp.c: Add flag for /l occurring anywhereKarl Williamson2011-03-171-3/+12
| | | | | If any part of a pattern has /l, this flag will get set; for future use.
* regcomp.c: Move commentKarl Williamson2011-03-171-2/+2
|
* perldelta for 007f907Father Chrysostomos2011-03-171-1/+6
|