Chris Muller uploaded a new version of Installer-Core to project The Trunk:
http://source.squeak.org/trunk/Installer-Core-cmm.400.mcz
==================== Summary ====================
Name: Installer-Core-cmm.400
Author: cmm
Time: 25 August 2015, 11:06:20.165 am
UUID: 28706d1b-7c7a-46f9-be11-a9abdf855614
Ancestors: Installer-Core-cmm.399
Original squeaksource.com does not allow dash characters in project id's.
=============== Diff against Installer-Core-cmm.399 ===============
Item was changed:
----- Method: Installer>>maInstaller (in category 'package-definitions') -----
maInstaller
"Select from a family of related packages for application development."
+ ^ { #ss -> 'MaInstaller'.
- ^ { #ss -> 'Ma-Installer'.
'Ma-Installer-Core' }!
On Tue, Aug 25, 2015 at 12:57:27PM +0000, commits(a)source.squeak.org wrote:
> Marcel Taeumel uploaded a new version of Tools to project The Trunk:
> http://source.squeak.org/trunk/Tools-mt.632.mcz
>
> ==================== Summary ====================
>
> Name: Tools-mt.632
> Author: mt
> Time: 25 August 2015, 2:57:23.277 pm
> UUID: 32a964b7-b4b9-8347-b230-278e62d7db33
> Ancestors: Tools-eem.631
>
> Removes the hack for the debugger's notifier window because it is not necessary anymore. Warnings work fine now.
>
Yay! Very nice.
Dave
Marcel Taeumel uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-mt.632.mcz
==================== Summary ====================
Name: Tools-mt.632
Author: mt
Time: 25 August 2015, 2:57:23.277 pm
UUID: 32a964b7-b4b9-8347-b230-278e62d7db33
Ancestors: Tools-eem.631
Removes the hack for the debugger's notifier window because it is not necessary anymore. Warnings work fine now.
=============== Diff against Tools-eem.631 ===============
Item was changed:
----- Method: Debugger>>openNotifierContents:label: (in category 'initialize') -----
openNotifierContents: msgString label: label
"Create, schedule and answer a notifier view with the given label and message. A notifier view shows just the message or the first several lines of the stack, with a menu that allows the user to open a full debugger if so desired."
"NOTE: When this method returns, a new process has been scheduled to run the windows, and thus this notifier, but the previous active process has not been suspended. The sender will do this."
| msg builder spec |
Sensor flushKeyboard.
savedCursor := Cursor currentCursor.
Cursor currentCursor: Cursor normal.
msg := (label beginsWith: 'Space is low')
ifTrue: [self lowSpaceChoices, (msgString ifNil: [String empty])]
ifFalse: [msgString].
builder := ToolBuilder default.
+ spec := self buildNotifierWith: builder label: label message: msg.
- spec := self buildNotifierWith: builder label: label message: (msg ifNil: [label]).
self expandStack.
^[builder openDebugger: spec] ensure:
[errorWasInUIProcess := Project current spawnNewProcessIfThisIsUI: interruptedProcess]
!
Marcel Taeumel uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-mt.759.mcz
==================== Summary ====================
Name: System-mt.759
Author: mt
Time: 25 August 2015, 2:55:00.96 pm
UUID: 4ebb649f-f70f-c042-9719-f1bd01f6245e
Ancestors: System-eem.758
Adds support for unhandled warnings.
=============== Diff against System-eem.758 ===============
Item was changed:
----- Method: UnhandledError>>defaultAction (in category '*System-priv handling') -----
defaultAction
"The current computation is terminated. The cause of the error should be logged or reported to the user. If the program is operating in an interactive debugging environment the computation should be suspended and the debugger activated."
+ ^ToolSet debugError: self exception!
- ^ToolSet debugError: exception.!
Item was added:
+ ----- Method: UnhandledWarning>>defaultAction (in category '*System-priv handling') -----
+ defaultAction
+
+ ^ ToolSet
+ debugContext: self exception signalerContext
+ label: 'Warning'
+ contents: self exception messageText , '\\Select Proceed to continue, or close this window to cancel the operation.' withCRs!
Item was changed:
----- Method: Warning>>defaultAction (in category '*System-exceptionDescription') -----
defaultAction
"Inform the user of a Warning, giving them the choice of ignoring the warning (proceeding), debugging, or terminating the computation."
+ UnhandledWarning signalForException: self!
- UnhandledError signalForException: self!
Marcel Taeumel uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-mt.945.mcz
==================== Summary ====================
Name: Kernel-mt.945
Author: mt
Time: 25 August 2015, 2:54:06.221 pm
UUID: 4f53691a-f79e-4e40-b46d-33a647b642dd
Ancestors: Kernel-eem.944
Adds support for process stepping to watch out for other unhandled things. Adds a class for unhandled warnings.
=============== Diff against Kernel-eem.944 ===============
Item was changed:
----- Method: Process>>stepToHome: (in category 'changing suspended state') -----
stepToHome: aContext
"Resume self until the home of top context is aContext. Top context may be a block context.
Catch any UnhandledErrors that are created while stepping, answering the relevant signalerContext
if so. Note that this will cause weird effects if using through to step through UnhandledError
code, but as the doctor ordered, don't do that; use over or into instead."
^Processor activeProcess
evaluate:
[| home anError |
home := aContext home.
[suspendedContext := suspendedContext step.
home == suspendedContext home or: [home isDead]] whileFalse:
[(suspendedContext selector == #signalForException:
+ and: [(suspendedContext receiver isBehavior and: [
+ suspendedContext receiver includesBehavior: UnhandledError])
- and: [suspendedContext receiver == UnhandledError
and: [anError := suspendedContext tempAt: 1.
((suspendedContext objectClass: anError) includesBehavior: Exception)
and: [anError canSearchForSignalerContext]]]) ifTrue:
[anError signalerContext ifNotNil:
[:unhandledErrorSignalerContext|
[unhandledErrorSignalerContext == suspendedContext] whileFalse:
[self completeStep: suspendedContext].
"Give a debugger a chance to update its title to reflect the new exception"
Notification new
tag: {unhandledErrorSignalerContext. anError};
signal.
^unhandledErrorSignalerContext]]].
suspendedContext]
onBehalfOf: self!
Item was changed:
Exception subclass: #UnhandledError
instanceVariableNames: 'exception'
classVariableNames: ''
poolDictionaries: ''
category: 'Kernel-Exceptions'!
+
+ !UnhandledError commentStamp: 'mt 8/25/2015 14:42' prior: 0!
+ This is a wrapper for an unhandled error. Having this, process stepping is able to correctly fire other unhandled errors. See Process >> #stepToHome: for further explanations.!
Item was changed:
----- Method: UnhandledError class>>signalForException: (in category 'as yet unclassified') -----
signalForException: anError
+ "Very important entry point for analysis stack when stepping in a debugging session. See Process >> #stepToHome: for further explanations."
+
-
^ self new
exception: anError;
signal!
Item was changed:
+ ----- Method: UnhandledError>>exception (in category 'accessing') -----
- ----- Method: UnhandledError>>exception (in category 'as yet unclassified') -----
exception
^ exception!
Item was changed:
+ ----- Method: UnhandledError>>exception: (in category 'accessing') -----
- ----- Method: UnhandledError>>exception: (in category 'as yet unclassified') -----
exception: anError
exception := anError!
Item was added:
+ UnhandledError subclass: #UnhandledWarning
+ instanceVariableNames: ''
+ classVariableNames: ''
+ poolDictionaries: ''
+ category: 'Kernel-Exceptions'!
Marcel Taeumel uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-mt.999.mcz
==================== Summary ====================
Name: Morphic-mt.999
Author: mt
Time: 25 August 2015, 11:51:57.2 am
UUID: 342432f2-3b6b-3a42-8c0e-3f58305354ad
Ancestors: Morphic-mt.998
Fixes a bug with wrong Z order of morphs in system windows. There is no need to update pane order because retractable scroll bars got fixed.
=============== Diff against Morphic-mt.998 ===============
Item was changed:
----- Method: SystemWindow>>addMorph:fullFrame: (in category 'panes') -----
addMorph: aMorph fullFrame: aLayoutFrame
"Add aMorph according to aLayoutFrame."
super addMorph: aMorph fullFrame: aLayoutFrame.
paneMorphs := paneMorphs copyReplaceFrom: 1 to: 0 with: (Array with: aMorph).
+ aMorph isImageMorph ifFalse: [aMorph adoptPaneColor: self paneColor].!
- aMorph isImageMorph ifFalse: [aMorph adoptPaneColor: self paneColor].
- Preferences scrollBarsOnRight ifTrue:"reorder panes so flop-out right-side scrollbar is visible"
- [self addMorphBack: aMorph].!
On my iMac, with the Squeak 5 all-in-one I get a rather annoying issue if I want to
a) save an image other than buried deep in the package bowels; it would be nice if we could provide an option for saving an image outside the current home directory.
b) after saving an image, extracting it + changes to where I wanted it to live, the system reported finding no sources file because it was expecting to find it at ‘directory containing all-in-one package’ and it was buried deep in the package bowels.
That seems to me to be a rather infelicitous combination, especially for a new user; "hell I just saved this image thing and now I can’t find it anywhere!” I imagine we need to add another sources-path option to handle this but maybe there is some mac bundle magic involved too?
tim
--
tim Rowledge; tim(a)rowledge.org; http://www.rowledge.org/tim
Dreams are free, but you get soaked on the connect time.
Marcel Taeumel uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-mt.998.mcz
==================== Summary ====================
Name: Morphic-mt.998
Author: mt
Time: 25 August 2015, 10:47:45.284 am
UUID: 3f59a840-ebfc-984d-9764-b6b3f2702ffb
Ancestors: Morphic-dtl.997
Let the extended form scaling use the basic scaling implementation. The purpose of this method is to always return a form of the given extent with a uniformly scaled form.
=============== Diff against Morphic-dtl.997 ===============
Item was changed:
----- Method: Form>>scaledIntoFormOfSize: (in category '*Morphic') -----
scaledIntoFormOfSize: aNumberOrPoint
+
+ ^ self scaledIntoFormOfSize: aNumberOrPoint smoothing: 8!
- "Scale and center the receiver into a form of a given size"
-
- | extent scale scaledForm result |
-
- extent := aNumberOrPoint asPoint.
- extent = self extent ifTrue: [^ self].
-
- (self height isZero or: [self width isZero])
- ifTrue: [^ Form extent: extent depth: self depth].
-
- scale := extent y / self height min: extent x / self width.
- scaledForm := self
- magnify: self boundingBox
- by: scale
- smoothing: 8.
-
- result := Form extent: extent depth: 32.
- result getCanvas
- translucentImage: scaledForm
- at: extent - scaledForm extent // 2.
-
- ^ result
- !
Item was added:
+ ----- Method: Form>>scaledIntoFormOfSize:smoothing: (in category '*Morphic') -----
+ scaledIntoFormOfSize: aNumberOrPoint smoothing: factor
+ "Scale and center the receiver into a form of a given size"
+
+ | extent scaledForm result |
+
+ extent := aNumberOrPoint asPoint.
+ extent = self extent ifTrue: [^ self copy].
+
+ scaledForm := self scaledToSize: extent smoothing: factor.
+
+ result := self species extent: extent depth: 32.
+ result getCanvas
+ translucentImage: scaledForm
+ at: extent - scaledForm extent // 2.
+
+ ^ result
+ !