Eliot Miranda uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-eem.750.mcz
==================== Summary ====================
Name: System-eem.750
Author: eem
Time: 1 July 2015, 4:20:21.905 pm
UUID: dde31c47-a8ec-451a-a343-5820a048c91c
Ancestors: System-eem.749
Provide a defaultAction for Warning that gives the user the option of debugging, ignoring or terminating when a Warning is raised in normal execution, or allows the Debugger to handle it if a Warning is raised during debugging.
=============== Diff against System-eem.749 ===============
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 compuation. If in the context of a debugger, instead allow the debugger to display
+ the wasrning in context."
+ | inDebugger |
+ inDebugger := [UnhandledError signal]
+ on: UnhandledError
+ do: [:uhe| uhe isNested].
+ inDebugger ifTrue:
+ [^UnhandledError signalForException: self].
+ (UIManager default
+ chooseFrom: #(proceed debug close)
+ values: #(proceed debug close)
+ title: 'Warning: ', self messageText)
+ caseOf: {
+ [#proceed] -> [self resume].
+ [#debug] -> [UnhandledError signalForException: self].
+ [#close] -> [| condemned |
+ condemned := Processor activeProcess.
+ Project current spawnNewProcessIfThisIsUI: condemned.
+ condemned terminate] }!
- "The user should be notified of the occurrence of an exceptional occurrence and given an option of continuing or aborting the computation. The description of the occurrence should include any text specified as the argument of the #signal: message."
- ToolSet
- debugContext: thisContext
- label: 'Warning'
- contents: self messageText, '\\Select Proceed to continue, or close this window to cancel the operation.' withCRs.
- self resume.
- !
Eliot Miranda uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-eem.750.mcz
==================== Summary ====================
Name: System-eem.750
Author: eem
Time: 1 July 2015, 4:20:21.905 pm
UUID: dde31c47-a8ec-451a-a343-5820a048c91c
Ancestors: System-eem.749
Provide a defaultAction for Warning that gives the user the option of debugging, ignoring or terminating when a Warning is raised in normal execution, or allows the Debugger to handle it if a Warning is raised during debugging.
=============== Diff against System-eem.749 ===============
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 compuation. If in the context of a debugger, instead allow the debugger to display
+ the wasrning in context."
+ | inDebugger |
+ inDebugger := [UnhandledError signal]
+ on: UnhandledError
+ do: [:uhe| uhe isNested].
+ inDebugger ifTrue:
+ [^UnhandledError signalForException: self].
+ (UIManager default
+ chooseFrom: #(proceed debug close)
+ values: #(proceed debug close)
+ title: 'Warning: ', self messageText)
+ caseOf: {
+ [#proceed] -> [self resume].
+ [#debug] -> [UnhandledError signalForException: self].
+ [#close] -> [| condemned |
+ condemned := Processor activeProcess.
+ Project current spawnNewProcessIfThisIsUI: condemned.
+ condemned terminate] }!
- "The user should be notified of the occurrence of an exceptional occurrence and given an option of continuing or aborting the computation. The description of the occurrence should include any text specified as the argument of the #signal: message."
- ToolSet
- debugContext: thisContext
- label: 'Warning'
- contents: self messageText, '\\Select Proceed to continue, or close this window to cancel the operation.' withCRs.
- self resume.
- !
Eliot Miranda uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-eem.930.mcz
==================== Summary ====================
Name: Kernel-eem.930
Author: eem
Time: 1 July 2015, 3:25:55.097 pm
UUID: f2ef6b5c-be8c-4bce-ab1b-dff14bb8ab0e
Ancestors: Kernel-eem.929
Fix the bug with the Debugger's through such that the Debugger would appear to freeze when encountering an MNU. The example is Debug It on:
Object flushDependents do: [ : e | ]
followed by Over, Through. But in fact one can see the same issue doing Debug It and then Through on
nil zork
What was happening is that Through was stepping through the uncaught and looping MNUs (of do: or zork in the above examples) since the Debugger did not catch unhandled errors during Through, and sicne doesNotUnderstand:'s default if uncaught is to resend. The fix is merely to catch unhandled errors when doing Through to the same effect as runUntilErrorOrReturnFrom: caching errors for Over.
Also speed up Through. The changes made in Kernel-eem.857 through Kernel-eem.896 to provide process-faithful debugging slowed down Process>>step a lot. These changes restore the performance by using evaluate:onBehalfOf: once for each Through, rather than once for each step within Through.
=============== Diff against Kernel-eem.929 ===============
Item was added:
+ ----- Method: Exception>>canSearchForSignalerContext (in category 'debug support') -----
+ canSearchForSignalerContext
+ "This method is /only/ to support the debugger's catching of exceptions in stepIntoBlock."
+ ^signalContext isContext!
Item was changed:
+ ----- Method: Exception>>signalerContext (in category 'handling') -----
- ----- Method: Exception>>signalerContext (in category 'printing') -----
signalerContext
"Find the first sender of signal(:)"
^ signalContext findContextSuchThat: [:ctxt |
(ctxt receiver == self or: [ctxt receiver == self class]) not]!
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."
- "Resume self until the home of top context is aContext. Top context may be a block context."
+ ^Processor activeProcess
+ evaluate:
+ [| home anError |
+ home := aContext home.
+ [suspendedContext := suspendedContext step.
+ home == suspendedContext home or: [home isDead]] whileFalse:
+ [(suspendedContext selector == #signalForException:
+ 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].
+ ^unhandledErrorSignalerContext]]].
+ suspendedContext]
+ onBehalfOf: self!
- | home ctxt |
- home := aContext home.
- [ ctxt := self step.
- home == ctxt home.
- ] whileFalse: [
- home isDead ifTrue: [^ self suspendedContext].
- ].
- ^ self suspendedContext!
Eliot Miranda uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-eem.930.mcz
==================== Summary ====================
Name: Kernel-eem.930
Author: eem
Time: 1 July 2015, 3:25:55.097 pm
UUID: f2ef6b5c-be8c-4bce-ab1b-dff14bb8ab0e
Ancestors: Kernel-eem.929
Fix the bug with the Debugger's through such that the Debugger would appear to freeze when encountering an MNU. The example is Debug It on:
Object flushDependents do: [ : e | ]
followed by Over, Through. But in fact one can see the same issue doing Debug It and then Through on
nil zork
What was happening is that Through was stepping through the uncaught and looping MNUs (of do: or zork in the above examples) since the Debugger did not catch unhandled errors during Through, and sicne doesNotUnderstand:'s default if uncaught is to resend. The fix is merely to catch unhandled errors when doing Through to the same effect as runUntilErrorOrReturnFrom: caching errors for Over.
Also speed up Through. The changes made in Kernel-eem.857 through Kernel-eem.896 to provide process-faithful debugging slowed down Process>>step a lot. These changes restore the performance by using evaluate:onBehalfOf: once for each Through, rather than once for each step within Through.
=============== Diff against Kernel-eem.929 ===============
Item was added:
+ ----- Method: Exception>>canSearchForSignalerContext (in category 'debug support') -----
+ canSearchForSignalerContext
+ "This method is /only/ to support the debugger's catching of exceptions in stepIntoBlock."
+ ^signalContext isContext!
Item was changed:
+ ----- Method: Exception>>signalerContext (in category 'handling') -----
- ----- Method: Exception>>signalerContext (in category 'printing') -----
signalerContext
"Find the first sender of signal(:)"
^ signalContext findContextSuchThat: [:ctxt |
(ctxt receiver == self or: [ctxt receiver == self class]) not]!
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."
- "Resume self until the home of top context is aContext. Top context may be a block context."
+ ^Processor activeProcess
+ evaluate:
+ [| home anError |
+ home := aContext home.
+ [suspendedContext := suspendedContext step.
+ home == suspendedContext home or: [home isDead]] whileFalse:
+ [(suspendedContext selector == #signalForException:
+ 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].
+ ^unhandledErrorSignalerContext]]].
+ suspendedContext]
+ onBehalfOf: self!
- | home ctxt |
- home := aContext home.
- [ ctxt := self step.
- home == ctxt home.
- ] whileFalse: [
- home isDead ifTrue: [^ self suspendedContext].
- ].
- ^ self suspendedContext!
Eliot Miranda uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-eem.990.mcz
==================== Summary ====================
Name: Morphic-eem.990
Author: eem
Time: 1 July 2015, 3:14:20.524 pm
UUID: 0fb6f2b8-b89e-48e4-bf73-ab547b7b0d49
Ancestors: Morphic-cmm.989
Update the CurvierMorph's drawCurvier preference
to the recommended style., eliminating the only send of addPreference:category:default:balloonHelp:
in trunk outside of Preferences.
=============== Diff against Morphic-cmm.989 ===============
Item was removed:
- ----- Method: CurvierMorph class>>Curvier (in category 'class initialization') -----
- Curvier
- <preference: 'Curvier'
- category: 'morphic'
- description: 'If true, closed CurvierMorphs will be smoother and more symmetrical all about. If false they will mimic the old curve shapes with the one sharp bend.'
- type: #Boolean>
- ^ self drawCurvier.!
Item was changed:
----- Method: CurvierMorph class>>drawCurvier (in category 'class initialization') -----
drawCurvier
+ <preference: 'Curvier'
+ category: 'morphic'
+ description: 'If true, closed CurvierMorphs will be smoother and more symmetrical all about. If false they will mimic the old curve shapes with the one sharp bend.'
+ type: #Boolean>
+ ^DrawCurvier ifNil: [true]!
- ^ DrawCurvier.!
Item was changed:
----- Method: CurvierMorph class>>initialize (in category 'class initialization') -----
initialize
"CurvierMorph initialize"
- Preferences
- preferenceAt: #Curvier
- ifAbsent: [Preferences
- addPreference: #Curvier
- category: #morphic
- default: true
- balloonHelp: 'if true, closed CurvierMorphs will be smoother and more symmetrical all about. If false they will mimic the old curve shapes with the one sharp bend.'].
self registerInFlapsRegistry!
Eliot Miranda uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-eem.990.mcz
==================== Summary ====================
Name: Morphic-eem.990
Author: eem
Time: 1 July 2015, 3:14:20.524 pm
UUID: 0fb6f2b8-b89e-48e4-bf73-ab547b7b0d49
Ancestors: Morphic-cmm.989
Update the CurvierMorph's drawCurvier preference
to the recommended style., eliminating the only send of addPreference:category:default:balloonHelp:
in trunk outside of Preferences.
=============== Diff against Morphic-cmm.989 ===============
Item was removed:
- ----- Method: CurvierMorph class>>Curvier (in category 'class initialization') -----
- Curvier
- <preference: 'Curvier'
- category: 'morphic'
- description: 'If true, closed CurvierMorphs will be smoother and more symmetrical all about. If false they will mimic the old curve shapes with the one sharp bend.'
- type: #Boolean>
- ^ self drawCurvier.!
Item was changed:
----- Method: CurvierMorph class>>drawCurvier (in category 'class initialization') -----
drawCurvier
+ <preference: 'Curvier'
+ category: 'morphic'
+ description: 'If true, closed CurvierMorphs will be smoother and more symmetrical all about. If false they will mimic the old curve shapes with the one sharp bend.'
+ type: #Boolean>
+ ^DrawCurvier ifNil: [true]!
- ^ DrawCurvier.!
Item was changed:
----- Method: CurvierMorph class>>initialize (in category 'class initialization') -----
initialize
"CurvierMorph initialize"
- Preferences
- preferenceAt: #Curvier
- ifAbsent: [Preferences
- addPreference: #Curvier
- category: #morphic
- default: true
- balloonHelp: 'if true, closed CurvierMorphs will be smoother and more symmetrical all about. If false they will mimic the old curve shapes with the one sharp bend.'].
self registerInFlapsRegistry!
Chris Muller uploaded a new version of Help-Squeak-Project to project The Trunk:
http://source.squeak.org/trunk/Help-Squeak-Project-cmm.25.mcz
==================== Summary ====================
Name: Help-Squeak-Project-cmm.25
Author: cmm
Time: 1 July 2015, 3:34:35.436 pm
UUID: 84a2402f-811d-4a8c-9459-f6af9d8d9b21
Ancestors: Help-Squeak-Project-kfr.24
- Update internal release notes in the Help Browser. (no need to use a release-specific method).
- Release Notes has duplication with the one in TheWorldMainDockingBar which will be addressed later.
=============== Diff against Help-Squeak-Project-kfr.24 ===============
Item was changed:
----- Method: SqueakProjectHelp class>>pages (in category 'accessing') -----
pages
+ ^#(releaseNotes extendingTheSystem squeakResourcesOnline squeakUserInterface workingWithSqueak)!
- ^#(releaseNotes4point5 extendingTheSystem squeakResourcesOnline squeakUserInterface workingWithSqueak)!
Item was added:
+ ----- Method: SqueakProjectHelp class>>releaseNotes (in category 'pages') -----
+ releaseNotes
+ "This method was automatically generated. Edit it using:"
+ "a HelpBrowser edit: #releaseNotes"
+ ^HelpTopic
+ title: 'Release Notes'
+ contents: TheWorldMainDockingBar releaseNotes "<--- ugh, we will fix this later, for now may we not have TWO copies of the 8K release notes string in memory?"!
Item was removed:
- ----- Method: SqueakProjectHelp class>>releaseNotes4point5 (in category 'pages') -----
- releaseNotes4point5
- ^HelpTopic
- title: 'Squeak 4.5 Theodor'
- icon: (HelpIcons iconNamed: #squeakIcon)
- contents:
- 'Squeak 4.5 ---- Theodor
- ===================
-
- ______________________________________________
- Language enhancements:
-
- Environments
- Environments allows multiple classes with the same name to exist in the same image, with code referencing through its class'' "environment".
-
- Collections
- New and improved sorting utilities for Arrays and OrderedCollections.
- New FloatCollection inherits the convenient add:/remove: API of OrderedCollection, but using an internal FloatArray for better efficiency.
- An all-new LRUCache implementation.
- Promise is now a fully chainable object with decent error handling.
- Compiler
-
- Numerics
- Faster and better Random.
- log/ln fixed for integers.
-
- Dates and Times
- New methods provide access to primitive 240 and 241, which can provide microsecond resolution timestamps on Cog VMs.
- New convenience methods allow creating DateAndTimes relative to now (e.g., "5 minutes ago").
- Parsing improvements.
-
- Text, Graphics, Sound
- Form>pixelValueAt: now makes use of the new primitivePixelValueAt:, avoiding the overhead of a full BitBlt.
- Elimination of the dual hierarchy of NewParagraph & MultiNewParagraph etc and TextStopConditions and lots of Scanner improvements.
- PaintBoxMorph re-engineering.
- ADPCMCodec performance improvement.
-
- ______________________________________________
- IDE, Monticello and Trunk process improvements:
-
- Several MVC fixes allow debugging in MVC once again.
- Smart-Splitters causes the bars between browser panes to automatically optimize their position.
- Fixed color-selection from anywhere on the screen working again.
- Improved command-line interface via Smalltalk run: [ :arg1 :arg2 | ... ].
- squeakDebug.log report length is now settable.
- MCReorganizationPreloader now resolves moves between arbitrary packages, independent of their order in the configuration.
- mcz/snapshot/source.st now encoded in UTF8 instead of latin-1.
- New pre-selection highlight feature for lists.
- System space analysis now available in Help | About.
- Message-traces can be pared more easily.
-
- ______________________________________________
- Configuration
- Lots of improvements in the CI build/test slave.
- Installer now documents externally-loadable packages as simple literal structures that can be merged via Installer>>#merge:.
- MC ancestry history strings can now be stubbed for a smaller image and sustainable MC history.
-
- ______________________________________________
- History and Accounting Tools
- A great new historical website by Bob Arning.
- MC history and origin is now available for methods and class-definitions from browser menus.
- A new amazing ObjectHistory makes it possible to efficiently track the born-on date of any object to a resolution of one minute.
- Added "search history" to Package history browser.
-
- ______________________________________________
- Fixes and cleanups
- Packages organized toward eliminating circular dependencies, and with proper concern for existing and future UI frameworks.
- Updated uses of SmalltalkImage current to, simply, "Smalltalk."
- Moving away from use of Utilities.
- More preferences made pragma-based.
- Compiler factorings and cleanups.
- Diminished excessive usage of ReadWriteStream.
- ProtoObject API balanced and minimal.
- Moved classifying and logging behavior out of Compiler (a responsibility of Behavior).
-
- ______________________________________________
- Application Upgrade Notes
- Default Float printing is now true to its internal representation. Apps must now use appropriate methods to format Floats rather than roundTo:.
- ($a to: $b) now returns ''ab'' rather than #($a $b).
- Remove OneCharacterSymbols optimization.
- LRUCache instance migrations, if any. See post-scripts in Collections-ul.546, 547
- Rectangles with 0 area (e.g., lines) can now intersect.
-
-
-
- This release is dedicated
- to the memory of our friend
- Andreas Raab (1968 -- 2013)
- !!
- ]style[(10 1 4 1 7 1 19 1 1 47 22 2 13 142 11 329 8 57 15 237 21 358 48 720 13 321 28 372 18 522 25 382 1 5 7 4 9 56 1)ba2FBitstreamVeraSerif#32.0,a2FBitstreamVeraSerif#32.0,a2--FBitstreamVeraSerif#32.0,a2FBitstreamVeraSerif#32.0,ia2FBitstreamVeraSerif#32.0,FBitstreamVeraSerif#24.0a2,FBitstreamVeraSerif#24.0----a2,FBitstreamVeraSerif#24.0a2,,FBitstreamVeraSerif#16.0,FBitstreamVeraSerif#24.0,,bFBitstreamVeraSerif#16.0,FBitstreamVeraSerif#16.0,bFBitstreamVeraSerif#16.0,FBitstreamVeraSerif#16.0,bFBitstreamVeraSerif#16.0,FBitstreamVeraSerif#16.0,bFBitstreamVeraSerif#16.0,FBitstreamVeraSerif#16.0,bFBitstreamVeraSerif#16.0,FBitstreamVeraSerif#16.0,FBitstreamVeraSerif#24.0,FBitstreamVeraSerif#16.0,FBitstreamVeraSerif#24.0,FBitstreamVeraSerif#16.0,FBitstreamVeraSerif#24.0,FBitstreamVeraSerif#16.0,FBitstreamVeraSerif#24.0,FBitstreamVeraSerif#16.0,FBitstreamVeraSerif#24.0,FBitstreamVeraSerif#16.0,,FBitstreamVeraSerif#16.0ia2,FBitstreamVeraSerif#16.0iba2,FBitstreamVeraSerif#16.0ia2,FBitstreamVeraSerif#16.0iba2,FBitstreamVeraSerif#16.0ia2,!!' readStream nextChunkText!
Chris Muller uploaded a new version of Help-Squeak-Project to project The Trunk:
http://source.squeak.org/trunk/Help-Squeak-Project-cmm.25.mcz
==================== Summary ====================
Name: Help-Squeak-Project-cmm.25
Author: cmm
Time: 1 July 2015, 3:34:35.436 pm
UUID: 84a2402f-811d-4a8c-9459-f6af9d8d9b21
Ancestors: Help-Squeak-Project-kfr.24
- Update internal release notes in the Help Browser. (no need to use a release-specific method).
- Release Notes has duplication with the one in TheWorldMainDockingBar which will be addressed later.
=============== Diff against Help-Squeak-Project-kfr.24 ===============
Item was changed:
----- Method: SqueakProjectHelp class>>pages (in category 'accessing') -----
pages
+ ^#(releaseNotes extendingTheSystem squeakResourcesOnline squeakUserInterface workingWithSqueak)!
- ^#(releaseNotes4point5 extendingTheSystem squeakResourcesOnline squeakUserInterface workingWithSqueak)!
Item was added:
+ ----- Method: SqueakProjectHelp class>>releaseNotes (in category 'pages') -----
+ releaseNotes
+ "This method was automatically generated. Edit it using:"
+ "a HelpBrowser edit: #releaseNotes"
+ ^HelpTopic
+ title: 'Release Notes'
+ contents: TheWorldMainDockingBar releaseNotes "<--- ugh, we will fix this later, for now may we not have TWO copies of the 8K release notes string in memory?"!
Item was removed:
- ----- Method: SqueakProjectHelp class>>releaseNotes4point5 (in category 'pages') -----
- releaseNotes4point5
- ^HelpTopic
- title: 'Squeak 4.5 Theodor'
- icon: (HelpIcons iconNamed: #squeakIcon)
- contents:
- 'Squeak 4.5 ---- Theodor
- ===================
-
- ______________________________________________
- Language enhancements:
-
- Environments
- Environments allows multiple classes with the same name to exist in the same image, with code referencing through its class'' "environment".
-
- Collections
- New and improved sorting utilities for Arrays and OrderedCollections.
- New FloatCollection inherits the convenient add:/remove: API of OrderedCollection, but using an internal FloatArray for better efficiency.
- An all-new LRUCache implementation.
- Promise is now a fully chainable object with decent error handling.
- Compiler
-
- Numerics
- Faster and better Random.
- log/ln fixed for integers.
-
- Dates and Times
- New methods provide access to primitive 240 and 241, which can provide microsecond resolution timestamps on Cog VMs.
- New convenience methods allow creating DateAndTimes relative to now (e.g., "5 minutes ago").
- Parsing improvements.
-
- Text, Graphics, Sound
- Form>pixelValueAt: now makes use of the new primitivePixelValueAt:, avoiding the overhead of a full BitBlt.
- Elimination of the dual hierarchy of NewParagraph & MultiNewParagraph etc and TextStopConditions and lots of Scanner improvements.
- PaintBoxMorph re-engineering.
- ADPCMCodec performance improvement.
-
- ______________________________________________
- IDE, Monticello and Trunk process improvements:
-
- Several MVC fixes allow debugging in MVC once again.
- Smart-Splitters causes the bars between browser panes to automatically optimize their position.
- Fixed color-selection from anywhere on the screen working again.
- Improved command-line interface via Smalltalk run: [ :arg1 :arg2 | ... ].
- squeakDebug.log report length is now settable.
- MCReorganizationPreloader now resolves moves between arbitrary packages, independent of their order in the configuration.
- mcz/snapshot/source.st now encoded in UTF8 instead of latin-1.
- New pre-selection highlight feature for lists.
- System space analysis now available in Help | About.
- Message-traces can be pared more easily.
-
- ______________________________________________
- Configuration
- Lots of improvements in the CI build/test slave.
- Installer now documents externally-loadable packages as simple literal structures that can be merged via Installer>>#merge:.
- MC ancestry history strings can now be stubbed for a smaller image and sustainable MC history.
-
- ______________________________________________
- History and Accounting Tools
- A great new historical website by Bob Arning.
- MC history and origin is now available for methods and class-definitions from browser menus.
- A new amazing ObjectHistory makes it possible to efficiently track the born-on date of any object to a resolution of one minute.
- Added "search history" to Package history browser.
-
- ______________________________________________
- Fixes and cleanups
- Packages organized toward eliminating circular dependencies, and with proper concern for existing and future UI frameworks.
- Updated uses of SmalltalkImage current to, simply, "Smalltalk."
- Moving away from use of Utilities.
- More preferences made pragma-based.
- Compiler factorings and cleanups.
- Diminished excessive usage of ReadWriteStream.
- ProtoObject API balanced and minimal.
- Moved classifying and logging behavior out of Compiler (a responsibility of Behavior).
-
- ______________________________________________
- Application Upgrade Notes
- Default Float printing is now true to its internal representation. Apps must now use appropriate methods to format Floats rather than roundTo:.
- ($a to: $b) now returns ''ab'' rather than #($a $b).
- Remove OneCharacterSymbols optimization.
- LRUCache instance migrations, if any. See post-scripts in Collections-ul.546, 547
- Rectangles with 0 area (e.g., lines) can now intersect.
-
-
-
- This release is dedicated
- to the memory of our friend
- Andreas Raab (1968 -- 2013)
- !!
- ]style[(10 1 4 1 7 1 19 1 1 47 22 2 13 142 11 329 8 57 15 237 21 358 48 720 13 321 28 372 18 522 25 382 1 5 7 4 9 56 1)ba2FBitstreamVeraSerif#32.0,a2FBitstreamVeraSerif#32.0,a2--FBitstreamVeraSerif#32.0,a2FBitstreamVeraSerif#32.0,ia2FBitstreamVeraSerif#32.0,FBitstreamVeraSerif#24.0a2,FBitstreamVeraSerif#24.0----a2,FBitstreamVeraSerif#24.0a2,,FBitstreamVeraSerif#16.0,FBitstreamVeraSerif#24.0,,bFBitstreamVeraSerif#16.0,FBitstreamVeraSerif#16.0,bFBitstreamVeraSerif#16.0,FBitstreamVeraSerif#16.0,bFBitstreamVeraSerif#16.0,FBitstreamVeraSerif#16.0,bFBitstreamVeraSerif#16.0,FBitstreamVeraSerif#16.0,bFBitstreamVeraSerif#16.0,FBitstreamVeraSerif#16.0,FBitstreamVeraSerif#24.0,FBitstreamVeraSerif#16.0,FBitstreamVeraSerif#24.0,FBitstreamVeraSerif#16.0,FBitstreamVeraSerif#24.0,FBitstreamVeraSerif#16.0,FBitstreamVeraSerif#24.0,FBitstreamVeraSerif#16.0,FBitstreamVeraSerif#24.0,FBitstreamVeraSerif#16.0,,FBitstreamVeraSerif#16.0ia2,FBitstreamVeraSerif#16.0iba2,FBitstreamVeraSerif#16.0ia2,FBitstreamVeraSerif#16.0iba2,FBitstreamVeraSerif#16.0ia2,!!' readStream nextChunkText!