[Rubycocoa-devel 1046] Re: BOOL type encoding coflict objc <=> bridgesupport?

Zurück zum Archiv-Index

Laurent Sansonetti lsans****@apple*****
Sat Jun 30 01:43:33 JST 2007


Hi Kimura-san,

The fact that AppKit.bridgesupport has both an informal protocol  
description AND a regular method description for [- 
control:textView:doCommandBySelector:] is purely occasional. In the  
most general cases, informal protocol methods will just be described  
by <informal_protocol>.

We need to override the boolean types even in informal protocol method  
types, because otherwise the user experience won't be the same. People  
writing an informal protocol method in Ruby that accepts boolean  
parameters will receive Fixnum objects instead. And it's better to let  
RubyCocoa know that the parameters are real booleans so that it can  
convert them as real boolean objects.

In systems > Tiger, _C_BOOL exists (defined as 'B'). 'B' cannot be  
used for BOOL automatically by the compiler, to keep compatibility.  
But there is no reason why we can't use it in the bridges.

Laurent

On Jun 29, 2007, at 6:15 PM, kimura wataru wrote:

> Hi all,
>
> The BridgeSupport file can contain "arg" and "retval" elements.
> These elements gives additional type information of the parent
> "method" element.
>
> ex) AppKit.bridgesupport
>
>  <method type='B20 at 0:4 at 8@12:16'  
> selector='control:textView:doCommandBySelector:'/>
>  <method selector='control:textView:doCommandBySelector:'>
>    <retval type='B'/>
>  </method>
>
> I think...
> * the "type" attribute of "method" should be 'c20 at 0:4 at 8@12:16'
> * the "type" attribute of "retval" should be 'B' (the same value
>  as current file)
>
> The follower item means type encodings of ObjC runtime. And the
> latter item means virtual type encoding for object conversions
> in bridge-systems (RubyCocoa, PyObjC, ...).
>
>
> On Fri, 29 Jun 2007 16:42:02 +0200, Laurent Sansonetti wrote:
>> Hi Satoshi-san,
>>
>> On Jun 29, 2007, at 4:21 PM, Satoshi Nakagawa wrote:
>>
>>> Hi Laurent.
>>>
>>> Wow great!
>>> Have you been working over night?
>>
>> No just a few minutes, the fix is very trivial as you can see (it's a
>> one line change in RBObject.m).
>>
>>> Now I have only Intel machines at home.
>>> I can do test on PPC machines only in my office.
>>> So I will try again in next Monday.
>>> Sorry for being late.
>>
>> No problem at all. I could anyway verify on my PowerBook G4 running
>> 10.4.9, but having a second verification wouldn't hurt.
>>
>> I think we should make a new release of RubyCocoa if this fix has  
>> been
>> verified as working. It's a bad regression :(
>>
>
> _______________________________________________
> Rubycocoa-devel mailing list
> Rubyc****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/rubycocoa-devel




More information about the Rubycocoa-devel mailing list
Zurück zum Archiv-Index