On 8 May 2015 at 19:15, Ben Coman <[email protected]> wrote: > > > On Sat, May 9, 2015 at 12:21 AM, Alain Rastoul <[email protected]> > wrote: > >> Le 08/05/2015 16:16, Eliot Miranda a écrit : >> >>> Hi, >>> >>> if one uses a at doit transcript then no special action is required >>> to get output to appear beyond sending flush to Transcript right? So any >>> solution that requires special action to get the moronic transcript to work >>> us broken. We should fix the transcript, not expect every application to >>> work around a bug. >>> >>> Eliot (phone) >>> >>> Yes using World dooneCycle is bad, but forking another process not bad >> IMHO: >> >> There is probably a solution to make the Transcript less moronic and >> refresh the world >> (it seems very different from Squeak transcript) but it would be an >> uncomplete specific-to-Transcript solution. >> >> The first thing I did when I tried Stef's example in Squeak was trying to >> move the window (it was >> a bit overlapped by my workspace) but I couldn't. >> >> If we do >> [ | m | >> [ m := BorderedMorph new borderColor: (Color yellow) . >> m position: 0@0. >> m openInWorld . >> 1 to: 500 do: [ :i | m position: i@i . >> 1 milliSeconds asDelay wait ] >> ] ensure: [ m delete ] . >> ] value >> we see nothing. >> if we replace value by fork, we can see a morph moving , because of the >> way Morphic world runs >> you know that of course, it's just that this example does not sound nice >> to me too. >> >> > >> Wouldn't it be better to execute do-it (s) systematically in another >> process ? >> > > This is an interesting idea. Actually if you DebugIt you already get a > separate process, so always forking a separate process for DoIts could be > considered more consistent. What would be the downside of doing this? > cheers -ben > >
aside of numerous complaints 'now nothing is works the way it used to be'? i guess none. :) > and have a friendly way to control those processes, a bit similar to what >> happens when you launch your program in other IDEs like eclipse, visual >> studio, it starts another process ? >> >> And to start, with a simple right-click menu option : 'Do it async' to >> experiment >> > > I'd go the other way and make the forking 'DoIt' default, and while we > test it out, have a backup menu item 'DoIt within system UI loop'. > > >> (from a recent discussion, may be few problems with the inspector, >> but that's another point) >> > > The Pharo philosophy is to press forward. If it forces a few UI threading > issues into the light, that could be beneficial overall. > > > Now to the Squeak/Pharo difference. Squeak does this... > TranscriptStream>>show: > TranscriptStream>>endEntry > TranscriptStream>>changed: > DependentsArray>>do: > TranscriptStream>>changed: > PluggableTextMorphPlus>>update: > PluggableTextMorph>>update: > Morph>>refreshWorld > PasteUpMorph>>displayWorldSafely: > > First, Pharo's PluggableTextMorph>>update: does not call #refreshWorld. > Second, Pharo replaced TranscriptStream with ThreadSafeTranscript. This > behaviour has been present since at least build 20000 (I could not find an > earlier one). Further, the fix [1] for the "Transcript red screen of > death" occurring just before Pharo 3 release ensures the Transcript display > is updated only once each Morphic cycle (which has the side effect of > making calls to #show: faster.) > > [1] https://pharo.fogbugz.com/default.asp?13032 > > cheers -ben > > >> >> I don't know how it works under other smalltalks, does it blocks under >> VisualWorks when you execute some do-it ? >> >> >> >> -- >> Regards, >> >> Alain >> >> >> > -- Best regards, Igor Stasenko.
