Martin Carlberg and GitHub
7dc77ed609
Fixed: Make sure we handle undefined when testing for nil values ( #2862 )
2020-01-31 13:43:58 +01:00
Martin Carlberg
7780a98abe
Fixed: Added ’integerValue’ method for CPNumber and CPString.
...
This makes the classes more compliant to Cocoa
2016-03-15 22:25:10 +01:00
Sebastian Balay
fa5fd1e71c
Add support to diacritic insensitive search in CPString rangeOfString:options:range: method
...
When searching by range, the option of diacritic insensitive search was not being contemplated
Also add support to strip variants of 'E' 'I' 'O' 'U' that were not implemented.
Source: http://www.ascii-code.com/
2014-09-08 10:01:12 -03:00
Martin Carlberg
bb58a206a8
Fixed: Removed all warnings of conflicting return and parameter types caused by the new compiler
2013-08-12 16:46:14 +02:00
Alexander Ljungberg
315e3fccf3
Formatting.
...
Refs #1959 .
2013-07-15 10:36:48 +01:00
Martin Carlberg
fc403d679c
New: CPString 'compare:' method handles nil and CPNull in correct way
...
This is the same way as Cocoa works.
Also added test case.
2013-07-09 13:37:12 +02:00
Aparajita Fishman
afd5925499
Fixed: _CG and _CP macros were confusing and could degrade performance
...
Previously, Cappuccino was using preprocessor macros internally for the CGPoint/Size/Rect/Inset/Affine functions, as well as for CPRange. These macros had the same name as the corresponding function, but began with _. The functions were actually defined using the macros.
The motivation behind using macros was to increase performance by reducing function calls. However, there were a number of problems with this approach:
- There was an artificial dichotomy between _CG macros and the corresponding CG functions. We never completely replaced CG function calls with _CG macros. In fact, they were often mixed up in the same file. There was an extra burden on the programmer to remember to use the macro instead of the function.
- If a method call was passed as an argument to a macro, performance could actually be significantly *worse* than a function call. For example, _CGGetRectMakeCopy([view frame]) would expand to `{ origin:{ x:[view frame].origin.x, y:[view frame].origin.y }, size:{ width:[view frame].size.width, height:[view frame].size.height } }`. So instead of a single objj_msgSend and a single simple function call, we ended up with 4 objj_msgSend calls, which are way more expensive than simple function calls.
- Because of this expansion problem, to use macros efficiently required us to remember to use variables for all macro parameters. This didn't happen, and shouldn't have to happen.
- Finally, with modern Javascript engines, function call overhead is so small that it really isn't worth using the macros.
This commit eliminates the _CGGeometry, CGAffineTransformation and CPRange macros and replaces them with function calls.
BREAKING CHANGE:
The macros are no longer available. They could only be used with compiled code, but if there is any user code that used them, they will have to be replaced with the corresponding functions.
2013-03-13 12:22:10 -04:00
Aparajita Fishman
64a0fb278b
Objj2 compiler fixes
...
Compiled all files individually:
- Added missing imports.
- Added @class/@global declarations to break circular dependencies.
- Fixed broken code in CPCharacterSet -hasMemberInPlane:
- Misc. code cleanup.
2013-01-23 15:45:08 +07:00
Martin Carlberg
458fa9d02e
Fixed a lot of small bugs found by new warning message from compiler
2013-01-18 14:24:37 +01:00
Martin Carlberg
b52217e8a0
Tried to make the import mess a little better. Fixed a lot of bugs. Changed some class names in the test cases. Looks like all the tests are being run in the same space. Has to look into this…..
2012-12-17 00:40:26 +01:00
Martin Carlberg
0280a10832
More changes now when we don't have with(self)
2012-12-16 19:20:59 +01:00
Aparajita Fishman
618194996a
Fixed CPString -hasSuffix docs
2012-07-04 17:29:28 -04:00
Aparajita Fishman
b4f916351e
Added capp_lint check for space inside parens and dependent statement on same line, cleaned up CPString.j
2012-05-19 14:20:07 -07:00
Martin Carlberg
c35ccde682
Added stringByAppendingPathComponent: and stringByAppendingPathExtension: to CPString. Also, changed CPString path behaviour to correspond to Cocoa behaviour.
2012-05-11 15:32:18 +02:00
Aparajita Fishman
1c2a304ee5
Assignment of function is a statement and should be semicolon terminated. Some miscellaneous linting as well.
2012-01-05 17:51:37 -10:00
Alexander Ljungberg
c77a282aaf
Raise CPRangeException if CPString substringToIndex: is out of bounds.
2011-08-27 23:50:18 +01:00
Alexander Ljungberg
7a1cd5c545
Fix CPString substringToIndex documentation. The index parameter is not inclusive.
2011-08-27 23:49:40 +01:00
Alexander Ljungberg
e44ffdc7f4
CPString subtringWithRange: and rangeOfString:options:range now throws CPRangeException for out of bounds ranges.
2011-04-10 21:20:22 -04:00
Alexander Ljungberg
91ef6bf925
Fixed: CPString rangeOfString:options:range returned locations relative to the passed-in range instead of the full string.
2011-04-10 21:05:43 -04:00
Alexander Ljungberg
a33dd51d8e
Fixed: searching a string for @"" with CPString rangeOfString returned results other than CPNotFound.
2011-04-10 20:38:51 -04:00
Alexander Ljungberg
2166fc1d51
Fixed: CPString rangeOfString: anchored backwards search did not work.
2011-04-10 20:19:04 -04:00
Alexander Ljungberg
b29e722132
Fixed: CPString rangeOfString: backwards search did not work. Fixes #1065 .
2011-04-10 20:12:33 -04:00
Ross Boucher
31dbd208f4
We don't need to copy the string since strings are immutable in javascript.
2011-03-02 13:26:49 -08:00
Stephen Ierodiaconou
6a942630e4
Fixing spelling mistakes
2011-01-24 11:05:48 +02:00
Stephen Ierodiaconou
494f615aaa
Merge branch 'master' into imports
...
Conflicts:
Foundation/CPScanner.j
2011-01-15 09:11:46 +02:00
Alexander Ljungberg
9a76b4451f
Cleanup.
2011-01-12 10:54:47 -03:00
Stephen Ierodiaconou
4aa4f1a62a
Some more missing imports
2010-12-26 01:47:26 +02:00
Francisco Ryan Tolmasky I
3c8619db5d
Merge branch 'fixes' of https://github.com/stevegeek/cappuccino into stevegeek-fixes
...
Conflicts:
Foundation/CPValueTransformer.j
2010-12-20 11:13:54 -08:00
Francisco Ryan Tolmasky I
4372edb7c4
Fix for remaining reference to objj_standardize_path.
...
Closes #1040 .
Reviewed by me.
2010-12-16 09:51:44 -08:00
Stephen Ierodiaconou
fd812f25a5
Imports additions
...
Import fixes and clean up
Missing import
Missing imports
Missing import
Remove uncessary comments
2010-12-16 19:16:33 +02:00
Francisco Ryan Tolmasky I
d69f46f7ee
More capp_linting.
...
Reviewed by me.
2010-12-09 13:45:29 -08:00
Ross Boucher
1e2fdc3e1b
Remove tabs; Update some of the toll free bridging code.
2010-12-08 15:44:28 -08:00
Ross Boucher
a767d2199d
Merge branch 'tollfreefix' of https://github.com/hammerdr/cappuccino into hammerdr-tollfreefix
2010-12-08 13:35:22 -08:00
Derek Hammer
d4d831b9ac
Fixing a bug caused by the function inline.
2010-12-01 20:12:12 -08:00
cacaodev
3b35219beb
Fix [[string copy] isEqual:[string copy]] == NO
2010-11-07 21:43:02 +01:00
Derek Hammer
ae5d56471f
Inlining function, fixing a style issue.
2010-10-14 19:31:04 -05:00
Arkadiusz Młynarczyk and Alexander Ljungberg
ddfac8d717
- moved componentsSeparatedByCharactersInSet: into CPCharacterSetAdditions CPString category
...
- added tests for componentsSeparatedByCharactersInSet:
- ensured Cocoa compatibility of componentsSeparatedByCharactersInSet:
- added new test for CPString boolValue
- fixed CPString boolValue (" ++01" should return NO as in Cocoa, previously it returned YES)
2010-09-10 18:58:18 -04:00
Arkadiusz Młynarczyk and Alexander Ljungberg
009683ddd4
- Exception raising in componentsSeparatedByCharactersInSet: when separator parameter is nil
...
- Added support for edge cases (string is empty or string doesn't contain characters from separator set).
2010-09-10 18:58:10 -04:00
Arkadiusz Młynarczyk and Alexander Ljungberg
8eefb90944
- implemented componentsSeparatedByCharactersInSet:
2010-09-10 18:58:02 -04:00
Derek Hammer
4e1766485f
Updating CPDictionary and CPString to both actually subclass.. not just create a new object without inherited properties.
2010-09-06 13:46:27 -05:00
Derek Hammer
a09878dcb4
Adding self checks in toll free bridged objects so that they are subclassable.
2010-09-06 12:07:50 -05:00
cacaodev and Alexander Ljungberg
bfbf8fb841
Support for diacritics aware strings comparison
2010-08-04 19:48:06 -04:00
Klaas Pieter Annema
023cf46041
check for nil in CPString isEqual:
2010-07-15 14:39:24 +02:00
Klaas Pieter Annema
36bb41a945
implemented isEqual: on CPString
2010-07-15 12:49:52 +02:00
Stephen Ierodiaconou and Ross Boucher
b98f0b1427
Apply style rules to Foundation
2010-05-26 08:53:05 -07:00
Ross Boucher
db3c6c1463
A few minor updates to the pathExtension patch.
2010-03-27 13:25:44 -07:00
Emmanuel Maillard and Ross Boucher
65a669a9a1
- correct pathExtension and stringByDeletingPathExtension
2010-03-27 13:23:55 -07:00
Emmanuel Maillard and Ross Boucher
33f56bb203
- implement stringByDeletingPathExtension
2010-03-27 13:23:32 -07:00
Ross Boucher
e3dc9fd96b
Make sprintf no longer global, instead ObjectiveJ.sprintf.
2010-03-07 17:41:33 -08:00
Francisco Ryan Tolmasky I
841ed9ea89
Major cleanup of globals and exports. Removed many accidental globals and no more need for eval in the initialization process. Also fixes Theme Showcase.
...
Reviewed by me.
2010-02-20 01:04:17 -08:00