[Openmcl-devel] Quartz not working in v1.10
Ron Garret
ron at flownet.com
Wed Nov 5 11:27:10 PST 2014
I think I’ve figured out what is going on.
Welcome to Clozure Common Lisp Version 1.10-r16304M (DarwinX8664)!
? (objc:load-framework "Quartz" :quartz)
NIL
? (fboundp '#/pageAtIndex:)
NIL
? (unintern '#/pageAtIndex: 'nsfun)
T
? (fboundp '#/pageAtIndex:)
#<OBJC-DISPATCH-FUNCTION NEXTSTEP-FUNCTIONS:|pageAtIndex:| #x302001413D1F>
?
Apparently, the binding of objc functions to their symbols happens at when the symbol is initially interned. Somehow my image got built with pageAtIndex: already interned in the nsfun package (how that happened I still don’t know) which causes the function binding to not happen when it is supposed to.
Interestingly, the function binding seems to be a one-shot deal. If you try to repeat the process, it fails:
? (unintern '#/pageAtIndex: 'nsfun)
T
? (fboundp '#/pageAtIndex:)
NIL
? (objc:load-framework "Quartz" :quartz)
NIL
? (fboundp '#/pageAtIndex:)
NIL
? (unintern '#/pageAtIndex: 'nsfun)
T
? (fboundp '#/pageAtIndex:)
NIL
?
AFAICT if you ever get into this state you are irrecoverably hosed.
rg
On Nov 5, 2014, at 10:21 AM, Ron Garret <ron at flownet.com> wrote:
> I tried rebuilding r16304 and now that’s not working for me any more either:
>
> Welcome to Clozure Common Lisp Version 1.10-r16304M (DarwinX8664)!
> ? (objc:load-framework "Quartz" :quartz)
> NIL
> ? (function #/pageAtIndex:)
>> Error: Undefined function: NEXTSTEP-FUNCTIONS:|pageAtIndex:|
>
> Unfortunately, I did the rebuild in the same directory as the one in which I built the one that was working for me yesterday, so I no longer have a working version to compare this to :-(
>
> On Nov 4, 2014, at 4:35 PM, Ron Garret <ron at flownet.com> wrote:
>
>> Yes, 16304 is working for me too.
>>
>> Weird how this keeps bouncing back and forth between working and not. Particularly since the only thing that changed between 16303 and 16304 was a Hemlock command.
>>
>> On Nov 4, 2014, at 3:35 PM, Karsten Poeck <karsten.poeck at gmail.com> wrote:
>>
>>> On 04.11.14 17:47, Ron Garret wrote:
>>>> Doh! It seems to be broken again in r16303:
>>>>
>>>> Welcome to Clozure Common Lisp Version 1.10-r16303M (DarwinX8664)!
>>>> ? (objc:load-framework "Quartz" :quartz)
>>>> NIL
>>>> ? #'#/pageAtIndex:
>>>>> Error: Undefined function: NEXTSTEP-FUNCTIONS:|pageAtIndex:|
>>>>> While executing: CCL::%FUNCTION, in process Listener(4).
>>>>> Type cmd-. to abort, cmd-\ for a list of available restarts.
>>>>> Type :? for other options.
>>>> 1 >
>>>
>>> Can't reproduce.
>>>
>>> Fresh from svn, version r16304, rebuilt locally
>>>
>>> Welcome to Clozure Common Lisp Version 1.10-r16304M (DarwinX8664)!
>>> ? (objc:load-framework "Quartz" :quartz)
>>> NIL
>>> ? #'#/pageAtIndex:
>>> #<OBJC-DISPATCH-FUNCTION NEXTSTEP-FUNCTIONS:|pageAtIndex:| #x3020029CC96F>
>>> ?
>>>
>>>
>>>
>>> _______________________________________________
>>> Openmcl-devel mailing list
>>> Openmcl-devel at clozure.com
>>> https://lists.clozure.com/mailman/listinfo/openmcl-devel
>>
>> _______________________________________________
>> Openmcl-devel mailing list
>> Openmcl-devel at clozure.com
>> https://lists.clozure.com/mailman/listinfo/openmcl-devel
>
> _______________________________________________
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
> https://lists.clozure.com/mailman/listinfo/openmcl-devel
More information about the Openmcl-devel
mailing list