summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Document that ~~ overload will only work on the RHSRafael Garcia-Suarez2009-04-201-4/+5
|
* Adjustments to the ~~ dispatch tableRafael Garcia-Suarez2009-03-251-2/+5
| | | | | | | | Hash slice existence now uses 'exists' instead of the complex recursive invocation to ~~. Any ~~ Array matches now keep the "any" element on the LHS of the smart match. More special cases have been added for complex values of "Any".
* Inline macro tryAMAGICbinSET() in smart match routineRafael Garcia-Suarez2009-03-241-1/+9
| | | | (to build tricks on a sane base)
* More tests. Simplify tests for ~~ overloadingRafael Garcia-Suarez2009-03-241-10/+16
|
* Fix equivalent code in perlsyn for Array~~HashRafael Garcia-Suarez2009-03-241-1/+1
| | | | | | It's an "any", not an "all". The synopsis 3 for Perl 6 has this code : when $_ is an Array, and X is a Hash, $_ ~~ X means X.{any @$_}:exists. Note that the implementation is right already (and was right in 5.10).
* Specify that the behaviour of $foo ~~ Range should only depend on the RHSRafael Garcia-Suarez2009-03-241-3/+3
| | | | (and not from the value being checked, as Zefram remarks)
* Make []~~\&f and {}~~\&f matchRafael Garcia-Suarez2009-03-243-9/+9
| | | | (Zefram remarks that all(empty set) is true)
* Fix tests for ~~ overloadingRafael Garcia-Suarez2009-03-241-29/+7
| | | | I had the overload function wrong. ~~ overloading actually works.
* Implement "~~ $scalar" for numbers and stringsRafael Garcia-Suarez2009-03-243-32/+23
| | | | | Make documentation more precise about the different cases, and add tests.
* Make ~~ qr// non-commutativeRafael Garcia-Suarez2009-03-232-25/+13
| | | | | Pass elements in correct order to the sub-smart-match when comparing two arrays. And more tests
* Refactoring work on '~~ @array' implementationRafael Garcia-Suarez2009-03-232-40/+56
| | | | (remove commutativity)
* Revert order of ~~ in definition of smart matching against arraysRafael Garcia-Suarez2009-03-231-3/+2
| | | | | | | | This allows to remove a special case (Hash ~~ Array). We're also going to reuse ~~ in the Array ~~ Hash smart match definition. More tests will be needed.
* Add more tests with an empty hash on the right of ~~Rafael Garcia-Suarez2009-03-232-2/+8
|
* Smart match when a hash is on the RHSRafael Garcia-Suarez2009-03-182-12/+23
| | | | | | This implement the new semantics of C<~~ HASH> smart matching. This also reveals that overloading actually does not work at all. Add also tests for C<undef ~~ %hash>.
* Reverse the order of operands for several "~~ hash" testsRafael Garcia-Suarez2009-03-181-17/+17
| | | | | This way the hash is on the right. Some of those tests will need to become symmetrical later.
* Remove obsolete or redundant testsRafael Garcia-Suarez2009-03-181-15/+4
|
* Document that empty sets don't smart-matchRafael Garcia-Suarez2009-03-173-21/+26
| | | | (and implement this for the C<~~ coderef> form)
* Test that in "~~ sub", the sub is not called on empty hashes and arraysRafael Garcia-Suarez2009-03-171-0/+4
|
* Fix a warnings test that was failing due to smart match dispatch changesRafael Garcia-Suarez2009-03-171-1/+1
|
* Iterative smart match over keys/elements when a coderef is on the RHSRafael Garcia-Suarez2009-03-172-44/+112
|
* Make smart matching ~~ undef dispatch only on the RHSRafael Garcia-Suarez2009-03-133-24/+22
|
* Some tests reorgarnisation for ~~ against undef and objectsRafael Garcia-Suarez2009-03-121-74/+79
|
* Remove special case for coderefs with empty prototypes in smart matchRafael Garcia-Suarez2009-03-063-80/+12
| | | | (plus, fix a metasyntactic name clash in the switch test)
* Make the "..." flip-flop operator work in scalar context in when()Rafael Garcia-Suarez2009-03-062-1/+19
|
* The new smart match dispatch table for 5.10.1 onwardsRafael Garcia-Suarez2009-03-041-26/+44
| | | | | | | | | | | | | | | | | This /does/ break backwards compatibility. Changes to come are: - ~~ is no longer commutative. Dispatch is now done based on the (run-time) type of the right side argument. - The right side can be a ".." range, which will be treated specially, and no longer as a boolean operator (as in scalar context). - when() should treat "..." as a boolean operator. - Coderefs with an empty prototype are no longer special. - Any ~~ Array distributes the smart match test. - Comparing two coderefs is no longer a special case and does not perform referential equality. (Use \&foo ~~ "".\&bar for that.) This patch also documents that ~~ won't work on objects that don't overload it, except in the expression $object ~~ undef.
* Remove TODO tests about && in when() clausesRafael Garcia-Suarez2009-03-041-64/+1
| | | | | | | | | | | | | | | | when() actually behaves as documented in perlsyn. It treats "E1 && E2" expressions as booleans only if E1 is boolean, and if not, it does the equivalent of the smart match expression "$_ ~~ (E1 && E2)". As long as the ~~ operator is not expected to distribute boolean expressions found on its right side, the current behaviour of perl is correct. So, should we expect ~~ to distribute boolean expressions ? Given that this would be rather complex to implement and test correctly with complex expressions, given that we don't expect =~ to distribute either, and given that when() is already quite smart regarding boolean operators, I see no motivation for that feature. This allows to close bug #50538 as "won't fix".
* Document that when() treats specially most of the filetest operatorsRafael Garcia-Suarez2009-03-041-0/+5
|
* Make // behave like || in when clausesRafael Garcia-Suarez2009-03-043-9/+20
| | | | (plus minor documentation updates about "when")
* Update Archive::Extract to 0.31_02Jos I. Boumans2009-03-042-104/+147
|
* Add a failing test for stack corruption with MULTICALLAlex Vandiver2009-03-041-0/+26
|
* Update Parse::CPAN::Meta to 0.04_01Steffen Mueller2009-03-035-8/+46
|
* Add Parse::CPAN::Meta to Porting/Maintainers.plSteffen Mueller2009-03-031-0/+8
|
* Add contact info for Simon Wistow in Porting/Maintainers.plSteffen Mueller2009-03-031-0/+1
|
* Remove the MANIFEST from Compress-Raw-Bzip2Rafael Garcia-Suarez2009-03-032-32/+0
| | | | (it wasn't the same in the CPAN distribution anyway)
* Bump versions to 0.12 to sync with CPAN versionRafael Garcia-Suarez2009-03-022-2/+2
|
* Integrate Parse::CPAN::Meta 0.04 into coreSteffen Mueller2009-03-0221-0/+2162
|
* Update CPANPLUS to 0.85_06Jos I. Boumans2009-03-0254-944/+2950
|
* Bump versions to 0.10 for CPAN syncRafael Garcia-Suarez2009-03-022-2/+2
|
* Make util.c compile on systems without getcwd()Rafael Garcia-Suarez2009-03-021-2/+3
|
* Better gitignore file for Compress-Raw-Bzip2Rafael Garcia-Suarez2009-03-022-1/+5
|
* Add Compress-Raw-Bzip2, by Paul MarquessRafael Garcia-Suarez2009-03-0133-0/+11395
|
* Mark modules upgraded today as "upstream from CPAN"Rafael Garcia-Suarez2009-03-011-2/+2
|
* Update CPANPLUS::Dist::Build to 0.08Chris 'BinGOs' Williams2009-03-013-182/+171
|
* Update to Term::ANSIColor 2.00Rafael Garcia-Suarez2009-03-014-240/+372
|
* Make deprecate.pm work on VMS.Craig A. Berry2009-02-282-2/+6
|
* Hash::Util::FieldHash 1.03 leaks SVs which are used as object IDs stored in ↵Goro Fuji2009-02-282-1/+2
| | | | mg->mg_obj
* NAME section must fit on one lineRafael Garcia-Suarez2009-02-271-3/+1
|
* rewrote deprecate test using File::SpecRobin Barker2009-02-271-23/+31
|
* add standard documentation to deprecateRobin Barker2009-02-271-0/+51
|
* 6c0ec79a2e9c445ac9999df2 failed to build from distclean - also tweak make_ext.plNicholas Clark2009-02-261-0/+3
|