2008-10-28 kimura wataru <kimuraw@i.nifty.jp> * install.rb: fix failure of test_loadlibs() from an ambiguous condition for path of RubyCocoa.framework. 2008-08-25 kimura wataru <kimuraw@i.nifty.jp> * framework/src/objc/mdl_bundle_support.m: avoid crashes from bundleForClass: on ruby uninitialized thread. [Rubycocoa-devel 1368] by Jonathan deWerd. 2008-07-25 Eloy Duran <e.duran@superalloy.nl> * Rakefile: Check for the existence of rubycocoa.bundle before running the install task. 2008-07-20 kimura wataru <kimuraw@i.nifty.jp> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_nsarray.rb: adjust behavior of OSX::NSArray#slice! to Array#slice on both of Ruby 1.8.7 and 1.8.6 (or earlier). * framework/src/ruby/osx/objc/oc_attachments.rb: refactoring OSX::NSString#_read_impl() refactoring OSX::NSArray#_read_impl() 2008-07-02 kimura wataru <kimuraw@i.nifty.jp> * framework/src/ruby/osx/objc/oc_import.rb: fix infinite loop of kvc-setter defined by invoking kvc_writer() multiple times for the same key. 2008-07-01 kimura wataru <kimuraw@i.nifty.jp> * metaconfig: change install destination of Xcode temlate files from /Library/Application Support/Developer/3.0/Xcode/ to /Library/Application Support/Developer/Shared/Xcode/. 2008-06-26 kimura wataru <kimuraw@i.nifty.jp> * tests/tc_nsarray.rb: the behavior of Array#slice! with out-of-boundary was changed in ruby 1.8.7. see "Compatibility issues" of http://svn.ruby-lang.org/repos/ruby/tags/v1_8_7/NEWS [ToDo]NSArray#slice! in osx/objc/oc_attachments.rb should be modified. * framework/src/ruby/osx/objc/oc_attachments.rb: fix infinite loop of NSArray#count and NSDictionary#count for add Enumerable#count for ruby 1.8.7. * framework/src/objc/RBObject.m: fix "[BUG] object allocation during garbage collection phase" at -[RBObject releaseRubyObject] on ruby 1.8.7. 2008-05-29 kimura wataru <kimuraw@i.nifty.jp> * tests/tc_subclass.rb: simplify test_rbobject_kvo_autonotify. * framework/src/ruby/osx/objc/oc_import.rb, tests/tc_kvc_kvo.rb, tests/tc_subclass.rb: bug fix: ignoring automaticallyNotifiesObserversForKey: at to-many KVC-accessors defined by kvc_array_accessor. 2008-05-28 kimura wataru <kimuraw@i.nifty.jp> * framework/src/ruby/osx/objc/oc_import.rb, tests/tc_subclass.rb: remove unwanted willChangeValueForKey and didChangeValueForKey. this bug makes an object to send wrong notification via KVO. Though the reciever does not have a setter for the key, Cocoa invokes these methods in setValue:forKey:. * framework/src/ruby/osx/objc/oc_import.rb, tests/tc_subclass.rb: bug fix: ignoring automaticallyNotifiesObserversForKey: at setValue:forKey: with accessors defined by kvc_writer. 2008-05-15 Eloy Duran <e.duran@superalloy.nl> * sample/Scripts/HelloWorld.rb, sample/Scripts/sndplay.rb: - Updated HelloWorld to work with MacRuby RubyCocoa layer. Also cleaned up the whitespace a bit, sumimasen Hisa-san ;) - Updated sndplay to not segfault (10.5) anymore and cleaned a bit more. 2008-04-22 kimura wataru <kimuraw@i.nifty.jp> * framework/src/ruby/osx/objc/oc_wrapper.rb, tests/tc_constants.rb: use default handling of method_missing failure for OSX module. suggested by Tammo Freese in [rubycocoa-devel:1353] 2008-04-11 Eloy Duran <e.duran@superalloy.nl> * framework/src/ruby/osx/objc/oc_import.rb: Added documentation for OSX.require_framework. Patch by Scott Thompson. 2008-04-02 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_nsstring_compat.rb: NSString#split without parameters should see $; not $/. 2008-03-12 kimura wataru <kimuraw@i.nifty.jp> * install.rb, package/config/10.4, package/config/10.5: package task ignores config.save and overwrite with package/config/*. === RubyCocoa 0.13.2 === 2007-02-14 Laurent Sansonetti <lsansonetti@apple.com> * **/*.{rb,m,h}: Updated copyright headers for 2008. * VERSION: Updated for 0.13.2. 2008-02-13 Eloy Duran <e.duran@superalloy.nl> * framework/src/ruby/osx/objc/active_record.rb: Fixed compatibility bug with AR 1.15.x. Patch thanks to Laurent Sansonetti. 2008-02-10 kimura wataru <kimuraw@i.nifty.jp> * framework/src/objc/mdl_objwrapper.m: should use rbobj_to_nsobj(), not rbobj_get_ocid(), to get a Ruby VALUE from ObjC id. rbobj_get_ocid() is a very internal function. 2007-02-09 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/RBObject.m, framework/src/objc/OverrideMixin.m: Resume caching method arguments of objc callbacks, which was disabled for an unknown reason. (Thanks Kimura-san.) 2008-02-08 kimura wataru <kimuraw@i.nifty.jp> * install.rb: add "--test-args" option of install.rb. this option enables to pass arguments of AutoRunner on test task. ex) run test only "test_ocid" method % ruby install.rb test --test-args="--name=test_ocid" 2008-02-08 kimura wataru <kimuraw@i.nifty.jp> * framework/src/objc/RBObject.m, framework/src/objc/libffi.m, framework/src/objc/ocdata_conv.h, framework/src/objc/ocdata_conv.m, framework/src/objc/OverrideMixin.m, framework/src/objc/BridgeSupport.m: rename two functions in ocdata_conv.h - encoding_skip_modifiers() -> encoding_skip_to_first_type() - encoding_skip_notype() -> encoding_skip_qualifiers() 2007-02-07 Laurent Sansonetti <lsansonetti@apple.com> * sample/RSSPhotoViewer/rb_main.rb, sample/QTKitSimpleDocument/rb_main.rb: Removed ENV['BRIDGE_SUPPORT_PATH']= debug calls. 2008-02-08 kimura wataru <kimuraw@i.nifty.jp> * framework/src/objc/libffi.m, framework/src/objc/ocdata_conv.h, framework/src/objc/ocdata_conv.m: fix: cannot handle objc types with qualifiers such as (in|out|inout). add a function "encoding_skip_notype", skipping type encoding characters. * tests/tc_passbyref.rb, tests/objc_test.m: add tests of type encoding with (in|out|inout|bycopy|oneway). 2008-02-01 Eloy Duran <e.duran@superalloy.nl> * framework/src/ruby/osx/objc/active_record.rb: Fixed bug on case-sensitive filesystems where 'FileUtils' was required instead of 'fileutils'. Reported by Jason Foreman. 2008-01-29 Eloy Duran <e.duran@superalloy.nl> * sample/MailDemo/MailDemoActiveRecordBindings/English.lproj/MainMenu.nib/classes.nib, sample/MailDemo/MailDemoActiveRecordBindings/English.lproj/MainMenu.nib/info.nib, sample/MailDemo/MailDemoActiveRecordBindings/English.lproj/MainMenu.nib/keyedobjects.nib, sample/MailDemo/MailDemoActiveRecordBindings/MailDemoActiveRecordBindings.xcodeproj/project.pbxproj: Made the MailDemoActiveRecordBindings sample use the new BelongsToActiveRecordSetController for the Emails. 2008-01-21 Eloy Duran <e.duran@superalloy.nl> * framework/src/ruby/osx/objc/active_record.rb, tests/tc_active_record.rb: - Fixed a bug where calling #to_activerecord_proxy on the same record object would return a new different proxy object and thus resulting in a kvo error. The proxy instance is now cached in the record itself. - Made more speed improvements by making sure that all the record methods are only defined once on the proxy class. - A ActiveRecordProxy instance will now go through #rbValueForKey and thus also return a ActiveRecordProxy instance. 2008-01-20 Eloy Duran <e.duran@superalloy.nl> * tests/tc_attachments.rb: Added one more test to check if f.to_ns.to_ruby does equal f. 2008-01-20 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_attachments.rb: NSNumber#to_f should use doubleValue. 2008-01-20 Satoshi Nakagawa <artension@gmail.com> * package/pre-package.rb, framework/post-setup.rb, misc/bridge-support-tiger.tar.gz: Now we can build a release package for Tiger on Leopard. 2008-01-19 Eloy Duran <e.duran@superalloy.nl> * tests/TableView.nib, tests/TableView.nib/classes.nib, tests/TableView.nib/info.nib, tests/TableView.nib/keyedobjects.nib, tests/tc_uniqobj.rb: Added a failing test, which shows the current bug where equality doesn't work with objc objects. 2008-01-19 Eloy Duran <e.duran@superalloy.nl> * framework/src/ruby/osx/objc/active_record.rb, tests/tc_active_record.rb: - Completely refactored the ActiveRecord related tests. (There's one FIXME in the file, which causes a segfualt.) - Refactored the ActiveRecord libraries a bit. 2008-01-18 Eloy Duran <e.duran@superalloy.nl> * tests/maildemo.sql, tests/tc_active_record.rb: - The ActiveRecord related tests now use an in memory sqlite db, so there's no clutter on the filesystem needed anymore. - Fixed the ActiveRecord related tests after the last commit. 2008-01-18 Satoshi Nakagawa <artension@gmail.com> * pre-setup.rb, pre-config.rb, misc/libffi/Makefile.rubycocoa: Fixed a problem, libffi should be built always for macosx-deployment-target=10.4. 2008-01-18 Eloy Duran <e.duran@superalloy.nl> * framework/src/ruby/osx/objc/active_record.rb: - Made speed improvements in the way records in a has many association are created. You'll get this by using a BelongsToActiveRecordSetController instead of a ActiveRecordSetController. - ActiveRecordSetController now allows to destroy a multiple selection. 2008-01-13 Eloy Duran <e.duran@superalloy.nl> * framework/tool/gen_bridge_doc/lib/cocoa_ref.rb, framework/tool/gen_bridge_doc/lib/lib/hpricot_proxy.rb, framework/tool/gen_bridge_doc/rdocify_framework.rb: Fixed bugs that were introduced by the new (not better) layout Apple uses for it's reference docs. This does not yet fix any regular parsing errors for misspelled methods etc, but the majority will parse. 2008-01-13 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_nsstring_compat.rb, tests/tc_nsarray.rb, tests/tc_to_ns.rb: - Refactoring. - Fixed a bug, NSString#scan(regexp){block} passed String to its block argument. It should be NSString. - Fixed a bug, NSString#split returned an array contains immutable NSString sometimes. - Fixed a bug, NSArray#delete always yielded a block. 2008-01-09 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_types.rb, framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_boxed.rb, tests/tc_types.rb: - Added NSSize methods: /, *, +, -. - Added NSPoint methods: +, -. - Made NSNumber#float? deprecated and added integer? to conform to Number#integer?. - Added tests. 2008-01-09 Satoshi Nakagawa <artension@gmail.com> * framework/src/objc/RBObject.m, framework/src/objc/RBRuntime.m, framework/src/objc/OverrideMixin.m, framework/src/objc/ocdata_conv.m, framework/src/objc/libffi.m, framework/src/objc/mdl_osxobjc.m, framework/src/objc/mdl_objwrapper.m, framework/src/objc/cls_objcptr.m: - Set volatile to some VALUE type local variables. If VALUE local variables are erased by optimization, the VALUE is missing from the stack. It could cause that GC sweeps the VALUE. See http://i.loveruby.net/ja/rhg/book/gc.html (in Japanese) - Changed func(RSTRING(rb_inspect(obj))->ptr to StringValuePtr(). Because it was a dangling pointer. 2008-01-09 Satoshi Nakagawa <artension@gmail.com> * framework/src/objc/RBObject.m, framework/src/objc/RBRuntime.m, framework/src/objc/ocdata_conv.m, framework/src/objc/mdl_osxobjc.m, framework/src/objc/mdl_objwrapper.m, framework/src/objc/mdl_bundle_support.m, framework/src/objc/cls_objcptr.m, framework/src/objc/BridgeSupport.m: Migrated from STR2CSTR() to StringValuePtr(). 2007-12-26 Laurent Sansonetti <lsansonetti@apple.com> * AUTHORS: Added Jonathan. * tests/CAryStructTest.bridgesupport, tests/objc_test.m, tests/tc_types.rb: Added tests for the previous fix. 2007-12-26 Jonathan deWerd <jjoonathan@gmail.com> * framework/src/objc/libffi.m: Fixed a bug when returning C array (CARY) in struct. 2007-12-19 Laurent Sansonetti <lsansonetti@apple.com> * AUTHORS: Added Dave. 2007-12-19 Dave Vasilevsky <djvasi@gmail.com> * framework/src/objc/OverrideMixin.m, tests/tc_ovmix.rb, tests/objc_test.m: - Fixed a bug when direct-overriding a method in a subclass of an Objective-C class that implements the method ; - Added test cases. 2007-12-18 Satoshi Nakagawa <artension@gmail.com> * sample/GrowlClient/main.rb, sample/GrowlClient/growl.rb: Added a Growl sample. === RubyCocoa 0.13.1 === 2007-12-14 Laurent Sansonetti <lsansonetti@apple.com> * VERSION: Tagged for 0.13.1. 2007-12-14 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_nsstring_compat.rb: - Added method_missing duck typing for NSString again. - NSString#=~ is now forwarded to method_missing for duck typing. - Added tests. 2007-12-06 Laurent Sansonetti <lsansonetti@apple.com> * sample/Scripts/pdf2tiff.rb: New sample code, contributed by Ernie Prabhakar. 2007-12-05 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/RBClassUtils.m: When creating a new ObjC class for a Ruby class, if a class already exists in ObjC land, print a warning and use it. 2007-12-04 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb, Added NSSelectionArray#to_a, workaround for a crash on Tiger. 2007-12-02 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_types_appkit.rb, tests/tc_boxed.rb: - Added #size and #size= to NSRange. - Added tests. 2007-12-02 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_types_appkit.rb, tests/tc_boxed.rb: - Now NSRange#empty? returns true when not_found?. - Updated tests. 2007-12-02 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_types.rb, tests/tc_boxed.rb: - Added #x=, #y=, #width= and #height= to NSRect. - Added tests. === RubyCocoa 0.13.0 === 2007-11-24 Laurent Sansonetti <lsansonetti@apple.com> * package/post-package.rb: Remove .svn directories from the DSTROOT. * package/pre-package.rb: Do not insert the postflight script and the modified libruby.dylib in 10.5. * metaconfig: Default value for --build-universal in 10.5 is now 'yes'. * VERSION: Updated for 0.13.0. 2007-11-22 kimura wataru <kimuraw@i.nifty.jp> * package/tmpl/Info.plist: correct CFBundleShortVersionString of .dmg package. 2007-11-22 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_nsstring_compat.rb: - Added duck typing methods to NSString: count, delete, delete!, gsub, gsub!, scan, squeeze, squeeze!, sub, sub!, tr, tr!, tr_s, tr_s!. - Added tests. 2007-11-22 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_nsstring_compat.rb: - Removed method_missing for the duck typing in NSString, NSArray and NSDictionary. Now NSString doens't respond to: ~, =~, count, delete, delete!, gsub, gsub!, match, scan, squeeze, squeeze!, sub, sub!, tr, tr!, tr_s, tr_s!. NSString doesn't support Regexp parameters in: [], []=, index, rindex, slice, slice!, split. - Moved casecmp to NSString. - Updated tests. 2007-11-22 kimura wataru <kimuraw@i.nifty.jp> * pre-install.rb, metaconfig: - accepts multi values of config 'xcode-extras' with comma separated. - change the location of templates for Xcode 3.0/2.5. -> 10.5: /Library/Application Support/Developer/3.0/Xcode/ -> 10.4: /Library/Application Support/Developer/2.5/Xcode/, /Library/Application Support/Apple/Developer Tools 2007-11-20 kimura wataru <kimuraw@i.nifty.jp> * sample/CocoaRepl/CocoaRepl.xcodeproj: remove ARCHS setting to avoid build failure on 10.4 ppc. 2007-11-20 Eloy Duran <e.duran@superalloy.nl> * framework/src/ruby/osx/objc/ruby_addition.rb: Removed the suggested boolean arg for #to_ns that's displayed in the warning message for #to_nsstring. Because the optional parameter was taken out in r2132. 2007-11-18 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/ruby/osx/objc/ruby_addition.rb, framework/src/objc/ocdata_conv.m, tests/tc_to_ns.rb: - Reverted the [2007-11-06] change where mutable objects weren't returned during conversion anymore. This wasn't a good idea after all. - #to_ns doesn't accept a parameter anymore, it always returns mutable objects when possible (from String, Array and Hash). - Updated the tests. 2007-11-14 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_nsstring_compat.rb: - Added NSString#split. - Changed NSString#lines to use each_line. - Added tests. 2007-11-13 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/ruby/osx/objc/foundation.rb: Load the libSystem.bridgesupport file if it exists. * sample/Scripts/watcher.rb, sample/Scripts/libSystem/*.rb, sample/RSSPhotoViewer: Added Leopard-only samples. * VERSION: Prepared for 0.13.0. 2007-11-13 Satoshi Nakagawa <artension@gmail.com> * framework/src/objc/cls_objcptr.m, tests/tc_objcptr.rb, tests/objc_test.m, tests/ObjcPtrTest.bridgesupport: - Added ObjcPtr#cast_as(encoding) for more generic casting from void*. - Removed ObjcPtr#as_id. - Updated tests. 2007-11-12 Satoshi Nakagawa <artension@gmail.com> * framework/src/objc/cls_objcptr.m: Added _set_encoding to fix a bug, encoding was sometimes deallocated. * tests/ObjcPtrTest.bridgesupport: Use type_modifier 'n' for void*. 2007-11-11 Chris McGrath <chris@octopod.info> * framework/tool/rb_nibtool.rb: Fixed problem with rb_nibtool.rb not detecting existing classes 2007-11-12 Satoshi Nakagawa <artension@gmail.com> * framework/src/objc/cls_objcptr.m, tests/tc_objcptr.rb: Removed ObjcPtr#as_cfbooleanref, because #as_id.boolValue is enough. 2007-11-12 Satoshi Nakagawa <artension@gmail.com> * framework/src/objc/cls_objcptr.m, tests/tc_objcptr.rb, tests/objc_test.m, tests/ObjcPtrTest.bridgesupport: - Added ObjcPtr#as_cfbooleanref. - Fixed compile warnings. 2007-11-12 Satoshi Nakagawa <artension@gmail.com> * framework/src/objc/cls_objcptr.m, tests/tc_objcptr.rb, tests/objc_test.m, tests/ObjcPtrTest.bridgesupport: Added ObjcPtr#as_id to extract an id from void*. 2007-11-10 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/mdl_objwrapper.m, framework/src/objc/objc_compat.h, tests/tc_wrapper.rb: Removed #ocm_conforms? for now, because we don't have yet a working implementation for systems equal or below than Tiger. 2007-11-10 kimura wataru <kimuraw@i.nifty.jp> * framework/src/ruby/osx/objc/cocoa_macros.rb: - add CoreData.define_wrapper_for_entity(). this feature was a part of CoreData.define_wrapper(). - remove "to_a" for NSArray in CoreData module. 2007-11-07 kimura wataru <kimuraw@i.nifty.jp> * tests/tc_rubystring.rb: add test for String#nsenconding, to_nsstring, to_nsmutablestring again. 2007-11-07 kimura wataru <kimuraw@i.nifty.jp> * sample/Scripts/darkroom.rb: fix SEGV of darkroom.rb on Leopard. 2007-11-07 Satoshi Nakagawa <artension@gmail.com> * tests/tc_to_ns.rb: Enabled test cases for to_ns(false). 2007-11-06 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/ocdata_conv.m: Do not create immutable instances of NSArray and NSDictionary when converting Array and Hash to Objective-C. 2007-11-07 Satoshi Nakagawa <artension@gmail.com> * tests/tc_to_ns.rb: Added test cases for to_ns. 2007-11-07 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/ruby_addition.rb: Added String#nsenconding, to_nsstring, to_nsmutablestring again with deprecation warnings due to compatibilities. 2007-11-06 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/ruby/osx/objc/ruby_addition.rb, framework/src/objc/mdl_objwrapper.m, tests/tc_wrapper.rb: - #to_ns now returns mutable objects by default. Pass false to get an immutable object. - Introduced #ocm_conforms? to verify that a given class conforms to a given Objective-C protocol. Added tests. * framework/src/objc/RBSlaveObject.m: Avoid an infinite loop when creating the slave proxy, which could be caused by an attempt to pass an object to Objective-C in its #initialize method. 2007-11-07 Satoshi Nakagawa <artension@gmail.com> * framework/src/objc/mdl_osxobjc.m, framework/src/objc/ocdata_conv.m, tests/tc_nsstring.rb: Fixed a bug, calling to_ns for a Ruby String which has illegal utf-8 sequences caused a bus error. 2007-11-06 kimura wataru <kimuraw@i.nifty.jp> * framework/src/ruby/osx/objc/ruby_addition.rb, tests/tc_rubystring.rb: String#nsenconding, to_nsstring, to_nsmutablestring were obsoleted. 2007-11-05 kimura wataru <kimuraw@i.nifty.jp> * pre-config.rb, framework/post-config.rb, metaconfig: - new config option --sdkroot. - fix setup error --macosx-deployment-target=10.4 on 10.5. 2007-10-30 kimura wataru <kimuraw@i.nifty.jp> * Rakefile: use '--gen-bridge-doc=no' at 'package' task on 10.5. * metaconfig: by default, '--gen-bridge-doc=no' on 10.5. 2007-10-28 kimura wataru <kimuraw@i.nifty.jp> * Rakefile: add a missed '=' into '--gen-bridge-doc no'. 2007-10-28 Eloy Duran <e.duran@superalloy.nl> * Rakefile: Updated Rakefile to use '--gen-bridge-doc no' on 10.5. 2007-10-28 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_nsstring_compat.rb: - Added methods to NSString: %, casecmp, center, dump, ljust, lstrip, lstrip!, next, next!, partition, rjust, rstrip, rstrip!, rpartition. slice, slice!, succ, succ!, sum, swapcase, swapcase!, upto. - Added tests. * framework/src/ruby/osx/objc/oc_types_appkit.rb, tests/tc_boxed.rb: - Added NSRange#not_found?. - Added tests. 2007-10-28 Eloy Duran <e.duran@superalloy.nl> * framework/tool/gen_bridge_doc.rb, framework/tool/gen_bridge_doc/lib/lib/datatype_def.rb, framework/tool/gen_bridge_doc/rdocify_framework.rb: - Added check for 10.4 or 10.5 and use the appropriate path to the reference files. - In 10.5 there are also some files in 'Introduction' instead of 'Reference', this may be a mistake from Apple, but it's supported now nonetheless. - OSX::NSHashTable doesn't respond to #fields and #isOpaque. - gen_bridge_doc is now able to run, however there are still quite some class reference files being skipped because of errors. Let alone all the new supported frameworks. 2007-10-28 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb: NSDictionary#invert should return NSMutableDictionary. 2007-10-27 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/RBRuntime.m: Added the 10.5 part of the threading support code. 2007-10-26 kimura wataru <kimuraw@i.nifty.jp> * tests/objc_test.m, tests/tc_retaincount.rb: add tests for ownership from 'new'. 2007-10-25 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/ruby/osx/objc/oc_import.rb, tests/tc_subclass.rb: Now allow the send the of 'new' message to any ObjC class that will respond to it. Keep the old behavior (raising an exception) for classes that don't implement new. 2007-10-24 Eloy Duran <e.duran@superalloy.nl> * framework/src/ruby/osx/objc/oc_attachments.rb, framework/tool/rb_nibtool.rb: - Added pretty print support to NSString, NSArray, NSDictionary. (require 'pp') - Removed useless const.nil? statement in rb_nibtool.rb. 2007-10-24 Laurent Sansonetti <lsansonetti@apple.com> * framework/tool/rb_nibtool.rb: - Skip the use of NSObject if a superclass is unknown IF rubynode is used. 2007-10-24 Eloy Duran <e.duran@superalloy.nl> * framework/tool/rb_nibtool.rb: - Fixed bug where #each was called on nil if there were either no actions OR outlets in the class. - Fixed bug where a new class from a source file would not show up in the class list in IB because the superclass is unknown to the classes list in IB. If the superclass const is not found it will default to NSObject. 2007-09-12 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/ruby/osx/objc/oc_import.rb: Fixed a bug when using test-spec, reported by Eloy Duran. 2007-09-10 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/RBObject.m, framework/src/objc/libffi.m, framework/src/objc/mdl_osxobjc.m, framework/src/objc/internal_macros.h, framework/src/objc/OverrideMixin.m: Better facility that dispatches messages from threads to the thread where RubyCocoa was initialized. It was previously assuming that RubyCocoa was run in the main thread, which may not be always true (Ruby could be ran in a different thread). 2007-10-02 Eloy Duran <eloy.de.enige@gmail.com> * framework/tool/standaloneify.rb: - Standaloneify now sets the environment variable ENV['RUBYCOCOA_STANDALONEIFYING?'] This is to be able to prevent code from being ran when a application s being standaloneified. - Standaloneify will now skip all the source files at any depth in Resources. 2007-10-01 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/OverrideMixin.m, tests/tc_ovmix.rb, tests/objc_test.m: Fixed a bug, when ObjC arguments that were passed from an ObjC closure to Ruby were not retained, as they should. Added a test case. * tool/create-symlinks.rb: Fixed for Leopard. * framework/src/objc/ocdata_conv.m, tests/tc_subclass.rb: Removed the old __slave_nsobj__ ivar hook. Now all pure-Ruby objects will be wrapped in an autoreleased RBObject. 2007-09-29 Satoshi Nakagawa <artension@gmail.com> * tests/tc_nsstring_compat.rb: Added tests for NSString#[]=(str,value). 2007-09-29 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_nsstring_compat.rb: - Added methods to NSString: each_byte, insert, hex, oct, ord, replace, reverse, reverse!, rindex. - Changed to_i and to_f of NSString to forward to String. - Refactoring []= and each of NSString. - Updated tests. 2007-09-29 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_nsstring_compat.rb: - Refactoring NSString and NSArray. - Improved tests. 2007-09-29 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb: Refactoring operations around Range. 2007-09-29 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb: length should be counted on NSString. 2007-09-29 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_nsstring_compat.rb: - Added methods to NSString: chr, chomp, chomp!. - Updated tests. 2007-09-29 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_nsstring_compat.rb, tests/tc_nsarray.rb: - Refactoring [], each and include? of NSString. - Refactoring [] and []= of NSArray. - Added methods to NSString: []=, index. - Updated tests. 2007-09-28 Laurent Sansonetti <lsansonetti@apple.com> * sample/CocoaRepl/ReplController.rb: Keep the text view delegate as an ivar, because otherwise it will be collected by the Ruby GC, because the text view doesn't retain its delegate, and neither its datasource. * framework/src/objc/RBObject.h, framework/src/objc/RBObject.m, framework/src/objc/mdl_objwrapper.m, framework/src/objc/OverrideMixin.m, framework/src/objc/RBSlaveObject.h: Better OvMix retain cycle: if an OvMix object is created from Ruby, we by default don't retain its Ruby proxy, and start tracking retain/release messages, and appropriately re-retain/re-release the Ruby proxy. 2007-09-29 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_nsstring_compat.rb: - Refactoring NSString#[], NSArray#[] and NSArray#[]=. - Added methods to NSString: chop, chop!, each, each_line, intern, lines, to_sym. - Added NSIndexSet#inspect. - Updated tests. 2007-09-28 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_nsarray.rb, tests/tc_nsstring_compat.rb: - Added error checks for NSString#* and NSString#+. - Disabled NSString#[regexp]. - NSString#capitalize should be compatible to String#capitalize. - NSString#capitalize!, NSString#downcase! and NSString#upcase! should return nil when not modified. - NSString#[start,len] and NSString#[start..end] should return '' when start == count. - NSArray#[start,len] and NSArray#[start..end] should return [] when start == count. - [-3,2] should be treated as (-3+count)..(-3+count+2) in NSArray#[] and NSArray#[]=. - Updated tests. 2007-09-27 Laurent Sansonetti <lsansonetti@apple.com> * AUTHORS: Fixed a typo in Vincent's last name. 2007-09-27 Satoshi Nakagawa <artension@gmail.com> * framework/src/objc/objc_compat.h: Added #define class_respondsToSelector. 2007-09-27 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/ruby/osx/objc/ruby_addition.rb, framework/src/ruby/osx/objc/oc_wrapper.rb, framework/src/objc/ocdata_conv.m: #objc_send will now pass a frozen selector to the core, where underscore characters won't be transformed as ':'. This is a convenience utility to call ObjC methods that contain underscores as part of their selector, like for example [__rbobj__]. * tests/tc_subclass.rb: Added a test case for the [copyWithZone:] hook fix described just below. 2007-09-26 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/RBObject.m, framework/src/objc/mdl_osxobjc.m, framework/src/objc/RBRuntime.m, framework/src/objc/mdl_objwrapper.m, framework/src/objc/OverrideMixin.h, framework/src/objc/ocdata_conv.m, framework/src/objc/OverrideMixin.m, tests/tc_subclass.rb: - Fixed a bug when an object that was being allocated from a Ruby thread was still in the cache while the thread was killed, resulting in a corrupted cache. - Make sure we do not cache CF-based objects. - Fixed a circular retain cycle from ObjC objects allocated from an NSObject-based Ruby class, resulting in a leak of both the ObjC object and its Ruby proxy. - Hook [copyWithZone:] and reset the slave object so that every ObjC object has a different slave object. This fixes a crash when releasing a slave object that could be shared by multiple ObjC objects. - Added test cases. 2007-09-21 Laurent Sansonetti <lsansonetti@apple.com> * AUTHORS: Added Gustav. 2007-09-21 Gustav Munkby <grddev@gmail.com> * framework/src/objc/RBRuntime.m: Now resetting the context autorelease pools on every restore. 2007-09-21 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_nsstring_compat.rb: - Added methods to NSString: []. - Added tests. 2007-09-21 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_nsstring.rb: - Changed to use intValue in NSString#to_i. - Changed to use doubleValue in NSString#to_f. - Updated tests. 2007-09-21 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_nsstring_compat.rb: - Added methods to NSString: *, +, <<, concat, capitalize, capitalize!, clear, downcase, downcase!, empty? end_with?, include?, size, start_with?, to_f, to_i, upcase, upcase!. - Added tests. 2007-09-19 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/ruby/osx/objc/ruby_addition.rb framework/src/ruby/osx/objc/oc_attachments.rb framework/src/objc/mdl_osxobjc.m tests/tc_to_ns.rb: - Added a #to_ns method to Ruby primitive classes, updated test suite ; - Added a customized NSDate#inspect method. 2007-09-18 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/ruby/osx/objc/cocoa_macros.rb: Fixed String#to_nsstring for 10.5. * sample/Stickies/English.lproj/Sticky.nib: Make sure the resize corner view doesn't overlap with the sticky content scroll view, as the later could intercept the mouseDrag event before it can reach the corner view (in 10.5). * framework/src/objc/OverrideMixin.m: Create the slave objects at demand, if they do not exist yet. This fixes a bindings / CoreData problem in 10.5. 2007-09-14 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb: Fixed a bug, #method_missing of NSString, NSArray and NSDictionary should return self when Ruby objects returned self. 2007-09-09 Eloy Duran <eloy.de.enige@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_attachments.rb: - Added useful inspect methods to NSString, NSNumber, NSArray, NSDictionary & NSCFBoolean. - Fixed a typo bug in NSNumber#<=>. 2007-09-08 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_types.rb: Renamed NSNumber#is_float? to float?. 2007-09-08 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_types.rb: - Added NSNumber#is_float?. - Updated tests. 2007-09-08 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb: NSArray and NSDictionary should include NSEnumerable. 2007-09-07 Eloy Duran <eloy.de.enige@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb, framework/tool/gen_bridge_doc/lib/lib/method_def.rb, framework/tool/gen_bridge_doc/lib/lib/class_def.rb, framework/tool/gen_bridge_doc/lib/lib/clean_up.rb, framework/tool/gen_bridge_doc/DOCUMENTATION_VERSION, framework/tool/gen_bridge_doc.rb: - Directly added duck-type methods to the NSArray & NSDictionary classes instead of including them from modules. This is so the methods are picked up by rdoc. - Now also rdocify: oc_attachments.rb, oc_attachments_appkit.rb, oc_types.rb, oc_types_appkit.rb & ruby_addition.rb. - Updated the gen_bridge_doc tool to work with the latest update from 13-08-2007. - Fixed a bug where </i> tags weren't replaced by '_'. - Added documentation for the translated bool methods, eg: isRunning -> running?. 2007-09-07 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/ruby/osx/objc/oc_wrapper.rb: Do not translate 'set' methods that get more than one argument. 2007-09-05 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_types_appkit.rb, tests/tc_types.rb: - Changed NSRange#to_range to return a Range with exclude_end. - Updated a test. 2007-09-05 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb: Fixed typo. 2007-09-03 Satoshi Nakagawa <artension@gmail.com> * package/tmpl/postflight-universal.rb: Fixed an error, "Please install again" on reinstalling. 2007-08-30 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb: Fixed a bug, contents should not be changed in each. 2007-08-30 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_nsarray.rb: - Added NSEnumerable#zip. - Updated tests. 2007-08-30 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_nsarray.rb: - Added NSEnumerable: grep, map, collect, select, find_all, partition, reject, sort, sort_by. - Updated tests. 2007-08-30 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_nsdictionary.rb, tests/tc_attachments.rb: - Added NSDictionaryAttachment methods: fetch, merge, merge!, shift, update, values_at. - Updated tests. 2007-08-30 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_nsarray.rb: - All NSArrayAttachment methods returns NSArray not Array. - Added type checks for NSArray when checking is_a?(Array). - Changed to use to_a in *, sort, sort!, transpose of NSAttachment. Because of performance. - Improved performance of uniq, uniq! of NSAttachment. - Fixed bugs, NSArrayAttachment#[]= should return the raw argument. - Updated tests. 2007-08-29 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_nsdictionary.rb: - Added dup and clone method to NSString, NSArray, NSDictionary. - Refactoring NSArrayAttachment#*. - Fixed a bug, NSArrayAttachment#flatten should return Array. - Added NSDictionaryAttachment: each_key, each_pair, each_value, [], default, default=, default_proc, default_proc=, delete, delete_if, reject!, empty?, has_key?, include?, key?, member?, has_value?, invert, key, rehash, reject, replace. - Updated tests. * tests/tc_nsarray.rb, tests/tc_nsstring.rb: Added copying tests. 2007-08-29 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_nsarray.rb: - Added NSArrayAttachment methods: &, |, *, +, -. - Updated tests. 2007-08-29 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_nsarray.rb: - Added == and <=> method to NSNumber. - Added NSArrayAttachment methods: flatten, flatten!, pack, sort, sort!, transpose, uniq, uniq!. - Updated tests. 2007-08-29 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_nsarray.rb: - Added NSArrayAttachment methods: indexes, indices. - Removed workaround for ruby's Array#slice! bug. - Updated tests. 2007-08-29 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb: Tweaked variable names. 2007-08-29 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_nsarray.rb: - Fixed a bug, cannot pass a block to method_missing of NSString, NSArray, NSDictionary. - Moved Array methods in NSArray to module NSAttachment. - Implemented Array methods: reverse_each, insert, last, pop, rassoc, replace, reverse, reverse!, rindex, shift, slice, slice!, to_splat, unshift, values_at. - Removed methods because of bad performance: +, *, -, &, |, flatten, flatten!. - Changed not to use to_ruby in join. - Improved collect! and map! performance. - Fixed a bug, compact! should return nil. - Updated tests. 2007-08-28 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/libffi.m, tests/tc_passbyref.rb: Fixed a crash when passing a pointer to an ObjC object, then trying to convert it as a Ruby object after the API call, but crashing because the pointer wasn't touched by the API. Now preparing passed-by-reference pointers to NULL. Added a test case. * framework/tool/rb_nibtool.rb: Fixed a crash when the provided Ruby script only defines actions but no outlets, or vice-versa. 2007-08-28 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_nsarray.rb: - Implemented Array methods on NSArray: fill, first, flatten, flatten!, include?, index. - Updated tests. 2007-08-28 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb: Fixed typo. 2007-08-27 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_nsarray.rb: - Refactoring Array methods on NSArray. - Improved tests. 2007-08-27 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_nsarray.rb: - Changed NSArray#assoc to ignore [] element inside the array. - Improved tests. 2007-08-27 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_nsarray.rb: - Implemented Array methods for NSArray: [], []=, +, *, -, &, |, <<, assoc, at, clear, collect!, map! compact, compact!, concat, delete, delete_at, delete_if, reject! each_index, empty?, fetch, join. - Added tests for new methods of NSArray. 2007-08-27 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_types_appkit.rb, framework/src/ruby/osx/objc/oc_types.rb: - Replaced ArgumentException to ArgumentError. - Added a constructor of NSRange: new(Range, count). 2007-08-26 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb: Fixed typo. 2007-08-25 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_nsarray.rb, tests/tc_nsdictionary.rb: NSArray and NSDictionary behave like Ruby Array and Ruby Hash respectively. 2007-08-25 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_types.rb, framework/src/ruby/osx/objc/oc_types_appkit.rb: Moved NSRange utility to oc_types_appkit.rb. 2007-08-22 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/mdl_osxobjc.m: Improved the ruby obj -> ocid conversion performance. * framework/src/objc/ocdata_conv.h, framework/src/objc/ocdata_conv.m: Improved the ruby obj -> SEL conversion performance. * framework/src/ruby/osx/objc/oc_types.rb, tests/tc_boxed.rb: Added NSRange#max as a convenience implementation of NSMaxRange(). Added test cases. 2007-08-21 Fujimoto Hisa <hisa@fobj.com> * framework/src/objc/RBRuntime.m: Deallocated a string (duplicated outside) in framework_paths_unshift(). 2007-08-20 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/mdl_osxobjc.m, framework/src/objc/RBRuntime.m, framework/src/objc/BridgeSupport.m: Fixed various memory leaks in the RubyCocoa initialization code, and in the bridge support parsing code. No memory should now be leaked during initialization. 2007-08-18 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_types.rb: Added inspect method to NSRect, NSPoint, NSSize, NSRange. 2007-08-17 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_types.rb, tests/tc_boxed.rb: - Added utility methods to NSRect, NSPoint, NSRange. - Added tests for boxed types. === RubyCocoa 0.12.0 === 2007-08-11 Laurent Sansonetti <lsansonetti@apple.com> * package/pre-package.rb, package/tmpl/postflight-universal.rb: Updated packaging process to now use the single patched libruby. 2007-08-10 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/RBObject.m: Reverted the 2007-07-30 change and instead raise an exception. 2007-08-10 Eloy Duran <eloy.de.enige@gmail.com> * framework/tool/standaloneify.rb: Fixed a bug that occurs when the app bundle already contains the RubyCocoa.framework. 2007-08-11 Satoshi Nakagawa <artension@gmail.com> * framework/src/objc/RBTestProbe.m, tests/objc_test.m, tests/tc_cache.rb: Better separation between core and tests around the oc2rb cache tests. 2007-08-10 Laurent Sansonetti <lsansonetti@apple.com> * misc/README_THREADING, misc/libruby.1.dylib-tiger.tar.gz: Added a single patched binary version of libruby for both Tiger PPC and Intel. Updated instructions. * misc/libruby.1.dylib-tiger-ppc.tar.gz, misc/libruby.1.dylib-tiger-i386.tar.gz: Removed. 2007-08-10 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/mdl_objwrapper.m: Also auto-convert predicate return value to bool for signed char type. 2007-08-10 Satoshi Nakagawa <artension@gmail.com> * framework/src/objc/RBObject.m, framework/src/objc/RBTestProbe.m, tests/tc_cache.rb: Moved the test probe class to a new file. 2007-08-10 Satoshi Nakagawa <artension@gmail.com> * framework/src/objc/RBObject.m, tests/tc_cache.rb: Added test cases for the oc2rb cache. 2007-08-06 Satoshi Nakagawa <artension@gmail.com> * framework/src/objc/ocdata_conv.m: - Removed checking for class cluster types. - Reintroduced a check for callback cases to avoid registering to the oc2rb cache. 2007-08-06 Satoshi Nakagawa <artension@gmail.com> * framework/src/objc/ocdata_conv.m: Stopped registering objects in class clusters to the oc2rb cache. 2007-07-31 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/ruby/osx/objc/oc_wrapper.rb, framework/src/objc/mdl_objwrapper.m, tests/tc_wrapper.rb: Implemented foo? -> isFoo method name conversion. Also implemented the auto registering mechanism for methods that end with '?'. 2007-07-31 Fujimoto Hisa <hisa@fobj.com> * framework/src/objc/RBObject.m: Fixed link error with ruby 1.8.2. 2007-07-30 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/RBObject.m: Fixed a bug when translating ObjC selectors into Ruby method messages, to also look in the receiver's private methods. 2007-07-27 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/ruby/osx/objc/oc_import.rb, framework/src/objc/BridgeSupport.m: Now automatically registering informal protocol methods. 2007-07-27 Fujimoto Hisa <hisa@fobj.com> * template/ProjectBuilder/File/Ruby application init.rb: Added a file template of a ruby program. It should be loaded by RBApplicationInit. * template/ProjectBuilder/File/Ruby NSView subclass.rb, template/ProjectBuilder/File/Ruby NSDocument subclass.rb: Modified method definition by appropriate syntax, because it was written by obsoleted syntax. 2007-07-24 Eloy Duran <eloy.de.enige@gmail.com> * sample/MailDemo/MailDemoActiveRecordBindings/Mailbox.rb: Fixed a bug where emails belonging to a mailbox were not deleted when the mailbox was deleted. 2007-07-24 Eloy Duran <eloy.de.enige@gmail.com> * framework/tool/gen_bridge_doc/lib/cocoa_ref.rb, framework/tool/gen_bridge_doc/lib/lib/method_def.rb, framework/tool/gen_bridge_doc/lib/lib/class_def.rb: Added the docs for the ruby-like setters that are supported by the bridge. So for instance NSView will have documentation for #setNeedsDisplay() and #needsDisplay=() 2007-07-24 Eloy Duran <eloy.de.enige@gmail.com> * KNOWN_TO_BE_EMPTY, DOCUMENTATION_VERSION: Tested BridgeDoc against the latest reference update from 18-07-2007 and added a few info documents about this. 2007-07-23 Laurent Sansonetti <lsansonetti@apple.com> * doc/ja/installation.txt: Fixed typo. 2007-07-23 Fujimoto Hisa <hisa@fobj.com> * doc/ja/*.txt, doc/html/ja/*.html, doc/Rakefile: Added some Japanese documents as BlueCloth format. rewrited old documents (thanks to Nakagawa-san) * doc/*.html, doc/*.jpg, doc/*.css: Remvoed old documents. * sample/SimpleCocoaRepl: Removed. 2007-07-20 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/RBRuntime.m, tests/tc_thread.rb: More robust threading support. Better stress case, with Thread objects collection. 2007-07-20 Satoshi Nakagawa <artension@gmail.com> * Rakefile: Removed --prefix=/usr on the build task. 2007-07-20 Fujimoto Hisa <hisa@fobj.com> * pre-config.rb, tests/Makefile.in, tests/Makefile: Fixed tests/objc_test.bundle can't build on ppc mac. 2007-07-19 Laurent Sansonetti <lsansonetti@apple.com> * VERSION: Bumping to 0.12.0. * package/pre-package.rb, package/tmpl/postflight-universal.rb: Now bundling the libruby binaries with the binary package, and installing then during postflight. * misc/README_THREADING, misc/libruby.1.dylib.txt, misc/ruby_thread_hooks.txt: Removed old .txt files and added a better file, README_THREADING. * misc/libruby.1.dylib-tiger-ppc.tar.gz, misc/libruby.1.dylib-tiger-i386.tar.gz, misc/libruby.1.dylib.txt, misc/ruby_thread_hooks.txt: Provide already-patched libruby binaries for Tiger Intel and PPC. * framework/src/ruby/osx/objc/ruby_addition.rb: When creating a Thread without the threading support enabled, do not raise an exception but print a warning instead. 2007-07-19 Fujimoto Hisa <hisa@fobj.com> * sample/CocoaRepl/cocoa_sweets.rb, sample/CocoaRepl/main.rb, sample/CocoaRepl/CocoaRepl.xcodeproj/project.pbxproj, sample/CocoaRepl/ReplController.rb sample/CocoaRepl/English.lproj/MainMenu.nib: Added cocoa_sweets.rb, it has several useful syntax sugars for repl especially instantiation. Handled NSDefaults in source code rather than nib file, because Tiger's IB support less key-value coding. * CocoaRepl/ReplController.rb, CocoaRepl/RubyProgramTextView.rb, CocoaRepl/English.lproj/MainMenu.nib: Saved window size(kvc) and alpha value(source) into the userdefaults. Decorated when reloading a program. (thanks to Laurent for the patch) 2007-07-18 Fujimoto Hisa <hisa@fobj.com> * sample/CocoaRepl/main.rb, sample/CocoaRepl/evaluator.rb, sample/CocoaRepl/ReplController.rb: Handled evaluated notification in ReplController. * sample/CocoaRepl/evaluator.rb, sample/CocoaRepl/ReplController.rb: Checked evaluator should be singleton. * sample/CocoaRepl/CocoaRepl.xcodeproj/project.pbxproj, sample/CocoaRepl/main.m, sample/CocoaRepl/main.rb, sample/CocoaRepl/init_CocoaRepl.rb, sample/CocoaRepl/observable.rb, sample/CocoaRepl/evaluator.rb, sample/CocoaRepl/io.rb, sample/CocoaRepl/ReplController.rb, sample/CocoaRepl/English.lproj/MainMenu.nib: Moved init_CocoaRepl.rb to main.rb. Implemented history suppotred evaluator class. Rewrited better STDOUT/STDERR IO handling (STDIN is not yet). * AUTHORS: Added Satoshi Nakagawa. 2007-07-18 Laurent Sansonetti <lsansonetti@apple.com> * sample/CocoaRepl/Info.plist: Added missing CFBundleShortVersionString tag. * sample/SimpleCocoaRepl/Info.plist: Fixed duplicated CFBundleIdentifier tag. * sample/CocoaRepl/CocoaRepl.xcodeproj/project.pbxproj: Use the current SDK. * AUTHORS: Mention Jonathan's threading patches. * sample/RubyConsole: New sample code, based on Tim Burks' console.rb. * misc/libffi/src/powerpc/ppc_closure.S, misc/libffi/src/powerpc/ffi_darwin.c: Fixed a PPC bug where floating types were not properly handled by variadic arguments. * tests/tc_printf_format.rb: Added a new test. 2007-07-17 Fujimoto Hisa <hisa@fobj.com> * sample/CocoaRepl, sample/SimpleCocoaRepl: Replaced new CocoaRepl. It shows one of desktop gui repl like the emacs scratch buffer style. Renamed old one as SimpleCocoaRepl. It is a more appropriate programming example (it's just simple) than new one in fact. 2007-07-17 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/mdl_objwrapper.m: Do not auto-register predicate methods. * framework/tool/rb_nibtool.rb: - Reverted the change from 2007-06-30 ; - Introduced a new flag, "-s", which outputs an altered property list, using arrays for both actions and outlets, instead of dictionaries. 2007-07-15 Laurent Sansonetti <lsansonetti@apple.com> * pre-setup.rb: Do not build the local libffi copy if /usr/lib/libffi.dylib exists. 2007-07-14 Laurent Sansonetti <lsansonetti@apple.com> * template/ProjectBuilder/Application/*: - Removed the .pch files in CoreData projects ; - Modified the main.m files to `#import <Cocoa/Cocoa.h>'. 2007-07-13 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/RBRuntime.m, tests/tc_thread.rb: Even More solid threading support. Added new test. * framework/src/objc/RBRuntime.m, tests/tc_thread.rb: More solid threading support. Added stress test. * pre-config.rb: - When calculating install-name from the 'frameworks' install.rb config variable, strip the DSTROOT if exists ; - When checking if libffi is already installed in the system, check for libffi.dylib as well as libffi.a. 2007-07-10 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_import.rb: Fixed a bug, ':' completion doesn't work when the return value is a struct which has '@:' sequence. 2007-07-09 Satoshi Nakagawa <artension@gmail.com> * install.rb: Changed an option name, --test-arch to --use-rosetta. * tests/morph.c, tests/Makefile: Removed morph.c. Because /usr/libexec/oah/translate is enough for using Rosetta. 2007-07-08 Satoshi Nakagawa <artension@gmail.com> * install.rb: - Added --test-arch option for mainly testing PPC on Intel using Rosetta. - Changed the clean task to execute `make clean' in ./tests. * tests/morph.c, tests/Makefile: Added morph command, which executes a command on a different architecture using Rosetta. Currently it supports only ppc and i386. * tests/tc_bool.rb: Added make and require for objc_test. 2007-07-08 Satoshi Nakagawa <artension@gmail.com> * framework/src/ruby/osx/objc/oc_import.rb: Fixed a bug, ':' completion is missing when the last parameter is a selector. 2007-07-05 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/RBRuntime.m: Better Ruby threading support. * tests/tc_thread.rb: When starting test_exceptions, assert that the Ruby threading support is enabled. 2007-07-04 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/RBRuntime.m: More work on the Ruby threading support. Systems after Tiger are still not officially supported (code is not in the repository). 2007-07-04 Satoshi Nakagawa <artension@gmail.com> * framework/src/objc/RBObject.m, framework/src/objc/ocdata_conv.h, framework/src/objc/ocdata_conv.m: - Refactoring the BOOL return value conversion fixes. - Added ocdata_alloc_size() for small integer types on PPC. 2007-07-03 kimura wataru <kimuraw@i.nifty.jp> * framework/tool/gen_bridge_doc.rb: fix too deep path of documentations RubyCocoa/Frameworks/files. 2007-07-03 Satoshi Nakagawa <artension@gmail.com> * framework/src/objc/RBObject.m: Fixed the BOOL return value conversion problems on PPC. * tests/tc_bool.rb: Removed tests for char return values under bridgesupport. 2007-07-02 Laurent Sansonetti <lsansonetti@apple.com> * misc/ruby_thread_hooks.diff, misc/ruby_thread_hooks.txt: Added the patch and some details that needs to be applied to the Ruby runtime in order to use Ruby Threads with RubyCocoa. * framework/src/ruby/osx/objc/ruby_addition.rb, framework/src/objc/RBRuntime.h, framework/src/objc/RBRuntime.m, tests/tc_thread.rb, tests/objc_test.m, tests/Makefile: Merged Jonathan's support to use Ruby Threads with RubyCocoa. This is for Tiger only. Made a few modifications, work is still in progress. * misc/ruby-osx10_1.patch, misc/ruby-1.6.7-osx10.2.patch: Removed (these patches are for Ruby 1.6.x). * tool/create-symlinks.rb: Added a convenience tool that replaces an existing RubyCocoa installation with symbolic links to the current build of RubyCocoa. 2007-07-02 Satoshi Nakagawa <artension@gmail.com> * tests/objc_test.m, tests/tc_bool.rb, tests/ObjcTest.bridgesupport: - Reformed type conversion tests. - Added test cases for float and double values. 2007-07-02 Satoshi Nakagawa <artension@gmail.com> * tests/objc_test.m, tests/tc_bool.rb, tests/ObjcTest.bridgesupport: - Added BOOL type conversion tests for both objc to ruby and ruby to objc conversions. 2007-07-01 Satoshi Nakagawa <artension@gmail.com> * Rakefile: - Added package_source task. - Added '--prefix=/usr' parameter to build and package tasks. 2007-06-30 Laurent Sansonetti <lsansonetti@apple.com> * framework/tool/rb_nibtool.rb: When writing a plist for a given Ruby source code, make sure the outlets and actions are ordered in the same order they have been defined in the given code. 2007-06-29 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/RBObject.m, framework/src/objc/ocdata_conv.m, tests/tc_bool.rb: - Fixed a PPC regression when converting small integers (less than 4 bytes) from a metadata-driven Ruby method (ex: an informal protocol method). - Better generic Ruby -> ObjC boolean conversion, now trying to respect the Ruby semantics. Ruby's true and false are converted as true and false, all integers (including 0) are converted as true and nil as false ; - Added a test case (original code written by Kimura Wataru). 2007-06-28 Naoki Hiroshima <n+rubycocoa@h7a.org> * framework/src/objc/cls_objcptr.m, tests/tc_objcptr.rb: - ObjcPtr.new initialize ObjcPtr.encoding as "uchar" by default and clear allocated memory ; - ObjcPtr#allocate_as_int{8,16,32} set ObjcPtr.encoding" as "char", "short", and "int", respectively. 2007-06-28 Satoshi Nakagawa <snakagawa@infoteria.co.jp> * framework/src/ruby/osx/objc/oc_import.rb: add acceptable types of OCTYPES: BOOL, longlong, ulonglong and cstr. 2007-06-28 Laurent Sansonetti <lsansonetti@apple.com> * framework/tool/rb_nibtool.rb: - Write the property list as XML ; - Support passing '-' as the source code path, which will read on stdin. * sample/ViewModelDemo/Controller.rb: Fixed the IB actions. * AUTHORS: Added Naoki-san. * framework/tool/rb_nibtool.rb: If the RubyNode library is present in the system, uses it to collect the necessary IB metadata, by parsing the given Ruby source code file. If not, uses the old behavior that requires the given Ruby source code file and collect the metadata via code evaluation. * framework/src/objc/BridgeSupport.m: Work around possible warnings when defining module functions, in case a function has already been defined. * framework/src/objc/libffi.m, framework/src/objc/ocdata_conv.m: Fixed warnings and removed dead code. * sample/Fortune.wdgt/SimplePlugin/SimplePlugin.xcodeproj/project.pbxproj, sample/RubyAnywhere/RubyAnywhere.xcodeproj/project.pbxproj, sample/VPRubyPluginEnabler/RubyPluginEnabler.xcodeproj/project.pbxproj, sample/CocoaRepl/CocoaRepl.xcodeproj/project.pbxproj: Removed references to the 10.4u SDK and use instead the current SDK. * pre-config.rb: Fixed --build-universal for systems higher than 10.4. * framework/src/objc/cls_objcptr.m: Improved ObjcPtr#regard_as to accept an ObjC runtime encoding string. 2007-06-21 kimura wataru <kimuraw@i.nifty.jp> * package/tmpl/Info.plist: fix version cheking: cannot install from .pkg into Mac OS X 10.4.10. (10.4 <= current version <= 10.4.9) -> (10.4 <= current version < 10.5) 2007-06-21 Fujimoto Hisa <hisa@fobj.com> * install.rb: added test_rubycocoa_command to test phase. * tests/tc_rubycocoacommand.rb: removed the file, because install.rb invoke the test for rubycocoa command. * template/ProjectBuilder/Application/Cocoa-Ruby Application/Rakefile: rename VERSION with APPVERSION, because VERSION is already defined by ruby. 2007-06-19 SATOH Hiroh <cho45@lowreal.net> * framework/tool/rubycocoa/test/test_rubycocoa.rb, framework/tool/rubycocoa/lib/osx/xcode.rb, framework/tool/rubycocoa/bin/rubycocoa: Modified to call to_s in xcode.rb for plist. Modified "add" subcommand to ignore directory (This considers only .rb file now) Added test for making new application. * framework/tool/rubycocoa/test/test_rubycocoa.rb, framework/tool/rubycocoa/bin/rubycocoa: Rewrited the tests to call RubyCocoaCommand directly (for better messages when tests are failed) Modifiled rubycocoa to use here doc instead of DATA (for using RubyCocoaCommand as library) 2007-06-19 Fujimoto Hisa <hisa@fobj.com> * framework/src/objc/ocdata_conv.m: used RTEST for rbobj_to_bool. emphasized that the convert_cary is mutable about the octype_str. 2007-06-17 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/RBRuntime.m: Make sure we install the NSObject dealloc hook + rewrote the hook code to use the new objc2 APIs. 2007-06-17 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/BridgeSupport.m, tests/tc_types.rb: Define OSX::Boxed#clone as #dup. * AUTHORS: Added Satoshi-san. 2007-06-17 Satoshi Nakagawa <snakagawa@infoteria.co.jp> * framework/src/objc/RBRuntime.m, framework/src/objc/ocdata_conv.m: Now cleaning the oc2rb cache upon the NSObject dealloc. 2007-06-14 SATOH Hiroh <cho45@lowreal.net> * framework/tool/rubycocoa/bin/rubycocoa, framework/tool/rubycocoa/test/test_rubycocoa.rb, template/ProjectBuilder/Application/Cocoa-Ruby Application/CocoaApp.xcodeproj/TemplateInfo.plist: Fixed "new" subcommand to use TemplateInfo.plist. Added "Rakefile" to "FilesToMacroExpand" in TemplateInfo.plist. 2007-06-12 SATOH Hiroh <cho45@lowreal.net> * framework/tool/rubycocoa/bin/rubycocoa: Fixed "update" subcommand which didn't consider superclass. 2007-06-11 SATOH Hiroh <cho45@lowreal.net> * framework/tool/rubycocoa/bin/rubycocoa, framework/tool/rubycocoa/test/test_rubycocoa.rb, framework/tool/rubycocoa/lib/osx/standaloneify.rb, template/ProjectBuilder/Application/Cocoa-Ruby Application/Rakefile: Implemented "standaloneify" subcommand which just runs standaloneify.rb. Added standaloneify.rb to lib/osx/standaloneify.rb which is copy of tool/standaloneify.rb. Updated Rakefile to add "package" task. * framework/tool/rubycocoa/bin/rubycocoa, framework/tool/rubycocoa/test/test_rubycocoa.rb: Implemented "create" subcommand which create ruby class skeltons. * framework/tool/rubycocoa/bin/rubycocoa, framework/tool/rubycocoa/test/test_rubycocoa.rb, framework/tool/rubycocoa/lib/osx/xcode.rb, template/ProjectBuilder/Application/Cocoa-Ruby Application/Rakefile: Check duplicated file in Xcode project. Fixed Rakefile task "package" filename. * framework/tool/rubycocoa/test/test_rubycocoa.rb, template/ProjectBuilder/Application/Cocoa-Ruby Application/Rakefile: Added "create", "add" and "update" task to Rakefile. Thease are wrapper for the 'rubycocoa' command. 2007-06-10 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/mdl_objwrapper.m: Enable OCM_AUTO_REGISTER. 2007-06-10 SATOH Hiroh <cho45@lowreal.net> * framework/tool/rubycocoa/bin/rubycocoa: Show helps when command is called with a subcommand only. 2007-06-10 Eloy Duran <e.duran@superalloy.nl> * framework/tool/rubycocoa/bin/rubycocoa: Fixed the shebang which was hardcoded to /usr/bin/ruby. 2007-06-10 SATOH Hiroh <cho45@lowreal.net> * framework/tool/rubycocoa/bin/rubycocoa: Applied patch in [Rubycocoa-devel 969]. Fixed many text errors. Fixed apply_template bug in UTF-16 template file (InfoPlist.strings) Implemented "add" subcommand which add files to Xcode project. * template/ProjectBuilder/Application/Cocoa-Ruby Application/Rakefile: Added Rakefile to build Xcode project on CUI. From [Rubycocoa-devel 906], [Rubycocoa-devel 907]. 2007-06-09 Eloy Duran <e.duran@superalloy.nl> * sample/MailDemo/MailDemoActiveRecordBindings/MailboxProxy.rb, sample/MailDemo/MailDemoActiveRecordBindings/EmailProxy.rb, sample/MailDemo/MailDemoActiveRecordBindings/MailDemoActiveRecordBindings.xcodeproj/project.pbxproj, framework/src/ruby/osx/objc/active_record.rb, tests/tc_active_record.rb: Added the class method ActiveRecordProxy.on_get() which can be used to define filters to be applied when a specified key is requested in rbValueForKey. So the filter will be run before returning the data. Changed EmailProxy.rb to use the new on_get class method. Removed the MailboxProxy.rb file, because the proxy class will automatically be defined whenever ActiveRecord::Base is inherited. 2007-06-09 SATOH Hiroh <cho45@lowreal.net> * framework/tool/rubycocoa: Added 'rubycocoa' command (First checkin). This is a tool for creating new application skeltons. 2007-06-08 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/ruby/osx/objc/oc_exception.rb, framework/src/ruby/osx/objc/oc_import.rb, framework/src/ruby/osx/objc/oc_wrapper.rb, framework/src/objc/mdl_osxobjc.h, framework/src/objc/mdl_osxobjc.m, framework/src/objc/mdl_objwrapper.m, tests/tc_subclass.rb, tests/tc_wrapper.rb: When messaging Objective-C from Ruby, now auto-defining the Ruby methods by generating Libffi closures, so that #method_missing will only be called once. This renders the messaging around 3 times faster. 2007-06-06 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/ruby/osx/objc/foundation.rb: Updated the header to mention the new licensing message. 2007-06-05 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/ruby/osx/objc/oc_import.rb, framework/src/objc/mdl_objwrapper.m, tests/tc_wrapper.rb: Fixed some bugs when importing NSProxy-based classes. * framework/src/objc/BridgeSupport.m, tests/tc_types.rb: Define #dup for C structures boxed types, that returns a new copy of the instance. Added test case. 2007-06-05 Eloy Duran <e.duran@superalloy.nl> * framework/src/ruby/osx/objc/active_record.rb, tests/tc_active_record.rb: Proxy classes are now automagically defined when a ActiveRecord::Base subclass is defined. ActiveRecord::Base#to_activerecord_proxy now caches the proxy class name. 2007-06-04 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/ocdata_conv.m, framework/src/objc/BridgeSupport.m: Fixed NULL to C strings and opaque types conversion. === RubyCocoa 0.11.1 === 2007-06-03 Eloy Duran <e.duran@superalloy.nl> * framework/tool/gen_bridge_doc/lib/lib/hpricot_proxy.rb: Added Hpricot 0.5.x compatibility to the BridgeDoc tool. Patch by Justin Palmer. 2007-06-03 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/ocdata_conv.m: Fixed a regression introduced by last bug fix. 2007-06-03 Eloy Duran <e.duran@superalloy.nl> * framework/src/ruby/osx/objc/active_record.rb: Adds documentation for ActiveRecordConnector.connect_to_sqlite_in_application_support(). Fixed a bug in rbSetValue_forKey where to_ruby could be called on a nil object. Patch supplied by Justin Palmer. 2007-06-02 Laurent Sansonetti <lsansonetti@apple.com> * sample/Scripts/speak2.rb: Print error if SpeechSynthesis is not supported (no bridge support file). 2007-06-01 kimura wataru <kimuraw@i.nifty.jp> * sample/RubyAnywhere/English.lproj/Rcode.nib/: code area (top NSTextView) accepts plain text, not styled text. * sample/Scripts/sndplay3.rb: delete sndplay3.rb, this script is not different from sndplay2.rb. 2007-06-01 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/ocdata_conv.m, framework/src/objc/OverrideMixin.m, framework/src/objc/BridgeSupport.h, framework/src/objc/BridgeSupport.m, tests/tc_passbyref.rb: - Fixed bugs when passing existing boxed structures as output arguments, now we make sure the cached ivars are cleaned ; - Added setter support for C_ARY types. - Added test cases. * framework/src/objc/libffi.m: Fixed bugs when retrieving out arguments by omitting them. * framework/src/objc/BridgeSupport.m: Introduced OSX::Boxed.size, a convenience method to get the size of the boxed C type. * tests/tc_passbyref.rb, tests/tc_wrapper.rb: Moved the test_get_c_ari_and_pstring test from tc_wrapper to tc_passbyref, improved the existing tests. 2007-05-31 Eloy Duran <e.duran@superalloy.nl> * framework/src/ruby/osx/objc/active_record.rb, tests/tc_active_record.rb: Fixed the ActiveRecordProxy#init method, it now takes no arguments. Added ActiveRecordProxy#initWithRecord which returns a proxy for an existing record. Added ActiveRecordProxy#initWithAttributes which creates a record with the attributes and returns a proxy. 2007-05-31 Eloy Duran <e.duran@superalloy.nl> * framework/src/ruby/osx/objc/oc_import.rb: Added a more descriptive message for the arity check. 2007-05-31 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/mdl_osxobjc.m: Better logging. * framework/src/objc/RBClassUtils.h, framework/src/objc/RBClassUtils.m, framework/src/objc/OverrideMixin.m: Do not enable direct-override into ruby-derived classes. * framework/src/ruby/osx/objc/active_record.rb: When removing all table columns, make sure to iterate on a duplicate array to not mutate the original one during the enumeration. * framework/src/ruby/osx/objc/oc_import.rb: When auto-overriding Objective-C methods, before doing the override compare the methods arity and raise an exception if they are not the same. * framework/src/ruby/osx/objc/oc_wrapper.rb: Added a convenience Ruby -> Objective-C shortcut, to call #foo= instead of #setFoo. * framework/src/ruby/osx/objc/ruby_addition.rb: Added some convenience API to pack/unpack Pascal strings. * framework/src/objc/libffi.m, framework/src/objc/ocdata_conv.m, framework/src/objc/BridgeSupport.m, tests/tc_wrapper.rb: Fixed some new bugs in the C_ARY_B type support. Added test cases. 2007-05-31 Fujimoto Hisa <hisa@fobj.com> * framework/src/ruby/osx/objc/oc_attachments.rb: fixed NSString#length issue. * tests/tc_nsstring_compat.rb: added a test to assert NSStirng#length is the number of characters rather than bytes. (failed the test currently) >>>>>>> .r1795 2007-05-30 Laurent Sansonetti <lsansonetti@apple.com> * AUTHORS: Added Matthias. * framework/src/objc/ocdata_conv.m, tests/tc_wrapper.rb: Better support for getting C_ARY_B types. Thanks to Matthias Neeracher. * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_nsstring_compat.rb: Removed tabs, fixed some comments. * framework/src/objc/libffi.m, tests/tc_passbyref.rb, tests/tc_wrapper.rb: Fixed minor issues related to passed-by-reference arguments declared between regular arguments. 2007-05-30 kimura wataru <kimuraw@i.nifty.jp> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_nsstring_compat.rb: - re-enabled `NSString behave like Ruby String' - OSX::NSString#length invokes [NSString length](objc) not String#length(ruby) 2007-05-28 Laurent Sansonetti <lsansonetti@apple.com> * AUTHORS: Added Justin. * sample/Scripts/darkroom.rb: Added new sample, from Justin Palmer. 2007-05-28 Fujimoto Hisa <hisa@fobj.com> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_nsstring_compat.rb: disable `NSString behave like Ruby String' to avoid strong side effect, except NSString#to_str. 2007-05-27 Laurent Sansonetti <lsansonetti@apple.com> * sample/Scripts/circle.rb: When calling CFURLCreateFromFileSystemRepresentation, it's not necessary anymore to pass the length of the string. * AUTHORS: Some reformat, added Vincent. * framework/src/objc/libffi.m: Do not raise an exception when passing a String object as a C characters pointer (_C_CHARPTR). Thanks to Vincent Isambart. 2007-05-24 Eloy Duran <e.duran@superalloy.nl> * framework/src/ruby/osx/objc/active_record.rb, tests/tc_active_record.rb: - ActiveRecordTableView#scaffold_columns_for will now set NSTableColumn#identifier to the name of the attribute so you can use this to check which column it is. - Added metaclass methods #find & method_missing which handles #find_by_foo to the ActiveRecordProxy, which works as normal but returns proxies for the results. - Optimized model class resolve method. Now also caches it. 2007-05-24 Eloy Duran <e.duran@superalloy.nl> * framework/src/ruby/osx/objc/active_record.rb: - Removed method_missing implementation that forwarded messages to the record that it wraps. Instead we now define all the methods available on the record, plus getters/setters for the attributes, at proxy initialization time. - ActiveRecordTableView#scaffold_columns_for will now delete any existing columns before creating new ones. - ActiveRecordSetController has a new instance method #setup_for, which is used to set the model that it manages and directly calls #setContent with any given content. - Added Array#original_records returns an array of the original records. 2007-05-22 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/RBObject.m, framework/src/objc/ocdata_conv.m, framework/src/objc/OverrideMixin.m: When converting Objective-C objects to Ruby, do not cache those being converted in an Objective-C callback (either FFI closure or NSInvocation), because there is no way to clear the cache after. 2007-05-21 kimura wataru <kimuraw@i.nifty.jp> * framework/src/ruby/osx/objc/cocoa_macros_appkit.rb: fix: NSApplication.run_with_temp_app does not work. === RubyCocoa 0.11.0 === 2007-05-22 Fujimoto Hisa <hisa@fobj.com> * framework/RubyCocoa.xcodeproj/project.pbxproj: copy tools into the Version/Current/Tools directory. * framework/RubyCocoa.xcodeproj/project.pbxproj: put active_record.rb into appropriate group. 2007-05-22 Laurent Sansonetti <lsansonetti@apple.com> * pre-install.rb, install.rb, metaconfig: Added 'ri-dir' config variable, and use it when installing the RI files. When generating the binary package, make sure to prefix the directory with the temporary package directory. * VERSION: Bumped to 0.11. * ReadMe.ja.html, ReadMe.html: Removed the "Beware, this is a development release" warning. * pre-install.rbm install.rb: Make sure to not fix the RubyCocoa.framework path in xcode projects during packaging. * AUTHORS: Added AUTHORS file, first revision. * framework/**/*.{m.h.rb}, lib/osx/*.rb, ext/rubycocoa/rubycocoa.m: Updated copyright headers. * framework/tool/standaloneify.rb: When copying RubyCocoa.framework, use `cp -R' and not `cp -r'. 2007-05-21 Laurent Sansonetti <lsansonetti@apple.com> * framework/tool/standaloneify.rb: Added the standaloneify.rb script, by Jonathan Paisley. Fixed a few bugs. 2007-05-21 kimura wataru <kimuraw@i.nifty.jp> * framework/src/ruby/osx/objc/oc_attachments.rb, tests/tc_nsstring_compat.rb: NSString behave like Ruby String, "to_s" will not be needed mostly. 2007-05-19 Eloy Duran <e.duran@superalloy.nl> * framework/src/ruby/osx/objc/active_record.rb: Did some refining of the NSTableView subclass and the scaffold_columns_for method now also takes an optional block. 2007-05-18 Eloy Duran <e.duran@superalloy.nl> * framework/src/ruby/osx/objc/active_record.rb: Added a subclass of OSX::NSTableView called OSX::ActiveRecordTableView. This subclass has an instance method called scaffold_table_columns_for(). You pass it a ActiveRecord::Base subclass and the ActiveRecordSetController instance that the NSTableColumns should be bound to. See the source file for an example. 2007-05-18 Eloy Duran <e.duran@superalloy.nl> * sample/MailDemo/MailDemoActiveRecordBindings/maildemo.sql, sample/MailDemo/MailDemoActiveRecordBindings/maildemo.sqlite, sample/MailDemo/MailDemoActiveRecordBindings/migrate, sample/MailDemo/MailDemoActiveRecordBindings/migrate/002_create_emails.rb, sample/MailDemo/MailDemoActiveRecordBindings/migrate/001_create_mailboxes.rb, sample/MailDemo/MailDemoActiveRecordBindings/MyController.rb, sample/MailDemo/MailDemoActiveRecordBindings/MailDemoActiveRecordBindings.xcodeproj/project.pbxproj, sample/MailDemo/MailDemoActiveRecordBindings/Database.rb, framework/src/ruby/osx/objc/active_record.rb, tests/maildemo.sql, tests/tc_active_record.rb: Added support for db migrations to osx/active_cocoa through the OSX::ActiveRecordConnector module. It uses the ActiveRecord::Migrator module with some OSX specific syntax, like automatically create a dbfile in ~/Library/Application Support/AppIdentifier/AppIdentifier.sqlite Updated the MailDemoActiveRecordBindings to make use of the new connection module. 2007-05-17 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/BridgeSupport.m: Added support to decode structure fields of the union type. * framework/src/objc/libffi.m, framework/src/objc/ocdata_conv.m: - Properly handle exceptions NSGetSizeAndAlignment could throw ; - Increased the method encoding buffer when analyzing its arguments. 2007-05-16 Laurent Sansonetti <lsansonetti@apple.com> * sample/MailDemo/MailDemoActiveRecordBindings/Info.plist: Uses the icon. * sample/buildall.rb: Run xcodebuild in quiet mode, display the projects that were successfully built and those who failed at the end of the script. * sample/ViewModelDemo/ViewModel Demo.xcodeproj/project.pbxproj: Fixed the product name of the `Default' target. 2007-05-16 Fujimoto Hisa <hisa@fobj.com> * framework/pre-install.rb: removed the installation of the bridge support metada files, because these files are included in the Resources of the framework, or the files are installed at another time (e.g. installing phage of the bridge support). 2007-05-15 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/ruby/osx/objc/oc_wrapper.rb: Better detection of the (deprecated) symbol-value-... syntax. * framework/src/objc/mdl_objwrapper.m, framework/src/objc/ocdata_conv.h, framework/src/objc/ocdata_conv.m, framework/src/objc/BridgeSupport.h, framework/src/objc/BridgeSupport.m, tests/tc_printf_format.rb: Added support for the 'printf_format' bridge support annotations. 2007-05-15 Eloy Duran <e.duran@superalloy.nl> * sample/MailDemo/MailDemoActiveRecordBindings/MailboxProxy.rb, sample/MailDemo/MailDemoActiveRecordBindings/Email.rb, sample/MailDemo/MailDemoActiveRecordBindings/EmailProxy.rb, sample/MailDemo/MailDemoActiveRecordBindings/MailDemoActiveRecordBindings.xcodeproj/project.pbxproj, sample/MailDemo/MailDemoActiveRecordBindings/Mailbox.rb, framework/src/ruby/osx/objc/oc_attachments.rb, framework/src/ruby/osx/objc/active_record.rb, tests/tc_active_record.rb: Updated the active_record lib to not pollute the String class and make use of the new NSObject#to_ruby method. Added conversion for NSAttributedString to NSObject#to_ruby in oc_attachments.rb. Separated the proxy classes from the actual model files, this to make it more clear what's what. 2007-05-14 Eloy Duran <e.duran@superalloy.nl> * framework/tool/gen_bridge_doc/lib/cocoa_ref.rb, framework/tool/gen_bridge_doc/lib/Foundation/NSArray.rb, framework/tool/gen_bridge_doc/lib/Foundation/NSXMLDocument.rb, framework/tool/gen_bridge_doc/lib/Foundation/NSString.rb, framework/tool/gen_bridge_doc/lib/lib/method_def.rb, framework/tool/gen_bridge_doc/lib/lib/class_def.rb, framework/tool/gen_bridge_doc/lib/ApplicationKit/NSTokenFieldCell.rb: Added support for the latest documentation updates from apple. 2007-05-14 Eloy Duran <e.duran@superalloy.nl> * sample/MailDemo/MailDemoActiveRecordBindings/Database.rb, sample/MailDemo/MailDemoActiveRecordBindings/Email.rb, sample/MailDemo/MailDemoActiveRecordBindings/MyController.rb, sample/MailDemo/MailDemoActiveRecordBindings/Mailbox.rb, framework/src/ruby/osx/active_record.rb, framework/src/ruby/osx/objc/active_record.rb, tests/tc_active_record.rb, lib/osx/active_record.rb: Added some copyright info to the src files. The testcase will now try to require rubygems directly, so you will not be bothered by a message about this. However it will tell you that the tests are skipped if either active_record or sqlite3 aren't found. 2007-05-14 Laurent Sansonetti <lsansonetti@apple.com> * sample/MailDemo/MailDemoSimple/Info.plist, sample/MailDemo/MailDemoBindings/Info.plist: Better CFBundleIdentifier tags. * framework/src/ruby/osx/objc/ruby_addition.rb, framework/src/ruby/osx/objc/oc_attachments.rb, framework/src/objc/ocdata_conv.m, tests/tc_plist.rb, tests/tc_types.rb, tests/tc_attachments.rb: Introduced NSObject#to_ruby, which converts the given Cocoa type to the Ruby equivalent (converting sub-elements for NSArray and NSDictionary). Added and updated test cases. * framework/src/ruby/osx/objc/active_record.rb, tests/tc_active_record.rb: Removed Object#to_rubyttype, better exception name if active record cannot be loaded. * framework/src/objc/mdl_osxobjc.m: Obsoleted #objc_symbol_to_obj. * sample/MailDemo/MailDemoActiveRecordBindings/README, sample/MailDemo/MailDemoActiveRecordBindings/English.lproj/MainMenu~.nib: Removed unnecessary files. * sample/MailDemo/README: Better introduction file. 2007-05-13 Eloy Duran <e.duran@superalloy.nl> * framework/RubyCocoa.xcodeproj/project.pbxproj, framework/src/ruby/osx/active_record.rb, framework/src/ruby/osx/objc/active_record.rb, tests/tc_active_record.rb, lib/osx/active_record.rb: Added the osx/active_record lib, which enables the use of ActiveRecord in conjunction with bindings. For now it implements at least the glue code for a belongs_to association. There is a testcase with some basic tests. If ActiveRecord isn't found by osx/active_record it will issue a warning about it and that you might need to require 'rubygems' first. So you might see this warning when running the tests, but the testcase will retry to require ActiveRecord after requiring rubygems. If it's still not successful it will skip the testcase. * sample/MailDemo/MailDemoActiveRecordBindings, sample/MailDemo/MailDemoActiveRecordBindings/main.m, sample/MailDemo/MailDemoActiveRecordBindings/TreeHouseIdeas.icns, sample/MailDemo/MailDemoActiveRecordBindings/Info.plist, sample/MailDemo/MailDemoActiveRecordBindings/maildemo.sql, sample/MailDemo/MailDemoActiveRecordBindings/Database.rb, sample/MailDemo/MailDemoActiveRecordBindings/maildemo.sqlite, sample/MailDemo/MailDemoActiveRecordBindings/Email.rb, sample/MailDemo/MailDemoActiveRecordBindings/rb_main.rb, sample/MailDemo/MailDemoActiveRecordBindings/MyController.rb, sample/MailDemo/MailDemoActiveRecordBindings/MailDemoActiveRecordBindings.xcodeproj, sample/MailDemo/MailDemoActiveRecordBindings/MailDemoActiveRecordBindings.xcodeproj/project.pbxproj, sample/MailDemo/MailDemoActiveRecordBindings/Mailbox.rb, sample/MailDemo/MailDemoActiveRecordBindings/README, sample/MailDemo/MailDemoActiveRecordBindings/English.lproj, sample/MailDemo/MailDemoActiveRecordBindings/English.lproj/InfoPlist.strings, sample/MailDemo/MailDemoActiveRecordBindings/English.lproj/MainMenu.nib, sample/MailDemo/MailDemoActiveRecordBindings/English.lproj/MainMenu.nib/info.nib, sample/MailDemo/MailDemoActiveRecordBindings/English.lproj/MainMenu.nib/keyedobjects.nib, sample/MailDemo/MailDemoActiveRecordBindings/English.lproj/MainMenu.nib/classes.nib, sample/MailDemo/MailDemoActiveRecordBindings/English.lproj/MainMenu~.nib, sample/MailDemo/MailDemoActiveRecordBindings/English.lproj/MainMenu~.nib/info.nib, sample/MailDemo/MailDemoActiveRecordBindings/English.lproj/MainMenu~.nib/keyedobjects.nib, sample/MailDemo/MailDemoActiveRecordBindings/English.lproj/MainMenu~.nib/classes.nib: Added the MailDemo version that uses the new osx/active_record lib, it achieves persistent storage by using ActiveRecord with a sqlite3 backend. It shows how to use a belongs_to relationship with a subclass of NSArrayController. 2007-05-13 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/libffi.m, tests/tc_passbyref.rb: Better behavior for C-array like arguments with a length argument. Do not emit a warning anymore if a value is passed for the length argument. If the value is either negative or greater than the size of the given array, raise an exception. Otherwise, just pass the value. Added tests. 2007-05-11 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/libffi.m: Do not try to register a given selector value if it's NULL. 2007-05-11 Fujimoto Hisa <hisa@fobj.com> * framework/src/ruby/osx/objc/oc_import.rb: add QuartzComposer into the QUICK_FRAMEWORKS * framework/src/objc/OverrideMixin.h, framework/src/objc/mdl_osxobjc.m: declared ovmix_register_ruby_method that is defined in OverrideMixin.m 2007-05-10 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/cls_objcptr.m: Added new APIs to assign values to the pointer instance. #assign is to assign a value to the entire pointer, and #[]= can be used to assign a value to a particular offset. * tests/tc_passbyref.rb, tests/tc_objcptr.rb: Added more tests. * framework/src/objc/libffi.m: Fixed a regression introduced by a recent commit. * tests/tc_plist.rb: Do not test the serialization of big numbers in binary property lists on Tiger or lower environments. * tests/tc_passbyref.rb: Better tests. * framework/src/objc/BridgeSupport.m: Ignore the 'Nil' Foundation enumeration. * framework/RubyCocoa.xcodeproj/project.pbxproj: Added a build phase that copies the bridge support file within the RubyCocoa framework bundle, only if the bridge support files have been generated. * framework/post-config.rb: Updated to run the new bridge support build process. * metaconfig: Removed the 'bridge-support' config variable, now the bridge support files are always copied within the RubyCocoa framework bundle. * framework/bridge-support-exceptions, framework/tool/gen_bridge_metadata.rb: Removed. 2007-05-09 Laurent Sansonetti <lsansonetti@apple.com> * misc/bridgesupport: Created, this hosts the bridge support project that is now on MacOSForge.org, using svn:externals. 2007-05-05 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/libffi.m: Fixed a bug in the handling of C-array like arguments. Also accept nil for such arguments. 2007-05-04 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/ocdata_conv.m: Convert Time objects to NSDate objects. * framework/src/ruby/osx/objc/ruby_addition.rb, tests/tc_plist.rb: Added syntax-sugar APIs to manage property lists. Added test cases. * framework/src/objc/BridgeSupport.m: Fixed a leak. 2007-04-26 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/libffi.m: Do not allow pointers arguments that don't have an 'out' type modifier to be omitted. 2007-04-23 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/ruby/osx/objc/oc_import.rb, tests/tc_hybrid.rb: Assume a '@@:' default signature when nothing is passed to objc_method and objc_class_method. Adapted a test case. * framework/src/ruby/osx/objc/oc_import.rb framework/src/objc/RBObject.m tests/tc_ovmix.rb tests/objc_test.m tests/tc_subclass.rb, tests/tc_hybrid.rb: Some work on messaging Ruby from Objective-C. Fixed a bug when the Ruby proxy cannot be determined, and another when OSX methods couldn't be called directly on an Objective-C class from Ruby (DirectOverride). Added tests. * pre-config.rb, framework/RubyCocoa.xcodeproj/project.pbxproj, framework/GeneratedConfig.xcconfig.in, metaconfig: Introduced a new config phase variable, 'build-as-embeddable', turned on by default, which builds RubyCocoa.framework with an INSTALL_PATH set to @executable_path/../Frameworks/RubyCocoa.framework/RubyCocoa. When turned off, INSTALL_PATH will get an absolute path value (the value of the 'frameworks' config phase variable). * sample/DotView/DotView.rb, sample/MultiNib/ApplicationDelegate.rb, sample/SimpleApp/AppController.rb, sample/MakefileApp2/AppController.rb, sample/Pong/AppCtrl.rb, sample/PDFKitViewer/MyPDFDocument.rb, sample/QTKitSimpleDocument/MyDocument.rb, sample/MyViewer/MyInspector.rb, sample/MyViewer/MyViewerCtrl.rb, sample/CocoaGL/MyOpenGLView.rb, sample/Spotlight/AppController.rb, sample/HybridLangApp/RubyController.rb, sample/MailDemo/MyController.rb, sample/CIExposureSample/CIExposureView.rb, sample/RaiseMan/PreferenceController.rb, sample/RaiseMan/AppController.rb, sample/RaiseMan/MyDocument.rb, sample/MiniBrowser/AppController.rb, sample/MiniBrowser/MyDocument.rb, sample/RoundTransparentWindow/RTW.rb, sample/PathDemo/PathDemoController.rb, sample/CGPDFViewer/PDFView.rb, sample/CGPDFViewer/MainController.rb, sample/Thread/AppController.rb, sample/CocoaRepl/ReplController.rb, sample/TypingTutor/BigLetterView.rb, sample/MakefileApp/AppController.rb, sample/Stickies/StickiesAppDelegate.rb, template/ProjectBuilder/Application/Cocoa-Ruby Document-based Application/MyDocument.rb, template/ProjectBuilder/Application/Cocoa-Ruby Core Data Document-based Application/MyDocument.rb, template/ProjectBuilder/Application/Cocoa-Ruby Core Data Application/AppDelegate.rb: Now using ib_action to annotate action methods. 2007-04-12 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/ruby/osx/objc/oc_import.rb, framework/src/objc/OverrideMixin.m, framework/src/objc/BridgeSupport.m, tests/tc_wrapper.rb: Some cleanup changes, better logging, better tests. * framework/src/objc/mdl_osxobjc.m, framework/src/objc/OverrideMixin.m: When overriding methods directly into an Objective-C class (DirectOverride), do not use class_addMethod but method_setImplementation as the former doesn't replace the existing implementation (> 10.4 only). 2007-04-11 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/OverrideMixin.m: Fixed a bug in [-setValue:forUndefinedKey:] to not insert nil values in the cache dictionary. 2007-04-06 Laurent Sansonetti <lsansonetti@apple.com> * sample/Scripts/speak.rb, sample/Scripts/speak2.rb: New sample, speak text via the SpeechSynthesis framework. Added a comment to speak.rb. 2007-04-05 Laurent Sansonetti <lsansonetti@apple.com> * pre-config.rb, framework/RubyCocoa.xcodeproj/project.pbxproj, framework/src/objc/mdl_objwrapper.m, framework/src/objc/RBClassUtils.m, framework/src/objc/objc_compat.h, framework/src/objc/OverrideMixin.m, framework/GeneratedConfig.xcconfig.in: Reverted previous change. Now configure the deployment target based on the --macosx-deployment-target parameter passed to install.rb config. Fixed more 64-bit compilation warnings. * framework/RubyCocoa.xcodeproj/project.pbxproj, framework/src/objc/libffi.m: Removed explicit 10.3 deployment target and use the default compiler target. Fixed a 64-bit compilation warning. 2007-04-05 kimura wataru <kimuraw@i.nifty.jp> * framework/pre-doc.rb: clean bridge-doc directory when doc task fails. 2007-04-04 Fujimoto Hisa <hisa@fobj.com> * framework/post-config.rb: added QuartzComposer.framework. * framework/src/objc/internal_macros.h: included CFRunLoop.h to solve type for CFRunLoopRef. 2007-04-04 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/RBObject.m, framework/src/objc/internal_macros.h, framework/src/objc/OverrideMixin.m: Moved the is-main-thread check code in a macro. 2007-04-04 Fujimoto Hisa <hisa@fobj.com> * framework/src/objc/RBObject.m, framework/src/objc/OverrideMixin.m, tests/tc_thread.rb: fixed an issue that CFRunLoopGetMain isn't declared in CFRunLoop.h on 10.4 (undocumented api?). 2007-04-03 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/libffi.m, framework/src/objc/BridgeSupport.h, framework/src/objc/BridgeSupport.m: Added support for sel_of_type[64] BridgeSupport annotations. 2007-04-01 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/ruby/osx/objc/oc_import.rb: Better deprecation warning messages. 2007-03-30 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/libffi.h, framework/src/objc/RBObject.m, framework/src/objc/libffi.m, framework/src/objc/OverrideMixin.m, tests/tc_thread.rb, tests/objc_test.m: Allows RubyCocoa to be called by Objective-C from a thread that isn't the main one, by routing the NSInvocation / FFI closure into the main thread via the main run loop. Prints a warning before routing. Added some test cases. 2007-03-29 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/ruby/osx/objc/oc_import.rb, framework/src/objc/libffi.m, framework/src/objc/ocdata_conv.m, framework/src/objc/OverrideMixin.m, framework/src/objc/BridgeSupport.m, framework/src/objc/cls_objcid.m, tests/tc_subclass.rb: Completed 64-bit support. 2007-03-28 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/mdl_osxobjc.h, framework/src/objc/cls_objcid.m: Started working on the 64-bit support. 2007-03-24 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/ruby/osx/objc/oc_exception.rb, framework/src/ruby/osx/objc/oc_types.rb, framework/src/ruby/osx/objc/oc_bundle_support.rb, framework/src/ruby/osx/objc/oc_import.rb, framework/src/objc/RBRuntime.m, framework/src/objc/internal_macros.h: - Make sure DLOG macros are active only if $DEBUG or $RUBYCOCOA_DEBUG are true (and not $VERBOSE or $RUBYCOCOA_VERBOSE) ; - Removed warnings. * framework/src/objc/libffi.m, framework/src/objc/BridgeSupport.m: Some support for the next BridgeSupport format (value64, le_value and be_value attributes for the enum element). Coerce the return value of FFI dispatch at the beginning. 2007-03-24 Fujimoto Hisa <hisa@fobj.com> * framework/src/objc/RubyCocoa.m: oops! svn add and commit the file. 2007-03-23 Fujimoto Hisa <hisa@fobj.com> * Rakefile: Added rakefile with targets build, clean, install, minclean, test and package. * pre-config.rb, install.rb, metaconfig, framework/RubyCocoa.xcodeproj/project.pbxproj, framework/GeneratedConfig.xcconfig.in: Added option `--rubycocoa-framework-version=name' in config phase for FRAMEWORK_VERSION value of xcodebuild. The default value is "A" * framework/RubyCocoa.xcodeproj/project.pbxproj, framework/src/objc/RubyCocoa.h: Added Objective-C version of API for initialize/load. 2007-03-20 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/RBObject.m: Better logs. * framework/tool/gen_bridge_metadata.rb: Fixed a bug when overriding BOOL types for informal protocols. 2007-03-19 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/libffi.m, framework/src/objc/ocdata_conv.m, tests/tc_passbyref.rb: Added support for getting C_ARY_B type arguments by reference. Added a test case. * framework/bridge-support-exceptions/AppKit.xml: Added missing exception data. 2007-03-16 Fujimoto Hisa <hisa@fobj.com> * framework/src/ruby/osx/objc/oc_import.rb, framework/src/objc/mdl_osxobjc.m, framework/src/objc/RBRuntime.m: Added constants OSX::RUBYCOCOA_FRAMEWORK_PATHS which includes each path to private/shared Frameworks directory for an application/bundles. require_framework search into each private/shared framework path for an application/bundles. 2007-03-16 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/BridgeSupport.gperf, framework/src/objc/BridgeSupportLexer.h, framework/src/objc/BridgeSupport.m, tests/tc_constants.rb: Added support for string constants. Added test cases. * framework/tool/gen_bridge_metadata.rb: Emit metadata for string constants. 2007-03-16 Fujimoto Hisa <hisa@fobj.com> * framework/src/ruby/osx/objc/oc_import.rb: Allowed to put BridgeSupport directory into the Resources of the application/bundle. It may be for 3rd party framework/library which is not aware of BridgeSupport. * framework/src/objc/mdl_osxobjc.m, framework/src/objc/RBRuntime.m: Added constants OSX::RUBYCOCOA_SIGN_PATHS which includes each path to BridgeSupport directory for the framework and an application/bundles. * framework/src/ruby/osx/objc/oc_import.rb: Allowed to put BridgeSupport directory into the Resources of RubyCocoa.framework. for portability of RubyCocoa.framework. * framework/src/objc/mdl_osxobjc.m, framework/src/objc/RBRuntime.m: Added constants OSX::RUBYCOCOA_RESOURCES_PATH 2007-03-16 Laurent Sansonetti <lsansonetti@apple.com> * framework/bridge-support-exceptions/AddressBook.xml, framework/bridge-support-exceptions/Foundation.xml, framework/bridge-support-exceptions/AppKit.xml, framework/bridge-support-exceptions/QuartzCore.xml: Fixed config phase. 2007-03-15 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/RBRuntime.m: Do not crash if one resource (for example rb_main.rb) isn't found, but propose a clear message to the user instead. * framework/tool/gen_bridge_metadata.rb: - Override the informal protocol method types for 'BOOL' types ; - Make sure formal protocol methods are added to the NSObject class ; - Override 'BOOL *' types with '^B'. 2007-03-13 Laurent Sansonetti <lsansonetti@apple.com> * framework/tool/gen_bridge_metadata.rb: Better detection of Objective-C methods, make sure exception markup is properly merged for method arguments and return value. 2007-03-13 Fujimoto Hisa <hisa@fobj.com> * framework/src/objc/cls_objcptr.m: Added methods ObjcPtr#encoding and ObjcPtr#regard_as. the regard_as is to specify the encoding for the receiver. Modified ObjcPtr.new to specify encoding and size. Modified ObjcPtr#[] to get decoded values as an array. 2007-03-12 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/libffi.h, framework/src/objc/libffi.m, framework/src/objc/ocdata_conv.h, framework/src/objc/ocdata_conv.m, framework/src/objc/OverrideMixin.m, framework/src/objc/BridgeSupport.m, framework/tool/gen_bridge_metadata.rb, tests/tc_types.rb, tests/tc_nsdata.rb: Added basic support for function pointers arguments. gen_bridge_metadata annotates them and RubyCocoa is now able to convert Ruby Proc objects to function pointer handlers by creating a FFI closure. Added test cases. 2007-03-08 Laurent Sansonetti <lsansonetti@apple.com> * framework/tool/gen_bridge_metadata.rb: - Better ignored header exceptions support ; - Properly define the import directive by keeping sub-directories within the headers directory. 2007-03-07 Laurent Sansonetti <lsansonetti@apple.com> * framework/tool/gen_bridge_metadata.rb: - When generating the exceptions template, use 'o' instead of 'out' for the default type modifier attribute value ; - Fail with a human-readable message when a given framework could not be located. 2007-03-05 Laurent Sansonetti <lsansonetti@apple.com> * sample/CIExposureSample/.gdb_history: Removed. * sample/CocoaRepl/Info.plist: Added missing CFBundleShortVersionString. * framework/tool/gen_bridge_metadata.rb: Do not do 64-bit magic unless '--enable-64' is provided. 2007-03-02 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/mdl_osxobjc.m: When wrapping a returned ocid in a Ruby object, if the wanted class name can't be a constant (because starting with '_' or [a-z]), try to use the superclass name when possible. * tests/tc_attachments.rb, framework/src/ruby/osx/objc/oc_attachments.rb: Added Hash-like interface to NSUserDefaults. Added test cases. * sample/RaiseMan/PreferenceController.rb, sample/RaiseMan/AppController.rb, sample/RaiseMan/MyDocument.rb: Removed mixing of old NSDictionaryAttachment module in NSUserDefaults. * framework/src/objc/RBRuntime.m, framework/src/objc/internal_macros.h: Grab the RUBYCOCOA_VERBOSE global variable value only once. 2007-03-02 Fujimoto Hisa <hisa@fobj.com> * framework/src/objc/RBRuntime.m: Added Init_stack for loading multiple bundles. * sample/Pong, sample/RubyRocks, sample/TypingTutor: rewritten with modern sytanx instead of obsoleted syntax. * framework/src/objc/RBRuntime.m, framework/src/objc/internal_macros.h, framework/src/ruby/osx/objc/oc_exception.rb, framework/src/ruby/osx/objc/oc_bundle_support.rb, framework/src/ruby/osx/objc/oc_import.rb, tests/tc_exception.rb: - Defined global variable `$RUBYCOCOA_VERBOSE' to record the detail of RubyCocoa runtime information for debugging RubyCocoa itself. You can use $VERBOSE of Ruby's pre-defined global variable for same purpose as well. - Recorded better backtrace information of an exception which is raised from user's ruby program. It's debugging a ruby program linked with RubyCocoa. * framework/src/objc/RBObject.m, framework/src/objc/RBRuntime.m: implemented RBNotifyException as framework of notification/logging a reasonable message with backtrace for exception. 2007-03-01 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/ruby/osx/objc/oc_import.rb, tests/tc_ovmix.rb: Fixed direct method override feature for Ruby > 1.8.2 and < 1.8.5. * framework/src/ruby/osx/objc/oc_import.rb: Reverted change introduced by r1601 as it breaks the direct method override feature. * framework/src/objc/RBRuntime.m: Only log if $DEBUG is true. * framework/src/ruby/osx/objc/oc_attachments.rb, framework/src/ruby/osx/objc/oc_wrapper.rb, framework/src/ruby/osx/objc/oc_attachments_appkit.rb, tests/tc_attachments.rb, tests/tc_wrapper.rb: - Removed old methods (to_a, to_f and to_i) in oc_wrapper ; - Refactored attachments to add methods directly to the Objective-C class and not using modules anymore ; - Fixed NSEnumerator#to_a ; - Updated test cases. 2007-03-01 Fujimoto Hisa <hisa@fobj.com> * framework/src/objc/RBRuntime.m, framework/src/objc/mdl_bundle_support.m, framework/src/ruby/osx/objc/oc_bundle_support.rb: Ensured that initialization was not executed twice or more per one process. Better exception handling of Ruby program in initialization API. 2007-02-28 Laurent Sansonetti <lsansonetti@apple.com> * framework/tool/gen_bridge_metadata.rb: Added preliminary support for 64-bit encodings. * framework/src/ruby/osx/objc/oc_wrapper.rb: Work around a bug when #method_missing is called when trying to call an existing Ruby private method. Make sure we raise a MethodError exception instead. * framework/bridge-support-exceptions/AddressBook.xml, framework/post-config.rb, framework/tool/gen_bridge_metadata.rb: - Do not explicitly specify the ObjC language when calling cpp(1) ; - Override CFTypeRef and AddressBook's ABRecordRef types with '@' ; - Misc fixes in the generator. 2007-02-28 Fujimoto Hisa <hisa@fobj.com> * framework/src/ruby/osx/objc/oc_import.rb: allowed to give a block to objc_method for implementation of the method. added def_objc_method. 2007-02-28 kimura wataru <kimuraw@i.nifty.jp> * framework/src/ruby/osx/objc/oc_import.rb: ns_override should not invoke for Objective-C classes. 2007-02-27 Laurent Sansonetti <lsansonetti@apple.com> * framework/bridge-support-exceptions/OpenGL.xml, framework/tool/gen_bridge_metadata.rb: Fix the CGLContextObj type, this fixes the crasher in some OpenGL samples. * framework/bridge-support-exceptions/CoreGraphics.xml, framework/src/objc/BridgeSupport.gperf, framework/src/objc/BridgeSupportLexer.h, framework/src/objc/BridgeSupport.m, framework/tool/gen_bridge_metadata.rb: Added function aliasing support, make sure the __CF* inline functions are still exposed. 2007-02-27 Fujimoto Hisa <hisa@fobj.com> * sample/CocoaRepl/ReplController.rb: fixed a bug missing ReplController. 2007-02-26 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/mdl_objwrapper.m, framework/src/objc/ocdata_conv.m, framework/src/objc/OverrideMixin.m: Fixed memory leaks in Ruby <-> ObjC messaging. * framework/src/objc/cls_objcid.m: Fixed ObjCID#inspect. 2007-02-26 Fujimoto Hisa <hisa@fobj.com> * sample/CocoaRepl: added example of read-eval-print loop application using RBApplicationInit. * framework/src/objc/RBRuntime.h, framework/src/objc/RBRuntime.m, framework/src/objc/internal_macros.h, framework/src/objc/RubyCocoa.h, framework/src/objc/mdl_bundle_support.h, framework/src/objc/mdl_bundle_support.m, framework/src/ruby/osx/objc/oc_bundle_support.rb sample/RubyAnywhere/RubyAnywhereLoader.m, sample/VPRubyPluginEnabler/VPRubyPluginEnabler.m: implemented the API candidate for release 1.0. added RBApplicationInit and modified RBBundleInit. 2007-02-24 Fujimoto Hisa <hisa@fobj.com> * framework/src/objc/RBObject.m, framework/src/objc/RBRuntime.m, framework/src/objc/internal_macros.h: called Init_stack in RBObject#rbobjRespondsToSelector, when initialized using RBBundleInit and FREQUENTLY_INIT_STACK_FLAG is flagged. added (secret) api RBBundleInit2 to specify the frequently_init_stack_flag. * framework/src/objc/mdl_bundle_support.m, framework/src/objc/RBRuntime.m: acceptted nil for the 2nd argument, which type is Class, of RBBundleInit. it means using [NSBundle mainBundle] instead of bundleForClass for looking up the bundle related with the 2nd argument. So, it's able to initialize an app using RBBundleInit (or RBBundleInit2). it's an alternative way of using RBApplicationMain. * cls_objcptr.m, cls_objcptr.h: modified type of the encoding field of struct _objcptr_data as const. 2007-02-22 kimura wataru <kimuraw@i.nifty.jp> * framework/src/objc/ocdata_conv.h, framework/src/objc/ocdata_conv.m: - remove unused function rbobj_to_nsselstr(). * framework/src/objc/ocdata_conv.m: - fix: break argument in rbobj_to_cselstr() when the argument is an instance of String. 2007-02-22 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/ocdata_conv.m, framework/src/objc/BridgeSupport.h, framework/src/objc/BridgeSupport.m, tests/tc_objcptr.rb: Now converting Ruby arrays to C-like arraysfor arguments of type 'in' that represent an array of a variable length. Added a test case. * framework/src/objc/BridgeSupport.m: Better type modifier analysis. * framework/bridge-support-exceptions/OpenGL.xml: Expose missing opaque types. * framework/bridge-support-exceptions/CoreGraphics.xml: Added missing exception data. * framework/bridge-support-exceptions/CoreGraphics.xml, framework/src/objc/BridgeSupport.h, framework/src/objc/BridgeSupport.m, framework/tool/gen_bridge_metadata.rb, tests/tc_types.rb: - Added possibility to ignore enumerations ; - Mark CoreGraphics' kCGDirectMainDisplay as ignored ; - Added a test case. * framework/bridge-support-exceptions/AppKit.xml, framework/tool/gen_bridge_metadata.rb: - Discover more numeric #define constants ; - Describes the NSColorSpace and NSWindow methods dealing with opaque types and do not ignore them anymore ; - Skip all symbols prefixed by '_' ; - Mark boolean method arguments. * framework/tool/verify_bridge_metadata.rb, framework/tool/verify_bridge_metadata-old.rb: - Renamed previous verifier as -old ; - Added a new version of the verifier, based on the intermediate Ruby files generated by gen_bridge_doc. 2007-02-21 Laurent Sansonetti <lsansonetti@apple.com> * framework/tool/gen_bridge_doc/lib/lib/class_def.rb, framework/tool/gen_bridge_doc/lib/lib/function_def.rb: - Define module functions properly ; - Do not define fake modules for functions, protocols and additions. * framework/tool/gen_bridge_doc/lib/cocoa_ref.rb, framework/tool/gen_bridge_doc/lib/lib/constant_def.rb: Do not show duplicate constants. * framework/tool/gen_bridge_doc/lib/lib/method_def.rb: Make sure we don't generate arguments with upcase names. * framework/tool/gen_bridge_doc/lib/lib/constant_def.rb: Do not reveal the constant values and use nil instead. * framework/tool/gen_bridge_doc/lib/lib/function_def.rb: - Fixed the function arguments parsing ; - Make sure we don't generate arguments with upcase names ; - Make sure we don't generate arguments with names suffixed by [] ; - Do not use '...' but '*args' for argument names. * pre-config.rb: When using /usr/lib/libffi.a, pass -I/usr/include/ffi to the compiler. * framework/src/objc/ocdata_conv.m, framework/src/objc/cls_objcptr.h, framework/src/objc/cls_objcptr.m, tests/tc_objcptr.rb: Added the possibility to retrieve components from an ObjCPtr instance giving an index. This works only for ObjCPtr objects returned by RubyCocoa and the user is responsible to pass the right index value, otherwise it may crash the program. Added tests cases. 2007-02-20 Fujimoto Hisa <hisa@fobj.com> * framework/src/objc/RBRuntime.m: removed Init_stack in RBBundleInit, because it's already called in the ruby_init. * framework/src/ruby/osx/objc/oc_import.rb: replaced some arguments of the class_eval(module_eval) as a block instead of a string if it's able. * sample/VPRubyPluginEnabler: aware of the standard user's "Script PlugIns" folder for ruby script. implemented "Run Page as Ruby Plugin" and "Save Page as Ruby Plugin..." command same as Lua version. 2007-02-20 Laurent Sansonetti <lsansonetti@apple.com> * framework/tool/rb_nibtool.rb: The --plist option doesn't take an argument anymore and dumps the plist on the standard output. * framework/src/ruby/osx/objc/oc_import.rb: Make sure to ignore classes that start with a lower character. Normally Ruby forbids this but some SWIG-based extensions have such class names. Thanks to Vincent Isambart. * install.rb: Better (complete) clean task. 2007-02-19 Laurent Sansonetti <lsansonetti@apple.com> * framework/bridge-support-exceptions/CoreFoundation.xml, framework/src/objc/mdl_osxobjc.h, framework/src/objc/mdl_osxobjc.m, framework/src/objc/ocdata_conv.m, framework/src/objc/BridgeSupport.h, framework/src/objc/cls_objcid.h, framework/src/objc/BridgeSupport.m, framework/src/objc/cls_objcid.m, framework/tool/gen_bridge_metadata.rb, tests/tc_types.rb, tests/objc_test.m: Added support for magic-cookie constants (kCFAllocatorUseContext). These constants are marked in the bridge support files. Quick refactoring on some parts of the code. Added test cases. 2007-02-18 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/ruby/osx/objc/oc_import.rb, tests/tc_bs.rb: Better fix for last fix. Added a test case. 2007-02-18 Fujimoto Hisa <hisa@fobj.com> * sample/VPRubyPluginEnabler: use functions/constans (e.g. NSRunAlertPanel) in sample scripts. * sample/Fortune.wdgt/SimplePlugin/MyPluginClass.rb: added require_framework 'WebKit' to make sure bridge support files are loaded. * framework/src/ruby/osx/objc/oc_import.rb: require_framework & framework_loaded? make sure that bridge support files are loaded even if the framework is loaded by outside of rubycocoa (e.g. host application of bundle) 2007-02-15 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/BridgeSupport.m: Do not access ruby_frame->last_func directly. 2007-02-15 Fujimoto Hisa <hisa@fobj.com> * framework/post-config.rb: built a bridge support dylib file as universal binary when the build-universal option is specified. * framework/src/objc/objc_compat.h: added compat macros for class_getSuperclass, method_getName. enclosed macro variables with parentheses to avoid a problem by implicit priority. * framework/src/objc/BridgeSupport.m, framework/src/objc/mdl_bundle_support.m: included objc_compat.h. 2007-02-14 Laurent Sansonetti <lsansonetti@apple.com> * sample/Fortune.wdgt/Info.plist, sample/Fortune.wdgt/SimplePlugin/Info.plist: Fixed incorrect CFBundleShortVersionString, added missing CFBundleDevelopmentRegion. * framework/RubyCocoa.xcodeproj/project.pbxproj, framework/src/objc/mdl_bundle_support.m, framework/src/objc/mdl_objwrapper.m, framework/src/objc/RBClassUtils.m, framework/src/objc/objc_compat.h, framework/src/objc/OverrideMixin.h, framework/src/objc/OverrideMixin.m, framework/src/objc/BridgeSupport.m: Ported to the Objective-C 2.0 runtime, keeping compatibility with the previous runtime. * framework/tool/rb_nibtool.rb: Added Ruby nibtool utility, by Chris Mcgrath, slightly modified to allow to dump the nib property list. * framework/tool/gen_bridge_metadata.rb: - Honors the CFLAGS environment variable when generating the dylib ; - Generate the dylib with appropriate current and compatibility version numbers. 2007-02-14 Fujimoto Hisa <hisa@fobj.com> * sample/Fortune.wdgt: added an example of Dashboard widget. * framework/src/objc/mdl_bundle_support.m: replaced rbobj_get_ocid with rbobj_to_nsobj. * framework/src/ruby/osx/objc/oc_bundle_support.rb: inserted ad-hoc magic codes (just calling OSX.NSClassFromString) around the block call in the init_for_bundle, to suppress a bus error. * framework/src/ruby/osx/objc/oc_import.rb: add `:selector' into the OCTYPES. 2007-02-13 Laurent Sansonetti <lsansonetti@apple.com> * sample/RubyAnywhere/Info.plist, sample/VPRubyPluginEnabler/Info.plist, sample/ViewModelDemo/English.lproj/InfoPlist.strings: Fixed inappropriate CFBundleShortVersionString, malformed CFBundleIdentifier and missing CFBundleShortVersionString. * framework/tool/gen_bridge_metadata.rb, framework/bridge-support-exceptions, framework/src/objc/BridgeSupport.m: - New iteration on the metadata format ; - Fixed a bug when retrieving extern definitions ; - Fixed a bug when getting the value of negative enumerations. 2007-02-13 Fujimoto Hisa <hisa@fobj.com> * merged the bundle-support. * sample/VPRubyPluginEnabler: added VoodooPad plugin convetions. the VPRubyScript#vp_spec is configuration for menu item. the VPRubyScript#vp_action is a definition of a script procedure. the action is evaluated when an user selects the menu item. so the script is able to modify without re-launch the app. (2007-02-10) * framework/src/objc/RBRuntime.m: fixed to check the result of bundle_support_load by rb_obj_is_kind_of instead of rb_obj_is_instance_of. (2007-02-10) * sample/VPRubyPluginEnabler: VoodooPad plugin example works good. (2007-02-09) * framework/src/ruby/osx/objc/oc_bundle_support.rb, framework/src/ruby/osx/objc/oc_import.rb, framework/src/objc/mdl_bundle_support.m: moved the implementation of method swizzling for NSBundle.bundleForClass into Objective-C from Ruby side. (2007-02-09) * framework/src/ruby/osx/objc/oc_bundle_support.rb, framework/src/ruby/osx/objc/oc_import.rb: fixed to avoid a bus error by the adhoc way, inserted NSClassFromString without mean. (2007-02-09) * framework/src/ruby/osx/objc/oc_bundle_support.rb, framework/src/objc/mdl_bundle_support.h, framework/src/objc/mdl_bundle_support.m, framework/src/objc/RBRuntime.m, framework/RubyCocoa.xcodeproj/project.pbxproj: primitive/core part of Bundle Support implementation move to Objecive-C from Ruby. Addtional part is still in Ruby. (2007-02-09) * framework/src/objc/RBRuntime.h, framework/src/objc/RBRuntime.m: changed some RBBundleInit API. Objecive-C class defiend by ruby program (1st argument) bound with the bundle related with 2nd argument class. New 3rd argument can use for passing some data from objective-c world to ruby world. and then, the result means success when YES and failed when NO. (2007-02-09) * framework/src/ruby/osx/objc/oc_bundle_support.rb: removed init_bundle_for_class, and added init_for_bundle ... OSX.init_for_bundle do |bdl, param, log| # bdl - the bundle related with the 2nd argument of RBBundleInit # param - the 3rd argument of RBBundleInit as optional data # log - logger for this block log.info("param=%p", param.to_s) require 'YourObjcClass' # the class bound with the bdl instead # of the mainbundle ... end * sample/RubyAnywhere, sample/VPRubyPluginEnabler: modified for current bundle support spec. (2007-02-09) * framework/src/ruby/osx/objc/oc_bundle_support.rb: checked existence of module variables in BundleSupport before I define it. (2007-02-08) * framework/src/ruby/osx/objc/oc_bundle_support.rb, sample/VPRubyPluginEnabler/vpr_init.rb, sample/RubyAnywhere/ruby_anywhere_init.rb: implement the init_bundle_for_class. usage is OSX.init_bundle_for_class(BUNDLE_PRINCIPLE_CLASS) { ... define classes in the bundle context ... } * bundle-support branch - temporary branch (from apple-unstable) for *EXPERIMENT* of bundle/plugin support. Maybe these API/SPEC is dynamically changed for a while. (2007-02-07) * framework/RubyCocoa.xcodeproj/project.pbxproj, framework/src/ruby/osx/objc/oc_bundle_support.rb, framework/src/ruby/osx/objc/oc_all.rb framework/src/ruby/osx/objc/oc_import.rb: temporary implementation for bundle/plugin support by ruby program. (2007-02-07) 2007-02-12 kimura wataru <kimuraw@i.nifty.jp> * framework/pre-install.rb: Fix the .{bridgesupport|dylib} files are not installed. 2007-02-10 Laurent Sansonetti <lsansonetti@apple.com> * framework/pre-install.rb: Install the .{bridgesupport|dylib} files and not .xml files anymore. 2007-02-09 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/ruby/osx/objc/oc_import.rb, framework/src/objc/libffi.m, framework/src/objc/BridgeSupport.m: - When looking for metadata files within frameworks bundles, look at the Resources/BridgeSupport directory ; - Fixed a dispatching issue about omitted pointers and CFType-like args. * framework/tool/gen_bridge_metadata.rb: - Now working when passing a framework path with spaces in it ; - Don't clash with MyClass when generating the dummy executables, as it could be used in the target code ; - When passing a framework path, make sure we use the dir name to set the appropriate DYLD environment variable when running the dummy executables. * framework/src/objc/BridgeSupport.m, framework/src/ruby/osx/objc/oc_import.rb, framework/post-config.rb: - Not using the .xml extension for bridge support files anymore. Using .bridgesupport instead ; - Not looking for BridgeSupport.xml within the frameworks bundles anymore. Looking for TheFrameworkName.bridgesupport instead. * framework/tool/gen_bridge_metadata.rb: Better support for private headers. 2007-02-08 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/mdl_objwrapper.m: Make sure to return nil when easy dispatching void methods. * framework/bridge-support-exceptions/AppKit.xml, framework/src/objc/BridgeSupport.m, framework/post-config.rb, framework/tool/gen_bridge_metadata.rb, tests/tc_wrapper.rb: Inline functions are now described in the metadata files and a separate .dylib file that contains the exported calls is generated and installed at the same location than the XML files. Added a test case. 2007-02-06 Laurent Sansonetti <lsansonetti@apple.com> * framework/tool/gen_bridge_metadata.rb: Support for private frameworks/headers. * framework/src/objc/BridgeSupport.m: Don't try to retain nil objects. 2007-02-05 Fujimoto Hisa <hisa@fobj.com> * framework/src/objc/RBSlaveObject.m, framework/src/objc/RBObject.m, framework/src/objc/libffi.m, framework/src/objc/RBRuntime.h, framework/src/objc/RBRuntime.m, framework/src/objc/mdl_objwrapper.m, framework/src/objc/RBClassUtils.m, framework/src/objc/ocdata_conv.m, framework/src/objc/OverrideMixin.m, framework/src/objc/BridgeSupport.m, framework/src/objc/cls_objcid.m, framework/src/objc/internal_macros.h: moved some macros (for debugging) to internal_macros.h from RBRuntime.h. * framework/src/objc/RBRuntime.h, framework/src/objc/RBRuntime.m: modified an argument type of RBBundleInit to specify the current Bundle. * framework/src/objc/RBClassUtils.m: modified class_map_dic_add, and created an internal class named RBClassMapInfo. it's to keep a bundle object which is related with a class written by ruby (not yet implement). 2007-02-04 Eloy Duran <eloy.de.enige@gmail.com> * framework/tool/gen_bridge_doc/lib/lib/class_def.rb: Removed the extra framework namespaces from the class definition. 2007-02-01 Laurent Sansonetti <lsansonetti@apple.com> * sample/ViewModelDemo: Added new sample code contributed by Jim Getzen. 2007-02-02 kimura wataru <kimuraw@i.nifty.jp> * template/ProjectBuilder/Application/Cocoa-Ruby Core Data Application/AppDelegate.rb: fix a typo in AppDelegate#saveAction. 2007-02-01 Fujimoto Hisa <hisa@fobj.com> * framework/src/objc/RBRuntime.m: support multiple calling RBBundleInit() in a process. load_path_unshift() checked including the specified path. 2007-01-31 Eloy Duran <eloy.de.enige@gmail.com> * framework/tool/gen_bridge_doc/lib/PDFKit/PDFSelection.rb, framework/tool/gen_bridge_doc/lib/PDFKit/PDFView.rb, framework/tool/gen_bridge_doc/lib/PDFKit/PDFPage.rb, framework/tool/gen_bridge_doc/lib/PDFKit/PDFDocument.rb, framework/tool/gen_bridge_doc/rdocify_framework.rb, framework/tool/gen_bridge_doc.rb: - Added support for PDFKit. 2007-01-31 Eloy Duran <eloy.de.enige@gmail.com> * framework/tool/gen_bridge_doc/lib/QuartzCore/CIImage.rb, framework/tool/gen_bridge_doc/lib/QuartzCore/CIVector.rb, framework/tool/gen_bridge_doc/lib/QuartzCore/CISampler.rb, framework/tool/gen_bridge_doc/lib/QuartzCore/CIContext.rb, framework/tool/gen_bridge_doc/lib/QuartzCore/CIFilter.rb, framework/tool/gen_bridge_doc/lib/QuartzCore/CIFilterShape.rb, framework/tool/gen_bridge_doc/lib/QuartzCore/CIColor.rb, framework/tool/gen_bridge_doc/lib/QuartzCore/CIImageProviderProtocol.rb, framework/tool/gen_bridge_doc/lib/lib/method_def.rb: - Added support for the QuartzCore framework. 2007-01-31 Eloy Duran <eloy.de.enige@gmail.com> * framework/tool/gen_bridge_doc/lib/cocoa_ref.rb, framework/tool/gen_bridge_doc/lib/InstantMessage/IMService.rb, framework/tool/gen_bridge_doc.rb: - Added support for the InstantMessage framework. 2007-01-31 Eloy Duran <eloy.de.enige@gmail.com> * framework/tool/gen_bridge_doc/lib/AddressBook/ABSearchElement.rb, framework/tool/gen_bridge_doc/lib/cocoa_ref.rb, framework/tool/gen_bridge_doc/lib/lib/method_def.rb, framework/tool/gen_bridge_doc/lib/lib/class_def.rb, framework/tool/gen_bridge_doc/lib/lib/constant_def.rb, framework/tool/gen_bridge_doc/rdocify_framework.rb, framework/tool/gen_bridge_doc.rb: - Added support for the AddressBook framework ; - Added a check to see if there was any relevant info in a reference file before writing the file to disk ; - Added a description to the informal protocols and changed them from a class to a module. * ChangeLog: Fixed indentation in last ChangeLog entry. 2007-01-31 kimura wataru <kimuraw@i.nifty.jp> * framework/src/objc/mdl_objwrapper.m, framework/src/ruby/osx/objc/oc_import.rb, tests/tc_wrapper.rb: new methods objc_alias_method, objc_alias_class_method at OCClsWrapper. these methods enables to alias objc method of Cococa classes. 2007-01-30 Eloy Duran <eloy.de.enige@gmail.com> * framework/tool/gen_bridge_doc/lib/cocoa_ref.rb, framework/tool/gen_bridge_doc/lib/lib/class_def.rb, framework/tool/gen_bridge_doc/rdocify_framework.rb: - Added support for informal protocols. 2007-01-30 Eloy Duran <eloy.de.enige@gmail.com> * framework/tool/gen_bridge_doc/lib/cocoa_ref.rb, framework/tool/gen_bridge_doc/lib/Foundation/HTMLParserOverrides.rb, framework/tool/gen_bridge_doc/lib/lib/method_def.rb, framework/tool/gen_bridge_doc/lib/lib/class_additions.rb, framework/tool/gen_bridge_doc/lib/lib/class_def.rb, framework/tool/gen_bridge_doc/lib/lib/clean_up.rb, framework/tool/gen_bridge_doc/lib/lib/extras.rb, framework/tool/gen_bridge_doc/lib/lib/constant_def.rb, framework/tool/gen_bridge_doc/lib/lib/hpricot_proxy.rb, framework/tool/gen_bridge_doc/rdocify_framework.rb: - Improved constants parsing ; - Added support for framework constants ; - Added override for the foundation constants ; - Added fix for local vars that are named class, they are now renamed to klass. 2007-01-26 Eloy Duran <eloy.de.enige@gmail.com> * framework/tool/gen_bridge_doc/lib/cocoa_ref.rb, framework/tool/gen_bridge_doc/lib/lib/method_def.rb, framework/tool/gen_bridge_doc/lib/lib/datatype_def.rb, framework/tool/gen_bridge_doc/lib/lib/hpricot_proxy.rb, framework/tool/gen_bridge_doc/rdocify_framework.rb: - Fixed some opaque methods in the wrapped structures that were showing up where they shouldn't ; - Fixed some little bugs. 2007-01-26 Eloy Duran <eloy.de.enige@gmail.com> * framework/tool/gen_bridge_doc/lib/cocoa_ref.rb, framework/tool/gen_bridge_doc/lib/lib/method_def.rb, framework/tool/gen_bridge_doc/lib/lib/class_additions.rb, framework/tool/gen_bridge_doc/lib/lib/class_def.rb, framework/tool/gen_bridge_doc/lib/lib/function_def.rb, framework/tool/gen_bridge_doc/lib/lib/notification_def.rb, framework/tool/gen_bridge_doc/lib/lib/clean_up.rb, framework/tool/gen_bridge_doc/lib/lib/constant_def.rb, framework/tool/gen_bridge_doc/lib/lib/datatype_def.rb, framework/tool/gen_bridge_doc/lib/lib/hpricot_proxy.rb, framework/tool/gen_bridge_doc/rdocify_framework.rb: - Added support for ruby wrapped structures ; - Split up huge file into several maintainable files. 2007-01-26 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/BridgeSupport.h, framework/src/objc/BridgeSupport.m, tests/tc_types.rb: Added OSX::Boxed.opaque?, a convenience method to determine if a given wrapped type has been declared as opaque in the metadata file. * framework/src/objc/BridgeSupport.m, tests/tc_types.rb: Added OSX::Boxed.fields, a convenience method to get the list of fields in a given boxed class (only works on structures). 2007-01-26 Eloy Duran <eloy.de.enige@gmail.com> * framework/tool/gen_bridge_doc/lib/cocoa_ref.rb, framework/tool/gen_bridge_doc/lib/Foundation/FoundationFunctions.rb, framework/tool/gen_bridge_doc/lib/ApplicationKit/ApplicationKitFunctions.rb, framework/tool/gen_bridge_doc/rdocify_framework.rb, framework/tool/gen_bridge_doc.rb: - Added support for functions ; - Added overrides for functions in AppKit & Foundation ; - Fixed objc_method to objc_send ; - Every framework now gets put in it's own module, this extra namespace is for easier doc browsing. 2007-01-26 Fujimoto Hisa <hisa@fobj.com> * framework/src/ruby/osx/objc/oc_import.rb: deperecated ns_outlet(s). use ib_outlet(s) instead. * framework/src/ruby/osx/objc/oc_import.rb, tests/tc_subclass.rb: added ib_action as a declaration for a IBAction method. if given a block, it mean the implementation of the action. thanks to Chris McGrath! 2007-01-24 Laurent Sansonetti <lsansonetti@apple.com> * sample/PathDemo: Full (pure Ruby) printing capabilities. * framework/src/objc/libffi.h, framework/src/objc/RBObject.m, framework/src/objc/libffi.m, framework/src/objc/mdl_osxobjc.m, framework/src/objc/mdl_objwrapper.m, framework/src/objc/RBClassUtils.m, framework/src/objc/ocdata_conv.h, framework/src/objc/ocdata_conv.m, framework/src/objc/BridgeSupport.h, framework/src/objc/OverrideMixin.m, framework/src/objc/BridgeSupport.m, tests/tc_passbyref.rb, tests/tc_ovmix.rb, tests/tc_subclass.rb, tests/objc_test.m: - Refactored the encoding-based data conversion routines ; - Added support for pointers to boxed types (from ObjC to Ruby) ; - Updated test cases. * sample/PathDemo/DemoView.rb, framework/src/objc/cls_objcid.m: DemoView has now printing capabilities. Make sure #release does tell the Ruby proxy object to not release the ObjC object a second time. * framework/tool/gen_bridge_metadata.rb: Discover more constants. * framework/src/ruby/osx/objc/oc_exception.rb, framework/src/objc/mdl_osxobjc.m, framework/src/objc/ocexception.m: Improved automatic class constant retrieval, fixed a bug in the OCException class (making sure #userInfo is binded to the right instance variable). 2007-01-23 Laurent Sansonetti <lsansonetti@apple.com> * misc/libffi/Makefile.rubycocoa, framework/RubyCocoa.xcodeproj/project.pbxproj: Build everything with -O3. This is to make sure the FFI-generated closures are callable from the generated objc_msgSent_stret calls by GCC. Otherwise closures return C structure may cause memory corruption. Thanks a lot to Ronald Oussoren! 2007-01-23 Fujimoto Hisa <hisa@fobj.com> * framework/src/objc/RBRuntime.h, framework/src/objc/RBRuntime.m: Added RBBundleInit new (tentative) API to develop a Bundle. This is a fairly experimental implementation currently. Refactored some static functions for filepath management. It should refactor more later about malloc/free issue. (thanks to Kouhei Sutou for RBBundleInit) 2007-01-22 Laurent Sansonetti <lsansonetti@apple.com> * sample/PathDemo: Partial printing support (work in progress, still not functional). * framework/src/objc/RBObject.h, framework/src/objc/RBObject.m, framework/src/objc/ocdata_conv.m, framework/src/objc/OverrideMixin.m, tests/tc_subclass.rb, tests/objc_test.m: Partial fix for the Cocoa printing bug. 2007-01-22 Fujimoto Hisa <hisa@fobj.com> * framework/pre-doc.rb, framework/tool/gen_bridge_doc/lib/cocoa_ref.rb, framework/tool/gen_bridge_doc/rdocify_framework.rb, framework/tool/gen_bridge_doc.rb: defined three functional methods (command, ruby, rdoc) as the wrapper for the system command with checking result. These methods raise RuntimeError when something error. try loading the standalone hpricot at first, before try loading the rubygems. 2007-01-22 Eloy Duran <eloy.de.enige@gmail.com> * framework/tool/gen_bridge_doc/lib/cocoa_ref.rb, framework/tool/gen_bridge_doc/lib/clean_up.rb: Extracted the string clean up methods into a separate file, this to make it easier for others to add the appropriate clean up code. 2007-01-22 Chris Mcgrath <c_r_mcgrath@yahoo.co.uk> * framework/src/ruby/osx/objc/oc_import.rb: Fixed a bug in the direct override code. 2007-01-22 Eloy Duran <eloy.de.enige@gmail.com> * framework/tool/gen_bridge_doc/lib/cocoa_ref.rb: fixed some mis-encoded chars. (thanks to Chris Mcgrath) 2007-01-22 Eloy Duran <eloy.de.enige@gmail.com> * framework/tool/gen_bridge_doc/lib/cocoa_ref.rb: Modified the way the objc_method style code is layout, they are now nicely aligned. 2007-01-21 Eloy Duran <eloy.de.enige@gmail.com> * pre-install.rb, framework/tool/gen_bridge_doc/lib/cocoa_ref.rb, framework/tool/gen_bridge_doc.rb: - The RDoc generator now uses the framework in the build dir ; - Workarounds for bug, that was fixed in the last rev, removed ; - Check added for the individual html and ri dirs before trying to install them. 2007-01-21 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/ruby/osx/objc/oc_import.rb, framework/src/objc/mdl_objwrapper.m, tests/tc_wrapper.rb: Fixed the import of NSProxy-based classes. 2007-01-21 Eloy Duran <eloy.de.enige@gmail.com> * framework/tool/gen_bridge_doc.rb: fixed a bug where gen_bridge_doc.rb would call rdocify_framework.rb with the ruby interpreter in the user env instead of the one that's used to call gen_bridge_doc.rb. 2007-01-21 Eloy Duran <eloy.de.enige@gmail.com> * pre-install.rb, framework/pre-doc.rb, framework/tool/gen_bridge_doc/lib/cocoa_ref.rb, framework/tool/gen_bridge_doc/rdocify_framework.rb, framework/tool/gen_bridge_doc.rb, install.rb: - Modified rdocify_framework.rb to accept a optional output dir ; - The install.rb doc phase now creates all the output files in framework/bridge-doc ; - The install.rb clean phase now also removes the framework/bridge-doc dir ; - Added workarounds for a bug where trying to get the superclass of a subclass of NSProxy results in a trap. 2007-01-21 Eloy Duran <eloy.de.enige@gmail.com> * pre-install.rb: Fixed a bug in the path to the RI files. * framework/tool/gen_bridge_doc/lib/cocoa_ref.rb, framework/tool/gen_bridge_doc/lib/Foundation/NSDate.rb, framework/tool/gen_bridge_doc/lib/Foundation/NSDateFormatter.rb, framework/tool/gen_bridge_doc/lib/Foundation/NSPortCoder.rb, framework/tool/gen_bridge_doc/lib/ApplicationKit/NSTableColumn.rb, framework/tool/gen_bridge_doc/lib/ApplicationKit/NSFont.rb, framework/tool/gen_bridge_doc.rb: - Added inheritance support ; - Added objc_method style definitions to the source view (click on the method itself for a popup) ; - Modified gen_bridge_doc.rb to accept a output path. 2007-01-20 Laurent Sansonetti <lsansonetti@apple.com> * template/**/TemplateInfo.plist: Converted encoding to UTF-8 and format to XML (from old OpenStep format). 2007-01-20 Eloy Duran <eloy.de.enige@gmail.com> * framework/tool/gen_bridge_doc/lib/cocoa_ref.rb, framework/tool/gen_bridge_doc.rb: Modified the way that the methods in the "See Also" sections are being displayed. They are now in ruby style, so that RDoc creates links for them. 2007-01-20 Eloy Duran <eloy.de.enige@gmail.com> * pre-install.rb: Modified the install phase to install the RI files in the right place. (thanks to Norberto Ortigoza) 2007-01-20 Fujimoto Hisa <hisa@fobj.com> * framework/src/objc/RBRuntime.m: fixed memory leak for calling RBApplicationMain more than once. (thanks Kouhei Sutou for suggestion) * tests/tc_bs.rb: Fixed test to spawn Ruby command lines to add option for seeking library path for ../lib and ../ext/rubycocoa. 2007-01-19 Eloy Duran <eloy.de.enige@gmail.com> * framework/tool/gen_bridge_doc/lib/cocoa_ref.rb, framework/tool/gen_bridge_doc/lib/Foundation/NSDate.rb, framework/tool/gen_bridge_doc/lib/Foundation/NSDateFormatter.rb, framework/tool/gen_bridge_doc/lib/Foundation/NSPortCoder.rb, framework/tool/gen_bridge_doc/rdocify_framework.rb, framework/tool/gen_bridge_doc.rb: - Enhanced reference html file finder method ; - Added support for deprecated classes ; - Added override modules for Foundation: NSDate.rb, NSDateFormatter.rb, NSPortCoder.rb ; - Added rdoc for: Foundation ; - Added rdoc for: WebKit ; - Added rdoc for: CoreData ; - Added rdoc for: QTKit 2007-01-19 Laurent Sansonetti <lsansonetti@apple.com> * pre-install.rb, framework/pre-doc.rb, framework/tool/gen_bridge_doc.rb, install.rb: - Modified the RDoc generator to generate RI files as well as HTML files ; - Added a new install.rb task, 'doc', that starts the RDoc generator ; - Modified the install phase to install the HTML files in the right place. RI files still uninstalled. * framework/bridge-support-exceptions/CoreGraphics.xml: Don't try to lookup tollfree-bridged CF classes as it may raise some allocation errors. * framework/src/ruby/osx/objc/oc_import.rb: Make sure builtin frameworks can't be required twice. * framework/src/objc/RBObject.h, framework/src/objc/RBObject.m, framework/src/objc/ocdata_conv.m: Better RBObject retention mechanism. * framework/src/objc/BridgeSupport.m: Fixed the messaging of functions with variadic parameters. 2007-01-19 Fujimoto Hisa <hisa@fobj.com> * framework/src/ruby/osx/objc/oc_import.rb, framework/src/ruby/osx/objc/cocoa_macros_appkit.rb, framework/src/ruby/osx/objc/oc_wrapper.rb: using the warn as better way instead of sending a message to $stderr. 2007-01-19 Eloy Duran <eloy.de.enige@gmail.com> * framework/tool/gen_bridge_doc/lib/cocoa_ref.rb, framework/tool/gen_bridge_doc/lib/ApplicationKit/NSTableColumn.rb, framework/tool/gen_bridge_doc/lib/ApplicationKit/NSFont.rb, framework/tool/gen_bridge_doc/rdocify_framework.rb, framework/tool/gen_bridge_doc.rb: - Added support for class additions, they are translated to modules ; - Added support for parsing override modules ; - Added some override modules: NSTableColumn.rb & NSFont.rb Which makes AppKit parse & generate completely! 2007-01-18 Fujimoto Hisa <hisa@fobj.com> * framework/src/ruby/osx/objc/oc_import.rb, framework/src/ruby/osx/objc/oc_wrapper.rb: replace STDERR with $stderr 2007-01-18 Laurent Sansonetti <lsansonetti@apple.com> * framework/tool/gen_bridge_metadata.rb: - Discover more functions ; - Added the possibility to ignore tollfree bridged CF classes detection ; - Faster numeric #define lookup. * framework/src/ruby/osx/objc/oc_import.rb: Deprecated ns_overrides. * framework/src/ruby/osx/objc/oc_import.rb, framework/src/objc/mdl_osxobjc.m, framework/src/objc/RBClassUtils.h, tests/tc_ovmix.rb, tests/objc_test.m: Added objc_class_method + test cases. * pre-install.rb, template/ProjectBuilder/File/Ruby test case class.rb, template/ProjectBuilder/Target, template/ProjectBuilder/Target/Unit Test Target.trgttmpl: Added Xcode unit test templates. 2007-01-17 Fujimoto Hisa <hisa@fobj.com> * framework/src/ruby/osx/objc/oc_import.rb: replaced the name of objc_export with objc_method. objc_export will be deprecated. it works yet with warning message. * sample/Scripts/TransparentHello.rb, sample/Scripts/sndplay3.rb: replaced deprecated symbol/value/... syntax to suppress warning. 2007-01-17 Eloy Duran <eloy.de.enige@gmail.com> * framework/tool/gen_bridge_doc/lib/cocoa_ref.rb: Added a section for notifications. 2007-01-16 Eloy Duran <eloy.de.enige@gmail.com> * framework/tool/gen_bridge_doc/lib/cocoa_ref.rb, framework/tool/gen_bridge_doc/rdocify_framework.rb: fixes for Appkit rdoc generator, went up from 107/50 to 140/17 success ratio. 2007-01-16 Laurent Sansonetti <lsansonetti@apple.com> * sample/MailDemo: - Renamed MailBox to Mailbox ; - Removed a debug statement in the main file. Thanks to Jean-Pierre. * framework/src/ruby/osx/objc/oc_import.rb: Fixed ns_overrides that was broken by previous commit. * framework/src/objc/ocdata_conv.h: Fixed definition of _C_CONST for old platforms. * framework/src/objc/RBObject.m, framework/src/objc/ocdata_conv.m, framework/src/objc/OverrideMixin.m: Now manually decoding methods Objective-C encoding. * tests/tc_bs.rb: Fixed test to spawn Ruby command lines to use the source root RubyCocoa. * framework/src/ruby/osx/objc/oc_import.rb, framework/src/objc/RBObject.m, framework/src/objc/mdl_osxobjc.m, framework/src/objc/OverrideMixin.h, framework/src/objc/OverrideMixin.m, tests/tc_ovmix.rb, tests/tc_subclass.rb, tests/objc_test.m: Added support for overriding class methods. Added test cases. 2007-01-15 Eloy Duran <eloy.de.enige@gmail.com> * framework/tool/gen_bridge_doc.rb: Updated this script so that it also accepts the verbose and force flags: -v, -f 2007-01-15 Eloy Duran <eloy.de.enige@gmail.com> * framework/tool/gen_bridge_doc.rb, framework/tool/gen_bridge_doc/lib/cocoa_ref.rb, framework/tool/gen_bridge_doc/rdocify_framework.rb: Added the first support for Apple HTML Reference Docs to RDoc generation. At this moment gen_bridge_doc.rb will only try to parse the AppKit framework. By default it will not generate any rdoc files for reference files caused errors during parsing. Once all errors for AppKit have been resolved other frameworks will gradually be added, until we're on par with the supported frameworks in BridgeSupport. 2007-01-15 Laurent Sansonetti <lsansonetti@apple.com> * framework/tool/gen_bridge_metadata.rb: Discover functions that return ObjC objects that conform to a certain protocol. * framework/bridge-support-exceptions/Foundation.xml: Updated to describe functions with pointer-like arguments. * sample/Spotlight/English.lproj/MainMenu.nib/info.nib, sample/Spotlight/English.lproj/MainMenu.nib/keyedobjects.nib: Fixed the UI elements resizable flags and set the text views as not editable. * framework/bridge-support-exceptions/Foundation.xml, framework/src/objc/libffi.h, framework/src/objc/libffi.m, framework/src/objc/ocdata_conv.m, framework/src/objc/OverrideMixin.m, framework/src/objc/BridgeSupport.m, framework/tool/gen_bridge_metadata.rb, tests/tc_types.rb: - Added support for opaque structures ; - Added support for _C_ARY_B and _C_BFLD types ; - Fixed a bug when retrieving the encoding of structure fields ; - Export NSDecimal as an opaque structure, added test cases. * tests/*.rb: - Run make silently ; - Do not print the test case names unless $VERBOSE is true. 2007-01-15 Fujimoto Hisa <hisa@fobj.com> * framework/tool/gen_bridge_metadata.rb: Fixed a bug that ~/Library/Frameworks in framework_path was invalid. 2007-01-14 Fujimoto Hisa <hisa@fobj.com> * framework/src/ruby/osx/objc/oc_wrapper.rb: assume an explicit predicate if a received message has `?' suffix and returned value is a integer when OSX.relaxed_syntax. For using a unsupported framework without metadata quickly. 2007-01-13 Laurent Sansonetti <lsansonetti@apple.com> * framework/tool/gen_bridge_metadata.rb, framework/bridge-support-exceptions/AppKit.xml: Improved the exceptions template to now mention functions pointer-like arguments. Added functions pointer-like metadata for AppKit. * framework/RubyCocoa.xcodeproj/project.pbxproj, framework/src/ruby/osx/objc/oc_import.rb, framework/src/objc/libffi.h, framework/src/objc/RBObject.m, framework/src/objc/libffi.m, framework/src/objc/RBRuntime.h, framework/src/objc/mdl_osxobjc.m, framework/src/objc/mdl_objwrapper.m, framework/src/objc/ocexception.h, framework/src/objc/ocdata_conv.m, framework/src/objc/ocexception.m, framework/src/objc/BridgeSupport.h, framework/src/objc/BridgeSupport.m: - Added support for functions pointer-like arguments to the bridge ; - Major refactoring of the libffi dispatching code. * tests/tc_qtkit.rb, tests/tc_passbyref.rb: Updated tests, removed debug log. 2007-01-12 Fujimoto Hisa <hisa@fobj.com> * ext/rubycocoa/extconf.rb.in, framework/post-config.rb, framework/src/ruby/osx/objc/oc_import.rb, framework/tool/gen_bridge_metadata.rb, framework/tool/verify_bridge_metadata.rb, metaconfig, pre-config.rb, pre-setup.rb, sample/buildall.rb: File.exists? will be obsoleted for Ruby 1.9, so replace it as File.exist? 2007-01-11 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/BridgeSupport.h, framework/src/objc/BridgeSupport.m, framework/tool/gen_bridge_metadata.rb, tests/tc_types.rb, tests/objc_test.m, tests/Makefile: Better FourCharCode description, added a new test case, removed build warnings on PPC. * framework/src/objc/BridgeSupport.m, framework/tool/gen_bridge_metadata.rb, tests/tc_types.rb: Properly describe enumerations with a FourCharCode type value. Added a new test case. 2007-01-10 Laurent Sansonetti <lsansonetti@apple.com> * framework/RubyCocoa.xcodeproj/project.pbxproj, framework/src/ruby/osx/addressbook.rb, framework/src/ruby/osx/foundation.rb, framework/src/ruby/osx/objc/cocoa.rb, framework/src/ruby/osx/objc/oc_types.rb, framework/src/ruby/osx/objc/cocoa_macros.rb, framework/src/ruby/osx/objc/oc_import.rb, framework/src/ruby/osx/objc/ruby_addition.rb, framework/src/ruby/osx/objc/oc_attachments.rb, framework/src/ruby/osx/objc/oc_types_appkit.rb, framework/src/ruby/osx/objc/cocoa_macros_appkit.rb, framework/src/ruby/osx/objc/addressbook.rb, framework/src/ruby/osx/objc/oc_attachments_appkit.rb, tests/tc_bs.rb, lib/osx/addressbook.rb, lib/osx/cocoa.rb, lib/osx/foundation.rb, lib/osx/appkit.rb: - Now RubyCocoa.framework doesn't link against AppKit anymore. Using osx/cocoa will load AppKit and CoreGraphics dynamically. Using osx/foundation just link against CoreFoundation and Foundation ; - Deprecated the osx/addressbook script (now that AddressBook is supported by a BridgeSupport metadata file) ; - Added new API, OSX.framework_loaded?, to know if a given framework has been loaded or not. Added test cases. * framework/bridge-support-exceptions/*.xml, framework/src/objc/BridgeSupportLexer.h, framework/src/objc/BridgeSupport.h, framework/src/objc/gen_dummy_handler.rb, framework/src/objc/BridgeSupport.m, framework/src/objc/BridgeSupport.gperf, framework/src/objc/mdl_objwrapper.m, framework/tool/gen_bridge_metadata.rb: First refactoring pass: merged the method_[arg|retval] and func_[arg|retval] elements. Removed some dead code. 2007-01-10 Eloy Duran <eloy.de.enige@gmail.com> * tests/tc_qtkit.rb: Added an updated version of the qtkit test case from Jonathan Paisley. 2007-01-10 Laurent Sansonetti <lsansonetti@apple.com> * sample/MailDemo/English.lproj/InfoPlist.strings: Removed inappropriate CFBundleShortVersionString tag. * sample/ABPresence/Info.plist, sample/MailDemo/Info.plist: Added missing CFBundleShortVersionString tags. === RubyCocoa 0.10.1 === 2007-01-09 Fujimoto Hisa <hisa@fobj.com> * framework/tool/gen_bridge_metadata.rb: fix an error message when the header file path not found. 2007-01-09 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/ruby/osx/objc/oc_wrapper.rb, tests/tc_wrapper.rb: Raise an ArgumentError when trying to call #objc_send without arguments. Added some test cases. * framework/src/ruby/osx/objc/oc_import.rb: Fixed a Ruby 1.8.2-only bug introduced by latest fix. * framework/src/ruby/osx/objc/oc_import.rb, framework/src/objc/mdl_osxobjc.m: Fixed a bug when overriding methods in a class that has not been imported yet, by making sure the methods will be executed under the right scope. * framework/src/ruby/osx/objc/oc_wrapper.rb: Fixed a bug when using #objc_send to reach a method without argument. * framework/src/ruby/osx/objc/oc_import.rb: Fixed a bug when importing classes within modules when the OSX module is mixed in the top-level object. 2007-01-08 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/ruby/osx/objc/oc_import.rb: Make sure #ns_import and #require_framework can be called when the OSX module is mixed in the top-level object. === RubyCocoa 0.10.0 === 2007-01-08 Fujimoto Hisa <hisa@fobj.com> * ReadMe.ja.html, package/post-package.rb, package/pre-package.rb: Japanese translation of ReadMe.html. 2007-01-08 Laurent Sansonetti <lsansonetti@apple.com> * VERSION: Prepared for 0.10.0. * sample/*: - Renamed some samples directories to match the same naming convention. - Removed deprecated samples and SimpleApp.app binary ; - Removed Ruby prefix from samples directories ; - Created Scripts sub-directory and moved all one-file .rb scripts there. * sample/RubyMailDemo: New sample code, a Ruby port of Scott Stevenson's MailDemo example. 2007-01-06 Laurent Sansonetti <lsansonetti@apple.com> * sample/Hakoiri-Musume/rb_main.rb, sample/speak.rb, package/tmpl/postflight-universal.rb: Fixed sheband lines to use /usr/bin/env ruby. Thanks to Jean-Pierre. * framework/src/objc/OverrideMixin.m, framework/src/objc/mdl_osxobjc.m, framework/src/objc/mdl_objwrapper.m, tests/objc_test.m: Eliminates compiler warnings. * framework/src/ruby/osx/objc/oc_import.rb: Properly append missing ':' to the selector if type format string was used. * sample/RubyStickies/Sticky.rb: Fixed a crash when closing a sticky. 2007-01-06 Fujimoto Hisa <hisa@fobj.com> * sample/RubyStickies/StickiesAppDelegate.rb, sample/RubyStickies/Sticky.rb, sample/RubyStickies/StickyResizeCornerView.rb: fixed the FIXME comments bugs. * framework/src/ruby/osx/objc/oc_import.rb: allow a type format string as a second argument of objc_export. 2007-01-06 Laurent Sansonetti <lsansonetti@apple.com> * sample/RubyStickies: Added new sample code, a Ruby port of /Developer/Examples/CoreData/Stickies. Not functional yet (see the FIXME comments). 2007-01-05 Fujimoto Hisa <hisa@fobj.com> * template/ProjectBuilder/Application/Cocoa-Ruby\ Core\ Data\ Document-based\ Application/MyDocument.rb, template/ProjectBuilder/Application/Cocoa-Ruby\ Core\ Data\ Application/AppDelegate.rb: modify from deprecated expression for release 1.0 2007-01-05 Laurent Sansonetti <lsansonetti@apple.com> * sample/buildall.rb: Added new script, that builds all samples in a directory of your choice. * framework/src/ruby/osx/objc/oc_import.rb, framework/src/objc/OverrideMixin.m, framework/src/objc/RBObject.m, framework/src/objc/mdl_osxobjc.m, framework/src/objc/RBClassUtils.m, framework/src/objc/ocdata_conv.h, framework/src/objc/ocdata_conv.m, tests/tc_ovmix.rb, tests/objc_test.m: - Fixed direct import of Objective-C classes when the OSX module is included in Object ; - Added the possibility to add or override any method directly in a given Objective-C class from Ruby (before it was only possible in a subclass). Added some test cases. * framework/RubyCocoa.xcodeproj/project.pbxproj, framework/src/ruby/osx/coredata.rb, framework/src/ruby/osx/objc/coredata.rb, framework/src/ruby/osx/objc/cocoa_macros.rb, framework/post-config.rb, lib/osx/coredata.rb: Migrated the old CoreData support to the new BridgeSupport metadata mechanism. Deprecated osx/coredata. 2007-01-04 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/RBObject.m: Removed a debug log. * framework/bridge-support-exceptions/AddressBook.xml, framework/bridge-support-exceptions/InstantMessage.xml: Added exceptions for AddressBook and InstantMessage frameworks. * sample/RubyMiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: Built the project for the native arch. Thanks to Vincent Isambart. * sample/RubySpotlight/Spotlight.rb, sample/RubySpotlight/AppController.rb: - Fixed usage of NSPredicate to not raise a runtime exception ; - Ported deprecated code to new syntax. Thanks to Vincent Isambart. * pre-config.rb, framework/post-config.rb: - Fail the config phase if Ruby wasn't built as a shared library ; - Use the right Ruby binary to launch the metadata generator. Thanks to Vincent Isambart. 2007-01-04 Fujimoto Hisa <hisa@fobj.com> * framework/src/ruby/osx/objc/oc_attachments.rb: adds a to_a method to a NSIndexSet, thanks to Eloy Duran. * tests/tc_attachments.rb: adds a test for NSIndexSet#to_a 2007-01-04 Laurent Sansonetti <lsansonetti@apple.com> * sample/RubyQTKitSimpleDocument/QTKitPlayer.xcodeproj/project.pbxproj: Fixed the project to use the current Mac OS X SDK. * sample/RubyPathDemo/PathDemo.xcodeproj/project.pbxproj: Fixed MainMenu.nib link. * sample/RubyABPresence: Added new sample code, a Ruby port of the ADC ABPresence program. * framework/post-config.rb: Now generate metadata information for AddressBook and InstantMessage. * sample/SampleCIView.rb: Fixed the header comment. 2007-01-03 Laurent Sansonetti <lsansonetti@apple.com> * sample/RubyPathDemo: Added new sample code, a Ruby port of /Developer/Examples/Quartz/PathDemo. * framework/src/objc/RBObject.h, framework/src/objc/RBObject.m: Better fix for the problem with RBObject wrapping a pure Ruby object that was autoreleased. * framework/src/ruby/osx/objc/oc_import.rb, tests/tc_ovmix.rb, tests/objc_test.m: Added the possibility to use boxed classes when giving the method type to OSX.objc_export. Added a test case. * sample/RubyCocoaGL/English.lproj/InfoPlist.strings: Removed the short version string tag that is inappropriate there. * sample/RubyMiniBrowser/Info.plist: Dump the short version string and uniquify the bundle identifier. * template/PureEmptyApp.app/*, template/EmptyApp.app/*: Removed unnecessary empty apps. * framework/tool/gen_bridge_metadata.rb: Properly format enums with signed values. * framework/src/objc/OverrideMixin.m: Fixed a memory bug when KVC values, making sure the Objective-C values are not autoreleased while they are still used in Ruby. * framework/src/objc/ocdata_conv.h, framework/src/objc/ocdata_conv.m, tests/tc_ovmix.rb, tests/objc_test.m: Defines the official long long runtime constants if necessary. Added a test case to be sure long long types are properly bridged. 2007-01-02 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/BridgeSupport.m: Fixed support for long long types. Added some logs. * framework/src/ruby/osx/objc/oc_import.rb, tests/tc_ovmix.rb, tests/objc_test.m: Introduced OSX::NSBehaviorAttachment#objc_export, a convenience facility to export Ruby methods to the Objective-C runtime (a shortcut to addRubyMethod_withType). First argument is the Ruby name of the method, and second is an array of C types (ex: %w{void int} for a '(void)(int)' function). Added a test case. * framework/src/ruby/osx/objc/oc_wrapper.rb, tests/tc_wrapper.rb: Introduced OCObjWrapper#objc_send, a convenience facility to send messages using a symbol/value/... syntax (thanks to Hisa-san). Added a test case. * sample/RubyMiniBrowser/rb_main.rb: Removed the OCObjWrapper#objc_send definition. * framework/src/objc/RBObject.h, framework/src/objc/RBObject.m, framework/src/objc/ocdata_conv.m, tests/tc_subclass.rb, tests/objc_test.m: Make sure RBObject proxies are not released until the proxied Ruby object is garbage-collected. Added a test case. * framework/src/objc/OverrideMixin.m, framework/src/objc/RBObject.m, framework/src/objc/mdl_objwrapper.m, framework/src/objc/ocdata_conv.h, framework/src/objc/ocdata_conv.m, tests/tc_subclass.rb: Fixed a regression introduced by the new FFI support, when messages could not be properly forwarded to Objective-C objects that are overriding the default message dispatching mechanism (like NSUndoManager). Added test cases. * framework/src/ruby/osx/objc/oc_import.rb: Message NSBundle#oc_load as #load may have been overriden by the active record library (thanks Chris McGrath). === RubyCocoa 0.9.0 === 2006-12-26 Laurent Sansonetti <lsansonetti@apple.com> * VERSION, ReadMe.ascii.html, package/post-package.rb, package/pre-package.rb, package/tmpl/Info.plist, framework/pre-install.rb, ReadMe.html, ReadMe.sjis.html, package/tmpl/background.gif: Preparation for the first release. 2006-12-25 Laurent Sansonetti <lsansonetti@apple.com> * framework/RubyCocoa.xcodeproj/project.pbxproj, framework/src/ruby/osx/webkit.rb, framework/src/ruby/osx/qtkit.rb, lib/osx/webkit.rb, lib/osx/qtkit.rb: Added osx/webkit and osx/qtkit files to preserve API compatibility with the stable branch, that warn the user of their deprecation and to the appropriate OSX.require_framework call. 2006-12-25 Fujimoto Hisa <hisa@fobj.com> * sample/RubyMiniBrowser: Added new sample code (port of /Developer/Examples/WebKit/MiniBrowser) 2006-12-23 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/ruby/osx/objc/oc_wrapper.rb: Make sure constants can still be retrieved via OSX.TheConstantName, but print a warning stating that this syntax is deprecated and that its use is discouraged. * sample/RubyCGPDFViewer/MyDocument.rb: Fixed a runtime error, thanks to Eloy Duran. * sample/RubyCGPDFViewer/MainController.rb: Fixed a typo, thanks to Eloy Duran. 2006-12-22 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/BridgeSupport.h, framework/src/objc/BridgeSupport.m, framework/src/objc/ocdata_conv.m, tests/tc_types.rb: Make sure we calculate the size of boxed structures in ocdata_size(). Added a test case. * sample/RubyPDFKitViewer/MyPDFDocument.rb: Fixed the initial window layout plus some runtime errors. * sample/RubyCIMicroPaint/CIMicroPaintView.rb: Fix random runtime error in #brushSize= kvc callback. 2006-12-19 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/BridgeSupport.m, framework/src/objc/mdl_objwrapper.m, framework/src/objc/BridgeSupport.m: - Fixed FFI uchar/slong/ulong conversion (Tiger only) ; - Fixed misc bugs. 2006-12-18 Laurent Sansonetti <lsansonetti@apple.com> * tests/tc_types.rb: Fixed test case comparing NSZeroRect (for PPC). * sample/RubyCocoaGL: Added new sample code (port of CocoaGL). 2006-12-16 Laurent Sansonetti <lsansonetti@apple.com> * framework/bridge-support-exceptions/QuartzCore.xml: Fixed Tiger build. * sample/RubyRoundTransparentWindow/English.lproj/MainMenu.nib/JavaCompiling.plist, sample/RubyRocks/English.lproj/Game.nib/JavaCompiling.plist: Removed unnecessary files. * sample/RubyQTKitSimpleDocument/Info.plist: Added missing CFBundleShortVersionString tag. 2006-12-15 Laurent Sansonetti <lsansonetti@apple.com> * sample/RubyQTKitSimpleDocument: New sample code (port of QTKitSimpleDocument), a very basic NSDocument-based QuickTime viewer. * framework/tool/gen_bridge_metadata.rb: Make sure we don't describe the same informal protocol signature more than once. * framework/post-config.rb, framework/bridge-support-exceptions/QTKit.xml: Added support for QTKit.framework. * sample/dotview/Info.plist, sample/multinib/Info.plist: Change the bundle identifier from com.apple.* to com.apple.rubycocoa.*. * sample/RubyCIBevelSample, sample/SampleCIView.rb: New sample code (Ruby port of CIBevelSample) that uses CoreImage and OpenGL. * framework/bridge-support-exceptions/AppKit.xml, framework/bridge-support-exceptions/OpenGL.xml, framework/bridge-support-exceptions/QuartzCore.xml, framework/src/ruby/osx/objc/oc_import.rb, framework/post-config.rb. framework/tool/gen_bridge_metadata.rb: - Added support for OpenGL.framework ; - Added the exception file for QuartzCore that was forgotten in the last commit ; - Improved the numeric #define support ; - Misc fixes. * sample/RubyCIMicroPaint, sample/SampleCIView.rb: New sample code (Ruby port of the CIMicroPaint example) that uses CoreImage and OpenGL. 2006-12-13 Laurent Sansonetti <lsansonetti@apple.com> * framework/post-config.rb, sample/RubyCIExposureSample, sample/RubyCITransitionSelectorSample: Added support for the QuartzCore framework (CoreImage + CoreVideo). Added some new sample code, RubyCIExposureSample and RubyCITransitionSelectorSample, ports of /Developer/Examples/Quartz/Core Image/* original Objective-C samples. * framework/src/objc/BridgeSupport.m: Fix an important bug in the structure libffi handling, plus some minor bugs in the function dispatcher. * framework/tool/gen_bridge_metadata.rb: - Fix order of (function|method)_(retval|arg) elements ; - Properly handle informal protocol methods with missing argument keys. * template/ProjectBuilder/File/*: Fix the ?YEAR? macros in the trailing comment. * sample/RubyCGPDFViewer: New sample code, a Ruby port of /Developer/Examples/Quartz/PDF/CGPDFViewer, a pure CoreGraphics-based PDF viewer. * framework/post-config.rb: Re-generate the bridge support files if the generator is younger than the files. * framework/bridge-support-exceptions/AppKit.xml, framework/bridge-support-exceptions/CoreFoundation.xml, framework/src/ruby/osx/objc/oc_import.rb, framework/src/objc/BridgeSupportLexer.h, framework/src/objc/BridgeSupport.h, framework/src/objc/BridgeSupport.m, framework/src/objc/BridgeSupport.gperf, framework/src/objc/mdl_objwrapper.m, framework/src/objc/ocdata_conv.h, framework/src/objc/ocdata_conv.m, framework/tool/gen_bridge_metadata.rb, tests/tc_passbyref.rb: - Removed the predicate attribute and now explicitely mark functions/methods returning boolean types with the _C_BOOL encoding ; - Replaced cftype's typeid attribute by gettypeid_func, we can't rely on hardcoded TypeID because their value isn't fixed (e.g. it depends on the order the frameworks are loaded) ; - Removed duplicate cftype elements in the exceptions ; - Introduced a function_retval sub-element to store information about the return value of functions, and moved the returns attribute there ; - Exceptions can now document methods where the return or argument values should be coerced to a certain type (e.g. NSGraphicsContext#graphicsPort should return a CGContextRef and not a void *). * sample/RubyPDFKitViewer/Info.plist: Changed the bundle identifier to avoid conflicts with the original Objective-C project. * sample/circle.rb: Not necessary to require CoreGraphics anymore, as it's pre-loaded. 2006-12-11 Laurent Sansonetti <lsansonetti@apple.com> * framework/post-config.rb, sample/RubyPDFKitViewer: Added support for PDFKit. Added a new sample code, basically a Ruby port of /Developer/Examples/Quartz/PDFKit/PDFKitViewer. * framework/src/ruby/osx/objc/oc_import.rb: - Added a default framework-name-to-path cache for quick/easy #require_framework operations ; - Fixed a typo bug in #require_framework. * framework/tool/gen_bridge_metadata.rb: - Wrap more enums ; - Removed dead code ; - Make sure the XML elements are sorted before writing, this makes the comparison of metadata files easier. * framework/post-config.rb: Added some lines that starts the verification tool on each metadata file. The lines are commented, as this is definitely not something we want to do by default. 2006-12-10 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/ruby/osx/objc/oc_types.rb: Do not flatten the args as it breaks API compatibility with the previous stable release. * framework/tool/gen_bridge_metadata.rb: Ignore all comments left by the pre-processor after the pre-processing phase. 2006-12-09 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/ruby/osx/objc/oc_import.rb, install.rb: Introduced an environment variable BRIDGE_SUPPORT_PATH that can be used to point RubyCocoa to one or more paths where bridge support metadata files should be looked for in priority. Set the variable for the test phase. * framework/src/objc/BridgeSupport.m: Removed some dead code. * framework/tool/verify_bridge_metadata.rb: Added a first version of a bridge support metadata verifier. This one is currently based on HeaderDoc. 2006-12-09 kimura wataru <kimuraw@i.nifty.jp> * install.rb: at clean task, cleaning framework/bridge-support and misc/libffi. 2006-12-08 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/BridgeSupport.h, framework/src/objc/BridgeSupport.m, framework/src/objc/mdl_objwrapper.m, framework/tool/gen_bridge_metadata.rb: Modified the generator to handle all functions and not only functions marked with the 'extern' keyword. Fixed several parsing bugs. Refactored the RubyCocoa parsing side. * framework/bridge-support-exceptions/Foundation.xml, framework/src/objc/BridgeSupport.h, framework/src/objc/BridgeSupport.m, framework/src/objc/ocdata_conv.m, framework/tool/gen_bridge_metadata.rb, tests/tc_types.rb: Defined 'NSZone *' as an opaque type. Fixed the conversion code to allow nil to be passed for an opaque argument. Added a test case. * framework/bridge-support-exceptions/CoreGraphics.xml, framework/src/objc/BridgeSupport.h, framework/src/objc/BridgeSupportLexer.h, framework/src/objc/BridgeSupport.m, framework/src/objc/BridgeSupport.gperf, framework/src/objc/ocdata_conv.m, framework/tool/gen_bridge_metadata.rb: Added the possibility to specify 'opaque' types into metadata exceptions that will be translated by the bridge into instances of a new class that inherits from OSX::Boxed, like the existing C structures wrappers. Fixed the CoreGraphics exceptions file to mention the necessary opaque types. 2006-12-07 Laurent Sansonetti <lsansonetti@apple.com> * framework/bridge-support-exceptions/*, framework/src/objc/BridgeSupport.m, framework/src/objc/RBClassUtils.h, framework/src/objc/RBClassUtils.m, framework/post-config.rb: - Added bridge support exceptions files, updated the build system to use them ; - Generate bridge support files for CoreFoundation, Foundation, AppKit, WebKit and CoreGraphics ; - Fixed Tiger build. * framework/src/objc/BridgeSupport.h, framework/src/objc/BridgeSupport.m, framework/src/objc/mdl_osxobjc.m, framework/src/objc/ocdata_conv.m, tests/tc_types.rb: Support for the new CFType metadata descriptions. Creates proxies for CFTypes that don't have a toll-free bridged Cocoa class. Updated test cases. 2006-12-06 Laurent Sansonetti <lsansonetti@apple.com> * framework/tool/gen_bridge_metadata.rb: Another iteration on the CFType support, fixed 2 parsing bugs. * framework/src/objc/BridgeSupport.h, framework/src/objc/BridgeSupport.m, framework/src/objc/ocdata_conv.m: Added support of passing struct pointers. * sample/circle.rb: Added new CoreGraphics sample. 2006-12-05 Laurent Sansonetti <lsansonetti@apple.com> * framework/tool/gen_bridge_metadata.rb: - Fixed the parsing of C functions with unamed arguments (ex: "int foo(int, float);") ; - Make sure we clean the generated source files when trying to get the encoding of numeric #define constants ; - Ignore compiler attribute directives at the end of structures ; - Can take extra parameters from the GBM_FLAGS environment variable. * framework/src/ruby/osx/objc/oc_import.rb, framework/src/objc/BridgeSupport.h, framework/src/objc/BridgeSupport.m, framework/src/objc/ocdata_conv.m, framework/tool/gen_bridge_metadata.rb, tests/tc_retaincount.rb, tests/tc_types.rb: Second and final pass on the CoreFoundation support. Added some test cases. 2006-12-04 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/BridgeSupport.h, framework/src/objc/BridgeSupportLexer.h, framework/src/objc/BridgeSupport.m, framework/src/objc/BridgeSupport.gperf, framework/src/objc/ocdata_conv.m, framework/tool/gen_bridge_metadata.rb: Added support for CoreFoundation types (work still in progress). * framework/src/objc/BridgeSupport.m, framework/tool/gen_bridge_metadata.rb: - Removed struct sizes from the metadata as they are not necessary ; - Structures can me marked as opaque in the exceptions, so that the final struct encoding won't be decorated with fields info. * framework/src/objc/OverrideMixin.m: Fixed a leak. 2006-12-03 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/ocdata_conv.m (to_octype): Don't check if the second char is '_' to handle structures, as it's not mandatory at all. * framework/src/ruby/osx/objc/oc_import.rb: Don't try to do the Object::inherited class replacement for classes that inherit from OSX::Boxed (e.g. C structures proxies). 2006-12-01 Laurent Sansonetti <lsansonetti@apple.com> * framework/tool/gen_bridge_metadata.rb: - Added the possibility to specify the compiler flags instead of using the default one (necessary to wrap CoreGraphics) ; - Templates now contain the list of C structures found in the given headers ; - Misc fixes. * framework/src/ruby/osx/objc/oc_wrapper.rb, tests/tc_exception.rb, tests/tc_wrapper.rb: Deprecated symbol/value/... and inline Hash dispatching syntaxes. A warning is now printed when those syntaxes are used, but it will be replaced by an exception for the final 1.0.0 release. 2006-11-30 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/BridgeSupport.m: Make sure constants names from metadata are capitalized before used. * framework/tool/gen_bridge_metadata.rb: - Fix template generator ; - Properly deal with methods defined in more than one line ; - Properly deal with frameworks that don't have a central header, such as Message.framework. Thanks to Ronald Oussoren. 2006-11-29 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/ocdata_conv.m, tests/tc_types.rb: Make sure Ruby booleans are converted to real NSNumber booleans. 2006-11-21 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/BridgeSupport.m, framework/tool/gen_bridge_metadata.rb: Better metadata enum value formats (thanks to Ronald Oussoren). 2006-11-19 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/ruby/osx/objc/oc_import.rb, framework/src/objc/BridgeSupport.m: - Better OSX.require_framework method ; - Do not create enum constants if already defined. 2006-11-18 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/BridgeSupportLexer.h, framework/src/objc/BridgeSupport.m, framework/src/objc/BridgeSupport.gperf: Now using a gperf-generated hash function when parsing XML elements for the bridge support files, instead of a succession of costly strcmp() calls. 2006-11-17 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/BridgeSupport.m, framework/tool/gen_bridge_metadata.rb: - Now using real encoding types instead of C level constants (_C_*) in the metadata files ; - Added support to grab #define numeric constants ; - Added support to grab several constants defined in the same expression line (for example: `extern int foo, bar;') ; - Quick refactoring of the metadata generator. 2006-11-16 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/ruby/osx/objc/oc_import.rb: Added OSX.require_framework convenience method to load a given framework and its bridge support signature files at the same time. 2006-11-10 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/ruby/osx/objc/oc_import.rb: Adjust the frameworks and bridge support signatures paths regardless if the HOME environment variable is set or not. A RubyCocoa program might not define HOME in its environment (for example, if launchd'ed). * framework/src/ruby/osx/objc/oc_types.rb, framework/src/ruby/osx/objc/oc_all.rb, framework/src/objc/OverrideMixin.m, framework/src/objc/BridgeSupport.h, framework/src/objc/BridgeSupport.m, framework/src/objc/mdl_objwrapper.m, framework/src/objc/ocdata_conv.h, framework/src/objc/ocdata_conv.m, framework/tool/gen_bridge_metadata.rb, tests/tc_types.rb, tests/tc_subclass.rb: - Structures are now described in metadata files ; - Removed all hardcoded information about NSRect/NSSize/etc... ; - Fixed several bugs ; - Added more test cases. 2006-11-05 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/mdl_objwrapper.m, framework/src/objc/BridgeSupport.h, framework/src/objc/RBObject.m, tests/tc_subclass.rb: - Some refactoring in the ocm dispatch methods. Made the usage of NSMethodDescription optional when possible ; - Updated test case ; - Moved a warning killer ObjC interface to BridgeSupport.h. * framework/src/objc/OverrideMixin.m: Fixed another memory leak. 2006-11-02 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/mdl_objwrapper.m, tests/tc_retaincount.rb, tests/objc_test.m: - Fixed leak of ObjC objects from placeholder-like classes ; - Added a new test case to test the fix. Investigation and solution by Kimura Wataru. * framework/post-config.rb, framework/RubyCocoa.xcodeproj/project.pbxproj, framework/src/ruby/osx/webkit.rb, framework/src/ruby/osx/objc/webkit.rb: - Generate metadata files for WebKit. - Removed previous handwritten webkit.rb files. * framework/tool/gen_bridge_metadata.rb: Import all headers when compiling intermediate C files. * framework/src/objc/mdl_objwrapper.m: Fixed memory leak. 2006-11-02 kimura wataru <kimuraw@i.nifty.jp> * framework/src/ruby/osx/objc/oc_import.rb: fix: automatic override incorrectly with methods contains "_". 2006-11-01 Laurent Sansonetti <lsansonetti@apple.com> * sample/RubyRoundTransparentWindow/pentagram.tif, sample/RubyRoundTransparentWindow/pentagon.tif, sample/RubyRoundTransparentWindow/RoundTransparentWindow.xcodeproj/project.pbxproj, sample/RubyRoundTransparentWindow/RTW.rb: Renamed pentagram.tif to pentagon.tif. * framework/src/objc/OverrideMixin.m, framework/src/objc/BridgeSupport.m, framework/src/objc/RBObject.m, framework/src/objc/mdl_osxobjc.m, framework/src/objc/mdl_objwrapper.m, framework/src/objc/ocdata_conv.h, framework/src/objc/ocdata_conv.m: - fixed small integers (char, uchar, short, ushort, ...) libffi conversion from/to Ruby on PPC ; - fixed allocation of ffi_call result value. 2006-10-30 Laurent Sansonetti <lsansonetti@apple.com> * tests/tc_booleans.rb, tests/tc_ovmix.rb, tests/tc_types.rb, tests/objc_test.m: Improved tests to check type conversion. 2006-10-28 Laurent Sansonetti <lsansonetti@apple.com> * sample/RubyTypingTutor/BigLetterView.rb: Fixed constants expressions to not use functions. * framework/src/objc/RBObject.m: Transform [RBObject -rbobjRaiseRubyException] to a C function, as the receiver of rbobj_call_ruby() may not be a RBObject instance (since the move to libffi). * sample/simpleapp/AppController.rb: Fixed NSApp() -> NSApp. 2006-10-28 Fujimoto Hisa <hisa@fobj.com> * VERSION, pre-config.rb, framework/src/objc/Version.h.in, framework/src/objc/mdl_osxobjc.m, metaconfig: add a constant OSX::SVN_REVISION 2006-10-27 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/mdl_objwrapper.m: Direct call to easy methods. * template/ProjectBuilder/File/*: Fixed harcoded copyright date (2001) to ?DATE?. * framework/src/objc/OverrideMixin.m, framework/src/objc/BridgeSupport.m, framework/tool/gen_bridge_metadata.rb: Make sure the branch builds on all versions of Mac OS X. 2006-10-03 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/BridgeSupport.h, framework/src/objc/BridgeSupport.m, framework/src/objc/mdl_objwrapper.m, framework/src/objc/ocdata_conv.m: Added support for additional exceptions. * tests/tc_passbyref.rb: Added tests for the new exceptions support. 2006-10-02 Laurent Sansonetti <lsansonetti@apple.com> * framework/tool/gen_bridge_metadata.rb: - Better support of pointer-like argument detection (check for .+Array types like NSPointArray etc...). Support could be better though by resolving the typedefs ; - Include the DTD as part of the XML header. 2006-09-30 Laurent Sansonetti <lsansonetti@apple.com> * template/ProjectBuilder/Application/Cocoa-Ruby Document-based Application/Info.plist, template/ProjectBuilder/Application/Cocoa-Ruby Application/Info.plist: Added missing CFBundleIdentifier and CFBundleShortVersionString tags. 2006-09-29 Laurent Sansonetti <lsansonetti@apple.com> * template/**/*.project.pbxproj: - Removed unnecessary Default target and set the Release target as default ; - Removed unnecessary project/target build settings and added missing settings to conform with other recent Xcode templates. * template/ProjectBuilder/Application/Cocoa-Ruby Document-based Application/Info.plist, template/ProjectBuilder/Application/Cocoa-Ruby Document-based Application/CocoaDocApp.xcodeproj/TemplateInfo.plist, template/ProjectBuilder/Application/Cocoa-Ruby Document-based Application/CocoaDocApp.xcodeproj/project.pbxproj, template/ProjectBuilder/Application/Cocoa-Ruby Application/CocoaApp.xcodeproj/TemplateInfo.plist, template/ProjectBuilder/Application/Cocoa-Ruby Application/CocoaApp.xcodeproj/project.pbxproj, template/ProjectBuilder/Application/Cocoa-Ruby Application/Info.plist: Upgraded to use native targets. 2006-09-28 Laurent Sansonetti <lsansonetti@apple.com> * template/ProjectBuilder/File/Ruby NSView subclass.rb, template/ProjectBuilder/File/Ruby NSDocument subclass.rb, template/ProjectBuilder/Application/Cocoa-Ruby Document-based Application/MyDocument.rb, template/ProjectBuilder/Application/Cocoa-Ruby Core Data Document-based Application/MyDocument.rb: Removed unnecessary ns_override(s) calls. * template/ProjectBuilder/Application/Cocoa-Ruby Core Data Application/CocoaApp.xcodeproj/TemplateInfo.plist, template/ProjectBuilder/Application/Cocoa-Ruby Core Data Application/AppDelegate.rb, template/ProjectBuilder/Application/Cocoa-Ruby Core Data Application/English.lproj/MainMenu.nib/keyedobjects.nib, template/ProjectBuilder/Application/Cocoa-Ruby Core Data Application/English.lproj/MainMenu.nib/classes.nib: Fixed this template to accepts a project name that is not capitalized. The project name was used as a Ruby class name, and if it was not capitalized it didn't run (as Ruby expects class names to be constants). * framework/src/objc/OverrideMixin.m, framework/src/objc/RBRuntime.m, framework/src/objc/OverrideMixin.h: Make sure we don't generate multiple ffi closures for the same method encoding type, to avoid infinite loops. * tests/tc_subclass.rb: Improved the ns_override test. * template/**/*.project.pbxproj: Renamed targets to be consistent with other templates, s/Development/Debug and s/Deployment/Release. 2006-09-27 Laurent Sansonetti <lsansonetti@apple.com> * (sample|template)/**/InfoPlist.strings: Removed inappropriate CFBundleShortVersionString tags. * framework/tool/gen_bridge_metadata.rb: - Mention if informal protocol methods are class methods or not ; - Link against Foundation by default, as we need it to resolve informal protocol methods encoding. * tests/tc_ovmix.rb, tests/objc_test.m: Added a test case to check #addRubyMethod_withType, based on bug report #1535223. * framework/src/objc/OverrideMixin.m, framework/src/objc/RBObject.m: Use libffi closures as IMPs when marking pure Ruby methods as Objective-C methods (#addRubyMethod_withType), and directly call the slave object when called. * framework/RubyCocoa.xcodeproj/project.pbxproj, framework/src/objc/RBObject.m, framework/src/objc/DummyProtocolHandler.h, framework/src/objc/DummyProtocolHandler.m, framework/src/objc/BridgeSupport.h, framework/src/objc/BridgeSupport.m, framework/src/objc/DummyProtocolHandler.m.erb: Read the list of informal protocols from the metadata files, and do not rely on DummyProtocolHandler anymore. The latter was removed from the repository. 2006-09-26 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/ruby/osx/objc/oc_import.rb: Don't automatically map NSCF* classes to their NS* equivalent, as it brings problem with NSCFBoolean and it's not necessary anymore as we have real class hierarchy. * framework/tool/gen_bridge_metadata.rb: Added support to generate information regarding informal protocols. * framework/src/objc/ocdata_conv.h: Removed unnecessary macro introduced by mistake. * framework/src/objc/mdl_objwrapper.m, framework/src/objc/cls_objcid.h, framework/src/objc/cls_objcid.m: Do not release objects issued by 'alloc/allocWithZone:', as some classes may always return the same singleton object (placeholder) each time, and return the real new object with 'init'. 2006-09-25 Laurent Sansonetti <lsansonetti@apple.com> * sample/TransparentHello.rb, sample/mk_app0/AppController.rb, sample/thread0/AppController.rb, sample/mk_app1/AppController.rb, sample/Hakoiri-Musume/cocoa_hako.rb, sample/Hakoiri-Musume/rb_main.rb, sample/Pong/AppCtrl.rb, sample/MyViewer/main.rb, sample/MyViewer/MyInspector.rb, sample/HelloWorld.rb: Fixed usage of constants in samples (making sure they use the OSX:: prefix instead of OSX.). * lib/osx/foundation.rb, lib/osx/appkit.rb: Fixed these files to include osx/objc/cocoa and not osx/objc/[foundation|appkit] that don't exist anymore. 2006-09-24 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/ruby/osx/objc/cocoa_macros.rb, framework/src/objc/mdl_objwrapper.m, framework/src/objc/ocdata_conv.h, framework/src/objc/ocdata_conv.m, framework/src/objc/BridgeSupport.h, framework/src/objc/BridgeSupport.m, framework/src/objc/cls_objcptr.h, framework/src/objc/cls_objcptr.m: Added support to handle the exceptions metadata. * tests/tc_passbyref.rb, tests/tc_nsattributedstring.rb, tests/tc_objcptr.rb, tests/tc_nsstring.rb, tests/tc_nsdata.rb, tests/tc_attachments.rb: Added new tests / modified previous tests according to the new exceptions metadata support. 2006-09-22 Laurent Sansonetti <lsansonetti@apple.com> * tests/tc_passbyref.rb: Added tests to check methods described by the exceptions metadata (10.5 only). 2006-09-21 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/BridgeSupport.h, framework/src/objc/BridgeSupport.m: Added support to parse the exceptions metadata. * tests/tc_booleans.rb: Added a test case to check methods returning 'char'. * framework/tool/gen_bridge_metadata.rb: - added ability to merge the exceptions to the final metadata ; - the arg element becomes function_arg and method_arg according to the parent element. 2006-09-20 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/mdl_objwrapper.m, framework/src/objc/BridgeSupport.h, framework/src/objc/BridgeSupport.m, framework/tool/gen_bridge_metadata.rb, tests/tc_passbyref.rb: Refactored the generated metadata format. 2006-09-19 Laurent Sansonetti <lsansonetti@apple.com> * sample/**/lrz.mode1v3: Removed bad files. * template/ProjectBuilder/Application/**/.[pbproj|xcode]: Upgraded old Xcode project files to recent format (.xcodeproj). * pre-config, pre-install.rb: Removed project templates generation, fix the location of RubyCocoa.framework once they are installed. * framework/tool/gen_bridge_metadata.rb: Added option to generate exception template. 2006-09-19 kimura wataru <kimuraw@i.nifty.jp> * framework/src/ruby/osx/objc/cocoa_macros.rb, framework/src/ruby/osx/objc/oc_import.rb: fix "lazy import" with overriding Object.inherit. 2006-09-18 Laurent Sansonetti <lsansonetti@apple.com> * metaconfig, framework/post-config.rb, framework/pre-install.rb, framework/tool/generate_bridge_support.rb, framework/tool/gen_bridge_metadata.rb: - generate_bridge_support -> gen_bridge_metadata. - Use builtin gen_bridge_metadata tool if found. - Added a new build config variable, gen-bridge-metadata, to control the generation of metadata files (true by default). - Improved the options parser of gen_bridge_metadata. * framework/src/objc/ocdata_conv.m: Removed unnecessary pthread locks. 2006-09-14 Laurent Sansonetti <lsansonetti@apple.com> * sample/**/*.[pbproj|xcode]: Upgraded old Xcode project files to recent format (.xcodeproj). * pre-install.rb: Fix the location of RubyCocoa.framework in the sample Xcode projects once they are installed. 2006-09-02 Laurent Sansonetti <lsansonetti@apple.com> * pre-config.rb, framework/Info.plist, framework/src/objc/Version.h.in, metaconfig: Fix again Info.plist malformations. * ext/rubycocoa/rubycocoa.m: Added back a file that was removed by mistake by the Xcode config migration change. 2006-08-28 Laurent Sansonetti <lsansonetti@apple.com> * template/ProjectBuilder/Application/Cocoa-Ruby Core Data Application/CocoaApp.xcode/TemplateInfo.plist, template/ProjectBuilder/Application/Cocoa-Ruby Core Data Application/CocoaApp.xcode/project.pbxproj.in: Fixed the template to accept a project name with space character(s) in its name. * framework/RubyCocoa.xcodeproj/project.pbxproj, framework/src/objc/RBObject.h: Fix build, removing 'appkit.rb' and 'foundation.rb' from the build and adding the 'oc_master' ivar to the RBObject object that was removed by mistake by the Xcode config migration change. * sample/dotview/Makefile, sample/multinib/Makefile, sample/mk_app0/Makefile, sample/thread0/Makefile, sample/mk_app1/Makefile, sample/Hakoiri-Musume/Makefile, sample/MyViewer/Makefile, template/MakefileBased/Makefile: Convert `echo -n' calls to `printf', which is more portable. echo(1) won't produce the same output on Mac OS X versions > 10.4. * sample/dotview/Info.plist, sample/RubyRocks, sample/RubyRocks/main.m, sample/RubyRocks/rubyrocks.xcodeproj, sample/RubyRocks/rubyrocks.xcodeproj/project.pbxproj, sample/RubyRocks/RubyRocks.rb, sample/RubyRocks/COPYRIGHT, sample/RubyRocks/rb_main.rb, sample/RubyRocks/English.lproj, sample/RubyRocks/English.lproj/InfoPlist.strings, sample/RubyRocks/English.lproj/Game.nib, sample/RubyRocks/English.lproj/Game.nib/objects.nib, sample/RubyRocks/English.lproj/Game.nib/info.nib, sample/RubyRocks/English.lproj/Game.nib/classes.nib, sample/RubyRocks/English.lproj/Game.nib/_Game_EOArchive_English.java, sample/RubyRocks/English.lproj/Game.nib/JavaCompiling.plist, sample/RubyRocks/English.lproj/MainMenu.nib, sample/RubyRocks/English.lproj/MainMenu.nib/objects.nib, sample/RubyRocks/English.lproj/MainMenu.nib/info.nib, sample/RubyRocks/English.lproj/MainMenu.nib/classes.nib, sample/RubyRocks/English.lproj/Credits.rtf, sample/multinib/Info.plist, sample/RubyRaiseMan/English.lproj/Localizable.strings, sample/RubyRoundTransparentWindow, sample/RubyRoundTransparentWindow/main.m, sample/RubyRoundTransparentWindow/pentagram.tif, sample/RubyRoundTransparentWindow/ReadMe.html, sample/RubyRoundTransparentWindow/circle.tif, sample/RubyRoundTransparentWindow/rb_main.rb, sample/RubyRoundTransparentWindow/README, sample/RubyRoundTransparentWindow/RoundTransparentWindow.xcodeproj, sample/RubyRoundTransparentWindow/RoundTransparentWindow.xcodeproj/project.pbxproj, sample/RubyRoundTransparentWindow/English.lproj, sample/RubyRoundTransparentWindow/English.lproj/InfoPlist.strings, sample/RubyRoundTransparentWindow/English.lproj/MainMenu.nib, sample/RubyRoundTransparentWindow/English.lproj/MainMenu.nib/objects.nib, sample/RubyRoundTransparentWindow/English.lproj/MainMenu.nib/info.nib, sample/RubyRoundTransparentWindow/English.lproj/MainMenu.nib/classes.nib, sample/RubyRoundTransparentWindow/English.lproj/MainMenu.nib/_MainMenu_EOArchive_English.java, sample/RubyRoundTransparentWindow/English.lproj/MainMenu.nib/JavaCompiling.plist, sample/RubyRoundTransparentWindow/RTW.rb, post-setup.rb, pre-config.rb, pre-install.rb, framework/src/ruby/osx/cocoa.rb, framework/src/ruby/osx/foundation.rb, framework/src/ruby/osx/appkit.rb, framework/src/ruby/osx/objc/oc_wrapper.rb, framework/src/ruby/osx/objc/cocoa.rb, framework/src/ruby/osx/objc/cocoa_macros.rb, framework/src/ruby/osx/objc/oc_import.rb, framework/src/ruby/osx/objc/oc_attachments.rb, framework/src/objc/OverrideMixin.m, framework/src/objc/RBSlaveObject.m, framework/src/objc/cls_objcid.h, framework/src/objc/cocoa/gen_cocoa_wrapper.rb, framework/src/objc/RBObject.m, framework/src/objc/cls_objcid.m, framework/src/objc/RBRuntime.h, framework/src/objc/mdl_osxobjc.m, framework/src/objc/RBRuntime.m, framework/src/objc/mdl_objwrapper.m, framework/src/objc/ocdata_conv.h, framework/src/objc/ocdata_conv.m, framework/post-config.rb, framework/pre-install.rb, framework/tool/generate_bridge_support.rb, ext/rubycocoa/rubycocoa.m, tests/tc_retaincount.rb, tests/tc_passbyref.rb, tests/tc_uniqobj.rb, tests/tc_constants.rb, tests/tc_subclass.rb, tests/objc_test.m, tests/tc_wrapper.rb, template/ProjectBuilder/Application/Cocoa-Ruby Document-based Application/CocoaDocApp.pbproj/TemplateInfo.plist, template/ProjectBuilder/Application/Cocoa-Ruby Document-based Application/CocoaDocApp.pbproj/project.pbxproj, template/ProjectBuilder/Application/Cocoa-Ruby Document-based Application/CocoaDocApp.pbproj/project.pbxproj.in, template/ProjectBuilder/Application/Cocoa-Ruby Core Data Document-based Application/Info.plist, template/ProjectBuilder/Application/Cocoa-Ruby Core Data Document-based Application/CocoaDocApp.xcode/TemplateInfo.plist, template/ProjectBuilder/Application/Cocoa-Ruby Core Data Document-based Application/CocoaDocApp.xcode/project.pbxproj, template/ProjectBuilder/Application/Cocoa-Ruby Core Data Document-based Application/CocoaDocApp.xcode/project.pbxproj.in, template/ProjectBuilder/Application/Cocoa-Ruby Application/CocoaApp.pbproj/TemplateInfo.plist, template/ProjectBuilder/Application/Cocoa-Ruby Application/CocoaApp.pbproj/project.pbxproj, template/ProjectBuilder/Application/Cocoa-Ruby Application/CocoaApp.pbproj/project.pbxproj.in, template/ProjectBuilder/Application/Cocoa-Ruby Core Data Application/Info.plist, template/ProjectBuilder/Application/Cocoa-Ruby Core Data Application/CocoaApp.xcode/TemplateInfo.plist, template/ProjectBuilder/Application/Cocoa-Ruby Core Data Application/CocoaApp.xcode/project.pbxproj, template/ProjectBuilder/Application/Cocoa-Ruby Core Data Application/CocoaApp.xcode/project.pbxproj.in, metaconfig: Merged 'apple-unstable' branch. 2006-08-27 kimura wataru <kimuraw@i.nifty.jp> * framework/src/objc/RBObject.m: fix: crash at calling a Ruby method whose arity < 0 from Objective-C. 2006-08-09 Jonathan Paisley <jp-www@dcs.gla.ac.uk> * install.rb: Ignore .svn directories during traversal. 2006-08-08 Jonathan Paisley <jp-www@dcs.gla.ac.uk> * ext/rubycocoa/extconf.rb.in, ext/rubycocoa/rubycocoa.m, ext/rubycocoa/rubycocoa.m.in, framework/pre-install.rb, framework/src/objc/RBRuntime.m, framework/src/objc/Version.h.in, framework/src/objc/RBObject.h, framework/src/objc/RBSlaveObject.h, framework/src/objc/RubyCocoa.h, framework/src/objc/RBObject.h.in, framework/src/objc/RBSlaveObject.h.in, framework/src/objc/RubyCocoa.h.in, framework/GeneratedConfig.xcconfig.in, framework/Info.plist, framework/RubyCocoa.xcodeproj, framework/RubyCocoa.xcodeproj/project.pbxproj, framework/RubyCocoa.pbproj, framework/RubyCocoa.pbproj/.cvsignore, framework/RubyCocoa.pbproj/project.pbxproj, framework/RubyCocoa.pbproj/project.pbxproj.in, pre-config.rb, install.rb, metaconfig, package/tmpl/Info.plist: Switch over to new Xcode project that is no longer auto generated. Remove framework-name option. Fix dyld loading check in install.rb to cope with ', cpu-sub-type: 0' style suffixes from universal builds. 2006-08-08 kimura wataru <kimuraw@i.nifty.jp> * framework/src/objc/mdl_objwrapper.m: - fix: ocm_perform() does not return Qfalse with missing argument(s) - change exception class to ArgumentError for missing argument(s) * test/tc_wrapper.rb: add tests for missing argument(s) 2006-07-21 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/RBObject.m, framework/src/objc/RBObject.h.in, framework/src/objc/RBSlaveObject.m: fixed ObjC -> Ruby messaging in recent Mac OS X builds. Starting the NSInvocation in OverrideMixin.m(handle_ruby_method) calls [RBObject methodSignatureForSelector] and uses the given method type to call [RBObject forwardInvocation]. As [RBObject methodSignatureForSelector] does not take into account the wrapped ObjC master object, it returns a DummyProtocolHandler signature which does not work for methods using something else than `id'. We fix this by storing the master class in the RBObject instance and uses it in [RBObject methodSignatureForSelector]. 2006-07-20 Laurent Sansonetti <lsansonetti@apple.com> * sample/RubyRoundTransparentWindow: added RubyRoundTransparentWindow sample (from Tim Burks, http://rubycocoa.com/the-rubification-of-rtw), licensed under the MIT license. * framework/src/objc/mdl_objwrapper.m: fixed Tiger build. * template/ProjectBuilder/Application/Cocoa-Ruby Application/CocoaApp.pbproj/TemplateInfo.plist, template/ProjectBuilder/Application/Cocoa-Ruby Core Data Application/CocoaApp.xcode/TemplateInfo.plist, template/ProjectBuilder/Application/Cocoa-Ruby Core Data Document-based Application/CocoaDocApp.xcode/TemplateInfo.plist, template/ProjectBuilder/Application/Cocoa-Ruby Document-based Application/CocoaDocApp.pbproj/TemplateInfo.plist: added/fixed template descriptions. * pre-config, pre-install, template/ProjectBuilder/Application/Cocoa-Ruby Application/CocoaApp.pbproj/project.pbxproj, template/ProjectBuilder/Application/Cocoa-Ruby Application/CocoaApp.pbproj/project.pbxproj.in, template/ProjectBuilder/Application/Cocoa-Ruby Core Data Application/CocoaApp.xcode/project.pbxproj, template/ProjectBuilder/Application/Cocoa-Ruby Core Data Application/CocoaApp.xcode/project.pbxproj.in, template/ProjectBuilder/Application/Cocoa-Ruby Core Data Document-based Application/CocoaDocApp.xcode/project.pbxproj, template/ProjectBuilder/Application/Cocoa-Ruby Core Data Document-based Application/CocoaDocApp.xcode/project.pbxproj.in, template/ProjectBuilder/Application/Cocoa-Ruby Document-based Application/CocoaDocApp.pbproj/project.pbxproj, template/ProjectBuilder/Application/Cocoa-Ruby Document-based Application/CocoaDocApp.pbproj/project.pbxproj.in: - removed .pbxproj files ; - added .pbxproj.in files using %%%frameworks%%% to point to the RubyCocoa.framework ; - modified config phase to generate the .pbxproj files ; - do not install the .in files. 2006-07-19 Laurent Sansonetti <lsansonetti@apple.com> * sample/RubyRocks: added RubyRocks sample (from Tim Burks, http://rubycocoa.com/ruby-rocks), licensed under the same license as RubyCocoa. 2006-07-11 Laurent Sansonetti <lsansonetti@apple.com> * framework/RubyCocoa.pbproj/project.pbxproj.in: added missing tag (CFBundleIdentifier). 2006-07-10 Laurent Sansonetti <lsansonetti@apple.com> * template/ProjectBuilder/Application/Cocoa-Ruby Core Data Application/Info.plist, template/ProjectBuilder/Application/Cocoa-Ruby Core Data Document-based Application/Info.plist: fix bundle identifier to avoid collision with existing Xcode template. * sample/RubyRaiseMan/English.lproj/Localizable.strings: convert to UTF-16 (Unicode). * sample/dotview/Info.plist, sample/multinib/Info.plist: add missing / fix malformed tags. * framework/English.lproj/InfoPlist.strings: fix malformed short version string. * framework/src/objc/mdl_objwrapper.m: do not #error on 10.5 (for the moment...). * post-setup.rb: fix build by passing the path of the temporary framework build directory to the dynamic loaded, when generating the bridge support files. * framework/src/objc/cocoa/gen_cocoa_wrapper.rb: do not explicitely call constants with a not-implemented definition function. 2006-06-28 kimura wataru <kimuraw@i.nifty.jp> * install.rb: fix: test of loading ext/framework for universal binary fails. 2006-06-23 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/RBObject.m, framework/src/objc/mdl_osxobjc.m, framework/src/ruby/osx/objc/oc_wrapper.rb: introduced the OSX.relaxed_syntax(=[true|false]) config. When false, only the basic aaa_bbb_(..., ... ) syntax is allowed. When true, all other syntaxes are allowed. The config is true by default. * tests/objc_test.m, tests/tc_subclass.rb, tests/tc_wrapper.rb: added test cases to check that OSX.relaxed_syntax does work. 2006-06-21 kimura wataru <kimuraw@i.nifty.jp> * framework/src/objc/mdl_objwrapper.m: - raise an error for missing arguments in ocm_invoke(). - disable completion of nil arguments. 2006-06-20 kimura wataru <kimuraw@i.nifty.jp> * framework/src/ruby/osx/objc/oc_import.rb: ignore leading underscore on searching selector to override in _ns_behavior_method_added(). 2006-06-16 Laurent Sansonetti <lsansonetti@apple.com> * post-setup.rb, framework/post-config.rb: generate the bridge support XML metadata files after the setup phase as generate_bridge_support.rb now requires rubycocoa. * framework/tool/generate_bridge_support.rb: improved the pass-by-ref arguments detection support by doing Objective-C introspection lookups. 2006-06-12 kimura wataru <kimuraw@i.nifty.jp> * framework/src/ruby/osx/objc/cocoa.rb, framework/src/ruby/osx/objc/oc_import.rb: keep previous #const_missing method before overwriting it, moved some code from cocoa.rb to oc_import.rb as it is tied to OSX::ns_import. * framework/src/ruby/osx/objc/oc_attachments.rb, framework/src/objc/mdl_osxobjc.m: add attachments to the right class in the hierarchy. 2006-06-09 Laurent Sansonetti <lsansonetti@apple.com> * metaconfig, pre-config.rb, framework/src/objc/mdl_osxobjc.m, framework/src/ruby/osx/objc/oc_import.rb: changed the destination of bridge support XML metadata files to /Library/BridgeSupport. RubyCocoa also looks inside /System/Library/BridgeSupport and ~/Library/BridgeSupport. The parser has been rewritten in C using libxml2. At build time we detect if libxml2 is available, if not (Jaguar) the parser is disabled. The old parser based on REXML was terribly slow, and has been commented. 2006-06-08 kimura wataru <kimuraw@i.nifty.jp> * framework/src/ruby/osx/objc/oc_import.rb: skip internal classes (that starts with '_' or '%') when building the proxies hierarchy. * tests/objc_test.m, tests/tc_subclass.rb: added tests to check that internal classes are skipped in the hierarchy. 2006-06-08 Laurent Sansonetti <lsansonetti@apple.com> * framework/tool/generate_bridge_support.rb: introduced the 'generate_bridge_support' script that generates XML metadata definition of a target framework. Currently it includes the list of methods that have arguments to be passed-by-reference. * metaconfig, framework/post-config.rb, framework/pre-install.rb: integrated the 'generate_bridge_support.rb' script into the build process, that generates metadata files for Foundation/AppKit and installs them in /Developer/BridgeSupport by default. * framework/src/objc/mdl_objwrapper.m, framework/src/ruby/osx/objc/cocoa.rb, framework/src/ruby/osx/objc/oc_import.rb: read the metadata files at runtime and register the methods with pass-by-ref arguments. * tests/tc_passbyref.rb: when testing NSString's methods with pass-by-reference arguments, do not register manually the methods as they are now automatically handled. 2006-06-07 Laurent Sansonetti <lsansonetti@apple.com> * tc_subclass.rb: added another test case to check correct ObjC hierarchy. * framework/src/objc/cls_objcid.m: fixed inspection message of objects from classes that do not directly inherit from OSX::ObjcID (reported by Jonathan Paisley). * framework/src/ruby/osx/objc/oc_wrapper.rb: added a new way to call Objective-C methods from Ruby, passing an inline Hash after the first argument (e.g. #initWithScheme('http', :host => 'myhost', :path => 'mypath') similar to what Rails does. * tests/tc_wrapper.rb: added test cases to check inline Hash calling pattern. 2006-06-06 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/RBObject.m, framework/src/objc/cls_objcid.m, framework/src/objc/ocdata_conv.h, framework/src/objc/ocdata_conv.m: renamed the objects mapping caches (oc2rb -> rb2oc and vice-versa), checkout that the hash table is still empty for us before inserting the value to avoid a possible race condition (thanks Jonathan Paisley). 2006-06-05 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/OverrideMixin.m: moved to the new debug logging facility (though it's not used yet in that file). * framework/src/objc/mdl_objwrapper.m, framework/src/objc/mdl_osxobjc.m, framework/src/ruby/osx/objc/cocoa.rb, framework/src/ruby/osx/objc/oc_import.rb: translate the real Objective-C class hierarchy when creating Ruby proxies classes, so that for example OSX::NSString inherits from OSX::NSObject. Take into account CoreFoundation toll-free bridged classes. Various small optimizations elsewhere. * framework/src/objc/ocdata_conv.m: fixed a bug that caused all cached objects (both Ruby and ObjC) to never be removed from the internal caches. * tests/tc_passbyref.rb: register the instance method on the NSString class and not NSCFString anymore. * tests/tc_subclass.rb: added a test case to check for real Objective-C class hierarchy. 2006-06-02 kimura wataru <kimuraw@i.nifty.jp> * framework/src/objc/mdl_objwrapper.m, tests/tc_retaincount.rb: fixed object retention bug from allocWithZone. 2006-06-02 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/mdl_objwrapper.m, framework/src/objc/mdl_osxobjc.m, framework/src/objc/ocdata_conv.m, framework/src/ruby/osx/objc/oc_import.rb: added experimental support of pass-by-reference methods. * tests/tc_passbyref.rb, tests/objc_test.m: added a test to check the pass-by-reference methods support. 2006-06-01 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/RBObject.m, framework/src/objc/RBRuntime.h, framework/src/objc/mdl_objwrapper.m: refactored the debug logging facility. * framework/src/objc/RBObject.m, framework/src/objc/RBRuntime.m, framework/src/objc/ocdata_conv.h, framework/src/objc/ocdata_conv.m: map Ruby-to-Objective-C object addresses in an internal cache instead of an instance variable in the new Ruby object, as this does not work in the object is frozen. * tests/tc_uniqobj.rb: added a test to check that frozen Ruby objects are unique when crossing the bridge. 2006-05-31 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/ocdata_conv.m: changed the Objective-C-to-Ruby internal cache from CFDictionary to Ruby's bundled st.h. * tests/objc_test.m, tests/tc_uniqobj.rb: added new tests to check that objects are not copied when they cross the bridge. 2006-05-30 Laurent Sansonetti <lsansonetti@apple.com> * tests/tc_constants.rb: removed duplicated test cases. * framework/src/objc/RBObject.m, framework/src/objc/RBRuntime.m, framework/src/objc/mdl_objwrapper.m, framework/src/objc/ocdata_conv.h, framework/src/objc/ocdata_conv.m, framework/src/objc/cls_objcid.m: make sure objects are not copied each time they cross the bridge (either from ObjC to Ruby and vice-versa). * framework/src/ruby/osx/cocoa.rb, framework/src/ruby/osx/foundation.rb, framework/src/ruby/osx/appkit.rb, framework/src/ruby/osx/objc/cocoa.rb, framework/src/ruby/osx/objc/cocoa_macros.rb, framework/src/ruby/osx/objc/oc_import.rb, framework/post-config.rb, framework/RubyCocoa.pbproj/project.pbxproj.in: removed generated appkit.rb/foundation.rb files and ns_import classes at demand. * framework/src/objc/mdl_objwrapper.m: faster message forwarding, relying on objc_msgSend when possible. * framework/src/objc/RBObject.m: fixed memory leaks. * framework/src/objc/mdl_osxobjc.m (osx_mf_objc_derived_class_new): cheap ObjC class lookup. * framework/src/objc/RBObject.m, framework/src/objc/mdl_osxobjc.m, framework/src/objc/mdl_objwrapper.m, framework/src/objc/ocdata_conv.h, framework/src/objc/ocdata_conv.m, framework/src/objc/OverrideMixin.m: cheap selectors conversions. * pre-config.rb, framework/src/objc/cocoa/gen_cocoa_wrapper.rb, framework/src/objc/mdl_objwrapper.m: migrated NS_DURING/NS_HANDLER/... old macros to the newer @try/@catch syntax. 2006-05-29 FUJIMOTO Hisa <hisa@fobj.com> * COPYING, COPYING.ja, LEGAL, ReadMe.ascii.html, ReadMe.sjis.html, ext/rubycocoa/rubycocoa.m, ext/rubycocoa/rubycocoa.m.in, framework/src/objc/DummyProtocolHandler.h, framework/src/objc/DummyProtocolHandler.m, framework/src/objc/DummyProtocolHandler.m.erb, framework/src/objc/OverrideMixin.h, framework/src/objc/OverrideMixin.m, framework/src/objc/RBClassUtils.h, framework/src/objc/RBClassUtils.m, framework/src/objc/RBObject.h.in, framework/src/objc/RBObject.m, framework/src/objc/RBRuntime.h, framework/src/objc/RBRuntime.m, framework/src/objc/RBSlaveObject.h.in, framework/src/objc/RBSlaveObject.m, framework/src/objc/RBThreadSwitcher.h, framework/src/objc/RBThreadSwitcher.m, framework/src/objc/RubyCocoa.h.in, framework/src/objc/cls_objcid.h, framework/src/objc/cls_objcid.m, framework/src/objc/cls_objcptr.h, framework/src/objc/cls_objcptr.m, framework/src/objc/cocoa/gen_cocoa_wrapper.rb, framework/src/objc/cocoa/init_cocoa.m, framework/src/objc/cocoa/init_cocoa.m.erb, framework/src/objc/gen_dummy_handler.rb, framework/src/objc/mdl_objwrapper.h, framework/src/objc/mdl_objwrapper.m, framework/src/objc/mdl_osxobjc.h, framework/src/objc/mdl_osxobjc.m, framework/src/objc/ocdata_conv.h, framework/src/objc/ocdata_conv.m, framework/src/ruby/osx/addressbook.rb, framework/src/ruby/osx/appkit.rb, framework/src/ruby/osx/cocoa.rb, framework/src/ruby/osx/coredata.rb, framework/src/ruby/osx/foundation.rb, framework/src/ruby/osx/objc/addressbook.rb, framework/src/ruby/osx/objc/application.rb, framework/src/ruby/osx/objc/cocoa.rb, framework/src/ruby/osx/objc/cocoa_macros.rb, framework/src/ruby/osx/objc/coredata.rb, framework/src/ruby/osx/objc/oc_all.rb, framework/src/ruby/osx/objc/oc_attachments.rb, framework/src/ruby/osx/objc/oc_exception.rb, framework/src/ruby/osx/objc/oc_import.rb, framework/src/ruby/osx/objc/oc_types.rb, framework/src/ruby/osx/objc/oc_wrapper.rb, framework/src/ruby/osx/objc/ruby_addition.rb, framework/src/ruby/osx/webkit.rb, lib/osx/addressbook.rb, lib/osx/appkit.rb, lib/osx/cocoa.rb, lib/osx/coredata.rb, lib/osx/foundation.rb, lib/osx/webkit.rb, package/pre-package.rb, sample/Hakoiri-Musume/main_0.3.m, sample/MyViewer/main.m, sample/Pong/main.m, sample/RubyRaiseMan/main.m, sample/RubyTypingTutor/main.m, sample/dotview/main.m, sample/mk_app0/main.m, sample/mk_app1/main.m, sample/multinib/main.m, sample/pb_app0/main.m, sample/simpleapp/main.m, sample/thread0/main.m, template/MakefileBased/main.m, tests/tc_attachments.rb, tests/tc_exception.rb, tests/tc_nsattributedstring.rb, tests/tc_nsdata.rb, tests/tc_nsstring.rb, tests/tc_objcptr.rb, tests/tc_rubystring.rb, tests/tc_subclass.rb, tests/tc_wrapper.rb, tool/install-ruby.rb, tool/och_analyzer.rb, tool/och_analyzer3.rb: change the new license as dual (the Ruby License and LGPL). 2006-05-16 kimura wataru <kimuraw@i.nifty.jp> * tests/objc_test.m, tests/tc_retaincount.rb: add tests for retainCount. 2006-05-16 Laurent Sansonetti <lsansonetti@apple.com> * framework/src/objc/cls_objcid.h, framework/src/objc/cls_objcid.m, framework/src/objc/mdl_objwrapper.m: explicitely retain all ObjC objects that were not issued from alloc/new/copy/mutableCopy. 2006-05-05 kimura wataru <kimuraw@i.nifty.jp> * VERSION: set version to 0.4.3d2(snapshot). 2006-05-02 kimura wataru <kimuraw@i.nifty.jp> * framework/src/ruby/osx/objc/cocoa_macros.rb: add utility method: NSApplication.run_with_temp_app. 2006-04-10 kimura wataru <kimuraw@i.nifty.jp> * framework/src/objc/mdl_osxobjc.m, framework/src/ruby/osx/objc/cocoa.rb, framework/src/ruby/osx/objc/oc_import.rb: fix: after the change of 2006-03-24, any app cannot launch. there is a problem in initialization process. definition step of cocoa functions and constants is moved into osx/objc/cocoa.rb(OSX.init_cocoa). * framework/src/objc/cocoa/gen_cocoa_wrapper.rb: remove rb_require(). 2006-04-05 kimura wataru <kimuraw@i.nifty.jp> * tool/och_analyzer3.rb: fix: config step fails on intel Mac. 2006-03-24 kimura wataru <kimuraw@i.nifty.jp> * framework/src/objc/cocoa/gen_cocoa_wrapper.rb, framework/src/objc/RBRuntime.m, framework/src/objc/mdl_osxobjc.m, tests/tc_constants.rb: define ruby constants of Cocoa constants. * framework/src/ruby/osx/objc/oc_object.rb, framework/src/ruby/osx/objc/oc_all.rb, framework/RubyCocoa.pbproj/project.pbxproj.in: remove oc_object.rb. 2006-03-15 FUJIMOTO Hisa <hisa@fobj.com> * framework/src/objc/ocdata_conv.h, framework/src/objc/ocdata_conv.m, tool/och_analyzer.rb, tool/och_analyzer3.rb: support for the "long long" type. (e.g. the return value of NSURLResponse::expectedContentLength) (patch from Jakob Olesen, thanks!) 2006-03-13 kimura wataru <kimuraw@i.nifty.jp> * framework/src/objc/mdl_osxobjc.m: use objc_class->name to get class name of Objective-C class. 2006-03-10 kimura wataru <kimuraw@i.nifty.jp> * framework/src/ruby/osx/objc/oc_import.rb: ns_inherited() in ns_override is not needed. 2006-03-09 kimura wataru <kimuraw@i.nifty.jp> * sample/: remove ns_override from sample codes. 2006-03-07 Jonathan Paisley <jp-www@dcs.gla.ac.uk> * framework/src/mdl_osxobjc.m, tests/tc_attachments.rb Re-enable RCArrayAttachment, RCDictionaryAttachment, RCDataAttachment. 2006-03-03 kimura wataru <kimuraw@i.nifty.jp> * tests/tc_subclass.rb, tests/objc_test.m: add test of about ns_override. * framework/src/objc/mdl_objwrapper.m: fix: _objc_method_type() sometimes not correctly. * framework/src/ruby/osx/objc/oc_import.rb: new feature: automatic ns_overrde. 2006-02-23 kimura wataru <kimuraw@i.nifty.jp> * framework/src/objc/OverrideMixin.m: fix: exception on invoking super raises after ns_override twice. 2006-02-22 kimura wataru <kimuraw@i.nifty.jp> * framework/src/objc/cls_objcptr.m: suppress warning "target of assignment not really an lvalue" 2006-02-13 kimura wataru <kimuraw@i.nifty.jp> * template/ProjectBuilder/Application/Cocoa-Ruby Core Data Application/AppDelegate.rb: fix typo of managedObjectModel. 2006-02-12 kimura wataru <kimuraw@i.nifty.jp> * framework/src/objc/mdl_objwrapper.m: - add module OSX::OCClsWrapper - move objc_instance|class_methods, objc_instance|class_method_type to OSX::OCClsWrapper from OSX::OCObjWrapper. * framework/src/ruby/osx/objc/oc_import.rb: extend OSX::OCClsWrapper at ns_import. * tests/tc_wrapper.rb: modify testcase for above change. 2006-02-09 kimura wataru <kimuraw@i.nifty.jp> * framework/src/objc/OverrideMixin.m: fix: incorrectly handling args in handle_ruby_method(). 2006-02-08 kimura wataru <kimuraw@i.nifty.jp> * install.rb: add to "test" task validation about rubycocoa.bundle and RubyCocoa.framework * package/post-package.rb: support package task on 10.3. 2006-02-07 kimura wataru <kimuraw@i.nifty.jp> * template/ProjectBuilder/Application/Cocoa-Ruby Core Data Application/AppDelegate.rb: remove bad line "//0/dummy timestamp//" 2006-02-06 kimura wataru <kimuraw@i.nifty.jp> * framework/src/objc/OverrideMixin.m: suppress warning "pointer type mismatch" in get_handler_ruby_method() * framework/src/objc/RBObject.m: suppress warning "comparison between pointer and integer" in - [RBObject methodSignatureForSelector:] 2006-02-05 kimura wataru <kimuraw@i.nifty.jp> * framework/src/objc/mdl_objwrapper.m: add methods objc_class_method_type and objc_instance_method_type to OSX::OCObjWrapper. * tests/tc_wrapper.rb add tests for objc_class_method_type and objc_instance_method_type. 2006-02-02 kimura wataru <kimuraw@i.nifty.jp> * framework/src/objc/mdl_objwrapper.m: fix: objc_method_type crashes when passed method does not exists. * pre-cofig.rb: add "-g" to CFLAGS. * lib/osx/objc/oc_types.rb: add NSPoint#==, NSSize#==, NSRect#==, NSRange#== 2006-01-31 kimura wataru <kimuraw@i.nifty.jp> * framework/src/objc/OverrideMixin.m: fix: handle_ruby_method() crashes when size of return type is larger than size of id. (patch form Jonathan Paisley) 2006-01-30 kimura wataru <kimuraw@i.nifty.jp> * package/post-package.rb: ensure revert owner when packagemaker fails. 2006-01-29 kimura wataru <kimuraw@i.nifty.jp> * package/: tool for making binary package. * install.rb: add task "package". * package/post-package.rb: set owner and group of install files. * VERSION: set version to 0.4.3d1(snapshot). 2006-01-27 kimura wataru <kimuraw@i.nifty.jp> * metaconfig.rb: - add RubyCocoa.system_version - add config 'macosx-deployment-target' 2006-01-25 kimura wataru <kimuraw@i.nifty.jp> * tests/tc_wrapper.rb add test for module OCObjWrapper. 2006-01-22 kimura wataru <kimuraw@i.nifty.jp> * metaconfig: add config 'build-universal' * pre-config.rb: - support config 'build-universal' - ignore environment SDKROOT, CFLAGS and LDFLAGS. 2006-01-19 kimura wataru <kimuraw@i.nifty.jp> * pre-config.rb: apply environment SDKROOT 2006-01-18 kimura wataru <kimuraw@i.nifty.jp> * framework/src/objc/ocdata_conv.m: suppress warning "may be used uninitialized" with gcc-4.0. * metaconfig: add RubyCocoaConfig.libruby_path * pre-config.rb, ext/rubycocoa/extconf.rb.in, framework/RubyCocoa.pbproj/project.pbxproj.in: apply environment CFLAGS and LDFLAGS 2006-01-14 kimura wataru <kimuraw@i.nifty.jp> * framework/src/objc/mdl_objwrapper.m: fix: objc_methods not lookup superclass when the receiver is a instance. * framework/src/objc/mdl_objwrapper.m: add methods objc_class_methods and objc_instance_methods to OSX::OCObjWrapper. 2006-01-12 kimura wataru <kimuraw@i.nifty.jp> * install.rb: suppress warning "Object#type is deprecated". * framework/src/objc/mdl_objwrapper.m: fix: objc_methods returns mixture value of class/instance methods. 2006-01-11 kimura wataru <kimuraw@i.nifty.jp> * framework/src/objc/mdl_objwrapper.m: fix: invoking OSX::OCObjWrapper#objc_methods crashes. * framework/src/objc/mdl_objwrapper.m: fix: invoking OSX::OCObjWrapper#objc_method_type crashes. 2006-01-03 kimura wataru <kimuraw@i.nifty.jp> * sample/Hakoiri-Musume/cocoa_hako.rb, sample/Hakoiri-Musume/rb_main.rb: fix: Hakoiri-Musume does not run with RubyCocoa 0.4.2. 2005-12-26 kimura wataru <kimuraw@i.nifty.jp> * framework/src/objc/OverrideMixin.m: fix: imp_c_allocWithZone() crashes when the parameter zone is NULL. (patch form Jonathan Paisley) 2005-12-23 kimura wataru <kimuraw@i.nifty.jp> * framework/src/ruby/osx/objc/oc_import.rb: suppress warning "default `to_a' will be obsolete" when one Symbol passed to kvc_depends_on(). 2005-12-12 kimura wataru <kimuraw@i.nifty.jp> * framework/src/objc/ocdata_conv.m: fix: leaks at rbnum_to_nsnum(). 2005-12-08 kimura wataru <kimuraw@i.nifty.jp> * install.rb: fix: config step fails when working directory contains space. 2005-11-23 kimura wataru <kimuraw@i.nifty.jp> * metaconfig, ext/rubycocoa/extconf.rb.in, framework/post-config.rb Xcode 2.2 moved ruby.h, but ruby command reports old path. 2005-11-10 kimura wataru <kimuraw@i.nifty.jp> * release 0.4.2 (release-0_4_2) 2005-11-07 kimura wataru <kimuraw@i.nifty.jp> * framework/src/ruby/osx/objc/oc_import.rb: fix: kvc_wrapper fails when nil is passed as a parameter. 2005-11-06 kimura wataru <kimuraw@i.nifty.jp> * framework/src/ruby/osx/objc/oc_import.rb: add method kvc_wrapper. * framework/src/ruby/osx/objc/coredata.rb: add OSX::CoreData.define_wrapper. this method defines accessors from NSManagedObjectModel. * template/ProjectBuilder/Application/Cocoa-Ruby Core Data Document-based Application/MyDocument.rb: call OSX::CoreData.define_wrapper at initializing a document. * framework/src/ruby/osx/objc/oc_import.rb: fix: kvc_writer and kvc_depends_on do not work correctly about "*args". * template/ProjectBuilder/Application/Cocoa-Ruby Core Data Application/AppDelegate.rb call OSX::CoreData.define_wrapper when an application is launched. 2005-11-03 kimura wataru <kimuraw@i.nifty.jp> * sample/Pong/Model.rb: fix: Pong.app with ruby 1.8 stops when a ball bounds at top. 2005-11-02 kimura wataru <kimuraw@i.nifty.jp> * tests/tc_subclass.rb: testunit-0.1.8 has "assert_raises" not "assert_raise". * tests/tc_nsstring.rb: fix test failure: nkf version 1 does not support UTF8. * install.rb, framework/RubyCocoa.pbproj/project.pbxproj.in: fix: on 10.2, build step fails with libtool error. 2005-11-01 kimura wataru <kimuraw@i.nifty.jp> * install.rb: suppress error message about `xcodebuild -version' on panther. * sample/Pong/Model.rb: fix: not work with ruby-1.8. * framework/src/objc/ocdata_conv.m: NSString#initWithBytes:length:encoding: is not declared in 10.2. 2005-10-31 kimura wataru <kimuraw@i.nifty.jp> * sample/RubyRaiseMan/MyDocument.rb: suppress warning about method "isKindOf:". 2005-10-27 kimura wataru <kimuraw@i.nifty.jp> * template/ProjectBuilder/Application/Cocoa-Ruby Core Data Document-based Application/: add template for CoreData. * pre-install.rb: install template "Cocoa-Ruby Core Data Document-based Application". 2005-10-26 kimura wataru <kimuraw@i.nifty.jp> * lib/src/ruby/osx/coredata.rb: add files to support CoreData(requires MacOS X 10.4 or later) * framework/RubyCocoa.pbproj/project.pbxproj.in: packaging coredata.rb into framework. * template/ProjectBuilder/Application/Cocoa-Ruby Core Data Application/: add template for CoreData. * pre-install.rb: install template "Cocoa-Ruby Core Data Application". 2005-10-24 kimura wataru <kimuraw@i.nifty.jp> * install.rb: do not create "InstalledFiles" file at install task. 2005-10-18 kimura wataru <kimuraw@i.nifty.jp> * sample/RubySpotlight/: add samle of CocoaBindings contributed by Norberto Ortigoza. 2005-10-17 kimura wataru <kimuraw@i.nifty.jp> * sample/CurrencyConverter/Converter.rb: replace setKeys:triggerChangeNotificationsForDependentKey: to kvc_depends_on. 2005-10-15 kimura wataru <kimuraw@i.nifty.jp> * framework/src/ruby/osx/coredata.rb, framework/src/ruby/osx/objc/coredata.rb: add files to support CoreData(requires MacOS X 10.4 or later) 2005-10-04 kimura wataru <kimuraw@i.nifty.jp> * framework/src/objc/OverrideMixin.m: fix: sub-subclass of a Cocoa class in a ruby script leads a crash. * framework/src/ruby/osx/objc/oc_import.rb: add kvc_depends_on. suggested by Sean Legassick and Jonathan Paisley. 2005-09-27 kimura wataru <kimuraw@i.nifty.jp> * framework/src/ruby/osx/objc/RBObject.h.in, framework/src/ruby/osx/objc/RBObject.m: add method -isRBObject to NSProxy and RBObject. * framework/src/objc/mdl_osxobjc.m: use "isRBObject" to know receiver is instance of RBObject or not. 2005-09-19 kimura wataru <kimuraw@i.nifty.jp> * framework/src/ruby/osx/objc/cocoa_macros.rb: fix: wrong code at 2005-09-15(error "`respond_to?': true is not a symbol (TypeError)") 2005-09-15 kimura wataru <kimuraw@i.nifty.jp> * framework/src/ruby/osx/objc/cocoa_macros.rb: nkf of 1.8.3 works fine. we can use NKF.guess2. 2005-09-11 kimura wataru <kimuraw@i.nifty.jp> * framework/src/ruby/osx/objc/oc_wrapper.rb: keep ownership by "retain" in ruby script. * framework/src/ruby/osx/objc/oc_wrapper.rb: fix: retainCount of a string generated by "alloc.init" is two. 2005-09-08 kimura wataru <kimuraw@i.nifty.jp> * tool/och_analyzer3.rb: support cpp-4.0. * tool/och_analyzer.rb, tool/och_analyzer3.rb, framework/src/objc/cocoa/gen_cocoa_wrapper.rb: suppress warning "Object#type is deprecated". 2005-08-30 kimura wataru <kimuraw@i.nifty.jp> * framework/src/objc/OverrideMixin.m: suppress warning "cannot find method" 2005-08-10 kimura wataru <kimuraw@i.nifty.jp> * framework/src/objc/RBObject.m, framework/src/objc/RBObject.m: convert ruby exception to NSException. patch from Jonathan Paisley. * tests/tc_exception.rb, tests/Makefile, tests/objc_test.m add files. test for exception handling, includes above changes. 2005-08-01 kimura wataru <kimuraw@i.nifty.jp> * framework/post-config.rb: chdir in ruby. * framework/src/objc/cocoa/gen_cocoa_wrapper.rb: remove rb_Xxxx.m when gen_cocoa_wrapper.rb fails. * install.rb: new task: `test' enables "ruby install.rb test". 2005-07-31 kimura wataru <kimuraw@i.nifty.jp> * tool/och_analyzer.rb, tool/och_analyzer3.rb: check status of CPP command. 2005-07-27 kimura wataru <kimuraw@i.nifty.jp> * install.rb: use fullpath of build-command. 2005-07-21 kimura wataru <kimuraw@i.nifty.jp> * ext/osxobjc/extconf.rb.in: fix: wrong change at 2005-04-18 * install.rb, pre-config.rb, ext/osxobjc/extconf.rb.in, framework/pre-install.rb: support installation with XcodeTools 2.1. 2005-07-19 kimura wataru <kimuraw@i.nifty.jp> * framework/pre-install.rb: support installation with XcodeTools 2.1. 2005-07-16 kimura wataru <kimuraw@i.nifty.jp> * tool/och_analyzer.rb, tool/och_analyzer3.rb: support constants about window level, such as NSNormalWindowLevel. 2005-07-15 kimura wataru <kimuraw@i.nifty.jp> * framework/RubyCocoa.pbproj/project.pbxproj.in, framework/pre-install.rb: add "-Wl,-x" to OTHER_LDFLAGS. remove `strip' at install phase. 2005-06-13 kimura wataru <kimuraw@i.nifty.jp> * framework/src/objc/ocdata_conv.m: code fix on comparing kcode. 2005-06-11 kimura wataru <kimuraw@i.nifty.jp> * tests/tc_subclass.rb: add test for +[(id) addRubyMethod:withType:] * framework/src/ruby/osx/objc/oc_import.rb: suppress warning "@inherited not initialized" in debug mode. 2005-06-07 kimura wataru <kimuraw@i.nifty.jp> * framework/src/ruby/osx/objc/oc_import.rb: add kvc_array_accessor. patch from Jonathan Paisley. * framework/src/objc/OverrideMixin.m: add method +[(id) addRubyMethod:withType:]. patch from Jonathan Paisley. 2005-05-04 kimura wataru <kimuraw@i.nifty.jp> * pre-install.rb: fix installataion of Project Builder's templates. 2005-04-30 kimura wataru <kimuraw@i.nifty.jp> * framework/src/ruby/osx/objc/oc_import.rb: add kvc_accessor, kvc_reader and kvc_writer. suggested by Jonathan Paisley. fix: infinite loop when kvc-accessor is not found. * sample/CurrencyConverter/: new sample for Key-Value Coding 2005-04-29 kimura wataru <kimuraw@i.nifty.jp> * ext/osxobjc/extconf.rb.in: fix: wrong change at 2005-04-18 2005-04-28 kimura wataru <kimuraw@i.nifty.jp> * framework/src/ruby/osx/objc/oc_import.rb: include OSX::NSKeyValueCodingAttachment, not extend 2005-04-22 kimura wataru <kimuraw@i.nifty.jp> * framework/src/objc/overridemixin.m: KVC support: add override valueForUndefinedKey: and setValue:forUndefinedkey: * framework/src/ruby/osx/objc/oc_import.rb: KVC support: add module OSX::NSKeyValueCodingAttachment 2005-04-20 kimura wataru <kimuraw@i.nifty.jp> * framework/src/objc/RBClassUtils.m, framework/src/objc/RBRuntime.m, framework/src/objc/cls_objcid.m, framework/src/objc/mdl_objwrapper.m, framework/src/objc/mdl_osxobjc.m, use UTF8, not default encoding 2005-04-19 kimura wataru <kimuraw@i.nifty.jp> * framework/src/objc/RBObject.m, framework/src/objc/ocdata_conv.m: use UTF8, not default encoding, to getting symbol and number * framework/src/objc/ocdata_conv.h, framework/src/objc/ocdata_conv.m: add rbstr_to_ocstr(), ocstr_to_rbstr(): converting string with $KCODE * framework/src/objc/mdl_objwrapper.m, framework/src/objc/ocdata_conv.m: fix: [ruby-talk:135308] use invalind encoding in converting string 2005-04-18 kimura wataru <kimuraw@i.nifty.jp> * ext/osxobjc/extconf.rb.in: suppress warning "linker input file unused because linking not done" 2005-04-16 kimura wataru <kimuraw@i.nifty.jp> * framework/src/objc/mdl_osxobjc.m: fix: ocid_get_rbobj() - pure ruby object becomes instance of OSX::OCObject 2005-04-12 kimura wataru <kimuraw@i.nifty.jp> * framework/src/objc/RBObject.m: fix bad classname in debug mesage at -[RBObject isKindOfClass:]. 2005-03-25 kimura wataru <kimuraw@i.nifty.jp> * release 0.4.1 (release-0_4_1) 2005-03-23 kimura wataru <kimuraw@i.nifty.jp> * doc/build.en.html, doc/build.ja.html, doc/changes.en.html, doc/changes.ja.html, doc/getting.en.html, doc/getting.ja.html, doc/index.en.html, doc/index.ja.html, doc/programming.en.html, doc/programming.ja.html: update for 0.4.1 * doc/rubycocoasite.css: fix hover on name-anchor * doc/links.en.html, doc/links.ja.html: mantenance links * ReadMe.ascii.html, ReadMe.sjis.html: update date of copyright 2005-03-21 kimura wataru <kimuraw@i.nifty.jp> * ReadMe.ascii.html, ReadMe.sjis.html: change about contacting 2005-03-18 kimura wataru <kimuraw@i.nifty.jp> * framework/src/objc/RBRuntime.m: add import <Foundation/NSPathUtilities.h> * tool/och_analyzer3 suppress the warning "regexp has `}' without escape". * framework/RubyCocoa.pbproj/project.pbxproj.in: add setting OBJROOT and SYMROOT. * install.rb: remove setting OBJROOT and SYMROOT. 2005-02-27 kimura wataru <kimuraw@i.nifty.jp> * sample/HybridLangApp/rb_main.rb, sample/Pong/rb_main.rb, sample/RubyRaiseMan/rb_main.rb, sample/RubyTypingTutor/rb_main.rb, sample/SimpleApp.app/Contents/Resources/rb_main.rb, sample/dotview/rb_main.rb, sample/mk_app0/rb_main.rb, sample/mk_app1/rb_main.rb, sample/multinib/rb_main.rb, sample/pb_app0/rb_main.rb, sample/simpleapp/rb_main.rb, sample/thread0/rb_main.rb, template/EmptyApp.app/Contents/Resources/rb_main.rb, template/MakefileBased/rb_main.rb, template/ProjectBuilder/Application/Cocoa-Ruby Application/rb_main.rb, template/ProjectBuilder/Application/Cocoa-Ruby Document-based Application/rb_main.rb support non-ascii path. 2005-02-23 kimura wataru <kimuraw@i.nifty.jp> * framework/src/objc/RBRuntime.m: support non-ascii path. 2005-02-18 kimura wataru <kimuraw@i.nifty.jp> * install.rb: ignore Xcode preferences: OBJROOT, SYMROOT. 2005-01-10 kimura wataru <kimuraw@i.nifty.jp> * install.rb, framework/RubyCocoa.pbproj/project.pbxproj.in: enable build with libruby-static.a or libruby.a. * metaconfig, pre-install.rb: remove config option 'other-ldflags'. 2005-01-06 kimura wataru <kimuraw@i.nifty.jp> * framework/src/ruby/osx/objc/cocoa_macros.rb, framework/src/ruby/osx/objc/ruby_additon.rb: support ruby-1.8.2. ruby-1.8.2's NKF.guess fails in some case. 2004-12-09 kimura wataru <kimuraw@i.nifty.jp> * merged branch-devel-panther 2004-11-07 kimura wataru <kimuraw@i.nifty.jp> * sample/HybridLangApp/rb_main.rb, sample/Pong/rb_main.rb, sample/RubyRaiseMan/rb_main.rb, sample/RubyTypingTutor/rb_main.rb, sample/SimpleApp.app/Contents/Resources/rb_main.rb, sample/dotview/rb_main.rb, sample/mk_app0/rb_main.rb, sample/mk_app1/rb_main.rb, sample/multinib/rb_main.rb, sample/pb_app0/rb_main.rb, sample/simpleapp/rb_main.rb, sample/thread0/rb_main.rb, template/EmptyApp.app/Contents/Resources/rb_main.rb, template/MakefileBased/rb_main.rb, template/ProjectBuilder/Application/Cocoa-Ruby Application/rb_main.rb, template/ProjectBuilder/Application/Cocoa-Ruby Document-based Application/rb_main.rb Fix application works not well, when pathname contains whitespace.(thanks to Chris Thomas) 2003-08-09 FUJIMOTO Hisakuni <hisa@fobj.com> * tests/tc_nsdata.rb: suppress the warning "parenthesize argument(s) for future version". * framework/src/ruby/osx/objc/oc_types.rb, framework/src/objc/ocdata_conv.m: Fix an inconvenient issue for that Range#length was obsoleted in ruby 1.8. 2003-08-04 FUJIMOTO Hisakuni <hisa@fobj.com> * metaconfig: To suppress warning, remove spaces between method name and argument list. * install.rb: specify false to parameter of Module#instance_methods 2003-07-28 FUJIMOTO Hisakuni <hisa@fobj.com> * framework/src/objc/RBSlaveObject.h.in, framework/src/objc/RBSlaveObject.m: Remove definition of initializer method "init". This fixes an error which occurs when an intializer method is overridden with invocation of "super_init". * framework/RubyCocoa.pbproj/project.pbxproj.in, framework/src/ruby/osx/webkit.rb, lib/osx/webkit.rb: add new library to support the WebKit.framework 2003-07-28 kimura wataru <kimuraw@i.nifty.jp> * framework/src/ruby/osx/objc/webkit.rb add new library to support the WebKit.framework 2003-07-25 FUJIMOTO Hisakuni <hisa@fobj.com> * framework/RubyCocoa.pbproj/project.pbxproj.in: for bundling within an application bundle, set INSTALL_PATH to "@executable_path/../Frameworks". suggested by Rod Schmidt. 2003-02-28 Shirai,Kaoru <shirai@korinkan.co.jp> * framework/src/objc/ocdata_conv.m: In framework/src/objc/ocdata_conv.m, nil is converted into empty selctor "", so we cannot pass NULL to Objective-C function. (Example. didDismissSelector argument of NSApplication.beginAlertSheet) 2003-01-23 FUJIMOTO Hisakuni <hisa@fobj.com> * doc/index.en.html, doc/index.ja.html, doc/links.en.html, doc/programming.en.html, doc/references.en.html, doc/trysamples.en.html, doc/changes.en.html, doc/faq.en.html, doc/getting.en.html, doc/changelog.html, doc/build.en.html: applied a patch by John Platte 2003-01-17 FUJIMOTO Hisakuni <hisa@fobj.com> * framework/src/objc/RBThreadSwitcher.m: define DEFAULT_WAIT (default is 0) and DEFAULT_INTERVAL (defualt is 0.050). * framework/src/objc/ocdata_conv.m: rbobj_to_nsobj() - change to the same as behavior of 0.4.0 for "to_nsobj(ect)". * framework/src/objc/mdl_osxobjc.m: rbobj_get_ocid() - change to the same as behavior of 0.4.0 for "to_nsobj". 2003-01-16 FUJIMOTO Hisakuni <hisa@fobj.com> * sample, template: rb_main_init() in every rb_main.rb - wrap an argument of 'require' in 'File.basename'. This fixes loading a library twice as the other library. 2003-01-15 FUJIMOTO Hisakuni <hisa@fobj.com> * framework/src/ruby/osx/objc/oc_attachments.rb: define module RCDataAttachment and RCDataAttachment#rubyString. * framework/src/ruby/osx/objc/cocoa_macros.rb: define NSData.dataWithRubyString and NSMutableData.dataWithRubyString. * framework/src/objc/ocdata_conv.m: rbobj_to_nsobj() - call a method named "to_nsobject" if it is defined, to convert aruby object into an objective-c object. * framework/src/objc/mdl_osxobjc.m: rbobj_get_ocid() - relocate invocation of "to_nsobject" into rbobj_to_nsobj(). * framework/src/objc/mdl_osxobjc.m: ocobj_s_new() - add an attachment into a new object if it is a NSArray, NSDictionary or NSData. * tests/tc_nsdata.rb, tests/tc_objcptr.rb: add some unit tests * framework/src/objc/cls_objcptr.m: add taint mark handling. 2003-01-14 FUJIMOTO Hisakuni <hisa@fobj.com> * tests/tc_rubystring.rb, tests/tc_nsstring.rb: test for ruby_addition.rb and NSString extended facility * framework/RubyCocoa.pbproj/project.pbxproj.in: add ruby_addition.rb * framework/src/ruby/osx/objc/oc_all.rb: require 'ruby_addition' * framework/src/ruby/osx/objc/cocoa_macros.rb: define NSData.dataWithString, NSString.guess_nsencoding, NSString.stringWithRubyString, NSMutableString.stringWithRubyString * framework/src/ruby/osx/objc/ruby_addition.rb: define to_nsstring, to_nsmutablestring and nsencoding as instance method of String. * framework/src/objc/ocdata_conv.m: Use a method named 'to_nsobject' if it is defined, to convert a ruby object into an objective-c object. * framework/src/ruby/osx/objc/oc_import.rb: fix conflict of here document label * framework/src/ruby/osx/objc/addressbook.rb: modify here document label 2003-01-11 FUJIMOTO Hisakuni <hisa@fobj.com> * framework/post-config.rb: fix a config phase error in rb_gc_mark() of ruby 1.6.8. 2003-01-05 FUJIMOTO Hisakuni <hisa@fobj.com> * framework/src/ruby/osx/objc/oc_import.rb, framework/src/ruby/osx/objc/addressbook.rb: add a filename and line number to module_eval arguments 2002-12-28 FUJIMOTO Hisakuni <hisa@fobj.com> * release 0.4.0 (release-0_4_0) * pre-install.rb: add 'chmod -R g+w /Developer/Examples/RubyCocoa'. * README.en.txt, README.sjis.txt, ReadMe.ascii.html, ReadMe.sjis.html: rewrite ReadMe documents for binary package 2002-12-27 FUJIMOTO Hisakuni <hisa@fobj.com> * framework/pre-install.rb: fix 'strip -x' failed. * sample/speak_me.txt: text for speak.rb * framework/pre-install.rb, metaconfig, pre-install.rb: add installation of template, examples and documents. add option 'install-root' which make convenient for packaging. * README.en.txt, README.sjis.txt: revise for 0.4 * apply downcase to all html document names. 2002-12-26 FUJIMOTO Hisakuni <hisa@fobj.com> * framework/src/objc/cls_objcptr.m: remove ObjcPtr.allocate, because the method conflict with Class#allocate in ruby 1.7. 2002-12-22 FUJIMOTO Hisakuni <hisa@fobj.com> * sample/itunes_albums.rb: modify ambiguous ruby code to suppress warning by Ruby interpreter. * tests/testall.rb: replace CRLF to LF as line delimiter * framework/src/ruby/osx/objc/oc_import.rb: define constant OSX::NSBehaviorAttachment::ERRMSG_FOR_RESTRICT_NEW as exception message when NSObject.new invoked. * 0.4.0a5 (alpha-0_4_0a5) * tests/alltest.sh, tests/tc_nsattributedstring.rb, tests/tc_nsstring.rb, tests/tc_subclass.rb, tests/test_nsattributedstring.rb, tests/test_nsstring.rb, tests/testall.rb: rewrite some unit tests using Test::Unit * framework/src/ruby/osx/objc/oc_import.rb: In Ruby 1.8 (after 2002.9.27), 'NSObject#ns_overrides' may be called earlier than 'Class#inherited'. define constant OSX::NSBehaviorAttachment::ERRMSG_FOR_RESTRICT_NEW as exception message when NSObject.new invoked. 2002-12-20 FUJIMOTO Hisakuni <hisa@fobj.com> * metaconfig, pre-config.rb, VERSION, framework/src/objc/Version.h, framework/src/objc/Version.h.in: create 'Version.h' at the time of config * install.rb: clean_dir_framework - command 'rm -rf build' * sample/SimpleApp.app/Contents/Resources/AppController.rb, sample/SimpleApp.app/Contents/MacOS/SimpleApp: print ruby version in the About Box * framework/src/ruby/osx/objc/oc_import.rb: add comment for some methods which is defined in NSBehaviorAttachment. 2002-12-19 FUJIMOTO Hisakuni <hisa@fobj.com> * sample/simpleapp/AppController.rb: display Ruby's version in AboutBox * sample/simpleapp/main.m: replace main.m for RubyCocoa 0.4 * sample/speak.rb: modify for Ruby 1.7 * framework/src/objc/RBRuntime.m: change return type of load_path_unshift to void * add a new config option '--framework-name' for multiple installing of RubyCocoa framework. 2002-12-18 FUJIMOTO Hisakuni <hisa@fobj.com> * 0.4.0a1 (alpha-0_4_0a1) * modify ambiguous ruby code to suppress warning by Ruby interpreter. 2002-12-17 FUJIMOTO Hisakuni <hisa@fobj.com> * sample/Hakoiri-Musume/cocoa_hako.rb: bug fix - bring the window to front when the program is launched on command line. * sample/TransparentHello.rb: add a new example by Chris Thomas, the article on DDJ May 2002. * sample/HelloWorld.rb: add a new example - translate HelloWorld.py of PyObjc example to ruby with RubyCocoa. * sample/HybridLangApp: add a new example of using both Ruby and Objective-C. 2002-12-17 FUJIMOTO Hisakuni <hisa@fobj.com> * template/*: modify for RubyCocoa 0.4. move a Makefile based template to directory named MakefileBased. move templates for ProjectBuilder to directory named ProjectBuilder. 2002-12-16 FUJIMOTO Hisakuni <hisa@fobj.com> * framework/RubyCocoa.pbproj/project_tmpl.pbxproj: remove framework path entries. * sample/*: change for RubyCocoa 0.4 simplify the function 'main' of main.m with using RBApplicationMain. add libobjc and RubyCocoa.framework to LIBS in Makefile. * framework/src/objc/mdl_objwrapper.m: modify a little to suppress a compiling warning. * framework/src/objc/RBRuntime.m: change 3rd argument type of RBApplicationMain to 'const'. clean up on initialization of arguments of RBApplicationMain. * framework/src/objc/RBRuntime.h: change 3rd argument type of RBApplicationMain to 'const' 2002-12-12 FUJIMOTO Hisakuni <hisa@fobj.com> * merged branch-devel-0_4 2002-12-10 FUJIMOTO Hisakuni <hisa@fobj.com> * framework/src/ruby/osx/objc/addressbook.rb, framework/src/ruby/osx/objc/application.rb, framework/src/ruby/osx/objc/cocoa_macros.rb, framework/src/ruby/osx/objc/oc_attachments.rb, framework/src/ruby/osx/objc/oc_exception.rb, framework/src/ruby/osx/objc/oc_import.rb, framework/src/ruby/osx/objc/oc_wrapper.rb: fixed ambiguous method call with arguments. 2002-12-09 FUJIMOTO Hisakuni <hisa@fobj.com> * framework/post-config.rb: add 'create appkit.rb and foundation.rb' and 'create osx_ruby.h and osx_intern.h' * framework/pre-install.rb: add a comment. * framework/src/objc: add framework sources * framework/src/ruby/osx/objc/foundation.rb, framework/src/ruby/osx/objc/appkit.rb: remove objc/appkit.rb and objc/foundation.rb 2002-12-04 FUJIMOTO Hisakuni <hisa@fobj.com> * framework/tool/create-appkit-and-foundation.rb: script to create appkit.rb & foundation.rb * framework/src/ruby: add a ruby part of framework * RubyCocoa.framework again. change directory tree largely. 2002-10-16 FUJIMOTO Hisakuni <hisa@fobj.com> * lib/osx/addressbook.rb, lib/osx/appkit.rb, lib/osx/cocoa.rb, lib/osx/foundation.rb: move all into framework 2002-10-04 FUJIMOTO Hisakuni <hisa@fobj.com> * release 0.3.2 2002-10-03 FUJIMOTO Hisakuni <hisa@fobj.com> * lib/osx/addressbook.rb, lib/osx/objc/addressbook.rb: add a library for AddressBook.framework * ext/osx_objc/osx_objc.m: define objc_symbol_to_obj * lib/osx/objc/oc_import.rb: OSX.ns_import become module function * tool/och_analyzer3.rb: independent from AppKit and Foundation 2002-09-26 FUJIMOTO Hisakuni <hisa@fobj.com> * release 0.3.1 * sample, template: unnecessary to modify rb_main.rb in RubyCocoa application development. * ext/osx_objc/RBThreadSwitcher.m: RBThreadSwitcher.start restart when it's running already. * ext/osx_objc/osx_objc.m: define ruby_thread_switcher_start without argments. thread_switcher_start() when load this library. * ext/osx_objc/RBThreadSwitcher.h, ext/osx_objc/RBThreadSwitcher.m: define RBThreadSwitcher#start. interval time is 0.005 second. * ext/osx_objc/RBObject.m: Fix a bug that a wrapped Ruby object may be done GC. use rb_gc_register_address() when init, and use rb_gc_unregister_address() when dealloc. * lib/osx/objc/oc_types.rb: define NSRect#x, NSRect#y, NSRect#width, NSRect#height 2002-09-25 FUJIMOTO Hisakuni <hisa@fobj.com> * ext/osx_objc/cocoa-10.1/*, ext/osx_objc/cocoa-10.2/*: improve exception message description. exception handler for function call. * lib/osx/objc/oc_exception.rb: define class OCMessageSendException. add argument to OCException#initialize. 2002-09-24 FUJIMOTO Hisakuni <hisa@fobj.com> * ext/osx_objc/mdl_objwrapper.m: defined OCObjWrapper#objc_methods, OCObjWrapper#objc_method_type 2002-09-13 FUJIMOTO Hisakuni <hisa@fobj.com> * release 0.3.0 * sample/itunes_albums.rb, sample/speak.rb: add NSAppleScript sample * lib/osx/objc/oc_wrapper.rb: define ocnil? - Objective-C nil object? * app_mains/main_for_pure_ruby.rb: set Ruby String value into @ruby_program 2002-09-12 FUJIMOTO Hisakuni <hisa@fobj.com> * app_mains/main_for_pure_ruby.rb: CFBundleExecutable for pure ruby application. * lib/osx/objc/application.rb: define APP_BUNDLE which is behavior like a mainBundle instead of "NSBundle </usr/bin> (loaded)" * ext/osx_objc/osx_objc.m: move method like functions for ObjcID and OCObject to appropriate file. * ext/osx_objc/RBSlaveObject.m, ext/osx_objc/RBObject.m: add objcid public interface. all-in-one header file. * ext/osx_objc/OverrideMixin.m: Add cast to restrain warning * ext/osx_objc/cls_objcid.m: move method like functions for ObjcID and OCObject to appropriate file. * ext/osx_objc/osx_objc.h: add objcid public interface. all-in-one header file. * ext/osx_objc/cls_objcid.h: add objcid public interface. * ext/osx_objc/mdl_objwrapper.m: move method like functions for ObjcID and OCObject to appropriate file. Move most of procedure about argument of _PRIV_C_ID_PTR to ocdata_conv.m. * ext/osx_objc/ocdata_conv.m, ext/osx_objc/ocdata_conv.h: move method like functions for ObjcID and OCObject to appropriate file. 2002-09-11 FUJIMOTO Hisakuni <hisa@fobj.com> * tool/och_analyzer3.rb: NSWindowDepth and NSComparisonResult as int remove 'const' '[]' as pointer remve <.*> * ext/osx_objc/gen_dummy_handler.rb: use och_analyzer3.rb * ext/osx_objc/cls_objcptr.m: add methods for bool,int, uint, int8, uint8, int16, uint16, int32 and uint32. * ext/osx_objc/DummyProtocolHandler.m: generated by och_analyzer3.rb with cpp3 * sample: add samples. Hakoiri-Musume, simpleapp, SimpleApp.app * tool/och_analyzer3.rb: fix a bug that it's judged C_PTR to be ID_PTR. * ext/osx_objc/mdl_objwrapper.m: Remove unnecessary NSAutoreleasePool * ext/osx_objc/cls_objcptr.m, ext/osx_objc/cls_objcptr.h, ext/osx_objc/MANIFEST: add class OSX::ObjcPtr as a C pointer wrapper class. * ext/osx_objc/ocdata_conv.m: Undefined _PRIV_C_ARY_UI and defined _PRIV_C_PTR for ObjcPtr class as a C pointer wrapper class. Implement translating Ruby's Hash into NSDictionary for a method argument. * ext/osx_objc/ocdata_conv.h: undefined _PRIV_C_ARY_UI and defined _PRIV_C_PTR for ObjcPtr class as a C pointer wrapper class. * ext/osx_objc/cls_objcid.m: modify a little 2002-09-10 FUJIMOTO Hisakuni <hisa@fobj.com> * ext/osx_objc/osx_objc.m: add class OSX::ObjcPtr as a C pointer wrapper class. * ext/osx_objc/cocoa-10.2/rb_NS*.m: generated by gen_cocoa_wrapper.rb with cpp3 * ext/osx_objc/cocoa-10.2/init_cocoa.m: add rb_NSAppleEventManager.m and rb_NSScriptKeyValueCoding.m by gen_cocoa_wrapper.rb with cpp3 * lib/osx/objc/oc_attachments.rb: add method size, key and values for RCDictionaryAttachment add method size for RCArrayAttachment * tool/och_analyzer3.rb: support _PRIV_C_PTR. modify CPPFLAGS configuration 2002-09-07 FUJIMOTO Hisakuni <hisa@fobj.com> * ext/osx_objc/cocoa-10.2/rb_NS*.m: regenerate with /usr/bin/cpp3 * ext/osx_objc/cocoa-10.2/gen_cocoa_wrapper.rb: In OS X 10.2, use och_analyzer3 instead of old och_analyzer. * tool/och_analyzer3.rb: new och_analyzer using "/usr/bin/cpp3". * tool/och_analyzer.rb: a type defined by typedef enum is treated as int. 2002-09-06 FUJIMOTO Hisakuni <hisa@fobj.com> * app_mains/Makefile: comment out AppMain_LibrubyDylib 2002-09-05 FUJIMOTO Hisakuni <hisa@fobj.com> * memo-0_3_0-a1 2002-09-04 FUJIMOTO Hisakuni <hisa@fobj.com> * app_mains/Makefile, app_mains/main_using_exec.m, app_mains/main_using_libruby.m: application main variations * template/tmpl_pb_RubyProjects: Jaguar aware template * template/rubycocoa_app_main, template/rubycocoa_app_main.m: move it into app_mains directory * template/EmptyApp.app, template/PureEmptyApp.app, sample/Expenses.app, sample/SimpleApp1.app: strip -x * sample/RubyRaiseMan, sample/RubyTypingTutor: add samples TypingTutor and RaiseMan 2002-09-03 FUJIMOTO Hisakuni <hisa@fobj.com> * sample/Expenses.app, sample/MyViewer, sample/Pong, sample/SimpleApp1.app, sample/dotview, sample/mk_app0, sample/mk_app1, sample/multinib, sample/pb_app0, sample/pb_app1, sample/thread0, template/EmptyApp.app, template/PureEmptyApp.app, template/tmpl_make_based: use execvp("ruby") instead of execv("/usr/bin/ruby") * template/rubycocoa_app_main, template/rubycocoa_app_main.m: rename templates * sample/SimpleApp1.app, sample/dotview, sample/mk_app1, sample/multinib, sample/thread0, template/EmptyApp, template/PureEmptyApp.app, template/tmpl_make_based, sample/Expenses.app: Info.plist - add key RubyAppConfig * README.en.txt, README.sjis.txt: move html documents into doc directory * sample/Pong, sample/pb_app0, sample/pb_app1: project.pbxproj, main.m - Jaguar aware 2002-09-02 FUJIMOTO Hisakuni <hisa@fobj.com> * sample/*: Jaguar aware * now executable with pre-installed ruby in Mac OS X 10.2 (Jaguar). * ext/osx_objc/*, framework/*: remove LibRuby.framekwork and move old RubyCocoa.framework sources into bundle source directory * post-clean.rb, post-config.rb, post-install.rb, tool/install-libruby-frmwk.rb, metaconfig, pre-setup.rb: dispose LibRuby.framework and RubyCocoa.framework 2002-08-30 FUJIMOTO Hisakuni <hisa@fobj.com> * misc/ruby-1.6.7-osx10.2.patch: fix line number bug. (thanks goto-san) 2002-08-28 FUJIMOTO Hisakuni <hisa@fobj.com> * release 0.2.7 * post-config.rb: improved libruby_installed? * tool/och_analyzer.rb: support OSX 10.2 cpp * ext/osx_objc/cocoa-10.1/*, ext/osx_objc/cocoa-10.2/*, ext/osx_objc/cocoa/*: separate cocoa directory for OS version 10.2 and 10.1.x * sample/sndplay.rb, sample/sndplay2.rb, sample/sndplay3.rb: support 10.2 and 10.1.5 * misc/ruby-1.6.7-osx10.2.patch: ruby-1.6.7 patch for Mac OS X 10.2 * sample/Pong/Model.rb: fix problem that sound "Bonk" is missing on Mac OS X 10.2. 2002-08-26 FUJIMOTO Hisakuni <hisa@fobj.com> * ext/osx_objc/mdl_objwrapper.m: wrapper_to_s() - fix NSAutoreleasePool memory leak 2002-08-25 FUJIMOTO Hisakuni <hisa@fobj.com> * tool/install-ruby.rb: bug fix - File.directory? was nothing. 2002-08-19 FUJIMOTO Hisakuni <hisa@fobj.com> * framework/RBRuntime.m: bugfix for modification RBApplicationMain(argc, argv) * framework/ocdata_conv.m: use @encode * framework/RBRuntime.m: modify RBApplicationMain(argc, argv) * framework/RBObject.h, framework/RBObject.m: implement initWithRubyScriptCString, initWithRubyScriptString, _copyDescription * lib/osx/objc/oc_import.rb, ext/osx_objc/osx_objc.m, framework/RBRuntime.m, framework/RBRuntime.h, framework/RBSlaveObject.m: new mechanism for searching a Ruby class from an OBJC class. * ext/osx_objc/osx_objc.m: implement OSX.ns_autorelease_pool. 2002-08-16 FUJIMOTO Hisakuni <hisa@fobj.com> * framework/ocdata_conv.m: In rbobj_convert_to_nsobj(), use NSString#stringWithCString:length: for converting T_STRING. * lib/osx/objc/oc_wrapper.rb, ext/osx_objc/mdl_objwrapper.m: moved definition of OCObjWrapper#to_s to mdl_objwrapper.m 2002-04-07 FUJIMOTO Hisakuni <hisa@fobj.com> * tool/install-libruby-frmwk.rb: add version and license term 2002-02-23 FUJIMOTO Hisakuni <hisa@fobj.com> * tests/alltest.sh: fix wrong path of extention library 2002-02-22 FUJIMOTO Hisakuni <hisa@fobj.com> * tests/alltest.sh, tests/test_nsattributedstring.rb, tests/test_nsstring.rb: prepared unit test framework * ext/osx_objc/mdl_objwrapper.m: - ocm_perform(): add the code for _PRIV_C_ID_PTR from framework/ocdata_conv.m. support OSX::OCDataConvException. * lib/osx/objc/oc_exception.rb: defined OSX::OCDataConvException * framework/ocdata_conv.m: - rb_mdl_osx(), rb_cls_objcid(), rb_cls_ocobj(const char* name): became global functions. - rbobj_to_ocdata(): moved the code for _PRIV_C_ID_PTR into mdl_objcwrapper.m. * framework/ocdata_conv.h: rb_mdl_osx(), rb_cls_objcid(), rb_cls_ocobj(const char* name): became global functions. 2002-02-12 FUJIMOTO Hisakuni <hisa@fobj.com> * framework/ocdata_conv.m: - to_octype(): avoid first character 'r' which is const meaning. - rbobj_to_ocdata(): modified for _PRIV_C_ID_PTR "^@". * framework/ocdata_conv.h: - add the definition of "struct _objcid_data" from "framework/ocdata_conv.h". - defined _PRIV_C_ID_PTR for "^@" * ext/osx_objc/cls_objcid.m: - changed the behavior of ObjcID.new into just only doing allocation. - moved the definition of "struct _objcid_data" to "framework/ocdata_conv.h". 2002-02-07 FUJIMOTO Hisakuni <hisa@fobj.com> * release 0.2.6 * framework/OverrideMixin.m: handle_ruby_method(): fixed a bug of case that size of return value is less than sizeof(id). * ext/osx_objc/cocoa/rb_*.m: renew with 'const' and 'unsigned' supported auto wrapper generator. * ext/osx_objc/cocoa/gen_cocoa_wrapper.rb: fix 'const' bug. * tool/och_analyzer.rb: - fix a type checking bug for 'unsigned'. - improve type checking for 'const'. * lib/osx/objc/oc_types.rb: added constant ZERO for NSPoint,Size,Rect,Range 2002-02-06 FUJIMOTO Hisakuni <hisa@fobj.com> * template/tmpl_pb_: add PB Document-based template. rename PB template directory names 2002-02-05 FUJIMOTO Hisakuni <hisa@fobj.com> * framework/ocdata_conv.m: rbobj_convert_to_nsobj(): added autorelease invocation with RBObject instantiation. * framework/ocdata_conv.m: rbobj_convert_to_nsobj(): default behavior was changed into RBObject instantiation. 2002-02-04 FUJIMOTO Hisakuni <hisa@fobj.com> * lib/osx/objc/oc_attachments.rb: - changed a prefix of attachment in "RC" from "NS". - add RCImageAttachment. * template/tmpl_pb_based: support 'PROJECTNAME' 2002-02-02 FUJIMOTO Hisakuni <hisa@fobj.com> * template/tmpl_pb_file: add ProjectBuilder template files 2002-01-31 FUJIMOTO Hisakuni <hisa@fobj.com> * framework/RBObject.m, framework/DummyProtocolHandler.m, framework/DummyProtocolHandler.m.erb: better sheet panel support. The callback method needs to have the name end with "_returnCode_contextInfo." * lib/osx/objc/cocoa.rb, lib/osx/objc/cocoa_macros.rb: defined NSLocalizedStringFromTableInBundle(), NSLocalizedStringFromTable() and NSLocalizedString(). 2002-01-28 FUJIMOTO Hisakuni <hisa@fobj.com> * framework/ocdata_conv.m: rbobj_to_nsselstr(): fix a bug that invocation of a method name which start with '_' failed. * framework/OverrideMixin.m: imp_c_addRubyMethod(): correct rb_raise's wrong message. (thanks Ogino-san) * ext/osx_objc/osx_objc.m, framework/RubyCocoa.frmwk.pbproj/project.pbxproj, framework/RubyCocoa.h, framework/Version.h: version info support 2002-01-25 FUJIMOTO Hisakuni <hisa@fobj.com> * release 0.2.5 2002-01-24 FUJIMOTO Hisakuni <hisa@fobj.com> * framework/ocdata_conv.m, framework/ocdata_conv.h: - define _PRIV_C_ARY_UI for 'const unsigned *' - ocdata_size(), ocdata_malloc(), OCDATA_ALLOCA(): change arguments spec. * framework/RBRuntime.m: install_ivar_list(): ocdata_size() arguments spec. changed. * framework/OverrideMixin.m: imp_c_addRubyMethod(): use rb_raise instead of rb_warning. * framework/RBObject.m, ext/osx_objc/mdl_objwrapper.m: - use alloca instead of malloc for arguments and return data. - fix the return length bug of ocm_invoke (NSString.availableStringEncodings). 2002-01-23 Chris Thomas <kenshin@apple.com> * framework/OverrideMixin.m: Do not crash when ns_overrides specifies a non-existent method. 2002-01-22 Ralph Broom <rbroom@broom.org> * README.en.txt, doc/FAQ.en: Several text expression was corrected. 2002-01-21 FUJIMOTO Hisakuni <hisa@fobj.com> * template/PureEmptyApp.app: added a new template named PureEmptyApp.app 2002-01-20 Michael Miller <blackmariah@techie.com> * doc/FAQ.en, doc/INDEX.en, doc/INSTALL.en: Expression was corrected. 2002-01-13 FUJIMOTO Hisakuni <hisa@fobj.com> * lib/osx/objc/oc_all.rb, lib/osx/objc/oc_attachments.rb: prepare implementation of mix-in modules named OSX::NSArrayAttachment and OSX::NSDictionaryAttachment. These modules are add behavior like Array or Hash to NSArray and NSDictionary. * framework/DummyProtocolHandler.m.erb, framework/DummyProtocolHandler.m: panelDidEnd: support the method signature for sheet panels (NSOpenPanel, NSSavePanel and NSPrintPanel). * framework/RBObject.m: forwardInvocation: correct a wrong log message. 2002-01-10 FUJIMOTO Hisakuni <hisa@fobj.com> * release 0.2.4 2002-01-10 Chris Thomas <kenshin@apple.com> * framework/OverrideMixin.m: handle_ruby_method(): using NSGetSizeAndAlignment for va_arg offset. 2002-01-10 FUJIMOTO Hisakuni <hisa@fobj.com> * framework/RBObject.m: stuffForwardResult: modify return value when methodReturnType is _C_ID or _C_CLASS. This modification is for solving the problem which returns "self" from override method of inherited class. 2002-01-09 FUJIMOTO Hisakuni <hisa@fobj.com> * release 0.2.3 2002-01-09 Chris Thomas <kenshin@apple.com> * ext/osx_objc/cls_objcid.m: _objcid_initialize_for_new_with_ocid was passing the argument signature "10*" to rb_scan_args, but was only passing a pointer to one output argument and was thus missing a second argument for the array. This caused rb_scan_args to overwrite the next four bytes off the end of the argument array with the VALUE for an empty array. Fixed by changing the method signature to "10". 2002-01-09 FUJIMOTO Hisakuni <hisa@fobj.com> * ext/osx_objc/osx_objc.m: change OSX.ruby_thread_switcher_start() arguments. "interval" is specified NSTimer interval, "wait" (optional) is rb_thread_wait_for(). * framework/RBThreadSwitcher.m, framework/RBThreadSwitcher.h: using rb_thread_schedule() or rb_thread_wait_for() for Ruby thread switch is selecatable. * framework/RubyCocoa.frmwk.pbproj/project.pbxproj: add files RBThreadSwitcher.[hm] * framework/RBRuntime.h, framework/RBRuntime.m: separate files for RBThreadSwitcher * framework/OverrideMixin.m: imp_respondsToSelector(): suppress; compile warning by using cast 2002-01-08 FUJIMOTO Hisakuni <hisa@fobj.com> * release 0.2.2 * post-config.rb, post-install.rb, install.rb, metaconfig, post-clean.rb: update setup-3.1.0 and modify installing script. 2002-01-08 FUJIMOTO Hisakuni <hisa@fobj.com> * release 0.2.1 * sample/thread0, sample/Pong: add samples for using Ruby thread. 2002-01-06 FUJIMOTO Hisakuni <hisa@fobj.com> * ext/osx_objc/osx_objc.m, lib/osx/objc/ruby_thread_switcher.rb, framework/RBRuntime.h, framework/RBRuntime.m, framework/rb_main.rb.tmpl: implement RubyThreadSwithcerStart and RubyThreadSwithcerStop. (thanks Takaishi-san) 2002-01-05 Chris Thomas <cjack@cjack.com> * framework/OverrideMixin.m: handle_ruby_method(): return-values from ns_override methods that are exactly 4 bytes long. This obviously prevents a lot of stuff from working properly, such as the -[NSDocument windowNibName] method. With this patch, you can create simple document-based apps entirely in RubyCocoa. 2002-01-05 FUJIMOTO Hisakuni <hisa@fobj.com> * tool/och_analyzer.rb: NSRange support * post-clean.rb, post-config.rb, post-install.rb: add installing option to specify the location of RubyCocoa framework 2002-01-01 FUJIMOTO Hisakuni <hisa@fobj.com> * framework/OverrideMixin.m: imp_c_addRubyMethod(): implement super invocation facility in override method. * ext/osx_objc/mdl_objwrapper.m: modify log message for perform and invoke. * html/Makefile: new file * html/make_html.rb: corresponds to Makefile. 2001-12-26 FUJIMOTO Hisakuni <hisa@fobj.com> * Documents are corrected according to the release of Ruby 1.6.6. 2001-12-21 FUJIMOTO Hisakuni <hisa@fobj.com> * doc/REFERENCES: add description about "?" suffix. 2001-12-20 FUJIMOTO Hisakuni <hisa@fobj.com> * release 0.2.0 * doc/MINITOUR: rename MINITOUR to USING. * doc/USING: add description to be related to class definitions. * doc/REFERENCES: add. 2001-12-19 FUJIMOTO Hisakuni <hisa@fobj.com> * global refactoring for release 0.2.x. * ext/osxobjc/*: remove all * ext/osx_objc/cls_objcid.m: new file. implement class OSX::ObjcID. * ext/osx_objc/mdl_objcwrapper.m: new file. implement a Objective-C part of mixin module OSX::OCObjWrapper. * ext/osx_objc/osx_objc.m: new file. implement osx_objc extension library initializer. * framework/RBObject.[hm], framework/ocdata_conv.[hm]: modify for refactoring. * lib/osx/objc: new directory. * lib/osx/ocobject.rb: remove. lib/osx/objc/oc_object.rb * lib/osx/objc/oc_exception.rb: new file. implement class OSX::OCException. * lib/osx/objc/oc_import.rb: new file. implement module function OSX::ns_import and facility of deriving Cocoa class. * lib/osx/objc/oc_object.rb: new file. implement class OSX::OCObject. * lib/osx/objc/oc_types.rb: new file. implement some Foundation Framework data types. * lib/osx/objc/oc_wrapper.rb: new file. implement a Ruby part of mixin module OSX::OCObjWrapper. * samples/*: rewrite for release 0.2.x. 2001-12-12 FUJIMOTO Hisakuni <hisa@fobj.com> * release 0.1.3 * ext/osxobjc/extconf.rb: remove "-no-precomp" flag from the CFLAGS of Makefile for the setup phase speed-up. (thanks Chris-san) * ext/osxobjc/osx_ocobject.m, lib/osx/ocobject.rb: add OSX::OCException class for Objective-C excepitons. 2001-12-12 Chris Thomas <kenshin@apple.com> * ext/osxobjc/osx_ocobject.m: converts Objective-C exceptions into Ruby exceptions. 2001-12-07 FUJIMOTO Hisakuni <hisa@fobj.com> * release 0.1.2 2001-12-07 Chris Thomas <kenshin@apple.com> * framework/ocdata_conv.h, framework/ocdata_conv.m, lib/osx/osxobjc.rb: enable basic support for the NSRange data structure. 2001-12-03 FUJIMOTO Hisakuni <hisa@fobj.com> * framework/OverrideMixin.m, framework/RBRuntime.m: use NSZoneMalloc instead of malloc when memory allocation. * framework/OverrideMixin.m: remove overrided "init/initWithFrame". Add overrided "allocWithZone" for creating Ruby object. * framework/RBRuntime.m: method_list_alloc(), BUG FIX, use END_OF_METHODS_LIST(-1) when initialize allocated memory area. * lib/osx/ocobject.rb: add OSX.ns_import in OCStubCreator.ib_loadable. * lib/osx/ocobject.rb: ib_loadable, ib_outlets, ib_overrides. 2001-11-30 FUJIMOTO Hisakuni <hisa@fobj.com> * release 0.1.1 * framework: ocdata_conv.m: modify sel_to_rbobj. * framework: RBObject.m: using Method#arity for getting argc of ruby methods. * framework: OverrideMixin.m: a little improvement for imp_init and imp_intiWithFrame argument passing. 2001-11-29 FUJIMOTO Hisakuni <hisa@fobj.com> * framework: RBObject.h, RBObject.m: hide RBObject#rbobjXXX methods as private method. With reading 'Learning Cocoa Ch.9'. * framework: OverrideMixin.m: replace sending method selector for slave RBObject. Old was 'rbobjXXX' type selecotr. * framework: RBRuntime.m: change method list allocation size (magical number) * framework: ocdata_conv.m: rbobj_convert_to_nsobj() implement converting Ruby's Numeric to NSDecimalNumber. 2001-11-28 FUJIMOTO Hisakuni <hisa@fobj.com> * rewrite the dotview sample with reading 'Learning Cocoa Ch.8' * add template directory and move template samples to this directory. * add FAQ document about StuffIt problem. (thanks Shimura-san) 2001-11-26 FUJIMOTO Hisakuni <hisa@fobj.com> * release 0.1.0