Revision: 437 http://trac.macosforge.org/projects/ruby/changeset/437 Author: lsansonetti@apple.com Date: 2008-08-13 23:57:42 -0700 (Wed, 13 Aug 2008) Log Message: ----------- wip Modified Paths: -------------- MacRuby/branches/lrz_unstable/ext/extmk.rb MacRuby/branches/lrz_unstable/objc.m MacRuby/branches/lrz_unstable/vm_method.c Modified: MacRuby/branches/lrz_unstable/ext/extmk.rb =================================================================== --- MacRuby/branches/lrz_unstable/ext/extmk.rb 2008-08-14 02:14:01 UTC (rev 436) +++ MacRuby/branches/lrz_unstable/ext/extmk.rb 2008-08-14 06:57:42 UTC (rev 437) @@ -85,7 +85,6 @@ end def extmake(target) -GC.start print "#{$message} #{target}\n" $stdout.flush if $force_static or $static_ext[target] @@ -431,8 +430,6 @@ FileUtils::makedirs('ext') Dir::chdir('ext') -GC.start - hdrdir = $hdrdir $hdrdir = ($top_srcdir = relative_from(srcdir, $topdir = "..")) + "/include" exts.each do |d| Modified: MacRuby/branches/lrz_unstable/objc.m =================================================================== --- MacRuby/branches/lrz_unstable/objc.m 2008-08-14 02:14:01 UTC (rev 436) +++ MacRuby/branches/lrz_unstable/objc.m 2008-08-14 06:57:42 UTC (rev 437) @@ -1166,7 +1166,14 @@ } len = strlen(name_str); if (name_str[len - 1] != ':') { - snprintf(buf, sizeof buf, "%s:", name_str); + if (name_str[len - 1] == '=' && isalpha(name_str[len - 2])) { + snprintf(buf, sizeof buf, "set%s", name_str); + buf[3] = toupper(buf[3]); + buf[len + 2] = ':'; + } + else { + snprintf(buf, sizeof buf, "%s:", name_str); + } name_sel = sel_registerName(buf); } } Modified: MacRuby/branches/lrz_unstable/vm_method.c =================================================================== --- MacRuby/branches/lrz_unstable/vm_method.c 2008-08-14 02:14:01 UTC (rev 436) +++ MacRuby/branches/lrz_unstable/vm_method.c 2008-08-14 06:57:42 UTC (rev 437) @@ -325,7 +325,14 @@ } else { char buf[100]; - snprintf(buf, sizeof buf, "%s:", id_str); + if (id_str[slen - 1] == '=' && isalpha(id_str[slen - 2])) { + snprintf(buf, sizeof buf, "set%s", id_str); + buf[3] = toupper(buf[3]); + buf[slen + 2] = ':'; + } + else { + snprintf(buf, sizeof buf, "%s:", id_str); + } return rb_method_node(klass, rb_intern(buf)); } }