Yeap, my fault!  I was using a #12340 image while the ones in hudson are
#12353 :)

At least I learnt some things :P.

Sorry for the spam,
Guille

On Sun, Jun 19, 2011 at 4:21 PM, Guillermo Polito <[email protected]
> wrote:

> Mmm, maybe I'm using an old image.  Let me check,
>
> thanks!
>
>
> On Sun, Jun 19, 2011 at 4:17 PM, Lukas Renggli <[email protected]> wrote:
>
>> This is a bug introduced by the TextEditor changes. I thought it was
>> fixed in the latest Pharo 1.2.1?
>>
>> Lukas
>>
>> On 19 June 2011 20:37, Guillermo Polito <[email protected]>
>> wrote:
>> > Well, replacing:
>> >
>> > self logMethodSource: text forMethodWithNode: methodAndNode
>> >             inCategory: category withStamp: changeStamp notifying:
>> > requestor.
>> >
>> > by
>> >
>> > self logMethodSource: methodAndNode node printString forMethodWithNode:
>> > methodAndNode
>> >             inCategory: category withStamp: changeStamp notifying:
>> > requestor.
>> >
>> > Works well :).  But for sure I smell I'm doing something veeery wrong :S
>> >
>> > Has it something to do with using a mutable text instead of a string?
>> >
>> > On Sun, Jun 19, 2011 at 3:32 PM, Guillermo Polito
>> > <[email protected]> wrote:
>> >>
>> >> Hi, I have a simple snippet of code which says:
>> >>
>> >> someObject class compile: aMethod classified: someCategory notifying:
>> >> aRequestor.
>> >>
>> >> where aRequestor is a PluggableTextMorph.
>> >>
>> >> Actually, when I try to compile a method with a temp var, letting the
>> >> compiler notify me when a temp var is needed, I always see the final
>> >> CompiledMethod with the wrong source.  For example, compiling
>> >>
>> >> someMethod
>> >>   ^someTemp
>> >>
>> >> Is correctly updated to be
>> >>
>> >> someMethod
>> >>   | someTemp |
>> >>   ^someTemp
>> >>
>> >> But, after the compilation process, when I get the compiled method
>> source,
>> >> It just have
>> >>
>> >> someMethod
>> >>   ^someTemp
>> >>
>> >>
>> >> Debugging, I ended up in
>> >>
>> >> ClassDescriptioncompile: text classified: category withStamp:
>> changeStamp
>> >> notifying: requestor logSource: logSource
>> >>     | methodAndNode |
>> >>     methodAndNode := self compile: text asString classified: category
>> >> notifying: requestor
>> >>                             trailer: self defaultMethodTrailer ifFail:
>> >> [^nil].
>> >>     logSource ifTrue: [
>> >>         self logMethodSource: text forMethodWithNode: methodAndNode
>> >>             inCategory: category withStamp: changeStamp notifying:
>> >> requestor.
>> >>     ].
>> >>     self addAndClassifySelector: methodAndNode selector withMethod:
>> >> methodAndNode
>> >>         method inProtocol: category notifying: requestor.
>> >>     self instanceSide noteCompilationOf: methodAndNode selector meta:
>> self
>> >> isClassSide.
>> >>     ^ methodAndNode selector
>> >>
>> >> Which is saving as the CompiledMethod source, the original text, not
>> the
>> >> one which was changed in the PluggableTextMorph and compiled in the
>> >> methodAndNode object.
>> >>
>> >>
>> >> Well, I was looking how the Browser works, and I didn't realize the
>> >> difference...  Can someone enlight me?
>> >>
>> >> Thanks,
>> >> Guille
>> >
>> >
>>
>>
>>
>> --
>> Lukas Renggli
>> www.lukas-renggli.ch
>>
>>
>

Reply via email to