[squeak-dev] Re: The Trunk: Kernel-dtl.331.mcz
David T. Lewis
lewis at mail.msen.com
Sat Dec 19 13:39:03 UTC 2009
On Sat, Dec 19, 2009 at 01:12:25PM +0100, Andreas Raab wrote:
> Eliot Miranda wrote:
> > Interesting! To my mind that definition is incorrect. I would
> >expect the sender of a block to be the sender of the enclosing method,
> >in which case the definition would arguably be
> >
> >BlockClosure methods for accessing
> >sender
> >^self home sender
> >
> >A block activation's caller would be it's sender slot, so within a block
> >you might refer to thisContext caller. But what is arguably a bug in my
> >implementation is that within a block activation thisContext sender
> >refers to the caller (the sender of value: to the activation's block)
> >not to the sender of the enclosing method.
>
> How about instead of faking out BlockClosure>>sender we fix MessageTally
> along the lines of:
>
> MessageTally>>tallySendsTo:inBlock:showTree:
>
> prev := aBlock asContextWithSender: thisContext.
>
> This should work just as well if I understand the intent of the change
> correctly.
FYI, Nicolas Cellier is the original author, I just copied his
implementation into Squeak because I noticed the broken MessageTally.
Dave
More information about the Squeak-dev
mailing list
|