[macruby-changes] [3078] MacRuby/trunk

source_changes at macosforge.org source_changes at macosforge.org
Sun Dec 6 17:47:19 PST 2009


Revision: 3078
          http://trac.macosforge.org/projects/ruby/changeset/3078
Author:   neeracher at apple.com
Date:     2009-12-06 17:47:17 -0800 (Sun, 06 Dec 2009)
Log Message:
-----------
Fix KVC bugs

Modified Paths:
--------------
    MacRuby/trunk/vm.cpp

Removed Paths:
-------------
    MacRuby/trunk/spec/macruby/tags/macruby/core/kvc_tags.txt

Deleted: MacRuby/trunk/spec/macruby/tags/macruby/core/kvc_tags.txt
===================================================================
--- MacRuby/trunk/spec/macruby/tags/macruby/core/kvc_tags.txt	2009-12-06 23:58:16 UTC (rev 3077)
+++ MacRuby/trunk/spec/macruby/tags/macruby/core/kvc_tags.txt	2009-12-07 01:47:17 UTC (rev 3078)
@@ -1,6 +0,0 @@
-fails:An ordered collection being accessed through NSKeyValueCoding can be manipulated through index accessors
-fails:An ordered collection being accessed through NSKeyValueCoding can be manipulated through index accessors (w/ replace)
-fails:An ordered collection being accessed through NSKeyValueCoding can be manipulated through index set accessors
-fails:An ordered collection being accessed through NSKeyValueCoding can be manipulated through index set accessors (w/ replace)
-fails:An unordered collection being accessed through NSKeyValueCoding can be manipulated through object accessors
-fails:An unordered collection being accessed through NSKeyValueCoding can be manipulated through set accessors

Modified: MacRuby/trunk/vm.cpp
===================================================================
--- MacRuby/trunk/vm.cpp	2009-12-06 23:58:16 UTC (rev 3077)
+++ MacRuby/trunk/vm.cpp	2009-12-07 01:47:17 UTC (rev 3078)
@@ -1624,7 +1624,7 @@
     // ^#{begin}(.+)#{end}$ -> token
     const size_t begin_len = strlen(begin);
     const size_t end_len = strlen(end);
-    unsigned int token_beg = 0, token_end = 0;
+    unsigned int token_beg = 0, token_end = selsize;
     if (begin_len > 0) {
 	if (strncmp(selname, begin, begin_len) != 0 || selsize <= begin_len) {
 	    return false;
@@ -1646,11 +1646,14 @@
     memcpy(token, &selname[token_beg], token_len);
     token[token_len] = '\0';
 
+#if 1
     // token must start with a capital character.
+    return isupper(token[0]);
+#else
+    // token must start with a capital character.
     if (!isupper(token[0])) {
 	return false;
     }
-
     // Decapitalize the token and look if it's a valid KVO attribute.
     token[0] = tolower(token[0]);
     if (strchr(token, ':') != NULL) {
@@ -1658,6 +1661,7 @@
     }
     SEL sel = sel_registerName(token);
     return class_getInstanceMethod(klass, sel) != NULL;
+#endif
 }
 
 static inline void 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20091206/3b22bbec/attachment.html>


More information about the macruby-changes mailing list