Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
January 2011
- 124 participants
- 2303 messages
Re: [Pharo-project] INRIA-CEA-EDF Deep into Smalltalk School registration open
by Stéphane Ducasse
On Jan 12, 2011, at 10:39 AM, Stefan Marr wrote:
> Hi Stéphane:
>
> Are the abstracts for the lectures available anywhere?
no
> And, just a detail, but the schedule does not seem to reflect the speakers, I see neither Marcus nor Theo on it.
theo is now in and giving a keynote and marcus is not "there" because jorge and him will talk about opal.
Stef
>
> Best regards
> Stefan
>
> On 12 Jan 2011, at 10:01, Stéphane Ducasse wrote:
>
>> The registration for the school: deep on Smalltalk organized at INRIA Lille Nord Europe is now open.
>> http://www.inria.fr/centre-de-recherche-inria/lille-nord-europe/agenda/smal…
>>
>> Please register as soon as possible so that we can build some estimates.
>> Please register even if you are local or close.
>>
>> ==== SCHOOL
>>
>> The objective of this school is to present on advanced Smalltalk topics such as compiler compiler, virtual machine, interaction with C, advanced UI, ...
>> The school is structured around two main lectures on Virtual machines and a hand on sessions.
>> ⢠Igor Stasenko RMOD Lille France
>> ⢠Dr. Noury Bouraqadi
>> ⢠Henrik Johansen Norway
>> ⢠Jorge Ressia SCG Bern Switzerland
>> ⢠Marcus Denker RMOD Lille France
>> ⢠Prof. Theo D'Hondt VUB Belgium
>> ⢠Dr. Tudor Girba Switzerland
>> ⢠Dr. Eliot Miranda US
>>
>> ⢠Date : du 7 mars 2011 au 11 mars 2011
>> ⢠Lieu : Centre de recherche INRIA Lille Nord Europe
>>
>> ***There will be certainly a Pharo Sprint the saturday 15 of March. You are welcomed ***
>>
>> http://www.inria.fr/centre-de-recherche-inria/lille-nord-europe/agenda/smal…
>>
>> HOTEL
>> ====
>> I'm negotiating with some hotels to provide fast a list.
>> Now the first hotel that is cheap and good and that agreed to get better rooms
>> for the same price is Hotel Agora
>> 14 r Molinel 59000 LILLE
>> Mail : agorahotel(a)yahoo.fr.
>> 03 20 31 55 52
>> fax :.03 20 06 27 54
>> You should mention that you are coming to INRIA to get reduction.
>>
>> Stef
>
>
>
> --
> Stefan Marr
> Software Languages Lab
> Vrije Universiteit Brussel
> Pleinlaan 2 / B-1050 Brussels / Belgium
> http://soft.vub.ac.be/~smarr
> Phone: +32 2 629 2974
> Fax: +32 2 629 3525
>
>
Jan. 13, 2011
Re: [Pharo-project] SUNit
by Lukas Renggli
> I don't mind the order of execution, as long as during the execution of all
> tests within a test case class, the singleton uses the right port. But
> since the resources are not individually initialized *before* execution of
> the tests in a test case class, I end up with whatever executed last before
> running the test suite.
Did you try and understood my code example?
Maybe you want to replace the CommunicationManager with a Mock?
Lukas
--
Lukas Renggli
www.lukas-renggli.ch
Jan. 13, 2011
Re: [Pharo-project] [BUG]LargePositiveInteger(Object)>>error:
by Eliot Miranda
Ignore me. I'm deluded. The below should of course produce an error.
Sorry for the noise.
best
Eliot
On Wed, Jan 12, 2011 at 3:52 PM, Eliot Miranda <eliot.miranda(a)gmail.com>wrote:
> Hi All,
>
> I think I've found the reproducible case for the MessageNotUnderstood:
> LargePositiveInteger>>pixelValueForDepth: bug in the
> StackToRegisterMappingCogit. The symptom may be that the register
> arguments get shuffled incorrectly through an inline send miss. Here's an
> example that produces an MNU every time:
>
> | s a ca |
> s := #(1 -1).
> a := Array new: 2.
> ca := ColorArray new: 2.
> a replaceFrom: 1 to: 2 with: s.
> ca replaceFrom: 1 to: 2 with: s.
>
> I'll try and look at this this evening.
>
> best
> Eliot
>
> On Tue, Jan 11, 2011 at 5:36 PM, Stuart Herring <
> st-lists(a)stuartherring.com> wrote:
>
>> It seems to be related to the VM.
>> To reproduce, just open a browser and save and quit.
>> Then opening the image with Cog r2344 or r2345 will result in this
>> error - it seems to be happening in the startup process.
>> If you debug it, the code that apparently causes the problem actually
>> works fine when manually invoked.
>>
>> Earlier versions of Cog don't have this problem - r2316 works fine.
>> I'm using the standard 1.1.1 image on Linux (Omnibrowser is
>> OB-Standard-lr.479)
>>
>> Regards,
>> Stuart
>>
>> On Wed, Jan 12, 2011 at 3:06 AM, Pat Maddox <patmaddox(a)me.com> wrote:
>> > I used the public 1.1.1 oneclick
>> >
>> >
>> > On Jan 6, 2011, at 1:30 PM, Stéphane Ducasse wrote:
>> >
>> >> Thanks pat for the report.
>> >>
>> >> Now could you let us know if you loaded OB or if you used the public
>> 1.1.1 oneclick?
>> >>
>> >> Stef
>> >>
>> >> On Jan 6, 2011, at 9:18 PM, Pat Maddox wrote:
>> >>
>> >>> I opened up an OmniBrowser and scrolled to the very bottom. Then I
>> clicked on my package name, and then a class name.
>> >>>
>> >>> 6 January 2011 12:12:44 pm
>> >>>
>> >>> VM: Mac OS - intel - 1065 - Croquet Closure Cog VM [CoInterpreter
>> VMMaker-oscog.43] Croquet Cog 3.0.0
>> >>> Image: Pharo-1.1.1-- [Latest update: #11414]
>> >>>
>> >>> SecurityManager state:
>> >>> Restricted: false
>> >>> FileAccess: true
>> >>> SocketAccess: true
>> >>> Working Dir /Users/padillac/code/pharo_image
>> >>> Trusted Dir /foobar/tooBar/forSqueak/bogus/
>> >>> Untrusted Dir
>> /Users/padillac/Library/Preferences/Croquet/Internet/Untrusted
>> >>>
>> >>> LargePositiveInteger(Object)>>error:
>> >>> Receiver: 4287876447
>> >>> Arguments and temporary variables:
>> >>> aString: 'MessageNotUnderstood:
>> LargePositiveInteger>>pixelValueForDepth:'
>> >>> Receiver's instance variables:
>> >>> 4287876447
>> >>>
>> >>> [] in WorldState>>displayWorldSafely:
>> >>> Receiver: a WorldState
>> >>> Arguments and temporary variables:
>> >>> err: 'MessageNotUnderstood:
>> LargePositiveInteger>>pixelValueForDepth:'
>> >>> rcvr: 4287876447
>> >>> errCtx: OBLazyListMorph>>display:atRow:on:
>> >>> errMorph: an OBLazyListMorph(969408512)
>> >>> Receiver's instance variables:
>> >>> hands: an Array(a HandMorph(843055104))
>> >>> viewBox: 0@0 corner: 2552@1374
>> >>> canvas: a FormCanvas on:
>> DisplayScreen(2552x1374x32)
>> >>> damageRecorder: a DamageRecorder
>> >>> stepList: a Heap(StepMessage(#stepAt: -> a
>> SystemWindow(154664960))(a SystemWin...etc...
>> >>> lastStepTime: 805471
>> >>> lastStepMessage: nil
>> >>> lastCycleTime: 805463
>> >>> commandHistory: a CommandHistory
>> >>> alarms: a Heap()
>> >>> lastAlarmTime: 805471
>> >>> menuBuilder: a PragmaMenuBuilder
>> >>>
>> >>> BlockClosure>>valueWithPossibleArgs:
>> >>> Receiver: [:err :rcvr |
>> >>> | errCtx errMorph |
>> >>> errCtx := thisContext.
>> >>> [errCtx := errCtx sender.
>> >>> [err...etc...
>> >>> Arguments and temporary variables:
>> >>> anArray: #('MessageNotUnderstood:
>> LargePositiveInteger>>pixelValueForDepth:' 42...etc...
>> >>> Receiver's instance variables:
>> >>> outerContext: WorldState>>displayWorldSafely:
>> >>> startpc: 73
>> >>> numArgs: 2
>> >>>
>> >>> [] in BlockClosure>>ifError:
>> >>> Receiver: [aWorld displayWorld]
>> >>> Arguments and temporary variables:
>> >>> errorHandlerBlock: MessageNotUnderstood:
>> LargePositiveInteger>>pixelValueForDep...etc...
>> >>> ex: [:err :rcvr |
>> >>> | errCtx errMorph |
>> >>> errCtx := thisContext.
>> >>> [errCtx := errCt...etc...
>> >>> Receiver's instance variables:
>> >>> outerContext: WorldState>>displayWorldSafely:
>> >>> startpc: 66
>> >>> numArgs: 0
>> >>>
>> >>> BlockClosure>>valueWithPossibleArgs:
>> >>> Receiver: [:ex | errorHandlerBlock valueWithPossibleArgs: {ex
>> description. ex receiver}]
>> >>> Arguments and temporary variables:
>> >>> anArray: an Array(MessageNotUnderstood:
>> LargePositiveInteger>>pixelValueForDept...etc...
>> >>> Receiver's instance variables:
>> >>> outerContext: BlockClosure>>ifError:
>> >>> startpc: 40
>> >>> numArgs: 1
>> >>>
>> >>> [] in MethodContext(ContextPart)>>handleSignal:
>> >>> Receiver: BlockClosure>>on:do:
>> >>> Arguments and temporary variables:
>> >>> exception: MessageNotUnderstood:
>> LargePositiveInteger>>pixelValueForDepth:
>> >>> Receiver's instance variables:
>> >>> sender: BlockClosure>>ifError:
>> >>> pc: 17
>> >>> stackp: 3
>> >>> method: (BlockClosure>>#on:do: "a
>> CompiledMethod(280231936)")
>> >>> closureOrNil: nil
>> >>> receiver: [aWorld displayWorld]
>> >>>
>> >>> BlockClosure>>ensure:
>> >>> Receiver: [(self tempAt: 2)
>> >>> valueWithPossibleArgs: {exception}]
>> >>> Arguments and temporary variables:
>> >>> aBlock: [self tempAt: 3 put: true]
>> >>> complete: nil
>> >>> returnValue: nil
>> >>> Receiver's instance variables:
>> >>> outerContext: MethodContext(ContextPart)>>handleSignal:
>> >>> startpc: 90
>> >>> numArgs: 0
>> >>>
>> >>> MethodContext(ContextPart)>>handleSignal:
>> >>> Receiver: BlockClosure>>on:do:
>> >>> Arguments and temporary variables:
>> >>> exception: MessageNotUnderstood:
>> LargePositiveInteger>>pixelValueForDepth:
>> >>> val: nil
>> >>> Receiver's instance variables:
>> >>> sender: BlockClosure>>ifError:
>> >>> pc: 17
>> >>> stackp: 3
>> >>> method: (BlockClosure>>#on:do: "a
>> CompiledMethod(280231936)")
>> >>> closureOrNil: nil
>> >>> receiver: [aWorld displayWorld]
>> >>>
>> >>> MessageNotUnderstood(Exception)>>signal
>> >>> Receiver: MessageNotUnderstood:
>> LargePositiveInteger>>pixelValueForDepth:
>> >>> Arguments and temporary variables:
>> >>>
>> >>> Receiver's instance variables:
>> >>> messageText: nil
>> >>> tag: nil
>> >>> signalContext: MessageNotUnderstood(Exception)>>signal
>> >>> handlerContext: BlockClosure>>on:do:
>> >>> outerContext: nil
>> >>> message: pixelValueForDepth: 32
>> >>> receiver: 4287876447
>> >>> reachedDefaultHandler: false
>> >>>
>> >>> LargePositiveInteger(Object)>>doesNotUnderstand: #pixelValueForDepth:
>> >>> Receiver: 4287876447
>> >>> Arguments and temporary variables:
>> >>> aMessage: pixelValueForDepth: 32
>> >>> exception: MessageNotUnderstood:
>> LargePositiveInteger>>pixelValueForDepth:
>> >>> resumeValue: nil
>> >>> Receiver's instance variables:
>> >>> 4287876447
>> >>>
>> >>> ColorForm>>colormapIfNeededForDepth:
>> >>> Receiver: ColorForm(12x12x8)
>> >>> Arguments and temporary variables:
>> >>> destDepth: 32
>> >>> newMap: a Bitmap of length 256
>> >>> i: 3
>> >>> iLimiT: 256
>> >>> Receiver's instance variables:
>> >>> bits: #[36 29 11 7 11 10 10 11 9 11 95 10 9 9 10 11 11
>> 11 11 11 11 11 10 9 0 8 ...etc...
>> >>> width: 12
>> >>> height: 12
>> >>> depth: 8
>> >>> offset: 0@0
>> >>> colors: a ColorArray((Color r: 0.572 g: 0.804 b:
>> 0.369) (Color r: 0.564 g: 0.76...etc...
>> >>> cachedDepth: nil
>> >>> cachedColormap: nil
>> >>>
>> >>> ColorForm>>colormapIfNeededFor:
>> >>> Receiver: ColorForm(12x12x8)
>> >>> Arguments and temporary variables:
>> >>> destForm: DisplayScreen(2552x1374x32)
>> >>> newMap: nil
>> >>> color: nil
>> >>> pv: nil
>> >>> i: nil
>> >>> iLimiT: nil
>> >>> Receiver's instance variables:
>> >>> bits: #[36 29 11 7 11 10 10 11 9 11 95 10 9 9 10 11 11
>> 11 11 11 11 11 10 9 0 8 ...etc...
>> >>> width: 12
>> >>> height: 12
>> >>> depth: 8
>> >>> offset: 0@0
>> >>> colors: a ColorArray((Color r: 0.572 g: 0.804 b:
>> 0.369) (Color r: 0.564 g: 0.76...etc...
>> >>> cachedDepth: nil
>> >>> cachedColormap: nil
>> >>>
>> >>> FormCanvas>>image:at:sourceRect:rule:
>> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>> >>> Arguments and temporary variables:
>> >>> aForm: ColorForm(12x12x8)
>> >>> aPoint: 0@15
>> >>> sourceRect: 0@0 corner: 12@12
>> >>> rule: 24
>> >>> Receiver's instance variables:
>> >>> target: nil
>> >>> filterSelector: nil
>> >>> origin: 2367@187
>> >>> clipRect: 2364@187 corner: 2534@400
>> >>> form: DisplayScreen(2552x1374x32)
>> >>> port: a GrafPort
>> >>> shadowColor: nil
>> >>>
>> >>> FormCanvas(Canvas)>>translucentImage:at:sourceRect:
>> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>> >>> Arguments and temporary variables:
>> >>> aForm: ColorForm(12x12x8)
>> >>> aPoint: 0@15
>> >>> sourceRect: 0@0 corner: 12@12
>> >>> Receiver's instance variables:
>> >>> target: nil
>> >>> filterSelector: nil
>> >>> origin: 2367@187
>> >>> clipRect: 2364@187 corner: 2534@400
>> >>> form: DisplayScreen(2552x1374x32)
>> >>> port: a GrafPort
>> >>> shadowColor: nil
>> >>>
>> >>> FormCanvas(Canvas)>>translucentImage:at:
>> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>> >>> Arguments and temporary variables:
>> >>> aForm: ColorForm(12x12x8)
>> >>> aPoint: 0@15
>> >>> Receiver's instance variables:
>> >>> target: nil
>> >>> filterSelector: nil
>> >>> origin: 2367@187
>> >>> clipRect: 2364@187 corner: 2534@400
>> >>> form: DisplayScreen(2552x1374x32)
>> >>> port: a GrafPort
>> >>> shadowColor: nil
>> >>>
>> >>> OBLazyListMorph>>display:atRow:on:
>> >>> Receiver: an OBLazyListMorph(969408512)
>> >>> Arguments and temporary variables:
>> >>> item: #renderContentOn:
>> >>> row: 2
>> >>> canvas: a FormCanvas on:
>> DisplayScreen(2552x1374x32)
>> >>> drawBounds: 0@14 corner: 190@28
>> >>> top: 15
>> >>> icon: ColorForm(12x12x8)
>> >>> name: #arrowUp
>> >>> Receiver's instance variables:
>> >>> bounds: 0@0 corner: 190@42
>> >>> owner: a TransformMorph(743702528)
>> >>> submorphs: #()
>> >>> fullBounds: 0@0 corner: 190@42
>> >>> color: Color black
>> >>> extension: a MorphExtension (970981376) [other:
>> (errorOnDraw -> true)]
>> >>> listItems: #(#callbackUrlOn:callback:
>> #renderContentOn: nil)
>> >>> font: a StrikeFont(Bitmap DejaVu Sans 9 14)
>> >>> selectedRow: 0
>> >>> selectedRows: a PluggableSet()
>> >>> listSource: an OBPluggableListMorph(155189248)
>> >>> maxWidth: 136
>> >>>
>> >>> OBLazyListMorph(LazyListMorph)>>drawOn:
>> >>> Receiver: an OBLazyListMorph(969408512)
>> >>> Arguments and temporary variables:
>> >>> aCanvas: a FormCanvas on:
>> DisplayScreen(2552x1374x32)
>> >>> row: 2
>> >>> rowLimiT: 3
>> >>> Receiver's instance variables:
>> >>> bounds: 0@0 corner: 190@42
>> >>> owner: a TransformMorph(743702528)
>> >>> submorphs: #()
>> >>> fullBounds: 0@0 corner: 190@42
>> >>> color: Color black
>> >>> extension: a MorphExtension (970981376) [other:
>> (errorOnDraw -> true)]
>> >>> listItems: #(#callbackUrlOn:callback:
>> #renderContentOn: nil)
>> >>> font: a StrikeFont(Bitmap DejaVu Sans 9 14)
>> >>> selectedRow: 0
>> >>> selectedRows: a PluggableSet()
>> >>> listSource: an OBPluggableListMorph(155189248)
>> >>> maxWidth: 136
>> >>>
>> >>> FormCanvas(Canvas)>>draw:
>> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>> >>> Arguments and temporary variables:
>> >>> anObject: an OBLazyListMorph(969408512)
>> >>> Receiver's instance variables:
>> >>> target: nil
>> >>> filterSelector: nil
>> >>> origin: 2367@187
>> >>> clipRect: 2364@187 corner: 2534@400
>> >>> form: DisplayScreen(2552x1374x32)
>> >>> port: a GrafPort
>> >>> shadowColor: nil
>> >>>
>> >>> FormCanvas(Canvas)>>drawMorph:
>> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>> >>> Arguments and temporary variables:
>> >>> aMorph: an OBLazyListMorph(969408512)
>> >>> Receiver's instance variables:
>> >>> target: nil
>> >>> filterSelector: nil
>> >>> origin: 2367@187
>> >>> clipRect: 2364@187 corner: 2534@400
>> >>> form: DisplayScreen(2552x1374x32)
>> >>> port: a GrafPort
>> >>> shadowColor: nil
>> >>>
>> >>> [] in OBLazyListMorph(Morph)>>fullDrawOn:
>> >>> Receiver: an OBLazyListMorph(969408512)
>> >>> Arguments and temporary variables:
>> >>> aCanvas: a FormCanvas on:
>> DisplayScreen(2552x1374x32)
>> >>> Receiver's instance variables:
>> >>> bounds: 0@0 corner: 190@42
>> >>> owner: a TransformMorph(743702528)
>> >>> submorphs: #()
>> >>> fullBounds: 0@0 corner: 190@42
>> >>> color: Color black
>> >>> extension: a MorphExtension (970981376) [other:
>> (errorOnDraw -> true)]
>> >>> listItems: #(#callbackUrlOn:callback:
>> #renderContentOn: nil)
>> >>> font: a StrikeFont(Bitmap DejaVu Sans 9 14)
>> >>> selectedRow: 0
>> >>> selectedRows: a PluggableSet()
>> >>> listSource: an OBPluggableListMorph(155189248)
>> >>> maxWidth: 136
>> >>>
>> >>> FormCanvas>>roundCornersOf:in:during:
>> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>> >>> Arguments and temporary variables:
>> >>> aMorph: an OBLazyListMorph(969408512)
>> >>> bounds: 0@0 corner: 190@42
>> >>> aBlock: [(aCanvas isVisible: self bounds)
>> >>> ifTrue: [aCanvas drawMorph: self].
>> >>> ...etc...
>> >>> Receiver's instance variables:
>> >>> target: nil
>> >>> filterSelector: nil
>> >>> origin: 2367@187
>> >>> clipRect: 2364@187 corner: 2534@400
>> >>> form: DisplayScreen(2552x1374x32)
>> >>> port: a GrafPort
>> >>> shadowColor: nil
>> >>>
>> >>> FormCanvas(Canvas)>>roundCornersOf:during:
>> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>> >>> Arguments and temporary variables:
>> >>> aMorph: an OBLazyListMorph(969408512)
>> >>> aBlock: [(aCanvas isVisible: self bounds)
>> >>> ifTrue: [aCanvas drawMorph: self].
>> >>> ...etc...
>> >>> Receiver's instance variables:
>> >>> target: nil
>> >>> filterSelector: nil
>> >>> origin: 2367@187
>> >>> clipRect: 2364@187 corner: 2534@400
>> >>> form: DisplayScreen(2552x1374x32)
>> >>> port: a GrafPort
>> >>> shadowColor: nil
>> >>>
>> >>> OBLazyListMorph(Morph)>>fullDrawOn:
>> >>> Receiver: an OBLazyListMorph(969408512)
>> >>> Arguments and temporary variables:
>> >>> aCanvas: a FormCanvas on:
>> DisplayScreen(2552x1374x32)
>> >>> Receiver's instance variables:
>> >>> bounds: 0@0 corner: 190@42
>> >>> owner: a TransformMorph(743702528)
>> >>> submorphs: #()
>> >>> fullBounds: 0@0 corner: 190@42
>> >>> color: Color black
>> >>> extension: a MorphExtension (970981376) [other:
>> (errorOnDraw -> true)]
>> >>> listItems: #(#callbackUrlOn:callback:
>> #renderContentOn: nil)
>> >>> font: a StrikeFont(Bitmap DejaVu Sans 9 14)
>> >>> selectedRow: 0
>> >>> selectedRows: a PluggableSet()
>> >>> listSource: an OBPluggableListMorph(155189248)
>> >>> maxWidth: 136
>> >>>
>> >>> FormCanvas(Canvas)>>fullDraw:
>> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>> >>> Arguments and temporary variables:
>> >>> anObject: an OBLazyListMorph(969408512)
>> >>> Receiver's instance variables:
>> >>> target: nil
>> >>> filterSelector: nil
>> >>> origin: 2367@187
>> >>> clipRect: 2364@187 corner: 2534@400
>> >>> form: DisplayScreen(2552x1374x32)
>> >>> port: a GrafPort
>> >>> shadowColor: nil
>> >>>
>> >>> FormCanvas(Canvas)>>fullDrawMorph:
>> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>> >>> Arguments and temporary variables:
>> >>> aMorph: an OBLazyListMorph(969408512)
>> >>> Receiver's instance variables:
>> >>> target: nil
>> >>> filterSelector: nil
>> >>> origin: 2367@187
>> >>> clipRect: 2364@187 corner: 2534@400
>> >>> form: DisplayScreen(2552x1374x32)
>> >>> port: a GrafPort
>> >>> shadowColor: nil
>> >>>
>> >>> [] in [] in TransformMorph>>drawSubmorphsOn:
>> >>> Receiver: a TransformMorph(743702528)
>> >>> Arguments and temporary variables:
>> >>> myCanvas: an OBLazyListMorph(969408512)
>> >>> m: a FormCanvas on: DisplayScreen(2552x1374x32)
>> >>> Receiver's instance variables:
>> >>> bounds: 520@0 corner: 690@213
>> >>> owner: an OBPluggableListMorph(155189248)
>> >>> submorphs: an Array(an OBLazyListMorph(969408512))
>> >>> fullBounds: 520@0 corner: 690@213
>> >>> color: Color transparent
>> >>> extension: a MorphExtension (745537536)
>> >>> transform: a MorphicTransform(angle = 0.0; scale =
>> 1.0; offset = -523@0)
>> >>> smoothing: 1
>> >>> localBounds: nil
>> >>>
>> >>> Array(SequenceableCollection)>>reverseDo:
>> >>> Receiver: an Array(an OBLazyListMorph(969408512))
>> >>> Arguments and temporary variables:
>> >>> aBlock: [:m | myCanvas fullDrawMorph: m]
>> >>> index: 1
>> >>> Receiver's instance variables:
>> >>> an Array(an OBLazyListMorph(969408512))
>> >>>
>> >>> [] in TransformMorph>>drawSubmorphsOn:
>> >>> Receiver: a TransformMorph(743702528)
>> >>> Arguments and temporary variables:
>> >>> myCanvas: a FormCanvas on:
>> DisplayScreen(2552x1374x32)
>> >>> Receiver's instance variables:
>> >>> bounds: 520@0 corner: 690@213
>> >>> owner: an OBPluggableListMorph(155189248)
>> >>> submorphs: an Array(an OBLazyListMorph(969408512))
>> >>> fullBounds: 520@0 corner: 690@213
>> >>> color: Color transparent
>> >>> extension: a MorphExtension (745537536)
>> >>> transform: a MorphicTransform(angle = 0.0; scale =
>> 1.0; offset = -523@0)
>> >>> smoothing: 1
>> >>> localBounds: nil
>> >>>
>> >>> FormCanvas>>transformBy:clippingTo:during:smoothing:
>> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>> >>> Arguments and temporary variables:
>> >>> aDisplayTransform: a MorphicTransform(angle = 0.0;
>> scale = 1.0; offset = -523@0...etc...
>> >>> aClipRect: 520@0 corner: 690@213
>> >>> aBlock: [:myCanvas | (self angle ~= 0.0
>> >>> or: [self scale ~= 1.0])
>> >>> ifTrue: [...etc...
>> >>> cellSize: 1
>> >>> innerRect: nil
>> >>> patchRect: nil
>> >>> sourceQuad: nil
>> >>> warp: nil
>> >>> start: nil
>> >>> subCanvas: nil
>> >>> rule: nil
>> >>> i: nil
>> >>> Receiver's instance variables:
>> >>> target: nil
>> >>> filterSelector: nil
>> >>> origin: 1844@187
>> >>> clipRect: 2364@187 corner: 2534@400
>> >>> form: DisplayScreen(2552x1374x32)
>> >>> port: a GrafPort
>> >>> shadowColor: nil
>> >>>
>> >>> TransformMorph>>drawSubmorphsOn:
>> >>> Receiver: a TransformMorph(743702528)
>> >>> Arguments and temporary variables:
>> >>> aCanvas: a FormCanvas on:
>> DisplayScreen(2552x1374x32)
>> >>> Receiver's instance variables:
>> >>> bounds: 520@0 corner: 690@213
>> >>> owner: an OBPluggableListMorph(155189248)
>> >>> submorphs: an Array(an OBLazyListMorph(969408512))
>> >>> fullBounds: 520@0 corner: 690@213
>> >>> color: Color transparent
>> >>> extension: a MorphExtension (745537536)
>> >>> transform: a MorphicTransform(angle = 0.0; scale =
>> 1.0; offset = -523@0)
>> >>> smoothing: 1
>> >>> localBounds: nil
>> >>>
>> >>> [] in TransformMorph(Morph)>>fullDrawOn:
>> >>> Receiver: a TransformMorph(743702528)
>> >>> Arguments and temporary variables:
>> >>> aCanvas: a FormCanvas on:
>> DisplayScreen(2552x1374x32)
>> >>> Receiver's instance variables:
>> >>> bounds: 520@0 corner: 690@213
>> >>> owner: an OBPluggableListMorph(155189248)
>> >>> submorphs: an Array(an OBLazyListMorph(969408512))
>> >>> fullBounds: 520@0 corner: 690@213
>> >>> color: Color transparent
>> >>> extension: a MorphExtension (745537536)
>> >>> transform: a MorphicTransform(angle = 0.0; scale =
>> 1.0; offset = -523@0)
>> >>> smoothing: 1
>> >>> localBounds: nil
>> >>>
>> >>> FormCanvas>>roundCornersOf:in:during:
>> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>> >>> Arguments and temporary variables:
>> >>> aMorph: a TransformMorph(743702528)
>> >>> bounds: 520@0 corner: 690@213
>> >>> aBlock: [(aCanvas isVisible: self bounds)
>> >>> ifTrue: [aCanvas drawMorph: self].
>> >>> ...etc...
>> >>> Receiver's instance variables:
>> >>> target: nil
>> >>> filterSelector: nil
>> >>> origin: 1844@187
>> >>> clipRect: 2364@187 corner: 2534@400
>> >>> form: DisplayScreen(2552x1374x32)
>> >>> port: a GrafPort
>> >>> shadowColor: nil
>> >>>
>> >>> FormCanvas(Canvas)>>roundCornersOf:during:
>> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>> >>> Arguments and temporary variables:
>> >>> aMorph: a TransformMorph(743702528)
>> >>> aBlock: [(aCanvas isVisible: self bounds)
>> >>> ifTrue: [aCanvas drawMorph: self].
>> >>> ...etc...
>> >>> Receiver's instance variables:
>> >>> target: nil
>> >>> filterSelector: nil
>> >>> origin: 1844@187
>> >>> clipRect: 2364@187 corner: 2534@400
>> >>> form: DisplayScreen(2552x1374x32)
>> >>> port: a GrafPort
>> >>> shadowColor: nil
>> >>>
>> >>> TransformMorph(Morph)>>fullDrawOn:
>> >>> Receiver: a TransformMorph(743702528)
>> >>> Arguments and temporary variables:
>> >>> aCanvas: a FormCanvas on:
>> DisplayScreen(2552x1374x32)
>> >>> Receiver's instance variables:
>> >>> bounds: 520@0 corner: 690@213
>> >>> owner: an OBPluggableListMorph(155189248)
>> >>> submorphs: an Array(an OBLazyListMorph(969408512))
>> >>> fullBounds: 520@0 corner: 690@213
>> >>> color: Color transparent
>> >>> extension: a MorphExtension (745537536)
>> >>> transform: a MorphicTransform(angle = 0.0; scale =
>> 1.0; offset = -523@0)
>> >>> smoothing: 1
>> >>> localBounds: nil
>> >>>
>> >>> FormCanvas(Canvas)>>fullDraw:
>> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>> >>> Arguments and temporary variables:
>> >>> anObject: a TransformMorph(743702528)
>> >>> Receiver's instance variables:
>> >>> target: nil
>> >>> filterSelector: nil
>> >>> origin: 1844@187
>> >>> clipRect: 2364@187 corner: 2534@400
>> >>> form: DisplayScreen(2552x1374x32)
>> >>> port: a GrafPort
>> >>> shadowColor: nil
>> >>>
>> >>> FormCanvas(Canvas)>>fullDrawMorph:
>> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>> >>> Arguments and temporary variables:
>> >>> aMorph: a TransformMorph(743702528)
>> >>> Receiver's instance variables:
>> >>> target: nil
>> >>> filterSelector: nil
>> >>> origin: 1844@187
>> >>> clipRect: 2364@187 corner: 2534@400
>> >>> form: DisplayScreen(2552x1374x32)
>> >>> port: a GrafPort
>> >>> shadowColor: nil
>> >>>
>> >>> [] in [] in OBPluggableListMorph(Morph)>>drawSubmorphsOn:
>> >>> Receiver: an OBPluggableListMorph(155189248)
>> >>> Arguments and temporary variables:
>> >>> canvas: a TransformMorph(743702528)
>> >>> m: a FormCanvas on: DisplayScreen(2552x1374x32)
>> >>> Receiver's instance variables:
>> >>> bounds: 520@0 corner: 690@213
>> >>> owner: an OBPane(127401984)
>> >>> submorphs: an Array(a TransformMorph(743702528))
>> >>> fullBounds: 520@0 corner: 690@213
>> >>> color: Color white
>> >>> extension: a MorphExtension (132644864) [other:
>> (dragEnabled -> true) (dropEna...etc...
>> >>> borderWidth: 0
>> >>> borderColor: Color black
>> >>> model: an OBColumn()
>> >>> slotName: nil
>> >>> open: false
>> >>> scrollBar: a ScrollBar(161742848)
>> >>> scroller: a TransformMorph(743702528)
>> >>> retractableScrollBar: false
>> >>> scrollBarOnLeft: false
>> >>> getMenuSelector: #menu:
>> >>> getMenuTitleSelector: nil
>> >>> hasFocus: false
>> >>> hScrollBar: a ScrollBar(990642176)
>> >>> list: nil
>> >>> getListSelector: #list
>> >>> getListSizeSelector: #listSize
>> >>> getListElementSelector: #listAt:
>> >>> getIndexSelector: #selection
>> >>> setIndexSelector: #selection:
>> >>> keystrokeActionSelector: #keystroke:from:
>> >>> autoDeselect: false
>> >>> lastKeystrokeTime: 0
>> >>> lastKeystrokes: ''
>> >>> doubleClickSelector: #doubleClick
>> >>> handlesBasicKeys: nil
>> >>> potentialDropRow: nil
>> >>> listMorph: an OBLazyListMorph(969408512)
>> >>> hScrollRangeCache: nil
>> >>>
>> >>> Array(SequenceableCollection)>>reverseDo:
>> >>> Receiver: an Array(a TransformMorph(743702528))
>> >>> Arguments and temporary variables:
>> >>> aBlock: [:m | canvas fullDrawMorph: m]
>> >>> index: 1
>> >>> Receiver's instance variables:
>> >>> an Array(a TransformMorph(743702528))
>> >>>
>> >>> [] in OBPluggableListMorph(Morph)>>drawSubmorphsOn:
>> >>> Receiver: an OBPluggableListMorph(155189248)
>> >>> Arguments and temporary variables:
>> >>> canvas: a FormCanvas on:
>> DisplayScreen(2552x1374x32)
>> >>> Receiver's instance variables:
>> >>> bounds: 520@0 corner: 690@213
>> >>> owner: an OBPane(127401984)
>> >>> submorphs: an Array(a TransformMorph(743702528))
>> >>> fullBounds: 520@0 corner: 690@213
>> >>> color: Color white
>> >>> extension: a MorphExtension (132644864) [other:
>> (dragEnabled -> true) (dropEna...etc...
>> >>> borderWidth: 0
>> >>> borderColor: Color black
>> >>> model: an OBColumn()
>> >>> slotName: nil
>> >>> open: false
>> >>> scrollBar: a ScrollBar(161742848)
>> >>> scroller: a TransformMorph(743702528)
>> >>> retractableScrollBar: false
>> >>> scrollBarOnLeft: false
>> >>> getMenuSelector: #menu:
>> >>> getMenuTitleSelector: nil
>> >>> hasFocus: false
>> >>> hScrollBar: a ScrollBar(990642176)
>> >>> list: nil
>> >>> getListSelector: #list
>> >>> getListSizeSelector: #listSize
>> >>> getListElementSelector: #listAt:
>> >>> getIndexSelector: #selection
>> >>> setIndexSelector: #selection:
>> >>> keystrokeActionSelector: #keystroke:from:
>> >>> autoDeselect: false
>> >>> lastKeystrokeTime: 0
>> >>> lastKeystrokes: ''
>> >>> doubleClickSelector: #doubleClick
>> >>> handlesBasicKeys: nil
>> >>> potentialDropRow: nil
>> >>> listMorph: an OBLazyListMorph(969408512)
>> >>> hScrollRangeCache: nil
>> >>>
>> >>>
>> >>> --- The full stack ---
>> >>> LargePositiveInteger(Object)>>error:
>> >>> [] in WorldState>>displayWorldSafely:
>> >>> BlockClosure>>valueWithPossibleArgs:
>> >>> [] in BlockClosure>>ifError:
>> >>> BlockClosure>>valueWithPossibleArgs:
>> >>> [] in MethodContext(ContextPart)>>handleSignal:
>> >>> BlockClosure>>ensure:
>> >>> MethodContext(ContextPart)>>handleSignal:
>> >>> MessageNotUnderstood(Exception)>>signal
>> >>> LargePositiveInteger(Object)>>doesNotUnderstand: #pixelValueForDepth:
>> >>> ColorForm>>colormapIfNeededForDepth:
>> >>> ColorForm>>colormapIfNeededFor:
>> >>> FormCanvas>>image:at:sourceRect:rule:
>> >>> FormCanvas(Canvas)>>translucentImage:at:sourceRect:
>> >>> FormCanvas(Canvas)>>translucentImage:at:
>> >>> OBLazyListMorph>>display:atRow:on:
>> >>> OBLazyListMorph(LazyListMorph)>>drawOn:
>> >>> FormCanvas(Canvas)>>draw:
>> >>> FormCanvas(Canvas)>>drawMorph:
>> >>> [] in OBLazyListMorph(Morph)>>fullDrawOn:
>> >>> FormCanvas>>roundCornersOf:in:during:
>> >>> FormCanvas(Canvas)>>roundCornersOf:during:
>> >>> OBLazyListMorph(Morph)>>fullDrawOn:
>> >>> FormCanvas(Canvas)>>fullDraw:
>> >>> FormCanvas(Canvas)>>fullDrawMorph:
>> >>> [] in [] in TransformMorph>>drawSubmorphsOn:
>> >>> Array(SequenceableCollection)>>reverseDo:
>> >>> [] in TransformMorph>>drawSubmorphsOn:
>> >>> FormCanvas>>transformBy:clippingTo:during:smoothing:
>> >>> TransformMorph>>drawSubmorphsOn:
>> >>> [] in TransformMorph(Morph)>>fullDrawOn:
>> >>> FormCanvas>>roundCornersOf:in:during:
>> >>> FormCanvas(Canvas)>>roundCornersOf:during:
>> >>> TransformMorph(Morph)>>fullDrawOn:
>> >>> FormCanvas(Canvas)>>fullDraw:
>> >>> FormCanvas(Canvas)>>fullDrawMorph:
>> >>> [] in [] in OBPluggableListMorph(Morph)>>drawSubmorphsOn:
>> >>> Array(SequenceableCollection)>>reverseDo:
>> >>> [] in OBPluggableListMorph(Morph)>>drawSubmorphsOn:
>> >>> - - - - - - - - - - - - - - -
>> >>> - - - - - - - - - - - - - - - - - -
>> >>> OBPluggableListMorph(Morph)>>drawSubmorphsOn:
>> >>> OBPluggableListMorph(PluggableListMorph)>>drawSubmorphsOn:
>> >>> [] in OBPluggableListMorph(Morph)>>fullDrawOn:
>> >>> FormCanvas>>roundCornersOf:in:during:
>> >>> FormCanvas(Canvas)>>roundCornersOf:during:
>> >>> OBPluggableListMorph(Morph)>>fullDrawOn:
>> >>> FormCanvas(Canvas)>>fullDraw:
>> >>> FormCanvas(Canvas)>>fullDrawMorph:
>> >>> [] in [] in OBPane(Morph)>>drawSubmorphsOn:
>> >>> Array(SequenceableCollection)>>reverseDo:
>> >>> [] in OBPane(Morph)>>drawSubmorphsOn:
>> >>> FormCanvas>>clipBy:during:
>> >>> OBPane(Morph)>>drawSubmorphsOn:
>> >>> [] in OBPane(Morph)>>fullDrawOn:
>> >>> FormCanvas>>roundCornersOf:in:during:
>> >>> FormCanvas(Canvas)>>roundCornersOf:during:
>> >>> OBPane(Morph)>>fullDrawOn:
>> >>> FormCanvas(Canvas)>>fullDraw:
>> >>> FormCanvas(Canvas)>>fullDrawMorph:
>> >>> [] in [] in TransformMorph>>drawSubmorphsOn:
>> >>> Array(SequenceableCollection)>>reverseDo:
>> >>> [] in TransformMorph>>drawSubmorphsOn:
>> >>> FormCanvas>>transformBy:clippingTo:during:smoothing:
>> >>> TransformMorph>>drawSubmorphsOn:
>> >>> [] in TransformMorph(Morph)>>fullDrawOn:
>> >>> FormCanvas>>roundCornersOf:in:during:
>> >>> FormCanvas(Canvas)>>roundCornersOf:during:
>> >>> TransformMorph(Morph)>>fullDrawOn:
>> >>> FormCanvas(Canvas)>>fullDraw:
>> >>> FormCanvas(Canvas)>>fullDrawMorph:
>> >>> [] in [] in OBPaneScroller(Morph)>>drawSubmorphsOn:
>> >>> Array(SequenceableCollection)>>reverseDo:
>> >>> [] in OBPaneScroller(Morph)>>drawSubmorphsOn:
>> >>> OBPaneScroller(Morph)>>drawSubmorphsOn:
>> >>> [] in OBPaneScroller(Morph)>>fullDrawOn:
>> >>> FormCanvas>>roundCornersOf:in:during:
>> >>> FormCanvas(Canvas)>>roundCornersOf:during:
>> >>> OBPaneScroller(Morph)>>fullDrawOn:
>> >>> FormCanvas(Canvas)>>fullDraw:
>> >>> FormCanvas(Canvas)>>fullDrawMorph:
>> >>> [] in [] in OBGroupingMorph(Morph)>>drawSubmorphsOn:
>> >>> Array(SequenceableCollection)>>reverseDo:
>> >>> [] in OBGroupingMorph(Morph)>>drawSubmorphsOn:
>> >>> OBGroupingMorph(Morph)>>drawSubmorphsOn:
>> >>> [] in OBGroupingMorph(Morph)>>fullDrawOn:
>> >>> FormCanvas>>roundCornersOf:in:during:
>> >>> FormCanvas(Canvas)>>roundCornersOf:during:
>> >>> OBGroupingMorph(Morph)>>fullDrawOn:
>> >>> FormCanvas(Canvas)>>fullDraw:
>> >>> FormCanvas(Canvas)>>fullDrawMorph:
>> >>> [] in [] in SystemWindow(Morph)>>drawSubmorphsOn:
>> >>> Array(SequenceableCollection)>>reverseDo:
>> >>> [] in SystemWindow(Morph)>>drawSubmorphsOn:
>> >>> FormCanvas>>clipBy:during:
>> >>> SystemWindow(Morph)>>drawSubmorphsOn:
>> >>> [] in SystemWindow(Morph)>>fullDrawOn:
>> >>> FormCanvas>>roundCornersOf:in:during:
>> >>> FormCanvas(Canvas)>>roundCornersOf:during:
>> >>> SystemWindow(Morph)>>fullDrawOn:
>> >>> FormCanvas(Canvas)>>fullDraw:
>> >>> FormCanvas(Canvas)>>fullDrawMorph:
>> >>> [] in [] in WorldState>>drawWorld:submorphs:invalidAreasOn:
>> >>> Rectangle>>allAreasOutsideList:startingAt:do:
>> >>> Rectangle>>allAreasOutsideList:do:
>> >>> [] in WorldState>>drawWorld:submorphs:invalidAreasOn:
>> >>> Array(SequenceableCollection)>>do:
>> >>> WorldState>>drawWorld:submorphs:invalidAreasOn:
>> >>> [] in WorldState>>displayWorld:submorphs:
>> >>> FormCanvas>>roundCornersOf:in:during:
>> >>> FormCanvas(Canvas)>>roundCornersOf:during:
>> >>> WorldState>>displayWorld:submorphs:
>> >>> PasteUpMorph>>privateOuterDisplayWorld
>> >>> PasteUpMorph>>displayWorld
>> >>> [] in WorldState>>displayWorldSafely:
>> >>> BlockClosure>>on:do:
>> >>> BlockClosure>>ifError:
>> >>> WorldState>>displayWorldSafely:
>> >>> WorldState>>doOneCycleNowFor:
>> >>> WorldState>>doOneCycleFor:
>> >>> PasteUpMorph>>doOneCycle
>> >>> [] in Project class>>spawnNewProcess
>> >>> [] in BlockClosure>>newProcess
>> >>>
>> >>
>> >>
>> >
>> >
>> >
>>
>>
>
Jan. 13, 2011
Re: [Pharo-project] SUNit
by Benoit St-Jean
I guess I<ve explained myself poorly.
Let's say that my singleton class, let's call it CommunicationManager must be
initialized and connected to a different port each and every time. Let's say my
test cases class are MotorSensorTestCase, HumiditySensorReceiver,
TemperatureSensorTestCase and WindSensorTestCase.
Imagine, for each of those 4 classes, I define the a resource for each BUT each
is using/calling the same CommunicationManager but initialize it to a different
port. Since the TestResources are *all* initialized at once before running a
test suite, I end up having all test cases using a resource (my
CommunicationManager sole instance) but with the last port to which it was
initialized.
I don't mind the order of execution, as long as during the execution of all
tests within a test case class, the singleton uses the right port. But since
the resources are not individually initialized *before* execution of the tests
in a test case class, I end up with whatever executed last before running the
test suite.
Am I losing you guys?!?!
-----------------
Benoit St-Jean
Yahoo! Messenger: bstjean
A standpoint is an intellectual horizon of radius zero.
(Albert Einstein)
________________________________
From: Lukas Renggli <renggli(a)gmail.com>
To: Pharo-project(a)lists.gforge.inria.fr
Sent: Wed, January 12, 2011 3:12:16 PM
Subject: Re: [Pharo-project] SUNit
> That I knew but my problem is that *all* resources are initialized *at once*
> before running the test suite. I would need *only* the proper resource to
> be initialized before running all tests in every TestCase subclass... My
> problem lies in the fact that the resource I need is a singleton instance
> that is initialized based on specific parameters, each time different from
> one test case to another. So what happens is that all tests cases end up
> using this singleton with the way it was last initialized before running the
> test suite, which ain't good!
Tests do not run in a predefined order, so you cannot make assumptions on that.
What you can do, is to let your TestResource return different
resources based on the context, i.e. the test class that requests it.
MyTestCase>>singleton
^ MyTestResource current singletonFor: self
MyTestResource>>singletonFor: aTestCase
^ singletonCache at: aTestCase class ifAbsentPut: [ aTestCase
buildSingleton ]
If you want to see an example of this pattern have a look at the tests
of PetitParser. PPCompositeParserTest (and its subclasses) and
PPParserResource do exactly follow that pattern.
Lukas
--
Lukas Renggli
www.lukas-renggli.ch
Jan. 13, 2011
Re: [Pharo-project] [update 1.2] #12297
by Igor Stasenko
On 12 January 2011 23:17, Sven Van Caekenberghe <sven(a)beta9.be> wrote:
>
> On 12 Jan 2011, at 22:12, Igor Stasenko wrote:
>
>> Ubuntu changes its skin every single release.. and i am pretty sure
>> that there are
>> books, screencasts, screnshots, tutorials, etc for Ubuntu as well.
>>
>> (btw i think they established really good tradition, because people
>> could quickly distinguish one version from another
>> by simply taking a glance on the screen)
>
> Good point: new look == new version
>
> The compatibility point is also good.
>
> The OS independence point is also good.
>
>> Get used to live in ever changing world :)
>>
>>> you, and all Pharo advanced users can easily change the theme, and you
>>> probbaly even have a script prepare that you run in each clean image to
>>> adapt it to your taste.
>>
>> UIThemeWatery2 beCurrent.
>>
>> be my guest :) http://bit.ly/gi7vb7
>>
>>
>>> But I think we should make the life easier for new comers.
>>> In addition, it was never discussed in the mailing list such change (at
>>> least I didn't see it).
>>>
>>
>> i agree, it is better to discuss broadly before changing.
>>
>> I like the glamourous theme because it is minimalistic and elegant.
>> Still the colors are a bit wrong as to my taste, especially selection
>> (light blue).
>
> I made my own subclass overriding 3 color constants to orange.
> 'Sven-Glamour-Theme' @ SqueakSource project ADayAtTheBeach.
>
Kewl.. Orange is much much better.
I modified it a little. Check it out
> Sven
>
>
--
Best regards,
Igor Stasenko AKA sig.
Jan. 13, 2011
Re: [Pharo-project] [BUG]LargePositiveInteger(Object)>>error:
by Eliot Miranda
Hi All,
I think I've found the reproducible case for the MessageNotUnderstood:
LargePositiveInteger>>pixelValueForDepth: bug in the
StackToRegisterMappingCogit. The symptom may be that the register
arguments get shuffled incorrectly through an inline send miss. Here's an
example that produces an MNU every time:
| s a ca |
s := #(1 -1).
a := Array new: 2.
ca := ColorArray new: 2.
a replaceFrom: 1 to: 2 with: s.
ca replaceFrom: 1 to: 2 with: s.
I'll try and look at this this evening.
best
Eliot
On Tue, Jan 11, 2011 at 5:36 PM, Stuart Herring
<st-lists(a)stuartherring.com>wrote:
> It seems to be related to the VM.
> To reproduce, just open a browser and save and quit.
> Then opening the image with Cog r2344 or r2345 will result in this
> error - it seems to be happening in the startup process.
> If you debug it, the code that apparently causes the problem actually
> works fine when manually invoked.
>
> Earlier versions of Cog don't have this problem - r2316 works fine.
> I'm using the standard 1.1.1 image on Linux (Omnibrowser is
> OB-Standard-lr.479)
>
> Regards,
> Stuart
>
> On Wed, Jan 12, 2011 at 3:06 AM, Pat Maddox <patmaddox(a)me.com> wrote:
> > I used the public 1.1.1 oneclick
> >
> >
> > On Jan 6, 2011, at 1:30 PM, Stéphane Ducasse wrote:
> >
> >> Thanks pat for the report.
> >>
> >> Now could you let us know if you loaded OB or if you used the public
> 1.1.1 oneclick?
> >>
> >> Stef
> >>
> >> On Jan 6, 2011, at 9:18 PM, Pat Maddox wrote:
> >>
> >>> I opened up an OmniBrowser and scrolled to the very bottom. Then I
> clicked on my package name, and then a class name.
> >>>
> >>> 6 January 2011 12:12:44 pm
> >>>
> >>> VM: Mac OS - intel - 1065 - Croquet Closure Cog VM [CoInterpreter
> VMMaker-oscog.43] Croquet Cog 3.0.0
> >>> Image: Pharo-1.1.1-- [Latest update: #11414]
> >>>
> >>> SecurityManager state:
> >>> Restricted: false
> >>> FileAccess: true
> >>> SocketAccess: true
> >>> Working Dir /Users/padillac/code/pharo_image
> >>> Trusted Dir /foobar/tooBar/forSqueak/bogus/
> >>> Untrusted Dir
> /Users/padillac/Library/Preferences/Croquet/Internet/Untrusted
> >>>
> >>> LargePositiveInteger(Object)>>error:
> >>> Receiver: 4287876447
> >>> Arguments and temporary variables:
> >>> aString: 'MessageNotUnderstood:
> LargePositiveInteger>>pixelValueForDepth:'
> >>> Receiver's instance variables:
> >>> 4287876447
> >>>
> >>> [] in WorldState>>displayWorldSafely:
> >>> Receiver: a WorldState
> >>> Arguments and temporary variables:
> >>> err: 'MessageNotUnderstood:
> LargePositiveInteger>>pixelValueForDepth:'
> >>> rcvr: 4287876447
> >>> errCtx: OBLazyListMorph>>display:atRow:on:
> >>> errMorph: an OBLazyListMorph(969408512)
> >>> Receiver's instance variables:
> >>> hands: an Array(a HandMorph(843055104))
> >>> viewBox: 0@0 corner: 2552@1374
> >>> canvas: a FormCanvas on:
> DisplayScreen(2552x1374x32)
> >>> damageRecorder: a DamageRecorder
> >>> stepList: a Heap(StepMessage(#stepAt: -> a
> SystemWindow(154664960))(a SystemWin...etc...
> >>> lastStepTime: 805471
> >>> lastStepMessage: nil
> >>> lastCycleTime: 805463
> >>> commandHistory: a CommandHistory
> >>> alarms: a Heap()
> >>> lastAlarmTime: 805471
> >>> menuBuilder: a PragmaMenuBuilder
> >>>
> >>> BlockClosure>>valueWithPossibleArgs:
> >>> Receiver: [:err :rcvr |
> >>> | errCtx errMorph |
> >>> errCtx := thisContext.
> >>> [errCtx := errCtx sender.
> >>> [err...etc...
> >>> Arguments and temporary variables:
> >>> anArray: #('MessageNotUnderstood:
> LargePositiveInteger>>pixelValueForDepth:' 42...etc...
> >>> Receiver's instance variables:
> >>> outerContext: WorldState>>displayWorldSafely:
> >>> startpc: 73
> >>> numArgs: 2
> >>>
> >>> [] in BlockClosure>>ifError:
> >>> Receiver: [aWorld displayWorld]
> >>> Arguments and temporary variables:
> >>> errorHandlerBlock: MessageNotUnderstood:
> LargePositiveInteger>>pixelValueForDep...etc...
> >>> ex: [:err :rcvr |
> >>> | errCtx errMorph |
> >>> errCtx := thisContext.
> >>> [errCtx := errCt...etc...
> >>> Receiver's instance variables:
> >>> outerContext: WorldState>>displayWorldSafely:
> >>> startpc: 66
> >>> numArgs: 0
> >>>
> >>> BlockClosure>>valueWithPossibleArgs:
> >>> Receiver: [:ex | errorHandlerBlock valueWithPossibleArgs: {ex
> description. ex receiver}]
> >>> Arguments and temporary variables:
> >>> anArray: an Array(MessageNotUnderstood:
> LargePositiveInteger>>pixelValueForDept...etc...
> >>> Receiver's instance variables:
> >>> outerContext: BlockClosure>>ifError:
> >>> startpc: 40
> >>> numArgs: 1
> >>>
> >>> [] in MethodContext(ContextPart)>>handleSignal:
> >>> Receiver: BlockClosure>>on:do:
> >>> Arguments and temporary variables:
> >>> exception: MessageNotUnderstood:
> LargePositiveInteger>>pixelValueForDepth:
> >>> Receiver's instance variables:
> >>> sender: BlockClosure>>ifError:
> >>> pc: 17
> >>> stackp: 3
> >>> method: (BlockClosure>>#on:do: "a
> CompiledMethod(280231936)")
> >>> closureOrNil: nil
> >>> receiver: [aWorld displayWorld]
> >>>
> >>> BlockClosure>>ensure:
> >>> Receiver: [(self tempAt: 2)
> >>> valueWithPossibleArgs: {exception}]
> >>> Arguments and temporary variables:
> >>> aBlock: [self tempAt: 3 put: true]
> >>> complete: nil
> >>> returnValue: nil
> >>> Receiver's instance variables:
> >>> outerContext: MethodContext(ContextPart)>>handleSignal:
> >>> startpc: 90
> >>> numArgs: 0
> >>>
> >>> MethodContext(ContextPart)>>handleSignal:
> >>> Receiver: BlockClosure>>on:do:
> >>> Arguments and temporary variables:
> >>> exception: MessageNotUnderstood:
> LargePositiveInteger>>pixelValueForDepth:
> >>> val: nil
> >>> Receiver's instance variables:
> >>> sender: BlockClosure>>ifError:
> >>> pc: 17
> >>> stackp: 3
> >>> method: (BlockClosure>>#on:do: "a
> CompiledMethod(280231936)")
> >>> closureOrNil: nil
> >>> receiver: [aWorld displayWorld]
> >>>
> >>> MessageNotUnderstood(Exception)>>signal
> >>> Receiver: MessageNotUnderstood:
> LargePositiveInteger>>pixelValueForDepth:
> >>> Arguments and temporary variables:
> >>>
> >>> Receiver's instance variables:
> >>> messageText: nil
> >>> tag: nil
> >>> signalContext: MessageNotUnderstood(Exception)>>signal
> >>> handlerContext: BlockClosure>>on:do:
> >>> outerContext: nil
> >>> message: pixelValueForDepth: 32
> >>> receiver: 4287876447
> >>> reachedDefaultHandler: false
> >>>
> >>> LargePositiveInteger(Object)>>doesNotUnderstand: #pixelValueForDepth:
> >>> Receiver: 4287876447
> >>> Arguments and temporary variables:
> >>> aMessage: pixelValueForDepth: 32
> >>> exception: MessageNotUnderstood:
> LargePositiveInteger>>pixelValueForDepth:
> >>> resumeValue: nil
> >>> Receiver's instance variables:
> >>> 4287876447
> >>>
> >>> ColorForm>>colormapIfNeededForDepth:
> >>> Receiver: ColorForm(12x12x8)
> >>> Arguments and temporary variables:
> >>> destDepth: 32
> >>> newMap: a Bitmap of length 256
> >>> i: 3
> >>> iLimiT: 256
> >>> Receiver's instance variables:
> >>> bits: #[36 29 11 7 11 10 10 11 9 11 95 10 9 9 10 11 11
> 11 11 11 11 11 10 9 0 8 ...etc...
> >>> width: 12
> >>> height: 12
> >>> depth: 8
> >>> offset: 0@0
> >>> colors: a ColorArray((Color r: 0.572 g: 0.804 b:
> 0.369) (Color r: 0.564 g: 0.76...etc...
> >>> cachedDepth: nil
> >>> cachedColormap: nil
> >>>
> >>> ColorForm>>colormapIfNeededFor:
> >>> Receiver: ColorForm(12x12x8)
> >>> Arguments and temporary variables:
> >>> destForm: DisplayScreen(2552x1374x32)
> >>> newMap: nil
> >>> color: nil
> >>> pv: nil
> >>> i: nil
> >>> iLimiT: nil
> >>> Receiver's instance variables:
> >>> bits: #[36 29 11 7 11 10 10 11 9 11 95 10 9 9 10 11 11
> 11 11 11 11 11 10 9 0 8 ...etc...
> >>> width: 12
> >>> height: 12
> >>> depth: 8
> >>> offset: 0@0
> >>> colors: a ColorArray((Color r: 0.572 g: 0.804 b:
> 0.369) (Color r: 0.564 g: 0.76...etc...
> >>> cachedDepth: nil
> >>> cachedColormap: nil
> >>>
> >>> FormCanvas>>image:at:sourceRect:rule:
> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
> >>> Arguments and temporary variables:
> >>> aForm: ColorForm(12x12x8)
> >>> aPoint: 0@15
> >>> sourceRect: 0@0 corner: 12@12
> >>> rule: 24
> >>> Receiver's instance variables:
> >>> target: nil
> >>> filterSelector: nil
> >>> origin: 2367@187
> >>> clipRect: 2364@187 corner: 2534@400
> >>> form: DisplayScreen(2552x1374x32)
> >>> port: a GrafPort
> >>> shadowColor: nil
> >>>
> >>> FormCanvas(Canvas)>>translucentImage:at:sourceRect:
> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
> >>> Arguments and temporary variables:
> >>> aForm: ColorForm(12x12x8)
> >>> aPoint: 0@15
> >>> sourceRect: 0@0 corner: 12@12
> >>> Receiver's instance variables:
> >>> target: nil
> >>> filterSelector: nil
> >>> origin: 2367@187
> >>> clipRect: 2364@187 corner: 2534@400
> >>> form: DisplayScreen(2552x1374x32)
> >>> port: a GrafPort
> >>> shadowColor: nil
> >>>
> >>> FormCanvas(Canvas)>>translucentImage:at:
> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
> >>> Arguments and temporary variables:
> >>> aForm: ColorForm(12x12x8)
> >>> aPoint: 0@15
> >>> Receiver's instance variables:
> >>> target: nil
> >>> filterSelector: nil
> >>> origin: 2367@187
> >>> clipRect: 2364@187 corner: 2534@400
> >>> form: DisplayScreen(2552x1374x32)
> >>> port: a GrafPort
> >>> shadowColor: nil
> >>>
> >>> OBLazyListMorph>>display:atRow:on:
> >>> Receiver: an OBLazyListMorph(969408512)
> >>> Arguments and temporary variables:
> >>> item: #renderContentOn:
> >>> row: 2
> >>> canvas: a FormCanvas on:
> DisplayScreen(2552x1374x32)
> >>> drawBounds: 0@14 corner: 190@28
> >>> top: 15
> >>> icon: ColorForm(12x12x8)
> >>> name: #arrowUp
> >>> Receiver's instance variables:
> >>> bounds: 0@0 corner: 190@42
> >>> owner: a TransformMorph(743702528)
> >>> submorphs: #()
> >>> fullBounds: 0@0 corner: 190@42
> >>> color: Color black
> >>> extension: a MorphExtension (970981376) [other:
> (errorOnDraw -> true)]
> >>> listItems: #(#callbackUrlOn:callback:
> #renderContentOn: nil)
> >>> font: a StrikeFont(Bitmap DejaVu Sans 9 14)
> >>> selectedRow: 0
> >>> selectedRows: a PluggableSet()
> >>> listSource: an OBPluggableListMorph(155189248)
> >>> maxWidth: 136
> >>>
> >>> OBLazyListMorph(LazyListMorph)>>drawOn:
> >>> Receiver: an OBLazyListMorph(969408512)
> >>> Arguments and temporary variables:
> >>> aCanvas: a FormCanvas on:
> DisplayScreen(2552x1374x32)
> >>> row: 2
> >>> rowLimiT: 3
> >>> Receiver's instance variables:
> >>> bounds: 0@0 corner: 190@42
> >>> owner: a TransformMorph(743702528)
> >>> submorphs: #()
> >>> fullBounds: 0@0 corner: 190@42
> >>> color: Color black
> >>> extension: a MorphExtension (970981376) [other:
> (errorOnDraw -> true)]
> >>> listItems: #(#callbackUrlOn:callback:
> #renderContentOn: nil)
> >>> font: a StrikeFont(Bitmap DejaVu Sans 9 14)
> >>> selectedRow: 0
> >>> selectedRows: a PluggableSet()
> >>> listSource: an OBPluggableListMorph(155189248)
> >>> maxWidth: 136
> >>>
> >>> FormCanvas(Canvas)>>draw:
> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
> >>> Arguments and temporary variables:
> >>> anObject: an OBLazyListMorph(969408512)
> >>> Receiver's instance variables:
> >>> target: nil
> >>> filterSelector: nil
> >>> origin: 2367@187
> >>> clipRect: 2364@187 corner: 2534@400
> >>> form: DisplayScreen(2552x1374x32)
> >>> port: a GrafPort
> >>> shadowColor: nil
> >>>
> >>> FormCanvas(Canvas)>>drawMorph:
> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
> >>> Arguments and temporary variables:
> >>> aMorph: an OBLazyListMorph(969408512)
> >>> Receiver's instance variables:
> >>> target: nil
> >>> filterSelector: nil
> >>> origin: 2367@187
> >>> clipRect: 2364@187 corner: 2534@400
> >>> form: DisplayScreen(2552x1374x32)
> >>> port: a GrafPort
> >>> shadowColor: nil
> >>>
> >>> [] in OBLazyListMorph(Morph)>>fullDrawOn:
> >>> Receiver: an OBLazyListMorph(969408512)
> >>> Arguments and temporary variables:
> >>> aCanvas: a FormCanvas on:
> DisplayScreen(2552x1374x32)
> >>> Receiver's instance variables:
> >>> bounds: 0@0 corner: 190@42
> >>> owner: a TransformMorph(743702528)
> >>> submorphs: #()
> >>> fullBounds: 0@0 corner: 190@42
> >>> color: Color black
> >>> extension: a MorphExtension (970981376) [other:
> (errorOnDraw -> true)]
> >>> listItems: #(#callbackUrlOn:callback:
> #renderContentOn: nil)
> >>> font: a StrikeFont(Bitmap DejaVu Sans 9 14)
> >>> selectedRow: 0
> >>> selectedRows: a PluggableSet()
> >>> listSource: an OBPluggableListMorph(155189248)
> >>> maxWidth: 136
> >>>
> >>> FormCanvas>>roundCornersOf:in:during:
> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
> >>> Arguments and temporary variables:
> >>> aMorph: an OBLazyListMorph(969408512)
> >>> bounds: 0@0 corner: 190@42
> >>> aBlock: [(aCanvas isVisible: self bounds)
> >>> ifTrue: [aCanvas drawMorph: self].
> >>> ...etc...
> >>> Receiver's instance variables:
> >>> target: nil
> >>> filterSelector: nil
> >>> origin: 2367@187
> >>> clipRect: 2364@187 corner: 2534@400
> >>> form: DisplayScreen(2552x1374x32)
> >>> port: a GrafPort
> >>> shadowColor: nil
> >>>
> >>> FormCanvas(Canvas)>>roundCornersOf:during:
> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
> >>> Arguments and temporary variables:
> >>> aMorph: an OBLazyListMorph(969408512)
> >>> aBlock: [(aCanvas isVisible: self bounds)
> >>> ifTrue: [aCanvas drawMorph: self].
> >>> ...etc...
> >>> Receiver's instance variables:
> >>> target: nil
> >>> filterSelector: nil
> >>> origin: 2367@187
> >>> clipRect: 2364@187 corner: 2534@400
> >>> form: DisplayScreen(2552x1374x32)
> >>> port: a GrafPort
> >>> shadowColor: nil
> >>>
> >>> OBLazyListMorph(Morph)>>fullDrawOn:
> >>> Receiver: an OBLazyListMorph(969408512)
> >>> Arguments and temporary variables:
> >>> aCanvas: a FormCanvas on:
> DisplayScreen(2552x1374x32)
> >>> Receiver's instance variables:
> >>> bounds: 0@0 corner: 190@42
> >>> owner: a TransformMorph(743702528)
> >>> submorphs: #()
> >>> fullBounds: 0@0 corner: 190@42
> >>> color: Color black
> >>> extension: a MorphExtension (970981376) [other:
> (errorOnDraw -> true)]
> >>> listItems: #(#callbackUrlOn:callback:
> #renderContentOn: nil)
> >>> font: a StrikeFont(Bitmap DejaVu Sans 9 14)
> >>> selectedRow: 0
> >>> selectedRows: a PluggableSet()
> >>> listSource: an OBPluggableListMorph(155189248)
> >>> maxWidth: 136
> >>>
> >>> FormCanvas(Canvas)>>fullDraw:
> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
> >>> Arguments and temporary variables:
> >>> anObject: an OBLazyListMorph(969408512)
> >>> Receiver's instance variables:
> >>> target: nil
> >>> filterSelector: nil
> >>> origin: 2367@187
> >>> clipRect: 2364@187 corner: 2534@400
> >>> form: DisplayScreen(2552x1374x32)
> >>> port: a GrafPort
> >>> shadowColor: nil
> >>>
> >>> FormCanvas(Canvas)>>fullDrawMorph:
> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
> >>> Arguments and temporary variables:
> >>> aMorph: an OBLazyListMorph(969408512)
> >>> Receiver's instance variables:
> >>> target: nil
> >>> filterSelector: nil
> >>> origin: 2367@187
> >>> clipRect: 2364@187 corner: 2534@400
> >>> form: DisplayScreen(2552x1374x32)
> >>> port: a GrafPort
> >>> shadowColor: nil
> >>>
> >>> [] in [] in TransformMorph>>drawSubmorphsOn:
> >>> Receiver: a TransformMorph(743702528)
> >>> Arguments and temporary variables:
> >>> myCanvas: an OBLazyListMorph(969408512)
> >>> m: a FormCanvas on: DisplayScreen(2552x1374x32)
> >>> Receiver's instance variables:
> >>> bounds: 520@0 corner: 690@213
> >>> owner: an OBPluggableListMorph(155189248)
> >>> submorphs: an Array(an OBLazyListMorph(969408512))
> >>> fullBounds: 520@0 corner: 690@213
> >>> color: Color transparent
> >>> extension: a MorphExtension (745537536)
> >>> transform: a MorphicTransform(angle = 0.0; scale =
> 1.0; offset = -523@0)
> >>> smoothing: 1
> >>> localBounds: nil
> >>>
> >>> Array(SequenceableCollection)>>reverseDo:
> >>> Receiver: an Array(an OBLazyListMorph(969408512))
> >>> Arguments and temporary variables:
> >>> aBlock: [:m | myCanvas fullDrawMorph: m]
> >>> index: 1
> >>> Receiver's instance variables:
> >>> an Array(an OBLazyListMorph(969408512))
> >>>
> >>> [] in TransformMorph>>drawSubmorphsOn:
> >>> Receiver: a TransformMorph(743702528)
> >>> Arguments and temporary variables:
> >>> myCanvas: a FormCanvas on:
> DisplayScreen(2552x1374x32)
> >>> Receiver's instance variables:
> >>> bounds: 520@0 corner: 690@213
> >>> owner: an OBPluggableListMorph(155189248)
> >>> submorphs: an Array(an OBLazyListMorph(969408512))
> >>> fullBounds: 520@0 corner: 690@213
> >>> color: Color transparent
> >>> extension: a MorphExtension (745537536)
> >>> transform: a MorphicTransform(angle = 0.0; scale =
> 1.0; offset = -523@0)
> >>> smoothing: 1
> >>> localBounds: nil
> >>>
> >>> FormCanvas>>transformBy:clippingTo:during:smoothing:
> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
> >>> Arguments and temporary variables:
> >>> aDisplayTransform: a MorphicTransform(angle = 0.0;
> scale = 1.0; offset = -523@0...etc...
> >>> aClipRect: 520@0 corner: 690@213
> >>> aBlock: [:myCanvas | (self angle ~= 0.0
> >>> or: [self scale ~= 1.0])
> >>> ifTrue: [...etc...
> >>> cellSize: 1
> >>> innerRect: nil
> >>> patchRect: nil
> >>> sourceQuad: nil
> >>> warp: nil
> >>> start: nil
> >>> subCanvas: nil
> >>> rule: nil
> >>> i: nil
> >>> Receiver's instance variables:
> >>> target: nil
> >>> filterSelector: nil
> >>> origin: 1844@187
> >>> clipRect: 2364@187 corner: 2534@400
> >>> form: DisplayScreen(2552x1374x32)
> >>> port: a GrafPort
> >>> shadowColor: nil
> >>>
> >>> TransformMorph>>drawSubmorphsOn:
> >>> Receiver: a TransformMorph(743702528)
> >>> Arguments and temporary variables:
> >>> aCanvas: a FormCanvas on:
> DisplayScreen(2552x1374x32)
> >>> Receiver's instance variables:
> >>> bounds: 520@0 corner: 690@213
> >>> owner: an OBPluggableListMorph(155189248)
> >>> submorphs: an Array(an OBLazyListMorph(969408512))
> >>> fullBounds: 520@0 corner: 690@213
> >>> color: Color transparent
> >>> extension: a MorphExtension (745537536)
> >>> transform: a MorphicTransform(angle = 0.0; scale =
> 1.0; offset = -523@0)
> >>> smoothing: 1
> >>> localBounds: nil
> >>>
> >>> [] in TransformMorph(Morph)>>fullDrawOn:
> >>> Receiver: a TransformMorph(743702528)
> >>> Arguments and temporary variables:
> >>> aCanvas: a FormCanvas on:
> DisplayScreen(2552x1374x32)
> >>> Receiver's instance variables:
> >>> bounds: 520@0 corner: 690@213
> >>> owner: an OBPluggableListMorph(155189248)
> >>> submorphs: an Array(an OBLazyListMorph(969408512))
> >>> fullBounds: 520@0 corner: 690@213
> >>> color: Color transparent
> >>> extension: a MorphExtension (745537536)
> >>> transform: a MorphicTransform(angle = 0.0; scale =
> 1.0; offset = -523@0)
> >>> smoothing: 1
> >>> localBounds: nil
> >>>
> >>> FormCanvas>>roundCornersOf:in:during:
> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
> >>> Arguments and temporary variables:
> >>> aMorph: a TransformMorph(743702528)
> >>> bounds: 520@0 corner: 690@213
> >>> aBlock: [(aCanvas isVisible: self bounds)
> >>> ifTrue: [aCanvas drawMorph: self].
> >>> ...etc...
> >>> Receiver's instance variables:
> >>> target: nil
> >>> filterSelector: nil
> >>> origin: 1844@187
> >>> clipRect: 2364@187 corner: 2534@400
> >>> form: DisplayScreen(2552x1374x32)
> >>> port: a GrafPort
> >>> shadowColor: nil
> >>>
> >>> FormCanvas(Canvas)>>roundCornersOf:during:
> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
> >>> Arguments and temporary variables:
> >>> aMorph: a TransformMorph(743702528)
> >>> aBlock: [(aCanvas isVisible: self bounds)
> >>> ifTrue: [aCanvas drawMorph: self].
> >>> ...etc...
> >>> Receiver's instance variables:
> >>> target: nil
> >>> filterSelector: nil
> >>> origin: 1844@187
> >>> clipRect: 2364@187 corner: 2534@400
> >>> form: DisplayScreen(2552x1374x32)
> >>> port: a GrafPort
> >>> shadowColor: nil
> >>>
> >>> TransformMorph(Morph)>>fullDrawOn:
> >>> Receiver: a TransformMorph(743702528)
> >>> Arguments and temporary variables:
> >>> aCanvas: a FormCanvas on:
> DisplayScreen(2552x1374x32)
> >>> Receiver's instance variables:
> >>> bounds: 520@0 corner: 690@213
> >>> owner: an OBPluggableListMorph(155189248)
> >>> submorphs: an Array(an OBLazyListMorph(969408512))
> >>> fullBounds: 520@0 corner: 690@213
> >>> color: Color transparent
> >>> extension: a MorphExtension (745537536)
> >>> transform: a MorphicTransform(angle = 0.0; scale =
> 1.0; offset = -523@0)
> >>> smoothing: 1
> >>> localBounds: nil
> >>>
> >>> FormCanvas(Canvas)>>fullDraw:
> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
> >>> Arguments and temporary variables:
> >>> anObject: a TransformMorph(743702528)
> >>> Receiver's instance variables:
> >>> target: nil
> >>> filterSelector: nil
> >>> origin: 1844@187
> >>> clipRect: 2364@187 corner: 2534@400
> >>> form: DisplayScreen(2552x1374x32)
> >>> port: a GrafPort
> >>> shadowColor: nil
> >>>
> >>> FormCanvas(Canvas)>>fullDrawMorph:
> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
> >>> Arguments and temporary variables:
> >>> aMorph: a TransformMorph(743702528)
> >>> Receiver's instance variables:
> >>> target: nil
> >>> filterSelector: nil
> >>> origin: 1844@187
> >>> clipRect: 2364@187 corner: 2534@400
> >>> form: DisplayScreen(2552x1374x32)
> >>> port: a GrafPort
> >>> shadowColor: nil
> >>>
> >>> [] in [] in OBPluggableListMorph(Morph)>>drawSubmorphsOn:
> >>> Receiver: an OBPluggableListMorph(155189248)
> >>> Arguments and temporary variables:
> >>> canvas: a TransformMorph(743702528)
> >>> m: a FormCanvas on: DisplayScreen(2552x1374x32)
> >>> Receiver's instance variables:
> >>> bounds: 520@0 corner: 690@213
> >>> owner: an OBPane(127401984)
> >>> submorphs: an Array(a TransformMorph(743702528))
> >>> fullBounds: 520@0 corner: 690@213
> >>> color: Color white
> >>> extension: a MorphExtension (132644864) [other:
> (dragEnabled -> true) (dropEna...etc...
> >>> borderWidth: 0
> >>> borderColor: Color black
> >>> model: an OBColumn()
> >>> slotName: nil
> >>> open: false
> >>> scrollBar: a ScrollBar(161742848)
> >>> scroller: a TransformMorph(743702528)
> >>> retractableScrollBar: false
> >>> scrollBarOnLeft: false
> >>> getMenuSelector: #menu:
> >>> getMenuTitleSelector: nil
> >>> hasFocus: false
> >>> hScrollBar: a ScrollBar(990642176)
> >>> list: nil
> >>> getListSelector: #list
> >>> getListSizeSelector: #listSize
> >>> getListElementSelector: #listAt:
> >>> getIndexSelector: #selection
> >>> setIndexSelector: #selection:
> >>> keystrokeActionSelector: #keystroke:from:
> >>> autoDeselect: false
> >>> lastKeystrokeTime: 0
> >>> lastKeystrokes: ''
> >>> doubleClickSelector: #doubleClick
> >>> handlesBasicKeys: nil
> >>> potentialDropRow: nil
> >>> listMorph: an OBLazyListMorph(969408512)
> >>> hScrollRangeCache: nil
> >>>
> >>> Array(SequenceableCollection)>>reverseDo:
> >>> Receiver: an Array(a TransformMorph(743702528))
> >>> Arguments and temporary variables:
> >>> aBlock: [:m | canvas fullDrawMorph: m]
> >>> index: 1
> >>> Receiver's instance variables:
> >>> an Array(a TransformMorph(743702528))
> >>>
> >>> [] in OBPluggableListMorph(Morph)>>drawSubmorphsOn:
> >>> Receiver: an OBPluggableListMorph(155189248)
> >>> Arguments and temporary variables:
> >>> canvas: a FormCanvas on:
> DisplayScreen(2552x1374x32)
> >>> Receiver's instance variables:
> >>> bounds: 520@0 corner: 690@213
> >>> owner: an OBPane(127401984)
> >>> submorphs: an Array(a TransformMorph(743702528))
> >>> fullBounds: 520@0 corner: 690@213
> >>> color: Color white
> >>> extension: a MorphExtension (132644864) [other:
> (dragEnabled -> true) (dropEna...etc...
> >>> borderWidth: 0
> >>> borderColor: Color black
> >>> model: an OBColumn()
> >>> slotName: nil
> >>> open: false
> >>> scrollBar: a ScrollBar(161742848)
> >>> scroller: a TransformMorph(743702528)
> >>> retractableScrollBar: false
> >>> scrollBarOnLeft: false
> >>> getMenuSelector: #menu:
> >>> getMenuTitleSelector: nil
> >>> hasFocus: false
> >>> hScrollBar: a ScrollBar(990642176)
> >>> list: nil
> >>> getListSelector: #list
> >>> getListSizeSelector: #listSize
> >>> getListElementSelector: #listAt:
> >>> getIndexSelector: #selection
> >>> setIndexSelector: #selection:
> >>> keystrokeActionSelector: #keystroke:from:
> >>> autoDeselect: false
> >>> lastKeystrokeTime: 0
> >>> lastKeystrokes: ''
> >>> doubleClickSelector: #doubleClick
> >>> handlesBasicKeys: nil
> >>> potentialDropRow: nil
> >>> listMorph: an OBLazyListMorph(969408512)
> >>> hScrollRangeCache: nil
> >>>
> >>>
> >>> --- The full stack ---
> >>> LargePositiveInteger(Object)>>error:
> >>> [] in WorldState>>displayWorldSafely:
> >>> BlockClosure>>valueWithPossibleArgs:
> >>> [] in BlockClosure>>ifError:
> >>> BlockClosure>>valueWithPossibleArgs:
> >>> [] in MethodContext(ContextPart)>>handleSignal:
> >>> BlockClosure>>ensure:
> >>> MethodContext(ContextPart)>>handleSignal:
> >>> MessageNotUnderstood(Exception)>>signal
> >>> LargePositiveInteger(Object)>>doesNotUnderstand: #pixelValueForDepth:
> >>> ColorForm>>colormapIfNeededForDepth:
> >>> ColorForm>>colormapIfNeededFor:
> >>> FormCanvas>>image:at:sourceRect:rule:
> >>> FormCanvas(Canvas)>>translucentImage:at:sourceRect:
> >>> FormCanvas(Canvas)>>translucentImage:at:
> >>> OBLazyListMorph>>display:atRow:on:
> >>> OBLazyListMorph(LazyListMorph)>>drawOn:
> >>> FormCanvas(Canvas)>>draw:
> >>> FormCanvas(Canvas)>>drawMorph:
> >>> [] in OBLazyListMorph(Morph)>>fullDrawOn:
> >>> FormCanvas>>roundCornersOf:in:during:
> >>> FormCanvas(Canvas)>>roundCornersOf:during:
> >>> OBLazyListMorph(Morph)>>fullDrawOn:
> >>> FormCanvas(Canvas)>>fullDraw:
> >>> FormCanvas(Canvas)>>fullDrawMorph:
> >>> [] in [] in TransformMorph>>drawSubmorphsOn:
> >>> Array(SequenceableCollection)>>reverseDo:
> >>> [] in TransformMorph>>drawSubmorphsOn:
> >>> FormCanvas>>transformBy:clippingTo:during:smoothing:
> >>> TransformMorph>>drawSubmorphsOn:
> >>> [] in TransformMorph(Morph)>>fullDrawOn:
> >>> FormCanvas>>roundCornersOf:in:during:
> >>> FormCanvas(Canvas)>>roundCornersOf:during:
> >>> TransformMorph(Morph)>>fullDrawOn:
> >>> FormCanvas(Canvas)>>fullDraw:
> >>> FormCanvas(Canvas)>>fullDrawMorph:
> >>> [] in [] in OBPluggableListMorph(Morph)>>drawSubmorphsOn:
> >>> Array(SequenceableCollection)>>reverseDo:
> >>> [] in OBPluggableListMorph(Morph)>>drawSubmorphsOn:
> >>> - - - - - - - - - - - - - - -
> >>> - - - - - - - - - - - - - - - - - -
> >>> OBPluggableListMorph(Morph)>>drawSubmorphsOn:
> >>> OBPluggableListMorph(PluggableListMorph)>>drawSubmorphsOn:
> >>> [] in OBPluggableListMorph(Morph)>>fullDrawOn:
> >>> FormCanvas>>roundCornersOf:in:during:
> >>> FormCanvas(Canvas)>>roundCornersOf:during:
> >>> OBPluggableListMorph(Morph)>>fullDrawOn:
> >>> FormCanvas(Canvas)>>fullDraw:
> >>> FormCanvas(Canvas)>>fullDrawMorph:
> >>> [] in [] in OBPane(Morph)>>drawSubmorphsOn:
> >>> Array(SequenceableCollection)>>reverseDo:
> >>> [] in OBPane(Morph)>>drawSubmorphsOn:
> >>> FormCanvas>>clipBy:during:
> >>> OBPane(Morph)>>drawSubmorphsOn:
> >>> [] in OBPane(Morph)>>fullDrawOn:
> >>> FormCanvas>>roundCornersOf:in:during:
> >>> FormCanvas(Canvas)>>roundCornersOf:during:
> >>> OBPane(Morph)>>fullDrawOn:
> >>> FormCanvas(Canvas)>>fullDraw:
> >>> FormCanvas(Canvas)>>fullDrawMorph:
> >>> [] in [] in TransformMorph>>drawSubmorphsOn:
> >>> Array(SequenceableCollection)>>reverseDo:
> >>> [] in TransformMorph>>drawSubmorphsOn:
> >>> FormCanvas>>transformBy:clippingTo:during:smoothing:
> >>> TransformMorph>>drawSubmorphsOn:
> >>> [] in TransformMorph(Morph)>>fullDrawOn:
> >>> FormCanvas>>roundCornersOf:in:during:
> >>> FormCanvas(Canvas)>>roundCornersOf:during:
> >>> TransformMorph(Morph)>>fullDrawOn:
> >>> FormCanvas(Canvas)>>fullDraw:
> >>> FormCanvas(Canvas)>>fullDrawMorph:
> >>> [] in [] in OBPaneScroller(Morph)>>drawSubmorphsOn:
> >>> Array(SequenceableCollection)>>reverseDo:
> >>> [] in OBPaneScroller(Morph)>>drawSubmorphsOn:
> >>> OBPaneScroller(Morph)>>drawSubmorphsOn:
> >>> [] in OBPaneScroller(Morph)>>fullDrawOn:
> >>> FormCanvas>>roundCornersOf:in:during:
> >>> FormCanvas(Canvas)>>roundCornersOf:during:
> >>> OBPaneScroller(Morph)>>fullDrawOn:
> >>> FormCanvas(Canvas)>>fullDraw:
> >>> FormCanvas(Canvas)>>fullDrawMorph:
> >>> [] in [] in OBGroupingMorph(Morph)>>drawSubmorphsOn:
> >>> Array(SequenceableCollection)>>reverseDo:
> >>> [] in OBGroupingMorph(Morph)>>drawSubmorphsOn:
> >>> OBGroupingMorph(Morph)>>drawSubmorphsOn:
> >>> [] in OBGroupingMorph(Morph)>>fullDrawOn:
> >>> FormCanvas>>roundCornersOf:in:during:
> >>> FormCanvas(Canvas)>>roundCornersOf:during:
> >>> OBGroupingMorph(Morph)>>fullDrawOn:
> >>> FormCanvas(Canvas)>>fullDraw:
> >>> FormCanvas(Canvas)>>fullDrawMorph:
> >>> [] in [] in SystemWindow(Morph)>>drawSubmorphsOn:
> >>> Array(SequenceableCollection)>>reverseDo:
> >>> [] in SystemWindow(Morph)>>drawSubmorphsOn:
> >>> FormCanvas>>clipBy:during:
> >>> SystemWindow(Morph)>>drawSubmorphsOn:
> >>> [] in SystemWindow(Morph)>>fullDrawOn:
> >>> FormCanvas>>roundCornersOf:in:during:
> >>> FormCanvas(Canvas)>>roundCornersOf:during:
> >>> SystemWindow(Morph)>>fullDrawOn:
> >>> FormCanvas(Canvas)>>fullDraw:
> >>> FormCanvas(Canvas)>>fullDrawMorph:
> >>> [] in [] in WorldState>>drawWorld:submorphs:invalidAreasOn:
> >>> Rectangle>>allAreasOutsideList:startingAt:do:
> >>> Rectangle>>allAreasOutsideList:do:
> >>> [] in WorldState>>drawWorld:submorphs:invalidAreasOn:
> >>> Array(SequenceableCollection)>>do:
> >>> WorldState>>drawWorld:submorphs:invalidAreasOn:
> >>> [] in WorldState>>displayWorld:submorphs:
> >>> FormCanvas>>roundCornersOf:in:during:
> >>> FormCanvas(Canvas)>>roundCornersOf:during:
> >>> WorldState>>displayWorld:submorphs:
> >>> PasteUpMorph>>privateOuterDisplayWorld
> >>> PasteUpMorph>>displayWorld
> >>> [] in WorldState>>displayWorldSafely:
> >>> BlockClosure>>on:do:
> >>> BlockClosure>>ifError:
> >>> WorldState>>displayWorldSafely:
> >>> WorldState>>doOneCycleNowFor:
> >>> WorldState>>doOneCycleFor:
> >>> PasteUpMorph>>doOneCycle
> >>> [] in Project class>>spawnNewProcess
> >>> [] in BlockClosure>>newProcess
> >>>
> >>
> >>
> >
> >
> >
>
>
Jan. 12, 2011
Re: [Pharo-project] [update 1.2] #12297
by Sven Van Caekenberghe
On 12 Jan 2011, at 22:12, Igor Stasenko wrote:
> Ubuntu changes its skin every single release.. and i am pretty sure
> that there are
> books, screencasts, screnshots, tutorials, etc for Ubuntu as well.
>
> (btw i think they established really good tradition, because people
> could quickly distinguish one version from another
> by simply taking a glance on the screen)
Good point: new look == new version
The compatibility point is also good.
The OS independence point is also good.
> Get used to live in ever changing world :)
>
>> you, and all Pharo advanced users can easily change the theme, and you
>> probbaly even have a script prepare that you run in each clean image to
>> adapt it to your taste.
>
> UIThemeWatery2 beCurrent.
>
> be my guest :) http://bit.ly/gi7vb7
>
>
>> But I think we should make the life easier for new comers.
>> In addition, it was never discussed in the mailing list such change (at
>> least I didn't see it).
>>
>
> i agree, it is better to discuss broadly before changing.
>
> I like the glamourous theme because it is minimalistic and elegant.
> Still the colors are a bit wrong as to my taste, especially selection
> (light blue).
I made my own subclass overriding 3 color constants to orange.
'Sven-Glamour-Theme' @ SqueakSource project ADayAtTheBeach.
Sven
Jan. 12, 2011
Re: [Pharo-project] [Pharo-users] Updated ConfigurationsOf...scripts?
by Schwab,Wilhelm K
I think the Hudson server should be so brave. We can dump the latest of everything into an image in the hopes that people will test it - probably a good gamble.
Another thing that has forced/will force uniformity (or at least detect lack of it) is the configuration browser. The load-latest command will cause interesting things to happen.
________________________________________
From: pharo-project-bounces(a)lists.gforge.inria.fr [pharo-project-bounces(a)lists.gforge.inria.fr] On Behalf Of Dale Henrichs [dhenrich(a)vmware.com]
Sent: Wednesday, January 12, 2011 5:07 PM
To: Pharo-project(a)lists.gforge.inria.fr
Cc: A friendly place where any question about pharo is welcome
Subject: Re: [Pharo-project] [Pharo-users] Updated ConfigurationsOf...scripts?
Hernán,
It _is_ possible to write some scripts that could automate the checking:
ConfigurationOfXXX project updateProject
loads the latest version of the mcz file for the configuration. Then you
could write a little script like:
| project |
project := ConfigurationOfXXX project.
project updateProject
project currentVersion < project latestVersion
ifTrue: [
self inform: 'A new version of ConfigurationOXXX is available' ].
to simplify the check for new versions a bit more...you could even
automate the load of the newer version if you were brave:)
Dale
On 01/12/2011 01:56 PM, Hernán Morales Durand wrote:
> Yes thanks.
> notice there are 80+ ConfigurationOf... in the MetacelloRepository and
> so many not listed there
>
> 2011/1/12 laurent laffont<laurent.laffont(a)gmail.com>:
>> Isn't what you're looking for ?
>> http://book.pharo-project.org/book/PharoTools/
>> Laurent
>>
>> On Wed, Jan 12, 2011 at 8:44 PM, Hernán Morales Durand
>> <hernan.morales(a)gmail.com> wrote:
>>>
>>> Ok if there are not, I think is a must, I spend a lot of time
>>> searching for the updated scripts or exporting/importing them in my
>>> images. What about creating a wiki page in the google project?
>>>
>>> Hernán
>>>
>>> 2011/1/11 Hernán Morales Durand<hernan.morales(a)gmail.com>:
>>>> Hi,
>>>>
>>>> Is there any page/tool where all the updated ConfigurationOf....
>>>> installing scripts are found?
>>>> Best regards,
>>>>
>>>> --
>>>> Hernán Morales
>>>> Information Technology Manager,
>>>> Institute of Veterinary Genetics.
>>>> National Scientific and Technical Research Council (CONICET).
>>>> La Plata (1900), Buenos Aires, Argentina.
>>>> Telephone: +54 (0221) 421-1799.
>>>> Internal: 422
>>>> Fax: 425-7980 or 421-1799.
>>>>
>>>
>>
>
Jan. 12, 2011
Re: [Pharo-project] [Pharo-users] Updated ConfigurationsOf...scripts?
by Dale Henrichs
Hernán,
It _is_ possible to write some scripts that could automate the checking:
ConfigurationOfXXX project updateProject
loads the latest version of the mcz file for the configuration. Then you
could write a little script like:
| project |
project := ConfigurationOfXXX project.
project updateProject
project currentVersion < project latestVersion
ifTrue: [
self inform: 'A new version of ConfigurationOXXX is available' ].
to simplify the check for new versions a bit more...you could even
automate the load of the newer version if you were brave:)
Dale
On 01/12/2011 01:56 PM, Hernán Morales Durand wrote:
> Yes thanks.
> notice there are 80+ ConfigurationOf... in the MetacelloRepository and
> so many not listed there
>
> 2011/1/12 laurent laffont<laurent.laffont(a)gmail.com>:
>> Isn't what you're looking for ?
>> http://book.pharo-project.org/book/PharoTools/
>> Laurent
>>
>> On Wed, Jan 12, 2011 at 8:44 PM, Hernán Morales Durand
>> <hernan.morales(a)gmail.com> wrote:
>>>
>>> Ok if there are not, I think is a must, I spend a lot of time
>>> searching for the updated scripts or exporting/importing them in my
>>> images. What about creating a wiki page in the google project?
>>>
>>> Hernán
>>>
>>> 2011/1/11 Hernán Morales Durand<hernan.morales(a)gmail.com>:
>>>> Hi,
>>>>
>>>> Is there any page/tool where all the updated ConfigurationOf....
>>>> installing scripts are found?
>>>> Best regards,
>>>>
>>>> --
>>>> Hernán Morales
>>>> Information Technology Manager,
>>>> Institute of Veterinary Genetics.
>>>> National Scientific and Technical Research Council (CONICET).
>>>> La Plata (1900), Buenos Aires, Argentina.
>>>> Telephone: +54 (0221) 421-1799.
>>>> Internal: 422
>>>> Fax: 425-7980 or 421-1799.
>>>>
>>>
>>
>
Jan. 12, 2011
Re: [Pharo-project] [Pharo-users] Updated ConfigurationsOf...scripts?
by Hernán Morales Durand
Yes thanks.
notice there are 80+ ConfigurationOf... in the MetacelloRepository and
so many not listed there
2011/1/12 laurent laffont <laurent.laffont(a)gmail.com>:
> Isn't what you're looking for ?
> http://book.pharo-project.org/book/PharoTools/
> Laurent
>
> On Wed, Jan 12, 2011 at 8:44 PM, Hernán Morales Durand
> <hernan.morales(a)gmail.com> wrote:
>>
>> Ok if there are not, I think is a must, I spend a lot of time
>> searching for the updated scripts or exporting/importing them in my
>> images. What about creating a wiki page in the google project?
>>
>> Hernán
>>
>> 2011/1/11 Hernán Morales Durand <hernan.morales(a)gmail.com>:
>> > Hi,
>> >
>> > Is there any page/tool where all the updated ConfigurationOf....
>> > installing scripts are found?
>> > Best regards,
>> >
>> > --
>> > Hernán Morales
>> > Information Technology Manager,
>> > Institute of Veterinary Genetics.
>> > National Scientific and Technical Research Council (CONICET).
>> > La Plata (1900), Buenos Aires, Argentina.
>> > Telephone: +54 (0221) 421-1799.
>> > Internal: 422
>> > Fax: 425-7980 or 421-1799.
>> >
>>
>
Jan. 12, 2011