summaryrefslogtreecommitdiff
path: root/dist
Commit message (Collapse)AuthorAgeFilesLines
* y///rFather Chrysostomos2010-11-021-0/+2
|
* Avoid multiple $op->private calls in B::Deaprse::pp_transFather Chrysostomos2010-11-021-3/+4
|
* Refactor Storable::{net_,}pstore to return undef/true, instead of 1 or 0.Nicholas Clark2010-11-012-9/+8
| | | | | | | | This allows their only caller, Storable::_store(), to be simplified, as $ret will now have the correct values for its documented interface. Also, replace C<$ret = undef> with C<undef $ret>, as the latter is equivalent, but uses 1 fewer op.
* Refactor the error handling logic in Storable::_store().Nicholas Clark2010-11-011-2/+9
| | | | | | | | | | | | | | | | | | The logic remains: 1: If the close fails, set $ret to undef, and attempt to unlink the file 2: If the eval set $@, attempt to unlink the file 3: If the unlink is attempted and fails, warn However, the new code avoids using low-precedence or and a statement modifier, both for flow control, in the same statement, which I certainly found confusing. It also now avoids the implicit *three*-state logic for $ret, which previously was attaching distinct meanings to true, false and undefined. The new code has (some) flow control inside an if(), and enters a block (which it seems that the old code strove hard to avoid - blocks are a small runtime cost). However the block entry is only for the error case, so this should not matter.
* Merge Storable::{is_storing,is_retrieving} using ALIAS.Nicholas Clark2010-10-311-7/+7
|
* Storable::{last_op_in_netorder,is_storing,is_retrieving} are all boolean.Nicholas Clark2010-10-311-6/+6
| | | | | | Hence they can have return type bool, which allows xsubpp to generate slightly simpler (and smaller) code, and at run time avoids using a temporary for the return value.
* Merge Storable::{,net_}pstore and Storable::{,net_}mstore using ALIAS.Nicholas Clark2010-10-312-80/+27
| | | | | | | | Remove the static functions {,net}[mp]store(), which were trivial wrappers around do_store(). Instead call do_store() directly, using the ALIAS index as the flag. Less code. On this platform, this reduces the object code by over 1K. (Over 1%)
* Bump Safe's version to 2.29Rafael Garcia-Suarez2010-10-313-3/+6
|
* Add &version::vxs::VCMP to Safe's default shareRafael Garcia-Suarez2010-10-311-0/+1
| | | | This is to accomodate this new function in version.pm 0.85.
* Macros are not called with aTHX_Father Chrysostomos2010-10-291-1/+1
|
* Fix Math::BigInt::FastCalc build under Win32 with croak_xs_usage().George Greer2010-10-291-1/+1
|
* Math::BigInt::FastCalc doesn't need to set $BASE or $BASE_LEN.Nicholas Clark2010-10-291-4/+2
| | | | | | | The variables are neither documented nor exported, and nothing on CPAN uses them. Hence there is no need to set them, which means that the return list from Math::BigInt::Calc::_base_len() can be passed directly into FastCalc's XS bootstrap.
* Math::BigInt::FastCalc doesn't need to override methods in a BEGIN block.Nicholas Clark2010-10-291-5/+2
| | | | | The BEGIN context of the code C<use>ing it will be early enough for the subroutine assignments to take full effect.
* Refactor FastCalc to initialise BASE and BASE_LEN as part of bootstrap.Nicholas Clark2010-10-292-17/+9
| | | | | | This avoids the need for a separate, special, one-shot _set_XS_BASE routine. We take advantage of the fact that all arguments to XSLoader::load() are passed on to the module's bootstrap routine.
* Reorder the list return of Math::BigInt::Calc::_base_len().Nicholas Clark2010-10-295-12/+10
| | | | | A search of CPAN shows that this private function is only used internally between Math::BigInt::Calc, Math::BigInt::FastCalc and their test suites.
* Run 01SelfLoader.t also under taint modeFather Chrysostomos2010-10-271-0/+7
| | | | This is to test for [perl #72062].
* Remove THREADSV_NAMES, part of 5005 threads that the chainsaw missed.Nicholas Clark2010-10-271-1/+2
| | | | | Also remove the documentation of OPf_SPECIAL for OP_ENTERITER, as that was only for 5.005 threads. Stop B::Deparse misinterpreting OPf_SPECIAL on OP_ENTERITER.
* B::Deparse should call B::threadsv_names, instead of hard coding a list.Nicholas Clark2010-10-272-10/+7
| | | | These are only used under 5.005threads, which was removed in 5.10.
* Get B::Deparse to load on perls back to 5.8.1Nicholas Clark2010-10-271-13/+22
| | | | | But note - not all its tests are parsing, and some routines will fail at runtime due to methods missing from older Bs.
* refactor and regularise label/statement grammarZefram2010-10-251-6/+14
| | | | | | | | | | | | | | | | | | | | Refactoring of the grammar around statements. New production <barestmt> encompasses a statement without label. It includes all statement types, including declarations, with no unnecessary intermediate non-terminals. It generates an op tree for the statement's content, with no leading state op. The <fullstmt> production has just one rule, consisting of optional label followed by <barestmt>. It puts a state op on the front of the statement's content ops. To support the regular statement op structure, the op sequence for for(;;) loops no longer has a second state op between the initialisation and the loop. Instead, the unstack op type is slightly adapted to achieve the stack clearing without a state op. The newFOROP() constructor function no longer generates a state op, that now being the job of the <fullstmt> production. Consequently it no longer takes a parameter stating what label is to go in the state op. This brings it in line with the other op constructors.
* In FastCalc.xs, use SV * as the return type for _new() and _zero()Nicholas Clark2010-10-251-10/+10
| | | | | | | Previously these were using AV *. Whilst the code always was managing references correctly, to work around the deficiency of the standard typemap entry for AV * it had to mortalise the array it created, meaning that it was creating 2 entries per call on the mortals stack, not 1.
* Convert Math::BigInt::FastCalc to XSLoader.Nicholas Clark2010-10-251-6/+4
| | | | As the minimum perl version is 5.006, enable 'use warnings'.
* In FastCalc.xs, inline the macros CONSTANT_OBJ and RETURN_MORTAL_BOOL.Nicholas Clark2010-10-251-14/+10
| | | | | | | With the previous commit, both are now only used in one place. No need to use sv_2mortal() on the reset of boolSV(), as both PL_sv_no and PL_sv_yes are immortals. [And special-cased within the implementation of sv_2mortal() - not only is it a no-op, it's a non-free no-op :-)]
* Reduce repetition in FastCalc.xs by using ALIASes.Nicholas Clark2010-10-252-102/+14
| | | | | | | | _one, _two and _ten are aliases to _zero _is_odd is an alias of _is_even _is_one, _is_two, _is_ten are aliases of _is_zero On this system this reduces the object code size by about 4.5K (about 20%).
* Update Locale-Maketext to CPAN version 1.17Todd Rinaldo2010-10-254-2/+14
| | | | | | | | | | | | | | [DELTA] 2010-10-20 * Release 1.17 Test release of 1.16_01, versioning even deprecated Guts modules. This prevents CPAN upgrade circular heck. Thanks BinGOs Tested version fix for CPAN by BinGOs. Bump to stable version and release to public Signed-off-by: Chris 'BinGOs' Williams <chris@bingosnet.co.uk>
* Math::BigRat has blead as its upstreamFlorian Ragwitz2010-10-2414-0/+5419
|
* [perl #33752] B::Deparse fails with utf8 and ourFather Chrysostomos2010-10-212-4/+19
| | | | | | | | | | | | | MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit makes B::Deparse support code like ‘our $ḟōō’. Currently, an ‘our’ variable whose name is an octet sequence that does not consist of (\w|::)+ can only be a UTF8 variable name. When the pad is made to support UTF8 properly, this may need to be changed.
* [perl #72062] Untaint DATA after it's reopenedLubomir Rintel2010-10-211-1/+3
| | | | | | | | DATA handle is untainted on startup, but as we close and reopen it it gets the taint flag. It's safe to untaint it though, since we still hold the file descriptor open and don't reassign it to another file. This was probably broken by changeset 29606, (c96b2385 in perl git).
* Update Module::CoreList for 5.13.6Tatsuhiko Miyagawa2010-10-202-12/+650
|
* Bumped B::Deparse version and added perldelta entry for it per a539498Tatsuhiko Miyagawa2010-10-191-1/+1
|
* Set Data::Dumper’s release date to that of perl 5.13.6Father Chrysostomos2010-10-181-1/+1
| | | | just in case 5.13.6 is released before the next CPAN release of DD.
* dist/IO: fix a few typosMike Kelly2010-10-151-2/+2
|
* dist/IO: Always bind to localhost in tests.Ali Polatel2010-10-152-4/+6
| | | | | | This is necessary on Exherbo, at least, because of the network sandboxing that is done by 'sydbox'. And, in general, tests shouldn't be listening on all interfaces.
* XSLoader::load() with no arguments can use caller to find a default package.Nicholas Clark2010-10-142-26/+32
| | | | | In the case of dynamic linking, it's already using caller to get a filename, so this isn't usually any extra work.
* Correct threads versionFather Chrysostomos2010-10-141-1/+1
|
* Change the perl version mentioned in threads.pm concerning dirhandlesFather Chrysostomos2010-10-141-2/+2
| | | | as this may change before 5.14.
* Move regen scripts to regen/Steffen Mueller2010-10-101-1/+1
| | | | | Moves the various scripts that are called by regen.pl to a subdirectory to reduce clutter.
* Upgrade to threads::shared 1.34Jerry D. Hedden2010-10-081-3/+3
| | | | Signed-off-by: Chris 'BinGOs' Williams <chris@bingosnet.co.uk>
* threads::shared should not FREETMPS in its BOOT code.Nicholas Clark2010-10-082-2/+3
| | | | | | | | | | | perl_construct() sets the current interpreter context, and ends in an ENTER. Hence threads::shared needs to restore the interpreter context, and balance the ENTER with a leave. Previously it was using its PERL_SET_CONTEXT() macro, which also contains a FREETMPS. However, this FREETMPS is erroneous in this specific context, as it does not have a balancing SAVETMPS. Hence calling SAVETMPS here would run it in the context of the shared interpreter, but it would (attempt to) free up temporaries created in the context of the parent interpreter.
* Fix unicode characters in Locale-Maketext ChangeLogChris 'BinGOs' Williams2010-10-081-1/+1
|
* Bring Locale::Maketext ChangeLog up to date with all recent commitsTodd Rinaldo2010-10-071-2/+15
| | | | Signed-off-by: Chris 'BinGOs' Williams <chris@bingosnet.co.uk>
* Improve XSLoader::load documentation.Nicholas Clark2010-10-071-4/+8
| | | | | Document that all arguments are passed on to the module's bootstrap function, and the behaviour of the bootstrap function in modules built by xsubpp.
* Avoid defining a full XSLoader::bootstrap_inherit post 5.6, as it's not needed.Nicholas Clark2010-10-061-8/+23
| | | | | | | | | Previously the full pre 5.6 XSLoader::bootstrap_inherit emulation code was always declared, but only used with a *runtime* check of Perl version. However, it appears to be part of the implicit API of XSLoader that XSLoader::bootstrap_inherit exists, so keep a stub implementation post 5.6 the commit.
* [perl #73534] Bigrat segfaults on irrational numbersFather Chrysostomos2010-10-042-2/+16
| | | | | | | | | | | | | | | aka [rt.cpan.org #55767] segfault on sqrt(2) with bigrat The problem seems to be in &Math::BigInt::objectify. It doesn’t try to convert the number object into the right class if $upgrade is defined. The attached patch changes it to make sure it belongs to the calling class or to the $upgrade class. Here is a ‘one’-liner to trigger the same bug without bigrat: perl -Ilib -MMath::BigInt=upgrade,Math::BigFloat \ -MMath::BigFloat=upgrade,Math::BigMouse -le \ '@Math::BigMouse::ISA = Math::BigFloat; print sqrt Math::BigInt->new(2)'
* Re-add a test deleted by the recent Locale::Maketext/$@ changeFather Chrysostomos2010-10-042-1/+8
| | | | (and make it pass, too)
* CPAN RT 34182 (Locale::Maketext) - Don't unnecessarily localize $@.Todd Rinaldo2010-10-044-38/+78
| | | | | | | | | | | | | | | | | Do it in scope only so die messages fall through when desired. Previously, there was test code to make sure $@ was not modified when maketext is called, but if the caller wraps maketext in an eval, then it's going to be modified anyways to '' at the least. If the caller does not wrap a maketext call in an eval and maketext dies, then hiding the $@ simply confuses the person debugging as to what went wrong. We do however backup/restore $@ so that it does not break any code that looks might use $@ after a successful call to maketext. eval {...} $lm->maketext($@); do_something_else($@); In the above example, $@ would be the same when passed to do_something_else
* perldelta and version bump for CwdFather Chrysostomos2010-10-031-1/+1
|
* [perl #51562] Problem & "solution" for building 5.10.0 w/win32+mingw+dmakekmx2010-10-031-1/+8
| | | | Run `cd`, rather than `cmd /c cd`, in miniperl on Windows.
* Locale::Maketext - Import dev changes from CPANTodd Rinaldo2010-09-285-13/+206
| | | | | | | | | | | | This patch imports the changes which are on CPAN but not already pulled into blead for Locale::Maketext. 1. New test file t/70_fail_auto.t - Test for CPAN RT #25877 2. Fix for RT25877 (Logic fix tested in 70_fail_auto.t) 3. Convert t/30_local.t to Test::More (the other files were already done in blead. This one was missed. 4. Add a cookbook pod file. 5. Changelog entries which were on CPAN but not in blead.
* perl RT# 76668 - This patch resolves CPAN RT #48808.Todd Rinaldo2010-09-281-2/+2
| | | | | | | | | | | | | This change: 1. loads I18N::LangTags::Detect in BEGIN rather than whenever _ambient_langprefs is called 2. Removes the version number requirement for I18N::LangTags. Detect didn't come around until 0.31 so a dep on 0.30 is unnecessary. This will assure any load issues with I18N::LangTags::Detect happen at BEGIN, not randomly somewhere in the program. This does increase the dependency on I18N::LangTags from 0.30 to 0.31, but the release dates are as follows, so I don't think it's a big deal: 0.30 - 2004-03-30 Sean M. Burke sburke@cpan.org 0.31 - 2004-06-17 Sean M. Burke sburke@cpan.org