summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* regcharclass: Add tricky fold characters.Karl Williamson2011-03-202-6/+81
| | | | | | | The tricky fold characters need to be expanded to include the ones that map to the same ones as the original set. This isn't because the new ones have a length issue, it's that they get left out of comparisons because of the special regnodes generated for the tricky ones.
* regcomp.c: Remove FOLDCHAR generationKarl Williamson2011-03-201-36/+0
| | | | | | | | | | | | | | | | | | | | | ANYOFV handles multi-char folds in ANYOF nodes, and it turns out it is a superset of what FOLDCHAR does, which never got fully implemented in regexec.c, whereas ANYOFV is. FOLDCHAR may be the better way to go in the long-term, as it takes less space and is faster, but this gives us the functionality today, with no extra work. FOLDCHAR had been generated only when the character in question is a literal in the input stream, and wasn't touched for the probably more common use of \N{} or \x, which were fixed from not doing anything special to using ANYOFV earlier in the 5.13 series, and it turns out that the code that does it all is in a part of the code that gets executed anyway, so that simply removing the special FOLDCHAR code causes execution to drop down to this code. I'm thinking at the moment that for 5.16, ANYOV should be removed in favor of branches, using the technique of recursion that has recently been added to \N{}. That would enable easier trie generation and simplify things in regexec and the optimizer.
* regcomp.c: Use mnemonic instead of hex valueKarl Williamson2011-03-201-2/+2
|
* regcomp.c: Handle inverse tricky foldsKarl Williamson2011-03-201-45/+195
| | | | | | The tricky folds have only worked one direction. This handles the other, when it sees something the tricky fold folds to it converts that to the tricky fold op.
* regcomp.c: Move opening block braceKarl Williamson2011-03-201-6/+7
| | | | | This is in preparation for future commits. The declarations don't depend on the two code lines.
* regcomp.c: Add special case for a Unicode charKarl Williamson2011-03-201-0/+12
| | | | This failed under some circumstances
* reg_namedseq: Restructure so doesn't duplicate codeKarl Williamson2011-03-205-176/+59
| | | | | | | | | | | | | | | This routine now calls reg() recursively after converting the parse to something the rest of the code understands. This eliminates duplicated code, and allows for uniform treatment of code points, as things were getting out of sync. It also eliminates the restrction on how many characters a named sequence can expand to. toke now converts its input (which is in Unicode terms) to native on EBCDIC platforms, so the rest of the code can can continue to ignore that. The restriction on the length of the number of characters a named sequence is hereby removed, because reg() handles that.
* Add depth parameter to reg_namedseqKarl Williamson2011-03-204-7/+7
|
* regcomp.c: Add element to structureKarl Williamson2011-03-201-0/+2
|
* utf8.h: Add #defineKarl Williamson2011-03-201-0/+1
|
* Simplify a tiny bit of the release manager guidev5.13.11Florian Ragwitz2011-03-201-4/+1
|
* Add 5.13.11 to perlhistFlorian Ragwitz2011-03-201-0/+1
|
* Update corelist for 5.13.11Florian Ragwitz2011-03-202-8/+669
|
* Avoid warnings in pat_advanced.t in the logic for skipping a test.Nicholas Clark2011-03-201-3/+3
| | | | Also, change the skip added in 2feceb76bc07c897 to a todo skip.
* Fill the Acknowledgements section in perldeltaFlorian Ragwitz2011-03-201-1/+11
|
* Bump the perl version for 5.13.11Florian Ragwitz2011-03-2022-145/+145
|
* Fix a tiny pod nit in perldeltaFlorian Ragwitz2011-03-201-1/+1
|
* Remove empty perldelta sectionsFlorian Ragwitz2011-03-201-250/+0
| | | | Only the Acknowledgements section still needs filling in.
* Complete the perldelta for 5.13.11Florian Ragwitz2011-03-201-9/+9
|
* Skip test in pat_advanced_thr.t as it triggers an unrelated thread bug.Nicholas Clark2011-03-201-1/+3
|
* Minimise the actions of the BEGIN block in B.pmNicholas Clark2011-03-201-15/+17
| | | | | | | Retain the call to XSLoader::load() at BEGIN time, as we want the constants loaded before the compiler meets OPf_KIDS below, as the combination of having the constant stay a Proxy Constant Subroutine and its value being inlined saves a little over .5K
* In B, use typeglob aliasing instead of subref to typeglob assignment.Nicholas Clark2011-03-201-4/+4
| | | | | | | Typeglob aliasing saves just about 1.25K, because fewer internal structures are created. In the general case the behaviour of the two differs, but as the only package variables of these names are subroutines, and we are within our own namespace, there is no difference here.
* #84774: local $_ calls STORE when $_ is aliased to a tied hash elementJan Dubois2011-03-204-21/+35
| | | | | | local($_) will now strip all magic from $_, so that it is always safe to localize $_, regardless what kind of special (or tied) variable it may have been aliased to.
* regexec.c: Update commentKarl Williamson2011-03-191-25/+13
|
* regcomp.h: Add commentKarl Williamson2011-03-191-1/+1
|
* mktables: Include simple case foldingsKarl Williamson2011-03-191-7/+9
| | | | | | | F(ull) case foldings are not handled all that well in Perl. It turns out that a number of them have S foldings as well. In all cases, what matches in S is supposed to also match in F, but Perl doesn't always know that; this adds that information.
* 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
|