[Openmcl-devel] ns:ns-tracking-area not present in 32bit CCL

Ron Garret ron at awun.net
Tue Jun 9 05:02:24 UTC 2009


Try updating.  The 1.3 branch is currently at verison r12153M.  It  
works for me on that version.

rg

On Jun 8, 2009, at 9:35 PM, Rainer Joswig wrote:

>
>
> using Clozure Common Lisp Version 1.3-r12088M  (DarwinX8664)
>
>
> On executing the add-subview example form in draggable.lisp
>
> I get:
>
> *** Error in event process: unknown arg spec :REGISTERS
>
> (442BE8) : 0 (FUNCALL #'#<(:INTERNAL |-[StandardView drawRect:]|)>  
> #<SIMPLE-ERROR #x3000420F8DBD>) 85
>  (#:G5085)
>   #:G5085: #<SIMPLE-ERROR #x3000420F8DBD>
>
>  #:COMPILER-VAR: (NIL)
>  #:G5082: #<A Foreign Pointer #x7FFF5FBFD360>
>
> (442C10) : 1 (SIGNAL #<SIMPLE-ERROR #x3000420F8DBD>) 981
>  (CONDITION &REST CCL::ARGS)
>   CONDITION: #<SIMPLE-ERROR #x3000420F8DBD>
>   CCL::ARGS: NIL
>
>  CCL::%HANDLERS%: ((ERROR) (ERROR))
>  CCL::TAG: #<SIMPLE-ERROR #x3000420F8DBD>
>  CCL::HANDLERS: CCL::*BACKTRACE-CONTEXTS*
>  CCL::FN: #<COMPILED-LEXICAL-CLOSURE (:INTERNAL |-[StandardView  
> drawRect:]|) #x493DBF>
>
> (442C68) : 2 (%ERROR #<SIMPLE-ERROR #x3000420F8DBD> (:REGISTERS)  
> 558482) 117
>  (CONDITION CCL::ARGS CCL::ERROR-POINTER)
>   CONDITION: #<SIMPLE-ERROR #x3000420F8DBD>
>   CCL::ARGS: (:REGISTERS)
>   CCL::ERROR-POINTER: 558482
>
>
>
> (442C90) : 3 (%FF-CALL 140735390423728 :REGISTERS #<NS-OBJECT  
> <NSCFType: 0x170192c0> (#x170192C0)> :ADDRESS #<NS-CONSTANT-STRING  
> "Lisp Rules!" (#x137CD2F0)> :ADDRESS #<A Foreign Pointer  
> #x7FFF82F59600> :ADDRESS #<NS-MUTABLE-DICTIONARY {
>    NSFont = "TimesNewRomanPS-ItalicMT 48.00 pt. P [] (0x13799150)  
> fobj=0x170178c0, spc=12.00";
> } (#x17019E50)> :VOID) 701
>  (CCL::ENTRY &REST CCL::SPECS-AND-VALS)
>   CCL::ENTRY: 140735390423728
>   CCL::SPECS-AND-VALS: (:REGISTERS #<NS-OBJECT <NSCFType:  
> 0x170192c0> (#x170192C0)> :ADDRESS #<NS-CONSTANT-STRING "Lisp  
> Rules!" (#x137CD2F0)> :ADDRESS ...)
>
>  CCL::LEN: 9
>  CCL::TOTAL-WORDS: 0
>  CCL::RESULT-SPEC: :VOID
>  CCL::NARGS: 4
>  CCL::N-FP-ARGS: 0
>  CCL::I: 0
>  CCL::SPECS: (:REGISTERS #<NS-OBJECT <NSCFType: 0x170192c0>  
> (#x170192C0)> :ADDRESS #<NS-CONSTANT-STRING "Lisp  
> Rules!" (#x137CD2F0)> :ADDRESS ...)
>  CCL::SPEC: :REGISTERS
>
> (442CF8) : 4 (FUNCALL #'#<Anonymous Function #x300041D9AB4F> #<NS- 
> CONSTANT-STRING "Lisp Rules!" (#x137CD2F0)> #S(CCL::OBJC- 
> SELECTOR :NAME "sizeWithAttributes:" :%SEL #<A Foreign Pointer  
> #x7FFF82F59600>) #<NS-MUTABLE-DICTIONARY {
>    NSFont = "TimesNewRomanPS-ItalicMT 48.00 pt. P [] (0x13799150)  
> fobj=0x170178c0, spc=12.00";
> } (#x17019E50)>) 805
>  (#:G3751 #:G3752 CCL::ARG0)
>   #:G3751: #<NS-CONSTANT-STRING "Lisp Rules!" (#x137CD2F0)>
>   #:G3752: #S(CCL::OBJC-SELECTOR :NAME "sizeWithAttributes:" :%SEL  
> #<A Foreign Pointer #x7FFF82F59600>)
>   CCL::ARG0: #<NS-MUTABLE-DICTIONARY {
>    NSFont = "TimesNewRomanPS-ItalicMT 48.00 pt. P [] (0x13799150)  
> fobj=0x170178c0, spc=12.00";
> } (#x17019E50)>
>
>  #:G3753: #<NS-SIZE 0 X 0 #x3000420F8EDD> [gcable] (#x17029190)
>  #:G3756: #<A Foreign Pointer #x17029190>
>  #:G3755: #<NS-OBJECT <NSCFType: 0x170192c0> (#x170192C0)>
>
> (442D38) : 5 (FUNCALL #'#<(:INTERNAL CCL::SEND-UNAMBIGUOUS-MESSAGE  
> (SHARED-INITIALIZE :AFTER (CCL::OBJC-DISPATCH-FUNCTION T)))> #<NS- 
> CONSTANT-STRING "Lisp Rules!" (#x137CD2F0)> #<NS-MUTABLE-DICTIONARY {
>    NSFont = "TimesNewRomanPS-ItalicMT 48.00 pt. P [] (0x13799150)  
> fobj=0x170178c0, spc=12.00";
> } (#x17019E50)>) 501
>  (CCL::RECEIVER &REST CCL::ARGS)
>   CCL::RECEIVER: #<NS-CONSTANT-STRING "Lisp Rules!" (#x137CD2F0)>
>   CCL::ARGS: (#<NS-MUTABLE-DICTIONARY {
>    NSFont = "TimesNewRomanPS-ItalicMT 48.00 pt. P [] (0x13799150)  
> fobj=0x170178c0, spc=12.00";
> } (#x17019E50)>)
>
>  CCL::SELECTOR: #S(CCL::OBJC-SELECTOR :NAME "sizeWithAttributes:" : 
> %SEL #<A Foreign Pointer #x7FFF82F59600>)
>  FUNCTION: #<Anonymous Function #x300041D9AB4F>
>
> (442D78) : 6 (FUNCALL #'#<#<STANDARD-METHOD VIEW-DRAW-CONTENTS (TEXT- 
> VIEW)>> #<TESTVIEW #x30004201D12D> #<NS-RECT 100 X 100 @ 0,0  
> (#x7FFF5FBFD370) #x3000420F928D>) 229
>  (V &OPTIONAL RECT)
>   V: #<TESTVIEW #x30004201D12D>
>   RECT: #<NS-RECT 100 X 100 @ 0,0 (#x7FFF5FBFD370) #x3000420F928D>
>
>
>
> (442DA0) : 7 (FUNCALL #'#<|-[StandardView drawRect:]|>  
> 17591849974380) 981
>  (#:G5081)
>   #:G5081: 17591849974380
>
>  #:G5088: #<A Foreign Pointer #x7FFF5FBFD360>
>  #:G5082: #<A Foreign Pointer #x7FFF5FBFD360>
>  #:COMPILER-VAR: (NIL)
>  #:G5087: #<COMPILED-LEXICAL-CLOSURE (:INTERNAL |-[StandardView  
> drawRect:]|) #x493DBF>
>  #:G5089: (CONDITION #<COMPILED-LEXICAL-CLOSURE # #x493DBF>)
>  CCL::%HANDLERS%: ((CONDITION #) (ERROR))
>  SELF: #<STANDARD-VIEW <StandardView: 0x170221c0> (#x170221C0)>
>  _CMD: #<A Foreign Pointer #x7FFF83013F38>
>  RECT: #<NS-RECT 100 X 100 @ 0,0 (#x7FFF5FBFD370) #x3000420F928D>
>
> (442E48) : 8 (%PASCAL-FUNCTIONS% 277 17591849974380) 397
>  (CCL::INDEX CCL::ARGS-PTR-FIXNUM)
>   CCL::INDEX: 277
>   CCL::ARGS-PTR-FIXNUM: 17591849974380
>
>  CCL::LISP-FUNCTION: #<Compiled-function |-[StandardView drawRect:]|  
> (Non-Global)  #x300041F007BF>
>  WITHOUT-INTERRUPTS: NIL
>  CCL::*CALLBACK-TRACE-P*: NIL
>
> (442F08) : 10 (FUNCALL #'#<Anonymous Function #x30004122027F> #<LISP- 
> APPLICATION <LispApplication: 0x1c3580> (#x1C3580)> #S(CCL::OBJC- 
> SELECTOR :NAME "run" :%SEL #<A Foreign Pointer #x7FFF82FFFD68>)) 205
>  (#:G3072 #:G3073)
>   #:G3072: #<LISP-APPLICATION <LispApplication: 0x1c3580> (#x1C3580)>
>   #:G3073: #S(CCL::OBJC-SELECTOR :NAME "run" :%SEL #<A Foreign  
> Pointer #x7FFF82FFFD68>)
>
>
>
> (442F28) : 11 (FUNCALL #'#<(:INTERNAL CCL::SEND-UNAMBIGUOUS-MESSAGE  
> (SHARED-INITIALIZE :AFTER (CCL::OBJC-DISPATCH-FUNCTION T)))> #<LISP- 
> APPLICATION <LispApplication: 0x1c3580> (#x1C3580)>) 501
>  (CCL::RECEIVER &REST CCL::ARGS)
>   CCL::RECEIVER: #<LISP-APPLICATION <LispApplication: 0x1c3580>  
> (#x1C3580)>
>   CCL::ARGS: NIL
>
>  CCL::SELECTOR: #S(CCL::OBJC-SELECTOR :NAME "run" :%SEL #<A Foreign  
> Pointer #x7FFF82FFFD68>)
>  FUNCTION: #<Anonymous Function #x30004122027F>
>
> (442F68) : 12 (EVENT-LOOP NIL) 413
>  (&OPTIONAL GUI::END-TEST)
>   GUI::END-TEST: NIL
>
>  GUI::APP: #<LISP-APPLICATION <LispApplication: 0x1c3580> (#x1C3580)>
>  *BREAK-ON-ERRORS*: NIL
>  #:G163537: (ERROR)
>  CCL::%HANDLERS%: ((ERROR))
>  GUI::*EVENT-PROCESS-REPORTED-CONDITIONS*: (#<SIMPLE-ERROR  
> #x3000420F8DBD>)
>
>
>
>
>
>
>
> Am 09.06.2009 um 02:44 schrieb Ron Garret:
>
>> [This may be a repeat, but the original never showed up in my  
>> inbox.  Also, there's an update at the end.]
>>
>> On Jun 8, 2009, at 11:32 AM, Arthur W Cater wrote:
>>
>>> Use #/addTrackingRect:owner:userData:assumeInside: with
>>> - the view
>>> - its #/bounds
>>> - a ns-object as target
>>> - ccl::+null-ptr+
>>> - #$NO
>>>
>>> Then
>>> (objc:define-objc-method ((:void :mouse-entered (:id event))  
>>> <theTargetClassYouUsed>) ...)
>>>
>>> likewise :mouse-exited and :mouse-move
>>
>> Thanks!  Updated version enclosed. This has been tested in 32-bit  
>> CCL, and should now work on Tiger as well.
>>
>> This version also fixes a bug whereby testviews did not get  
>> properly re-initialized to add a tracker when the class got  
>> redefined.  I was using an initialize-instance :after method when I  
>> should have been using shared initialize -- I think.  There is  
>> still a subtle bug which I can't figure out.  When you add a  
>> highlighted mixin to an existing testview instance, you have to  
>> click on it once before it starts to highlight itself.  I have no  
>> idea why this is happening.  I may not be using shared-initialize  
>> properly.  Maybe a CLOS wizard can help with some advice on the  
>> proper way to do this.
>>
>> UPDATE: it turns out that the reason for this is that calling  
>> shared-initialize is done lazily.  So until there is an interaction  
>> with the updated object it doesn't get re-initialized, so add- 
>> tracker doesn't get called, so the event that would normally cause  
>> the interaction never gets received.  Makes an interesting little  
>> puzzle.
>>
>> rg
>>
>> <draggable.lisp>
>> _______________________________________________
>> Openmcl-devel mailing list
>> Openmcl-devel at clozure.com
>> http://clozure.com/mailman/listinfo/openmcl-devel
>
> Rainer Joswig, Hamburg, Germany
> http://lispm.dyndns.org/
> mailto:joswig at lisp.de
>
>




More information about the Openmcl-devel mailing list