Hi Phillipe,
On Mon, Sep 12, 2011 at 11:06 AM, Philippe Marschall <[email protected]> wrote:
> Hi
>
> While trying to debug the debugger in Seaside (hi Mike) I stumbled on
> something funny. Seaside the following code to work:
>
> Semaphore forMutualExclusion critical: [
> | sender |
> sender := thisContext sender.
> sender tempAt: sender tempScopedNames size ]
>
This just won't work with the Closure compiler. This approach only worked
with old blue-book blocks Squeak. Instead you need to look at
DebuggerMethodMap, tempNamesForContext:, namedTempAt: et al.
> But it doesn't, you get a SubscriptOutOfBounds. #tempScopedNames answers
> #('mutuallyExcludedBlock' 'blockValue' 'caught'). The method arguments
> (mutuallyExcludedBlock) can be found in
> self tempAt: 1
> the temps can be found in
> self tempAt: 2
>
> Which means that
> sender tempNamed: 'blockValue'
> will answer #(nil true) instead of the real value (nil). This is very
> confusing.
>
> This is with the latest Pharo 1.3 and Cog .r2489
>
> Cheers
> Philippe
>
>
>
--
best,
Eliot