Comments (6)
This code supposes that the macOS compatible option is to throw an exception if a NULL selector is passed in...
NSObject.m:
- (BOOL) respondsToSelector: (SEL)aSelector
{
Class cls = object_getClass(self);
if (aSelector == 0)
{
if (GSPrivateDefaultsFlag(GSMacOSXCompatible))
{
[NSException raise: NSInvalidArgumentException
format: @"%@ null selector given",
NSStringFromSelector(_cmd)];
}
return NO;
}
if (class_respondsToSelector(cls, aSelector))
{
return YES;
}
if (class_isMetaClass(cls))
{
return [(Class)self resolveClassMethod: aSelector];
}
else
{
return [cls resolveInstanceMethod: aSelector];
}
}
The following test shows that this is not the case... https://github.com/gcasa/SheetTest. The call to respondsToSelector:NULL does not throw an exception on macOS. I am not sure if adding a ! in front of it is the right thing to do either, but I believe that was the intent.
from libs-base.
@rfm Do you have any thoughts?
from libs-base.
Please see my comments on the corresponding PR
from libs-base.
This simply means that OSX behavior has changed since the version that was current when the code was written.
So if OSX now behaves the same way as GNUstep, we can remove the check.
from libs-base.
Okay, I think that's reasonable. I will make that change.
from libs-base.
PR mentioned above was merged.
from libs-base.
Related Issues (20)
- NSDirectoryEnumerator incorrectly returns paths instead of URLs for `-[NSFileManager enumeratorAtURL:...]` HOT 2
- Build fails with latest libxml2 v2.11.0
- -[NSObject setVersion:] should be (void) not (id) HOT 2
- GSNativeProtocol - 'Task has no original request' HOT 1
- IPv6 not fully supported... HOT 3
- NSFileManager returns null error e.g. when file exists when copying HOT 1
- NSConcretePointerFunctions implementation is incorrect for non-default options
- NSCache is not thread-safe HOT 5
- -[NSSet allObjects] leaks memory if returning more than 128 objects HOT 2
- NSLock throws an exception when trying to unlock when not previously locked... HOT 3
- NSException.m:1450:7: error: '_objc_unexpected_exception' undeclared HOT 4
- removeObserver:forKeyPath:context: not implemented HOT 2
- Various issues with Key-Value Observing implementation HOT 4
- NSFileHandle - truncateAtOffset:error:
- NSKeyValueObserving - removeObserver:fromObjectsAtIndexes:forKeyPath:context: not implemented. HOT 2
- [autogsdoc] doc file generation date HOT 2
- [autogsdoc] Obj-C 2.0 syntax support HOT 1
- NSRegularExpression does not populate error if expression is invalid HOT 2
- NSISO8601DateFormatter generates noncompliant strings HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libs-base.