summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* UCD.t: Add tests for sped-up lookupsKarl Williamson2011-09-031-1/+45
| | | | This adds some tests for commit 5c3b35c95645d687026b198c24e884914bfb6ce6
* mktables: make_Heavy.pl smallerKarl Williamson2011-09-032-26/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During the time that mktables was being heavily revamped, Unicode proposed a number of new properties whose names began with 'Is'. Perl since 5.6 has alllowed properties to have an optional 'Is' prefix. Thus there was the possibility that a new property name from Unicode would conflict with one of Perl's name extensions. Thus, the code was written to individually suppress such an extension when there was a conflict; though this would be an undesirable state of affairs, where previously working code would have to be changed due to a new Unicode release. However, it turns out that other Unicode implementors had done the same thing Perl had done, and the protests forced the new Unicode standard to remove the 'Is' from the new properties; and apparently they won't try to do this again. However, the more general case code was still in mktables, doing no harm, except enlarging significantly several of the hashes in Heavy.pl to have essentially double the entries; one for the 'Is', and one without. There have been some murmurings that Heavy.pl takes up too much memory. Further, future commits are planned that would take up space as well, and that could be made much smaller by not having the individual basis for having Is/non-Is. So, this commit takes away the individual property Is/non-Is and replaces it with a blanket approach that has it for all Unicode properties. This requires a single extra statement in utf8_heavy. This has already been added mistakenly, but harmlessly, in commit 45376db692c38e06f27b8331d036652ec5fbb3d1 Note that perl extensions still have the individual Is/non-Is. This is because the blanket approach won't work for them, as some of the 'Is' synonyms do routinely get approaced in the case of the Block property. It is documented that one shouldn't use the 'Is' prefix for the Block property, because future Unicode versions could break your code.
* Remove sockadapt layer from the VMS build.Craig A. Berry2011-09-039-603/+86
| | | | | | | | | | | | | | SOCKETSHR is/was an interface to abstract out TCP/IP calls for the various vendors' networking implementations, including the freeware CMU-IP stack. Neither SOCKETSHR nor CMU-IP has seen any maintenance for over a decade and are likely not even C89-compliant. The CRTL socket routines have been supported by the different vendors' stacks for many years so there is no reason to maintain an alternative, and there probably hasn't been a real working alternative for some years anyway. The code is still there in maint-5.14 and earlier branches if anyone has need of it.
* Include name of global scalars in unitialized value warnings when the ↵Gerard Goossen2011-09-031-1/+13
| | | | | | | | | peephole optimiser isn't applied. When the peephole optimiser isn't applied warnings about uninitialised values from global scalars don't include the name of variable, because the OP_RV2SV + OP_GV isn't converted to OP_GVSV. This patch fixes that by extracting the name of the variable from the OP_RV2SV + OP_GV.
* Call get-magic once for CV-to-GV assignmentFather Chrysostomos2011-09-033-3/+22
| | | | | | | pp_rv2gv has already called get-magic, so pp_sassign should not do it at all. This is a regression from 5.8.8.
* Upgrade to threads::shared 1.39Jerry D. Hedden2011-09-032-2/+2
|
* Upgrade to threads 1.85Jerry D. Hedden2011-09-034-8/+8
|
* perldelta entry for File:Glob / CVE-2011-2728 fix.Craig A. Berry2011-09-031-0/+15
|
* Plug segfault in bsd_glob() with unsupported ALTDIRFUNC flag.Craig A. Berry2011-09-033-2/+9
| | | | | | | | | First, disable all the unsupported flags just to make sure they aren't triggering something they shouldn't be. Also, zero the pglob struct before passing to bsd_glob(); it contains function pointers, and it's safest if they are null rather than containing random stack data. Bug reported by Clément Lecigne <clemun@gmail.com>.
* Bump threads(::shared) versions againFather Chrysostomos2011-09-022-4/+4
| | | | | | Since these numbers have already been used for developement releases, they need to be changed again. I also added a note to make sure they no longer get out of sync with the pod.
* Upgrade to threads 1.84Jerry D. Hedden2011-09-024-8/+38
|
* Upgrade to threads::shared 1.38Jerry D. Hedden2011-09-024-2/+432
|
* [perl #98280] Use same version number 1.997 in all .pm files.Peter John Acklam2011-09-023-3/+3
| | | | | - For simplicity, use same version number 1.997 in all .pm files to match the upcoming release 1.997 of the Math-BigInt distribution.
* perluniprops: Add note about 'L_' being non-standardKarl Williamson2011-09-021-0/+4
|
* utf8_heavy: Correctly handle \p{L_}Karl Williamson2011-09-023-3/+28
| | | | | | | | | | | L_ is an old, discouraged but not deprecated, synonym for LC, cased letters. It was improperly being converted to simply L, all letters, because it is supposed to match loosely, and the trailing underscore was being stripped. It needs a special case. Tests passed for this, as the machine generated test case happened to choose code points that are in both L and LC. Also some tests were testing L instead of LC because of a similar flaw.
* perluniprops: display 2 synonyms as being discouragedKarl Williamson2011-09-021-1/+1
| | | | | mktables was getting the display status from the overarching table, instead of the synonym, for display in perluniprops.
* Unicode::UCD: clarify podKarl Williamson2011-09-021-6/+10
| | | | | | Add a note, and reflow, that the data structure returned by this function is unnecessarily complex, but is for compatibility with other returns that need the complexity.
* Unicode::UCD: fix pod verbatim line lengthKarl Williamson2011-09-022-2/+1
|
* Unicode::UCD: speed up some look upsKarl Williamson2011-09-021-14/+13
| | | | | | | | | | | | | | | | A previous commit created the possibility that for a data structure to be used instead of an array of arrays. The latter data structure is used because most properties have long ranges in which each code point maps to the same thing, and so don't have to have a hash entry for each code point, can use the range as the base data structure. However certain properties (or property-like structures) don't have long ranges, and hence don't need to save memory by having things work through ranges instead of individual code points. For these, a hash offers improved speed, without the memory cost. This patch converts 4 of the data structures to hashes. Future extensions to this module will also take advantage of some of these being in hashes
* Unicode::UCD: Allow for some look-up speed upKarl Williamson2011-09-021-7/+23
| | | | | | This changes the internal function to have an optional parameter to return a hash instead of an array when the caller determines that it is better to use a hash.
* Unicode::UCD: Use NFD(), not NFKD() for Hangul syllablesKarl Williamson2011-09-021-8/+10
| | | | | | These decompositions are all canonical, not compatible only, so it gives the same result, and I think it's clearer, explained in the revised comment.
* Unicode::UCD Add synopsis info for num() to podKarl Williamson2011-09-021-0/+5
|
* Unicode::UCD: Make pod header consistentKarl Williamson2011-09-025-6/+6
| | | | | All the other function headers in this pod look like what this patch makes this one look like. Corresponding links to it are also revised.
* Remove Porting/genlog, redundant since the switch from Perforce to git.Nicholas Clark2011-09-023-146/+0
| | | | "Generate a nice changelist by querying perforce" isn't much use these days.
* Silence two compiler warnings in gv.cFather Chrysostomos2011-09-011-2/+2
|
* Fix two \&$tied regressionsFather Chrysostomos2011-09-012-4/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the tied variable holds a reference, but changes to something else when FETCH is called, perl crashes, as of commit 9d0f7ed75 (5.10.1/5.12.0): sub ::72 { 73 }; sub TIESCALAR {bless[]} sub STORE{} sub FETCH { 72 } tie my $x, "main"; $x = \$y; \&$x; That’s because commit 7a5fd60d4 caused double magic for one branch of an if/else chain in sv_2cv (by using gv_fetchsv), so commit 9d0f7ed75 removed the SvGETMAGIC preceding the if/else, putting it inside each branch. That meant that the type would be checked before get-magic was called. So the type could change unexpectedly. Due to another bug, this did not affect globs returned from tied array elements, which got stringified, and hence worked in sv_2cv. But that bug was fixed in 5.14.0 by commit 13be902ce, which allowed typeglobs to be returned unflattened through elements of tied aggregates, caus- ing this to stop working (‘Not a CODE reference’ instead of 73): sub ::72 { 73 }; sub TIEARRAY {bless[]} sub STORE{} sub FETCH { 72 } tie my @x, "main"; my $elem = \$x[0]; $$elem = *bar; print &{\&$$elem}, "\n"; This commit fixes both issues by putting the SvGETMAGIC call back where it belongs, above the if/else chain, and by using SvPV_nomg_const and gv_fetchpvn_flags instead of gv_fetchsv, to avoid an extra magic call.
* [perl #98256] Add POD for the bsgn() method.Peter John Acklam2011-09-011-0/+7
| | | | | This stops Pod::Coverage (and possibly users) from complaining about missing documentation.
* regen known_pod_issues.datFather Chrysostomos2011-09-011-6/+3
|
* Bump Math::Big(In|Floa)t versionsFather Chrysostomos2011-09-012-2/+2
|
* remove incorrect formatting inside verbatim paragraphsAlexandr Ciornii2011-09-011-23/+23
|
* Correct links to sections (and modules in case of BigFloat.pm)Alexandr Ciornii2011-09-012-23/+23
|
* Reinstate the perldelta entry for CPANPLUS.Nicholas Clark2011-09-011-0/+4
| | | | This was accidentally removed by commit 7ac26854bd1fc3c6. Oops.
* Update AnyDBM_File's documentation to avoid use POSIX;Nicholas Clark2011-09-012-3/+12
| | | | | | | use Fcntl; is a much more efficient way to load the two constants needed. Bring the joy of strict (and warnings) to AnyDBM_File, remove commented-out code, and add __END__ to make it clear that there is no more code hiding beyond the pod.
* Defenestrate PAD_DUPFather Chrysostomos2011-09-011-15/+0
| | | | It has been unused in core since d5b1589c and is not used on CPAN.
* Merge the POSIX.pm refactoring into blead.Nicholas Clark2011-09-0112-816/+763
|\ | | | | | | | | POSIX.pm no longer uses AutoLoader, and is roughly halved in size, with no change in functionality. Test coverage is improved.
| * Note the refactoring of POSIX.pm in perldelta.Nicholas Clark2011-09-011-4/+9
| |
| * Change the synopsis in POSIX.pod to stress use POSIX ();Nicholas Clark2011-09-011-2/+4
| | | | | | | | | | | | Explicitly warn that the default of importing everything means that use POSIX; has to import 553 symbols. Hence it's probably better to use an explicit import list, or import nothing.
| * Generate @POSIX::EXPORT_OK from %reimpl, %replacement and an exception list.Nicholas Clark2011-09-011-59/+5
| | | | | | | | | | | | | | This is considerably terser than listing all the entries for @EXPORT_OK longhand. With this change we can no longer delete from %replacement in AUTOLOAD(), as import() and load_imports() may be called after AUTOLOAD() has already been run.
| * Test that @POSIX::EXPORT and @POSIX::EXPORT_OK are not inadvertently changed.Nicholas Clark2011-09-012-0/+117
| |
| * Remove isatty from @POSIX::EXPORT_OK, as it's already in @EXPORT.Nicholas Clark2011-09-011-1/+0
| | | | | | | | | | | | This effectively reverts commit d925a710473da185, which added it and reformatted the source code. isatty was in (the generated) @EXPORT at that time, hence there was never a need to add it.
| * Replace use of AutoLoader in POSIX with a custom compilation deferral scheme.Aristotle Pagaltzis2011-09-012-380/+100
| |
| * In POSIX, improve the diagnostic for the "use $method" instead.Nicholas Clark2011-09-012-2/+3
| | | | | | | | | | | | | | | | | | In the error message, name the POSIX function that was called, as well as the suggested replacement method. This rephrasing was in the patch supplied by Aristotle Pagaltzis, but I have retained the existing POSIX use of :: when describing the method, because given two less than great choices, I'm inclined to favour retaining the status quo and one change over two changes.
| * In POSIX, drastically simplify the wrappers for "unimplemented" functions.Aristotle Pagaltzis2011-09-012-341/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace all the subroutines that croak() with a data structure and 8 lines in POSIX::AUTOLOAD(). [By Aristotle Pagaltzis, with some editing by the committer, and most of his message changes applied as a previous commit to split apart improvements from pure refactoring] This commit eliminates the helper functions POSIX::refef() and POSIX::unimpl(), which were not part of the documented API, not exported, and not used in any code outside the core (that is visible to Google codesearch).
| * In POSIX.pm, modernise package variable style.Aristotle Pagaltzis2011-09-011-9/+8
| |
| * The more regular POSIX "unimplemented" diagnostics simplify the tests.Nicholas Clark2011-09-011-60/+60
| |
| * Improvements to the diagnostics for "unimplemented" POSIX functions.Nicholas Clark2011-09-012-44/+44
| | | | | | | | | | | | | | | | | | | | | | | | Suggested by Aristotle Pagaltzis as part of a larger refactoring. This regularises the text, changing '--use' and ': use' to ', use' to be consistent, provides a message for POSIX::srand(), and adds ' is' to the message for POSIX::bsearch(). Most of the diagnostics have been unchanged since perl 5.000. For some, IO::Handle replaced FileHandle in perl5.003_20 (28757baaaeaa3801). div and ldiv's messages were improved to also mention % in 2003 by commit 7a6ca5fd18d88091.
| * Test the POSIX functions that wrap core builtins.Nicholas Clark2011-09-012-0/+234
| | | | | | | | No need to test the 7 tested elsewhere.
| * Convert the POSIX waitpid tests to Test::More.Nicholas Clark2011-09-011-15/+16
| | | | | | | | | | Explicitly test POSIX::exit(), POSIX::fork(), POSIX::sleep() and POSIX::waitpid(). Use POSIX::_exit() in the child process.
| * Explicitly test both CORE:: and POSIX:: gmtime and localtime.Nicholas Clark2011-09-011-8/+21
| | | | | | | | | | The POSIX:: versions should be identical to the CORE:: versions, as they are just wrappers. But the wrappers need testing.
| * Test the diagnostics for usage messages for POSIX wrapper functions.Nicholas Clark2011-09-013-4/+53
| | | | | | | | Regularise the 3 inconsistent messages.