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
- 3 participants
- 144616 messages
[Pharo-project] settings integration
by Alain Plantec
Dear list,
I'm about to integrate some settings in replacement of some preferences,
and I would like to have your opinions about the way.
The new setting package make it possible to completely separate a
setting value
from the setting browser. In fact, the setting browser package should be
removeable
without any modification elsewhere.
As an example, let's consider the #annotationPanes preference.
The only mandatory thing is that there is a class variable or an
instance variable of a singleton
in the package which owns the setting along with corresponding get/set
accessors.
For #annotationPanes, I define the #BrowsersHaveAnnotationPane class
variable in CodeHolder.
In addition, I define CodeHolder class>>browsersHaveAnnotationPane and
CodeHolder class>>browsersHaveAnnotationPane:.
In order to be able to manage this setting from the setting browser, we
have to define a setting declaration for it.
Because the setting browser must be removeable, I would create a new
package for it.
Let's Tools-Base-Settings be this new package which then includes the
CodeHolderSettings class with the following declaration:
CodeHolderSettings class>>browsersHaveAnnotationPaneSetting
<setting>
^ (SettingManager newSetting: 'Show annotation pane' translated)
parent: #codeBrowsingSettingNode;
default: false;
target: CodeHolder;
setSelector: #browsersHaveAnnotationPane:;
getSelector: #browsersHaveAnnotationPane;
description: 'If checked then the annotation pane is shown
in browsers; it is dynamically updated with useful informations about
the code which is currently browsed' translated
Is it ok like that ?
Thanks
Alain
Nov. 22, 2009
Re: [Pharo-project] O2PackageBrowser broken in Pharo 10495
by Damien Cassou
On Sat, Nov 21, 2009 at 9:32 PM, Adrian Lienhard <adi(a)netstyle.ch> wrote:
> David has already fixed some issues a week ago (I know he fixed #1476). But
> there is no new build available yet. Until these new images are available,
> I've reverted the links on the download page to the previous versions, which
> do not have the issue of the O2 package browser.
I will create a new release.
--
Damien Cassou
http://damiencassou.seasidehosting.st
"Lambdas are relegated to relative obscurity until Java makes them
popular by not having them." James Iry
Nov. 22, 2009
Re: [Pharo-project] Safe and Quit can be dangerous
by Schwab,Wilhelm K
Lukas,
Glad to hear your code is safe. I am aware of the recover lost changes feature, and have been helped by it once or twice, but I find it cumbersome compared to Ian's Chunk Browser; he did a wonderful job with it, and archives of the Dolphin groups are full of testimonials.
Bill
-----Original Message-----
From: pharo-project-bounces(a)lists.gforge.inria.fr [mailto:pharo-project-bounces@lists.gforge.inria.fr] On Behalf Of Lukas Renggli
Sent: Sunday, November 22, 2009 11:33 AM
To: Pharo-project(a)lists.gforge.inria.fr
Subject: Re: [Pharo-project] Safe and Quit can be dangerous
2009/11/22 Adrian Lienhard <adi(a)netstyle.ch>:
> This seems related to
>
> http://code.google.com/p/pharo/issues/detail?id=889
>
> which was only integrated in 1.1. I don't understand why we didn't put
> this in 1.0 too.
Indeed, that looks related.
@Bill: Thanks for sharing the ideas. There is a browser (Tools > Recover Lost Changes) where you can see restore most changes. Luckily I just committed everything to Monticello, so this is no big deal. I will just have to build a new image the next time I continue ...
Lukas
--
Lukas Renggli
http://www.lukas-renggli.ch
_______________________________________________
Pharo-project mailing list
Pharo-project(a)lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Nov. 22, 2009
Re: [Pharo-project] (no subject)
by Schwab,Wilhelm K
Lucas,
I do not expect magic, but I do expect it to work, and failing that, candor re limitations. IMHO, the real problem has been a sort of XP snobbery: it appears that those building or integrating what would otherwise be a wonderful tool, have zero interest in preserving comments, and even some contempt for those of who write them. It is far easier to impugn those suggesting improvements than to make it work or to inetegrate fixes. I will spare you second-hand comments about what has been done in other languages and editors, as I have never encountered an RB anywhere but Smalltalk.
I am perfectly happy using the RB only for things where it does not reformat. If it turns out that #promptOnRefactoring meets my needs and/or if format-preservation works, I will extend my use accordingly.
Thanks for working on it.
Bill
-----Original Message-----
From: pharo-project-bounces(a)lists.gforge.inria.fr [mailto:pharo-project-bounces@lists.gforge.inria.fr] On Behalf Of Lukas Renggli
Sent: Sunday, November 22, 2009 10:55 AM
To: Pharo-project(a)lists.gforge.inria.fr
Subject: Re: [Pharo-project] (no subject)
> Interesting news about #promptOnRefactoring. However, you are the first person involved with the RB to ever mention it to me. Â Previously, I was simply told that commenting methods is a waste of time and I would be happier and healthier if I would change my misguided ways.
Don Roberts and John Brant improved the refactoring engine a lot in 2002. I assume that there was some pressure from the VisualWorks and Dolphin folks. Unfortunately Squeak and Pharo people were stuck with the refactoring code from the last century.
>Â Obviously, I take a different view of it, and all the more so having recently ported a lot of aging code to Pharo; comments saved my skin yet again. Â If the RB can be made to respect them, I will eagerly use it.
I think the situation is much better now, but you cannot expect magic.
Lukas
--
Lukas Renggli
http://www.lukas-renggli.ch
_______________________________________________
Pharo-project mailing list
Pharo-project(a)lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Nov. 22, 2009
Re: [Pharo-project] Safe and Quit can be dangerous
by Marcus Denker
On Nov 22, 2009, at 5:33 PM, Lukas Renggli wrote:
> 2009/11/22 Adrian Lienhard <adi(a)netstyle.ch>:
>> This seems related to
>>
>> http://code.google.com/p/pharo/issues/detail?id=889
>>
>> which was only integrated in 1.1. I don't understand why we didn't put
>> this in 1.0 too.
>
> Indeed, that looks related.
>
I tagged it 1.0 and unclosed it.
Marcus
Nov. 22, 2009
Re: [Pharo-project] Safe and Quit can be dangerous
by Lukas Renggli
2009/11/22 Adrian Lienhard <adi(a)netstyle.ch>:
> This seems related to
>
> http://code.google.com/p/pharo/issues/detail?id=889
>
> which was only integrated in 1.1. I don't understand why we didn't put
> this in 1.0 too.
Indeed, that looks related.
@Bill: Thanks for sharing the ideas. There is a browser (Tools >
Recover Lost Changes) where you can see restore most changes. Luckily
I just committed everything to Monticello, so this is no big deal. I
will just have to build a new image the next time I continue ...
Lukas
--
Lukas Renggli
http://www.lukas-renggli.ch
Nov. 22, 2009
Re: [Pharo-project] Safe and Quit can be dangerous
by Adrian Lienhard
This seems related to
http://code.google.com/p/pharo/issues/detail?id=889
which was only integrated in 1.1. I don't understand why we didn't put
this in 1.0 too.
Adrian
On Nov 22, 2009, at 17:02 , Lukas Renggli wrote:
> I clicked on 'safe and quit' in the latest Pharo 1.0rc1 image. Just
> before the window closed I saw a debugger popping up and now my image
> is broken. The VM crashes shortly after being able to interact with
> it. This is not the first time that happened to me.
>
> Below the stack trace of the debugger.
>
> Cheers,
> Lukas
>
> MessageNotUnderstood: receiver of "isEmpty" is nil
> 22 November 2009 1:24:56 pm
>
> VM: Mac OS - intel - 1062 - Squeak3.8.1 of '28 Aug 2006' [latest
> update: #6747] Squeak VM 4.1.1b2
> Image: Pharo1.0rc1 [Latest update: #10492]
>
> SecurityManager state:
> Restricted: false
> FileAccess: true
> SocketAccess: true
> Working Dir /Users/renggli/University/pharo/PetitParser
> Trusted Dir /foobar/tooBar/forSqueak/bogus
> Untrusted Dir /Users/renggli/Library/Preferences/Squeak/Internet/My
> Squeak
>
> UndefinedObject(Object)>>doesNotUnderstand: #isEmpty
> Receiver: nil
> Arguments and temporary variables:
> aMessage: isEmpty
> exception: MessageNotUnderstood: receiver of "isEmpty" is nil
> resumeValue: nil
> Receiver's instance variables:
> nil
>
> MouseOverHandler>>processMouseOver:
> Receiver: a MouseOverHandler
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> mouseOverMorphs: an Array(a PluggableStandardWindow(1005) a
> PasteUpMorph(1622) ...etc...
> enteredMorphs: nil
> overMorphs: nil
> leftMorphs: nil
>
> HandMorph>>processEvents
> Receiver: a HandMorph(3216)
> Arguments and temporary variables:
> evt: nil
> evtBuf: nil
> type: nil
> hadAny: nil
> Receiver's instance variables:
> bounds: 120@108 corner: 136@124
> owner: a PasteUpMorph(1622) [world]
> submorphs: #()
> fullBounds: 120@108 corner: 136@124
> color: Color blue
> extension: a MorphExtension (539) [eventHandler = an EventHandler]
> mouseFocus: nil
> keyboardFocus: a PluggableButtonMorph(2190)
> eventListeners: nil
> mouseListeners: nil
> keyboardListeners: nil
> mouseClickState: nil
> mouseOverHandler: a MouseOverHandler
> lastMouseEvent: [120@108 mouseUp 2857590 nil]
> targetOffset: 29@11
> damageRecorder: a DamageRecorder
> cacheCanvas: nil
> cachedCanvasHasHoles: true
> temporaryCursor: nil
> temporaryCursorOffset: nil
> hardwareCursor: nil
> hasChanged: true
> savedPatch: nil
> userInitials: ''
> lastEventBuffer: #(1 2857590 120 108 0 0 0 1)
> lastKeyScanCode: 35
> combinedChar: nil
>
> [] in WorldState>>doOneCycleNowFor:
> Receiver: a WorldState
> Arguments and temporary variables:
> h: a HandMorph(3216)
> Receiver's instance variables:
> hands: an Array(a HandMorph(3216))
> viewBox: 0@0 corner: 1314@916
> canvas: a FormCanvas on: DisplayScreen(1314x916x32)
> damageRecorder: a DamageRecorder
> stepList: a Heap(StepMessage(#stepAt: -> a PreDebugWindow(1012))(a
> PreDebugWind...etc...
> lastStepTime: 2857650
> lastStepMessage: nil
> lastCycleTime: 2857677
> commandHistory: a CommandHistory
> alarms: a Heap()
> lastAlarmTime: 2857650
>
> Array(SequenceableCollection)>>do:
> Receiver: an Array(a HandMorph(3216))
> Arguments and temporary variables:
> aBlock: [closure] in WorldState>>doOneCycleNowFor:
> index: 1
> indexLimiT: 1
> Receiver's instance variables:
> an Array(a HandMorph(3216))
>
> WorldState>>handsDo:
> Receiver: a WorldState
> Arguments and temporary variables:
> aBlock: [closure] in WorldState>>doOneCycleNowFor:
> Receiver's instance variables:
> hands: an Array(a HandMorph(3216))
> viewBox: 0@0 corner: 1314@916
> canvas: a FormCanvas on: DisplayScreen(1314x916x32)
> damageRecorder: a DamageRecorder
> stepList: a Heap(StepMessage(#stepAt: -> a PreDebugWindow(1012))(a
> PreDebugWind...etc...
> lastStepTime: 2857650
> lastStepMessage: nil
> lastCycleTime: 2857677
> commandHistory: a CommandHistory
> alarms: a Heap()
> lastAlarmTime: 2857650
>
> WorldState>>doOneCycleNowFor:
> Receiver: a WorldState
> Arguments and temporary variables:
> aWorld: a PasteUpMorph(1622) [world]
> Receiver's instance variables:
> hands: an Array(a HandMorph(3216))
> viewBox: 0@0 corner: 1314@916
> canvas: a FormCanvas on: DisplayScreen(1314x916x32)
> damageRecorder: a DamageRecorder
> stepList: a Heap(StepMessage(#stepAt: -> a PreDebugWindow(1012))(a
> PreDebugWind...etc...
> lastStepTime: 2857650
> lastStepMessage: nil
> lastCycleTime: 2857677
> commandHistory: a CommandHistory
> alarms: a Heap()
> lastAlarmTime: 2857650
>
> WorldState>>doOneCycleFor:
> Receiver: a WorldState
> Arguments and temporary variables:
> aWorld: a PasteUpMorph(1622) [world]
> Receiver's instance variables:
> hands: an Array(a HandMorph(3216))
> viewBox: 0@0 corner: 1314@916
> canvas: a FormCanvas on: DisplayScreen(1314x916x32)
> damageRecorder: a DamageRecorder
> stepList: a Heap(StepMessage(#stepAt: -> a PreDebugWindow(1012))(a
> PreDebugWind...etc...
> lastStepTime: 2857650
> lastStepMessage: nil
> lastCycleTime: 2857677
> commandHistory: a CommandHistory
> alarms: a Heap()
> lastAlarmTime: 2857650
>
> PasteUpMorph>>doOneCycle
> Receiver: a PasteUpMorph(1622) [world]
> Arguments and temporary variables:
>
> Receiver's instance variables:
> bounds: 0@0 corner: 1314@916
> owner: nil
> submorphs: an Array(a TaskbarMorph(3095) a PreDebugWindow(1012) a
> SystemWindow(...etc...
> fullBounds: nil
> color: (Color r: 0.97 g: 0.98 b: 1.0)
> extension: a MorphExtension (2543) [eventHandler = an EventHandler]
> [other: (...etc...
> borderWidth: 0
> borderColor: (Color r: 0.03 g: 0.02 b: 0.0)
> presenter: a Presenter (1246)
> model: a MorphicModel(1926)
> cursor: 1
> padding: 3
> backgroundMorph: nil
> isPartsBin: nil
> autoLineLayout: false
> indicateCursor: nil
> resizeToFit: nil
> wantsMouseOverHalos: nil
> worldState: a WorldState
> griddingOn: nil
>
> [] in Project class>>spawnNewProcess
> Receiver: Project
> Arguments and temporary variables:
>
> Receiver's instance variables:
> superclass: Model
> methodDict: a MethodDictionary(size 167)
> format: 172
> instanceVariables: #('world' 'changeSet' 'transcript'
> 'parentProject' 'previous...etc...
> organization: ('*Polymorph-Widgets'
> assureTaskbarPresenceMatchesPreference crea...etc...
> subclasses: nil
> name: #Project
> classPool: a Dictionary(#AllProjects->an OrderedCollection(a
> Project(Unnamed)) ...etc...
> sharedPools: nil
> environment: Smalltalk
> category: #'System-Support'
> traitComposition: {}
> localSelectors: nil
>
> [] in BlockClosure>>newProcess
> Receiver: [closure] in Project class>>spawnNewProcess
> Arguments and temporary variables:
>
> Receiver's instance variables:
> outerContext: Project class>>spawnNewProcess
> startpc: 53
> numArgs: 0
>
>
> --- The full stack ---
> UndefinedObject(Object)>>doesNotUnderstand: #isEmpty
> MouseOverHandler>>processMouseOver:
> HandMorph>>processEvents
> [] in WorldState>>doOneCycleNowFor:
> Array(SequenceableCollection)>>do:
> WorldState>>handsDo:
> WorldState>>doOneCycleNowFor:
> WorldState>>doOneCycleFor:
> PasteUpMorph>>doOneCycle
> [] in Project class>>spawnNewProcess
> [] in BlockClosure>>newProcess
> ------------------------------------------------------------
>
> --
> Lukas Renggli
> http://www.lukas-renggli.ch
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Nov. 22, 2009
Re: [Pharo-project] Safe and Quit can be dangerous
by Schwab,Wilhelm K
Lukas,
I wish you good luck in recovering your work; hopefully the change log will allow you to avoid losses. Perhaps a toolsmith among us can take a look at Ian Bartholomew's Chunk Browser for Dolphin and do something similar on Pharo; it is a very helpful tool. Another one I would like to see is Ghoul, which provides a debugger-like view of Dolphin's crash logs.
Not at all to say "I told you so," I have been arguing against save+quit for years, precissely because I was shafted by it in the past. That was on Smalltalk/V, but I have been skiddish about it ever since. If something bad happens post-save, you have no chance to fix it. In your case, the image might have melted down anyway, so good backups and recovery tools are a must.
Bill
-----Original Message-----
From: pharo-project-bounces(a)lists.gforge.inria.fr [mailto:pharo-project-bounces@lists.gforge.inria.fr] On Behalf Of Lukas Renggli
Sent: Sunday, November 22, 2009 11:02 AM
To: Pharo Development
Subject: [Pharo-project] Safe and Quit can be dangerous
I clicked on 'safe and quit' in the latest Pharo 1.0rc1 image. Just before the window closed I saw a debugger popping up and now my image is broken. The VM crashes shortly after being able to interact with it. This is not the first time that happened to me.
Below the stack trace of the debugger.
Cheers,
Lukas
MessageNotUnderstood: receiver of "isEmpty" is nil
22 November 2009 1:24:56 pm
VM: Mac OS - intel - 1062 - Squeak3.8.1 of '28 Aug 2006' [latest
update: #6747] Squeak VM 4.1.1b2
Image: Pharo1.0rc1 [Latest update: #10492]
SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir /Users/renggli/University/pharo/PetitParser
Trusted Dir /foobar/tooBar/forSqueak/bogus Untrusted Dir /Users/renggli/Library/Preferences/Squeak/Internet/My Squeak
UndefinedObject(Object)>>doesNotUnderstand: #isEmpty
Receiver: nil
Arguments and temporary variables:
aMessage: isEmpty
exception: MessageNotUnderstood: receiver of "isEmpty" is nil
resumeValue: nil
Receiver's instance variables:
nil
MouseOverHandler>>processMouseOver:
Receiver: a MouseOverHandler
Arguments and temporary variables:
<<error during printing>
Receiver's instance variables:
mouseOverMorphs: an Array(a PluggableStandardWindow(1005) a
PasteUpMorph(1622) ...etc...
enteredMorphs: nil
overMorphs: nil
leftMorphs: nil
HandMorph>>processEvents
Receiver: a HandMorph(3216)
Arguments and temporary variables:
evt: nil
evtBuf: nil
type: nil
hadAny: nil
Receiver's instance variables:
bounds: 120@108 corner: 136@124
owner: a PasteUpMorph(1622) [world]
submorphs: #()
fullBounds: 120@108 corner: 136@124
color: Color blue
extension: a MorphExtension (539) [eventHandler = an EventHandler]
mouseFocus: nil
keyboardFocus: a PluggableButtonMorph(2190)
eventListeners: nil
mouseListeners: nil
keyboardListeners: nil
mouseClickState: nil
mouseOverHandler: a MouseOverHandler
lastMouseEvent: [120@108 mouseUp 2857590 nil]
targetOffset: 29@11
damageRecorder: a DamageRecorder
cacheCanvas: nil
cachedCanvasHasHoles: true
temporaryCursor: nil
temporaryCursorOffset: nil
hardwareCursor: nil
hasChanged: true
savedPatch: nil
userInitials: ''
lastEventBuffer: #(1 2857590 120 108 0 0 0 1)
lastKeyScanCode: 35
combinedChar: nil
[] in WorldState>>doOneCycleNowFor:
Receiver: a WorldState
Arguments and temporary variables:
h: a HandMorph(3216)
Receiver's instance variables:
hands: an Array(a HandMorph(3216))
viewBox: 0@0 corner: 1314@916
canvas: a FormCanvas on: DisplayScreen(1314x916x32)
damageRecorder: a DamageRecorder
stepList: a Heap(StepMessage(#stepAt: -> a PreDebugWindow(1012))(a
PreDebugWind...etc...
lastStepTime: 2857650
lastStepMessage: nil
lastCycleTime: 2857677
commandHistory: a CommandHistory
alarms: a Heap()
lastAlarmTime: 2857650
Array(SequenceableCollection)>>do:
Receiver: an Array(a HandMorph(3216))
Arguments and temporary variables:
aBlock: [closure] in WorldState>>doOneCycleNowFor:
index: 1
indexLimiT: 1
Receiver's instance variables:
an Array(a HandMorph(3216))
WorldState>>handsDo:
Receiver: a WorldState
Arguments and temporary variables:
aBlock: [closure] in WorldState>>doOneCycleNowFor:
Receiver's instance variables:
hands: an Array(a HandMorph(3216))
viewBox: 0@0 corner: 1314@916
canvas: a FormCanvas on: DisplayScreen(1314x916x32)
damageRecorder: a DamageRecorder
stepList: a Heap(StepMessage(#stepAt: -> a PreDebugWindow(1012))(a
PreDebugWind...etc...
lastStepTime: 2857650
lastStepMessage: nil
lastCycleTime: 2857677
commandHistory: a CommandHistory
alarms: a Heap()
lastAlarmTime: 2857650
WorldState>>doOneCycleNowFor:
Receiver: a WorldState
Arguments and temporary variables:
aWorld: a PasteUpMorph(1622) [world]
Receiver's instance variables:
hands: an Array(a HandMorph(3216))
viewBox: 0@0 corner: 1314@916
canvas: a FormCanvas on: DisplayScreen(1314x916x32)
damageRecorder: a DamageRecorder
stepList: a Heap(StepMessage(#stepAt: -> a PreDebugWindow(1012))(a
PreDebugWind...etc...
lastStepTime: 2857650
lastStepMessage: nil
lastCycleTime: 2857677
commandHistory: a CommandHistory
alarms: a Heap()
lastAlarmTime: 2857650
WorldState>>doOneCycleFor:
Receiver: a WorldState
Arguments and temporary variables:
aWorld: a PasteUpMorph(1622) [world]
Receiver's instance variables:
hands: an Array(a HandMorph(3216))
viewBox: 0@0 corner: 1314@916
canvas: a FormCanvas on: DisplayScreen(1314x916x32)
damageRecorder: a DamageRecorder
stepList: a Heap(StepMessage(#stepAt: -> a PreDebugWindow(1012))(a
PreDebugWind...etc...
lastStepTime: 2857650
lastStepMessage: nil
lastCycleTime: 2857677
commandHistory: a CommandHistory
alarms: a Heap()
lastAlarmTime: 2857650
PasteUpMorph>>doOneCycle
Receiver: a PasteUpMorph(1622) [world]
Arguments and temporary variables:
Receiver's instance variables:
bounds: 0@0 corner: 1314@916
owner: nil
submorphs: an Array(a TaskbarMorph(3095) a PreDebugWindow(1012) a
SystemWindow(...etc...
fullBounds: nil
color: (Color r: 0.97 g: 0.98 b: 1.0)
extension: a MorphExtension (2543) [eventHandler = an EventHandler]
[other: (...etc...
borderWidth: 0
borderColor: (Color r: 0.03 g: 0.02 b: 0.0)
presenter: a Presenter (1246)
model: a MorphicModel(1926)
cursor: 1
padding: 3
backgroundMorph: nil
isPartsBin: nil
autoLineLayout: false
indicateCursor: nil
resizeToFit: nil
wantsMouseOverHalos: nil
worldState: a WorldState
griddingOn: nil
[] in Project class>>spawnNewProcess
Receiver: Project
Arguments and temporary variables:
Receiver's instance variables:
superclass: Model
methodDict: a MethodDictionary(size 167)
format: 172
instanceVariables: #('world' 'changeSet' 'transcript'
'parentProject' 'previous...etc...
organization: ('*Polymorph-Widgets'
assureTaskbarPresenceMatchesPreference crea...etc...
subclasses: nil
name: #Project
classPool: a Dictionary(#AllProjects->an OrderedCollection(a
Project(Unnamed)) ...etc...
sharedPools: nil
environment: Smalltalk
category: #'System-Support'
traitComposition: {}
localSelectors: nil
[] in BlockClosure>>newProcess
Receiver: [closure] in Project class>>spawnNewProcess
Arguments and temporary variables:
Receiver's instance variables:
outerContext: Project class>>spawnNewProcess
startpc: 53
numArgs: 0
--- The full stack ---
UndefinedObject(Object)>>doesNotUnderstand: #isEmpty
MouseOverHandler>>processMouseOver:
HandMorph>>processEvents
[] in WorldState>>doOneCycleNowFor:
Array(SequenceableCollection)>>do:
WorldState>>handsDo:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
PasteUpMorph>>doOneCycle
[] in Project class>>spawnNewProcess
[] in BlockClosure>>newProcess
------------------------------------------------------------
--
Lukas Renggli
http://www.lukas-renggli.ch
_______________________________________________
Pharo-project mailing list
Pharo-project(a)lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Nov. 22, 2009
[Pharo-project] Safe and Quit can be dangerous
by Lukas Renggli
I clicked on 'safe and quit' in the latest Pharo 1.0rc1 image. Just
before the window closed I saw a debugger popping up and now my image
is broken. The VM crashes shortly after being able to interact with
it. This is not the first time that happened to me.
Below the stack trace of the debugger.
Cheers,
Lukas
MessageNotUnderstood: receiver of "isEmpty" is nil
22 November 2009 1:24:56 pm
VM: Mac OS - intel - 1062 - Squeak3.8.1 of '28 Aug 2006' [latest
update: #6747] Squeak VM 4.1.1b2
Image: Pharo1.0rc1 [Latest update: #10492]
SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir /Users/renggli/University/pharo/PetitParser
Trusted Dir /foobar/tooBar/forSqueak/bogus
Untrusted Dir /Users/renggli/Library/Preferences/Squeak/Internet/My Squeak
UndefinedObject(Object)>>doesNotUnderstand: #isEmpty
Receiver: nil
Arguments and temporary variables:
aMessage: isEmpty
exception: MessageNotUnderstood: receiver of "isEmpty" is nil
resumeValue: nil
Receiver's instance variables:
nil
MouseOverHandler>>processMouseOver:
Receiver: a MouseOverHandler
Arguments and temporary variables:
<<error during printing>
Receiver's instance variables:
mouseOverMorphs: an Array(a PluggableStandardWindow(1005) a
PasteUpMorph(1622) ...etc...
enteredMorphs: nil
overMorphs: nil
leftMorphs: nil
HandMorph>>processEvents
Receiver: a HandMorph(3216)
Arguments and temporary variables:
evt: nil
evtBuf: nil
type: nil
hadAny: nil
Receiver's instance variables:
bounds: 120@108 corner: 136@124
owner: a PasteUpMorph(1622) [world]
submorphs: #()
fullBounds: 120@108 corner: 136@124
color: Color blue
extension: a MorphExtension (539) [eventHandler = an EventHandler]
mouseFocus: nil
keyboardFocus: a PluggableButtonMorph(2190)
eventListeners: nil
mouseListeners: nil
keyboardListeners: nil
mouseClickState: nil
mouseOverHandler: a MouseOverHandler
lastMouseEvent: [120@108 mouseUp 2857590 nil]
targetOffset: 29@11
damageRecorder: a DamageRecorder
cacheCanvas: nil
cachedCanvasHasHoles: true
temporaryCursor: nil
temporaryCursorOffset: nil
hardwareCursor: nil
hasChanged: true
savedPatch: nil
userInitials: ''
lastEventBuffer: #(1 2857590 120 108 0 0 0 1)
lastKeyScanCode: 35
combinedChar: nil
[] in WorldState>>doOneCycleNowFor:
Receiver: a WorldState
Arguments and temporary variables:
h: a HandMorph(3216)
Receiver's instance variables:
hands: an Array(a HandMorph(3216))
viewBox: 0@0 corner: 1314@916
canvas: a FormCanvas on: DisplayScreen(1314x916x32)
damageRecorder: a DamageRecorder
stepList: a Heap(StepMessage(#stepAt: -> a PreDebugWindow(1012))(a
PreDebugWind...etc...
lastStepTime: 2857650
lastStepMessage: nil
lastCycleTime: 2857677
commandHistory: a CommandHistory
alarms: a Heap()
lastAlarmTime: 2857650
Array(SequenceableCollection)>>do:
Receiver: an Array(a HandMorph(3216))
Arguments and temporary variables:
aBlock: [closure] in WorldState>>doOneCycleNowFor:
index: 1
indexLimiT: 1
Receiver's instance variables:
an Array(a HandMorph(3216))
WorldState>>handsDo:
Receiver: a WorldState
Arguments and temporary variables:
aBlock: [closure] in WorldState>>doOneCycleNowFor:
Receiver's instance variables:
hands: an Array(a HandMorph(3216))
viewBox: 0@0 corner: 1314@916
canvas: a FormCanvas on: DisplayScreen(1314x916x32)
damageRecorder: a DamageRecorder
stepList: a Heap(StepMessage(#stepAt: -> a PreDebugWindow(1012))(a
PreDebugWind...etc...
lastStepTime: 2857650
lastStepMessage: nil
lastCycleTime: 2857677
commandHistory: a CommandHistory
alarms: a Heap()
lastAlarmTime: 2857650
WorldState>>doOneCycleNowFor:
Receiver: a WorldState
Arguments and temporary variables:
aWorld: a PasteUpMorph(1622) [world]
Receiver's instance variables:
hands: an Array(a HandMorph(3216))
viewBox: 0@0 corner: 1314@916
canvas: a FormCanvas on: DisplayScreen(1314x916x32)
damageRecorder: a DamageRecorder
stepList: a Heap(StepMessage(#stepAt: -> a PreDebugWindow(1012))(a
PreDebugWind...etc...
lastStepTime: 2857650
lastStepMessage: nil
lastCycleTime: 2857677
commandHistory: a CommandHistory
alarms: a Heap()
lastAlarmTime: 2857650
WorldState>>doOneCycleFor:
Receiver: a WorldState
Arguments and temporary variables:
aWorld: a PasteUpMorph(1622) [world]
Receiver's instance variables:
hands: an Array(a HandMorph(3216))
viewBox: 0@0 corner: 1314@916
canvas: a FormCanvas on: DisplayScreen(1314x916x32)
damageRecorder: a DamageRecorder
stepList: a Heap(StepMessage(#stepAt: -> a PreDebugWindow(1012))(a
PreDebugWind...etc...
lastStepTime: 2857650
lastStepMessage: nil
lastCycleTime: 2857677
commandHistory: a CommandHistory
alarms: a Heap()
lastAlarmTime: 2857650
PasteUpMorph>>doOneCycle
Receiver: a PasteUpMorph(1622) [world]
Arguments and temporary variables:
Receiver's instance variables:
bounds: 0@0 corner: 1314@916
owner: nil
submorphs: an Array(a TaskbarMorph(3095) a PreDebugWindow(1012) a
SystemWindow(...etc...
fullBounds: nil
color: (Color r: 0.97 g: 0.98 b: 1.0)
extension: a MorphExtension (2543) [eventHandler = an EventHandler]
[other: (...etc...
borderWidth: 0
borderColor: (Color r: 0.03 g: 0.02 b: 0.0)
presenter: a Presenter (1246)
model: a MorphicModel(1926)
cursor: 1
padding: 3
backgroundMorph: nil
isPartsBin: nil
autoLineLayout: false
indicateCursor: nil
resizeToFit: nil
wantsMouseOverHalos: nil
worldState: a WorldState
griddingOn: nil
[] in Project class>>spawnNewProcess
Receiver: Project
Arguments and temporary variables:
Receiver's instance variables:
superclass: Model
methodDict: a MethodDictionary(size 167)
format: 172
instanceVariables: #('world' 'changeSet' 'transcript'
'parentProject' 'previous...etc...
organization: ('*Polymorph-Widgets'
assureTaskbarPresenceMatchesPreference crea...etc...
subclasses: nil
name: #Project
classPool: a Dictionary(#AllProjects->an OrderedCollection(a
Project(Unnamed)) ...etc...
sharedPools: nil
environment: Smalltalk
category: #'System-Support'
traitComposition: {}
localSelectors: nil
[] in BlockClosure>>newProcess
Receiver: [closure] in Project class>>spawnNewProcess
Arguments and temporary variables:
Receiver's instance variables:
outerContext: Project class>>spawnNewProcess
startpc: 53
numArgs: 0
--- The full stack ---
UndefinedObject(Object)>>doesNotUnderstand: #isEmpty
MouseOverHandler>>processMouseOver:
HandMorph>>processEvents
[] in WorldState>>doOneCycleNowFor:
Array(SequenceableCollection)>>do:
WorldState>>handsDo:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
PasteUpMorph>>doOneCycle
[] in Project class>>spawnNewProcess
[] in BlockClosure>>newProcess
------------------------------------------------------------
--
Lukas Renggli
http://www.lukas-renggli.ch
Nov. 22, 2009
Re: [Pharo-project] (no subject)
by Lukas Renggli
> Interesting news about #promptOnRefactoring. However, you are the first person involved with the RB to ever mention it to me. Â Previously, I was simply told that commenting methods is a waste of time and I would be happier and healthier if I would change my misguided ways.
Don Roberts and John Brant improved the refactoring engine a lot in
2002. I assume that there was some pressure from the VisualWorks and
Dolphin folks. Unfortunately Squeak and Pharo people were stuck with
the refactoring code from the last century.
>Â Obviously, I take a different view of it, and all the more so having recently ported a lot of aging code to Pharo; comments saved my skin yet again. Â If the RB can be made to respect them, I will eagerly use it.
I think the situation is much better now, but you cannot expect magic.
Lukas
--
Lukas Renggli
http://www.lukas-renggli.ch
Nov. 22, 2009