summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* perldelta for e40f8e806efTony Cook2014-02-051-0/+6
|
* Don't test locales that are invalid for needed categoriesKarl Williamson2014-02-048-45/+57
| | | | | | | | | | | When looking for locales to test, skip ones which aren't defined in every locale category we care about. This was motivated by a Net BSD machine which has a Pig Latin locale, but it is defined only for LC_MESSAGES. This necessitated adding parameters to pass the desired locale(s), and renaming a test function to indicate the current category it is valid for.
* Revert "'use utf8' should imply /u regex matching"Karl Williamson2014-02-042-15/+5
| | | | | | | | | | | | | | | | | | | | This reverts commit bfa0ee78b652802412c3cab86bb873ed67ea6550. This commit turned out to be contentious, and since we are past the contentious features freeze date, no matter what else, it should be reverted. The argument for the commit essentially boils down to 'use utf8' indicates that the text within its scope should be treated as utf8. That means that any patterns with literals in them should be treated as utf8, but utf8-encoded patterns follow Unicode rules by definition. The arguments against it are that code relies on the way it has always worked (even if that was an oversight), and in fact several CPAN modules were broken by it, [perl #121162]. Also it has been the stated intent that 'use utf8' will eventually become a no-op, meaning all text will be treated as utf8, and that shouldn't have to mean that backwards compatibility will be broken then.
* Add note of blead customizations for previous commitSteve Hay2014-02-042-0/+7
|
* vutil.c, vxs.inc: Avoid warnings from -Wmissing-prototypes -Wundef ↵Brian Fraser2014-02-042-10/+16
| | | | | | | | | | | | -Wunused-label -Wmissing-prototypes was complaining about declaring XS() functions without previously declaring a prototype. -Wundef didn't like using #if foo instead of #ifdef foo -Wunused-label warned because VER_{IV,NM,PV} were defined on all versions of perl, but only used on < 5.17.2
* Add tests and fix new fatal errors related to $/Yves Orton2014-02-043-13/+81
| | | | | | | | | | | In b3a2acfa0c0e4f8e48e1f6eb4d6fd143f293d2c6 I added new exceptions, but forgot to test them properly. In the process I managed to partially break the functionality, and since it was not tested I did not notice. Ilmari on #p5p pointed out I forgot the test, and in the end I had to completely rewrite the original patch. Now tested as fully as I could. Thanks Ilmari.
* Add porting test for Module-CoreListChris 'BinGOs' Williams2014-02-042-0/+22
| | | | | | | When the perl version is bumped in blead, Module-CoreList should be prepared to include a stub entry for this new version. This tests for the existence of the stub-entry.
* Upgrade libnet from version 1.24 to 1.25Steve Hay2014-02-049-20/+47
|
* ignore a test data file for a Locale-Codes test we don't shipTony Cook2014-02-041-0/+1
|
* do not overflow when the pattern is unboundedYves Orton2014-02-041-7/+9
|
* Exclude new vutil/Makefile.PL in cpan/version/Steve Hay2014-02-041-0/+1
|
* And now the rest of the sync to 0.9908John Peacock2014-02-042-54/+80
|
* Add -DL option to trace setlocale callsKarl Williamson2014-02-034-2/+78
| | | | This will help field debugging of locale issues.
* Revert "Fix handy.t for systems without $Config{d_isblank}."Karl Williamson2014-02-031-14/+0
| | | | | | This reverts commit d61570b1bbf3e2d76cc293690156fb361b054272. This commit was made unnecessary by commit 3f9a3488327f59f53c00adc132d91f19840e2a50.
* Regenerate podcheck db due to recent 79col fixesKarl Williamson2014-02-031-2/+0
| | | | | | | | | Commits 51b4c035919497f474ce46dcbdac1d2f3fd18a84 and 02257115537194d7a3b36a956d5643069f78c54f fixed some too-long verbatim line issues. I'm not sure why commit b3a2acfa0c0e4f8e48e1f6eb4d6fd143f293d2c6 added them to the db, as they were fixed before it was applied. My guess is that the workspace had not been rebased recently enough.
* Module-CoreList prepared for v5.19.9Chris 'BinGOs' Williams2014-02-035-4/+39
|
* [perl #121028] avoid creating a shell processTony Cook2014-02-041-2/+3
|
* Update Pod-Parser to CPAN version 1.62Chris 'BinGOs' Williams2014-02-038-5869/+5893
| | | | | | | | | | | [DELTA] 02-Feb-2014 Marek Rouchal <marekr@cpan.org> ----------------------------------------------------------------------------- Version 1.62 + CPAN#87891: More sanity checks in podselect() documentation patches by florent.angly@gmail.com, and a bit of stricter checking what clients pass to podselect()
* DynaLoader: On android, dl_load_flags should always be 0x00Brian Fraser2014-02-031-2/+8
| | | | | | | | | | The linker ignores all the flags and works as if under RTLD_LOCAL, so don't give users the headache of seeing warnings ala "Can't make loaded symbols global on this platform while loading %s" when using a module that subclasses DynaLoader and defines dl_load_flags to anything else.
* CBuilder, link: On Android, always return absolute paths to librariesBrian Fraser2014-02-0314-15/+25
| | | | | | | | | | | | Several modules on CPAN expect being able to pass the library name returned by ->link to DynaLoader::dl_load_file and have it Just Work. However, because ->link returns relative paths, those modules ran afoul of Android's linker, which will only look in a handful of hardcoded system directories for relative libraries, plus whatever LD_LIBRARY_PATH pointed to at the start of execution. This commit makes ->link on Android always return an absolute path, which will be found by the linker.
* Update Compress-Raw-Zlib to CPAN version 2.065Chris 'BinGOs' Williams2014-02-035-8/+5
| | | | | | | | | | | | [DELTA] 2.065 3 February 2014 * [PATCH] resolve c++ build failure in core [#92657] * gcc -g3: final link failed: Memory exhausted [#88936]
* Fix [[:blank:]] handling when no isblank() on platformKarl Williamson2014-02-032-23/+2
| | | | | | | | | | | | | | | | | | isblank() is a C99 construct, Perl tries to handle the use of this on C89 platforms by using the standard hard-coded definition. However, this code was not updated to account for UTF-8 locales when handling for those was recently added (31f05a37c), since in a UTF-8 locale the no-break space is also considered to be a blank. This commit fixes that. Previously regcomp.c generated the hard-coded definitions when there was no isblank(), using #ifdef'd code. That special handling was removed, and [:blank:] is always treated just like any other POSIX class. The specialness of it is hidden entirely in handy.h. This simplifies the regcomp.c code slightly. I considered removing the special handling for isascii(), also a C99 construct, in the name of simplicity over the slight speed that would be lost. But the special handling is only a single line in two places, so I left it in.
* deal with assignment to $/ better, deprecate edge cases, and forbid othersYves Orton2014-02-038-9/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The actual behavior of $/ under various settings and how it is documented varies quite a bit. Clarify the documentation, and add various checks that are validated when setting $/. The gist of the problem was that the way that weirdo ref assignments were handled was mostly broken: * setting to a reference to an array, hash, or other higher level construct would behave similarly to setting it to a reference to a an integer, by numifying the ref and using it as an integer. This behavior was entirely undocumented. * setting to a reference to 0 or to -1 was *documented* in triggering "slurp" behavior, but actually did not. Instead it would set the separator to the stringified form of the ref, which would *appear* as slurp behavior due to the unlikelihood of a file actually containing a string which matched, however was less efficient, and if someone's luck were *terrible* might actually behave as a split. In the future we wish to support more sophisticated ways of setting the input record separator, possibly supporting things like: $/= [ "foo", "bar" ]; $/= qr/foo|bar/; Accordingly this patch *forbids* the use of a non scalar ref, and raises a fatal exception when one does so. Additionally it treats non-positive refs *exactly* the same as assigning undef, *including* ignoring the original value and setting $/ to undef. The means the implementation now matches the documentation. However since this might involve some crazy script changing in behavior (as one can't fetch back the original ref from $/) I have added a warning in category "deprecated" advising the user what has happened and recommending setting to "undef" explicitly. As far as I can tell this will only *break* code doing extremely dodgy things with $/. While putting together this patch I encountered numerous problems with porting tests. First off was porting/podcheck.t, which failed test without saying why or what to do, even under TEST_VERBOSE=1. Then when I did a regen to update the exceptions database and then used that information to try to fix the reported problems it seems that it does not work properly anyway. Specifically you aren't allowed to have a / in the interesting parts of a L<> reference. If you replace the / with an E<0x2f> then the link is valid POD, but podcheck.t then considers it a broken link. If you then replace the / in perdiag with E<0x2f> as well then porting/diag.t complains that you have an undocumented diagnostic! Accordingly I used the --regen option of podcheck.t to add exceptions to the exception database. I have no idea if the pod is correctly formatted or not.
* Add RXf_UNBOUNDED_QUANTIFIER and regexp->maxlenYves Orton2014-02-034-9/+37
| | | | | | | | | The flag tells us that a pattern may match an infinitely long string. The new member in the regexp struct tells us how long the string might be. With these two items we can implement regexp based $/
* Bump version version and remove/update customisationsChris 'BinGOs' Williams2014-02-032-7/+2
|
* Sync bleadperl to version.pm 0.9908John Peacock2014-02-0313-76/+78
| | | | | | | | | | | | | | | | | | | | Attached is a patch to bring blead up to date with the latest CPAN release of version.pm 0.9908. All tests pass (except the expected porting/customized.t). I'm hopeful that this will be the last update for a while. Thanks to Daniel Dragan for his insistent prodding to improve the code. ;-) Thanks John >From c501530aa386a3ccbdb35bcccbccd35d70315651 Mon Sep 17 00:00:00 2001 From: John Peacock <jpeacock@cpan.org> Date: Sun, 2 Feb 2014 11:57:44 -0500 Subject: [PATCH] Update bleadperl to CPAN 0.9908 release Signed-off-by: Chris 'BinGOs' Williams <chris@bingosnet.co.uk>
* PATCH [perl #121144]: \S, \W, etc fail for above ASCIIKarl Williamson2014-02-022-4/+11
| | | | | | | | | | | | | | | | There were three things wrong with these couple of lines of code.that help generate the synthetic start class (SSC). 1) It used PL_regkind, instead of straight OP. This meant that /u matches were treated the same as /d matches since they both have the same regkind. 2) For what it thought was just for /d, it used the complement of ASCII, which matches 128-INFINITY, whereas it wanted 128-255 only.. 3) It did a union of this complement, instead of a subtract of the non-complement, forgetting that we are about to complement the result, so that if we want the end result to have something, we better have the input not have that something, or the complementing will screw it up.
* Porting/Glossary: Entries should start with \t not blanksKarl Williamson2014-02-021-9/+9
| | | | | For otherwise, they get turned into verbatim lines. I don't know where to document this.
* Fix handy.t for systems without $Config{d_isblank}.Craig A. Berry2014-02-021-0/+14
| | | | | | | | | | | | | | | | | isblank() is a C99 function that may or may not be present, meaning checking for what's blank under a non-POSIX/C locale may not match Unicode code points that are considered blank, such as non-breaking space. Make the tests for these conditions TODO as it's possible Perl could implement its own isblank() for these conditions, at least for UTF-8 locales. N.B. If there are implementations that provde isblank() but have it match only space and tab regardless of locale, this change probably won't help. t/re/charset.t probably needs similar treatment.
* perldelta for f06c882585Tony Cook2014-02-031-1/+6
|
* [perl #77672] avoid a file handle redirection raceTony Cook2014-02-033-49/+74
| | | | | | | | | | With multiple threads (and Win32 fork() is implemented in terms of threads), Win32's popen() code had a race condition where a different thread could write to the stdout (or read from the stdin) handle setup for a child process. Avoid this by using the Win32 API to supply the I/O handles instead of redirecting them in the current process.
* [perl #121134] prevent state variables from being merged into a padrangeTony Cook2014-02-032-1/+32
|\
| * Don't pull state vars into padrange opsMatthew Horsfall (alh)2014-02-031-0/+1
| |
| * Test state vars following padranges [Perl #121134]Matthew Horsfall2014-02-031-1/+31
|/
* 'use utf8' should imply /u regex matchingKarl Williamson2014-02-022-5/+15
| | | | This should be true even if the pattern isn't in utf8.
* README.qnx: Make verbatim line fit in 79 columnsKarl Williamson2014-02-021-3/+3
|
* Resolve c++ build fail in coreChris 'BinGOs' Williams2014-02-023-1/+4
| | | | Upstreamed as CPAN RT#92657
* Update IO-Compress to CPAN version 2.064Chris 'BinGOs' Williams2014-02-0232-147/+151
| | | | | | | | | [DELTA] 2.064 1 February 2014 * RT #90216: IO-Compress/t/050interop-gzip.t: Use android-compatible flags when calling gzip
* Update Compress-Raw-Zlib to CPAN version 2.064Chris 'BinGOs' Williams2014-02-026-21/+199
| | | | | | | | | | | | [DELTA] 2.064 1 February 2014 * [PATCH] Handle non-PVs better [#91558] * Z_OK instead of Z_BUF_ERROR [#92521]
* Update Compress-Raw-Bzip2 to CPAN version 2.064Chris 'BinGOs' Williams2014-02-026-10/+104
| | | | | | | | | [DELTA] 2.064 1 February 2014 * [PATCH] Handle non-PVs better [#91558]
* INSTALL, cross-compile section: It's 2014, stop living in the pastBrian Fraser2014-02-011-1/+1
| | | | Spotted by Daniel Dragan on #p5p
* Update ExtUtils-MakeMaker to CPAN version 6.88Chris 'BinGOs' Williams2014-01-3131-41/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [DELTA] 6.88 Fri Jan 31 20:49:13 GMT 2014 No changes from 6.87_05 6.87_05 Tue Jan 28 13:54:21 GMT 2014 Bug fixes: * Synchronisation with blead to remove old cross-compilation model 6.87_04 Sun Jan 26 19:29:05 GMT 2014 Bug fixes: * On Android, pass PERL_LIB through rel2abs(). 6.87_03 Sun Jan 19 17:49:43 GMT 2014 Bug fixes: * Get rid of unused printf arguments in dynamic_bs 6.87_02 Sat Jan 18 13:00:36 GMT 2014 Doc fixes: * Update documentation for LICENSE attribute. Bug fixes: * Get rid of unused printf arguments in dir_target 6.87_01 Sun Jan 12 10:31:41 GMT 2014 Doc fixes: * mention that TEST_REQUIRES is in v6.64 and above
* Update perldelta_template.pod to include an "Errata From Previous Releases" ↵Yves Orton2014-02-011-0/+11
| | | | | | | | section I added this section to the latest perldelta, and Dave M pointed out that it should become a standard section in the future, so I have added it to the perldelta_template.pod
* Simplify expression, cannot be ANCH_GPOS without being REG_GPOS_SEENYves Orton2014-02-011-1/+3
|
* Update perldelta with details about changes to regexp engine extflagsYves Orton2014-01-311-2/+32
|
* simplify redundant part of PREGf_ANCH_GPOS testYves Orton2014-01-311-4/+3
| | | | And add an assert to be sure that we are correct.
* ignore vim backup filesYves Orton2014-01-311-1/+1
| | | | | Having tests fail because vim created a ~ file for something is just annoying.
* Make configpm produce better diagnostics for malformed glossary entriesYves Orton2014-01-311-1/+11
| | | | | | | | | | | | | | | | | | | | | Patch 8b6a017ccef7126ae5bcac137fa9a45de4f2c155 added some malformed entries to Porting/Glossary. (The entries were missing a trailing colon). These malformed entries would produce a cryptic one-line warning, but only when various files were being regenerated. To make things more difficult these warnings would be produced at the top of, or in the middle of a large stream of other compilation actions, easily allowing one to overlook them. Even if you noticed them the information provided did not make it particularly easy to figure out what was wrong. This patch changes things so that the warnings contain more information, it also causes configpm to die, and thus break the build process, once it finishes scanning the glossary if there were any warnings during processing. This allows us to avoid whackamole when dealing with multiple broken entries, and makes it painfully obvious if there are issues processing the glossary file, which should prevent any future repeat of the errors in 8b6a017ccef7126.
* Fix cross-compilation glossary entriesYves Orton2014-01-311-3/+3
| | | | | | | | | Patch 8b6a017ccef7126ae5bcac137fa9a45de4f2c155 added three new entries to Porting/Glossary. These entries were malformed from the point of view of configpm, which would warn about them. This fixes the entries, by adding a missing colon to the first line of each glossary entry.
* rename REG_SEEN_WHATEVER to REG_WHATEVER_SEEN to match RXf_ and PREGf_ ↵Yves Orton2014-01-312-73/+72
| | | | convention