About the #logChange error in SqueakMap

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
46 messages Options
123
Reply | Threaded
Open this post in threaded view
|

Re: About the #logChange error in SqueakMap

Dan Corneanu
Germán Arduino wrote:
> Hi:
>
> About the problem http://bugs.impara.de/view.php?id=2912, that I've
> documented a workaround at http://bugs.impara.de/view.php?id=3283 I
> want to ask how many time may take to be fixed.

Hi,
I see the discussion has slipped away from the main subject.
I also spent some time debugging this and I have 2 questions:

1. does SM support preamble/postscripts? The SM browser from a 3.9a
image has a button for this. If it does then maybe the place of the
update script should be in one of the mcz packages of  SMLoader,
SMBAse etc.

2. fixing this bug means changing the SqueakMap script, that is
downloaded from server, to use SmalltalkImage current
logChange. The question is: will this not break the update for older
squeak images? Is there a way to choose the update script based on
the SM version we upgrade to and the image version we are working on?

Best regards,
cdan.

Reply | Threaded
Open this post in threaded view
|

Re: About the #logChange error in SqueakMap

stéphane ducasse-2
In reply to this post by Göran Krampe
Since I do not really understand what you imply
we will wait that someone sends an email to  
[hidden email]

Stef

On 3 avr. 06, at 14:23, [hidden email] wrote:

> =?ISO-8859-1?Q?st=E9phane_ducasse?= <[hidden email]> wrote:
>> So we could include that in the next build then.
>>
>> Stef
>
> I think so, yes. But to be *absolutely* stringent - Cees is the team
> leader of I/O. And of course, a bit of peer review on my mcz's  
> would be
> nice. :)
>
> regards, Göran
>
>> On 3 avr. 06, at 12:58, [hidden email] wrote:
>>
>>> And here are the mcz's with detailed version notes:
>>>
>>> http://source.squeakfoundation.org/network/
>


Reply | Threaded
Open this post in threaded view
|

Re: About the #logChange error in SqueakMap

Göran Krampe
Hi!

=?ISO-8859-1?Q?st=E9phane_ducasse?= <[hidden email]> wrote:
> Since I do not really understand what you imply
> we will wait that someone sends an email to  
> [hidden email]
>
> Stef

I just meant that yes - I think my mcz's are ready to go in (at least if
someone peer reviews them, please...) but since I am not the I/O team
leader I am not taking the "decision". Cees is the one to do that IMHO.
Or you could by just "grabbing" the stuff. :)

regards, Göran

Reply | Threaded
Open this post in threaded view
|

Re: About the #logChange error in SqueakMap

Göran Krampe
In reply to this post by Dan Corneanu
Hi!

Dan Corneanu <[hidden email]> wrote:

> Germán Arduino wrote:
> > Hi:
> >
> > About the problem http://bugs.impara.de/view.php?id=2912, that I've
> > documented a workaround at http://bugs.impara.de/view.php?id=3283 I
> > want to ask how many time may take to be fixed.
>
> Hi,
> I see the discussion has slipped away from the main subject.
> I also spent some time debugging this and I have 2 questions:
>
> 1. does SM support preamble/postscripts? The SM browser from a 3.9a
> image has a button for this. If it does then maybe the place of the
> update script should be in one of the mcz packages of  SMLoader,
> SMBAse etc.

Eh... not sure what you mean. If you are talking about how SM upgrades
itself - then that is a "custom" solution since it must be able to do so
even though it can't download a new map (since it is old, moment 22).

> 2. fixing this bug means changing the SqueakMap script, that is
> downloaded from server, to use SmalltalkImage current
> logChange. The question is: will this not break the update for older
> squeak images? Is there a way to choose the update script based on
> the SM version we upgrade to and the image version we are working on?

Well, there are always "ways" but I really want to keep SM in one piece
as long as possible due to reasons I have already explained. And as a
sidenote I can mention that Avi does exactly the same with Monticello -
he also checks what to use - just see senders of #logChange:.

> Best regards,
> cdan.

regards, Göran

Reply | Threaded
Open this post in threaded view
|

Re: About the #logChange error in SqueakMap

Dan Corneanu
[hidden email] wrote:
>> 1. does SM support preamble/postscripts? The SM browser from a 3.9a
>> image has a button for this. If it does then maybe the place of the
>> update script should be in one of the mcz packages of  SMLoader,
>> SMBAse etc.
>
> Eh... not sure what you mean. If you are talking about how SM upgrades
> itself - then that is a "custom" solution since it must be able to do so
> even though it can't download a new map (since it is old, moment 22).

Yes right, I forgot that the process of *upgrading SM* is not able
to use SM until it has finished with the upgrade :) My mistake!
I have also been misled, by mcz packages found in the SM repository,
into confusing Monticello with SqueakMap.

Reply | Threaded
Open this post in threaded view
|

Re: Underscore conversion in 3.9 (was Re: About the #logChange error in SqueakMap)

Bert Freudenberg-3
In reply to this post by Bert Freudenberg-3
Am 31.03.2006 um 13:30 schrieb Bert Freudenberg:

> Am 31.03.2006 um 08:25 schrieb [hidden email]:
>
>> Ok, I sat down last night and spent a few hours (!) on getting SM  
>> into
>> shape for 3.9.
>> It turned out to be more work if doing it properly. [...]
>> unfortunately it contained [...]
>> tons of modifications caused by automatic conversion of underscore to
>> :=.
>>
>> Now - one question regarding that last part: Why did you replace  
>> *all*
>> underscores in the source with ":=" ?!? I saw at least one method in
>> which underscores *inside my String literals* had been replaced.  
>> Ouch.
>
> That shouldn't have happened, at least not with my automatic  
> conversion procedure, which carefully does not touch methods that  
> contain underscore in literals. I hope. Of course, when going over  
> the remaining methods manually these might have slipped in.

Oh well, turns out there actually *is* a bug in the conversion. It  
does not recognize literal underscores inside arrays :(

This snippet will find potentially broken methods (those that have a  
':=' inside a literal array):

SystemNavigation default browseAllSelect: [:meth |
        meth literals anySatisfy: [:lit | lit class == Array and: [
                | todo found |
                todo := OrderedCollection withAll: lit.
                found := false.
                [found or: [todo isEmpty]] whileFalse: [
                        | next |
                        next := todo removeFirst.
                        next class == Array ifTrue: [todo addAll: next].
                        found := next isString and: [next includesSubString: ':=']].
                found]]]

I have no fix yet, one would have to change  
MethodReference>>fixUnderscores to also look inside arrays. Or even  
better, use the Parser to recognize assignments and only replace  
those instead of all underscores in the source.

- Bert -


123