[Openmcl-devel] ns:ns-tracking-area not present in 32bit CCL
Ron Garret
ron at awun.net
Mon Jun 8 22:02:24 PDT 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