Marcel Taeumel uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-mt.1394.mcz
==================== Summary ====================
Name: Morphic-mt.1394
Author: mt
Time: 12 February 2018, 9:49:02.68787 am
UUID: 2c7b52d0-710f-40e5-817b-d79218563652
Ancestors: Morphic-ul.1393
Small fix for mouse cursor in dialog boxes.
=============== Diff against Morphic-ul.1393 ===============
Item was changed:
----- Method: DialogWindow>>getUserResponse (in category 'running') -----
getUserResponse
| hand world |
(ProvideAnswerNotification signal: self message asString)
ifNotNil: [:answer|
^ answer = #default
ifTrue: [result]
ifFalse: [answer]].
self message ifEmpty: [messageMorph delete]. "Do not waste space."
self paneMorph submorphs ifEmpty: [self paneMorph delete]. "Do not waste space."
hand := self currentHand.
world := self currentWorld.
self fullBounds.
self center: preferredPosition.
self bounds: (self bounds translatedToBeWithin: world bounds).
self openInWorld: world.
+ hand showTemporaryCursor: nil. "Since we are out of context, reset the cursor."
+
hand keyboardFocus in: [:priorKeyboardFocus |
self exclusive ifTrue: [hand newMouseFocus: self].
hand newKeyboardFocus: self.
[self isInWorld] whileTrue:[world doOneSubCycle].
hand newKeyboardFocus: priorKeyboardFocus.
hand releaseMouseFocus].
^ result!
Tony Garnock-Jones uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-tonyg.1001.mcz
==================== Summary ====================
Name: System-tonyg.1001
Author: tonyg
Time: 9 February 2018, 1:04:21.615446 pm
UUID: 761c7a6f-cd55-4660-a4f5-5baadcd7ab37
Ancestors: System-mt.1000
Attempting to set Preferences bigDisplay caused a DNU in Preferences class >> #displaySizeChanged invoking #smallLandFonts, which doesn't seem to be implemented anywhere in the stock image. I suspect this is code rot; this commit removes the call to Preferences class >> #smallLandFonts from #displaySizeChanged.
=============== Diff against System-mt.1000 ===============
Item was changed:
----- Method: Preferences class>>displaySizeChanged (in category 'updating - system') -----
displaySizeChanged
self flag: #todo.
- "only change font on small-land image"
- self smallLandFonts.
self tinyDisplay
ifTrue: [self enable: #scrollBarsNarrow]
ifFalse: [self disable: #scrollBarsNarrow].
self tinyDisplay
ifTrue:[self disable: #biggerHandles]
ifFalse:[self enable: #biggerHandles]!
Tony Garnock-Jones uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-tonyg.1151.mcz
==================== Summary ====================
Name: Kernel-tonyg.1151
Author: tonyg
Time: 9 February 2018, 12:55:51.129682 pm
UUID: b5708007-672e-4c5e-a6b6-8cfab8dab44b
Ancestors: Kernel-tonyg.1150
Update Promise >> #waitTimeoutMSecs: to stop waiting if the promise is rejected, as well as if it's accepted.
=============== Diff against Kernel-tonyg.1150 ===============
Item was changed:
----- Method: Promise>>waitTimeoutMSecs: (in category 'waiting') -----
waitTimeoutMSecs: msecs
+ "Wait for at most the given number of milliseconds for this promise to settle.
+ Answer true if it is resolved, false otherwise. False can therefore mean EITHER 'timeout' OR 'rejected'."
- "Wait for at most the given number of milliseconds for this promise to resolve. Answer true if it is resolved, false otherwise."
| sema delay |
sema := Semaphore new.
self whenResolved: [sema signal].
+ self whenRejected: [sema signal].
delay := Delay timeoutSemaphore: sema afterMSecs: msecs.
[sema wait] ensure: [delay unschedule].
^ self isResolved.!
Chris Cunningham uploaded a new version of Squeak-Version to project The Trunk:
http://source.squeak.org/trunk/Squeak-Version-cbc.5133.mcz
==================== Summary ====================
Name: Squeak-Version-cbc.5133
Author: cbc
Time: 10 February 2018, 11:30:39.217775 am
UUID: da6eac14-0ac4-6a4d-b44e-f2e3a1b2ffc3
Ancestors: Squeak-Version-cbc.5132
Fix postcript to call unload more cleanly - this already includes all of the 'complexity' of the previous call.
=============== Diff against Squeak-Version-cbc.5132 ===============
Item was changed:
(PackageInfo named: 'Squeak-Version') postscript: '#( ''Exceptions'' ''FlexibleVocabularies'' ''ScriptLoader'' ) do: [:package|
+ (MCPackage named: package) unload.
- (MCPackage named: package) workingCopy unload.
- (MCPackage named: package) workingCopy unregister.
].'!
Chris Cunningham uploaded a new version of Squeak-Version to project The Trunk:
http://source.squeak.org/trunk/Squeak-Version-cbc.5132.mcz
==================== Summary ====================
Name: Squeak-Version-cbc.5132
Author: cbc
Time: 25 January 2018, 1:22:39.044095 pm
UUID: 9d1afcba-a654-d04d-b823-7a1487ee0c78
Ancestors: Squeak-Version-mt.5131
Add class SqueakVersion to hold documentation about this package - how to use, why to use.
Also, remove previous preamble/postscript, since they are forced in a load prior to this one.
Finally, added to postscript the removal of the packages (Exceptions, FlexibleVocabularies, ScriptLoader) from the image.
=============== Diff against Squeak-Version-mt.5131 ===============
Item was removed:
- (PackageInfo named: 'Squeak-Version') preamble: '"This is a hack to finalize #MethodContext -> Context renaming.
- The #bootstrapContext left two problems:
- 1) there is a binding #MethodContext => Context.
- 2) ContextPart still think it has Context as subclass, though this one changed its superclass.
- We must make sure that the removal of these class won''t destroy Context."
-
- Smalltalk globals unbind: #MethodContext.
- [Undeclared at: #MethodContext put: Context copy] on: AttemptToWriteReadOnlyGlobal do: [:exc | exc resume: true].
-
- ContextPart ifNil: [^self].
- ContextPart isBehavior ifFalse: [^self].
- ContextPart instVarAt: 6 put: (ContextPart subclasses select: [:e | e superclass = ContextPart])
- '!
Item was added:
+ SystemOrganization addCategory: #'Squeak-Version'!
Item was added:
+ Object subclass: #SqueakVersion
+ instanceVariableNames: ''
+ classVariableNames: ''
+ poolDictionaries: ''
+ category: 'Squeak-Version'!
+
+ !SqueakVersion commentStamp: 'cbc 1/25/2018 11:57' prior: 0!
+ This class exists soley as a description of this package, and how it should be used.
+
+ When a package is removed from the trunk update process, you will need to increase the version number of the Squeak-Version package (this one) by the version number of the package removed + 1. This ensures that the trunk build number keeps increasing.
+
+ An example:
+ When you unload a package, let's say Universes-mt.48, you add 49 (48 + 1) to the version number of Squeak-Version and save it.
+ Additionally, add in the package postscript the code to actually unload the package from the image as well:
+ ---------- package postscript ----------
+ (MCPackage named: 'Universes') unload.
+
+ Why is this important?
+
+ The Squeak Trunk update (build) number (or Squeak "version") is thesum of versions of all the base packages.
+ This works great as long as we update packages and occassionally add new packages to Trunk.
+ However, when we remove packages from the base system, we must bump Squeak-Version's version by the removed package's version number, so that the aggregate version number doesn't decrease.
+
+ In addition, folks have started to use the postscript of this package to actually remove the packages from the image that are removed from the Trunk updating process. This is especially useful if the package is empty before it was removed - then it removes cruft from users images.
+ !
Item was changed:
+ (PackageInfo named: 'Squeak-Version') postscript: '#( ''Exceptions'' ''FlexibleVocabularies'' ''ScriptLoader'' ) do: [:package|
+ (MCPackage named: package) workingCopy unload.
+ (MCPackage named: package) workingCopy unregister.
+ ].'!
- (PackageInfo named: 'Squeak-Version') postscript: '(MCPackage named: ''311Deprecated'') unload.
- (MCPackage named: ''SmallLand-ColorTheme'') unload.'!
Marcel Taeumel uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-mt.1000.mcz
==================== Summary ====================
Name: System-mt.1000
Author: mt
Time: 6 February 2018, 10:21:09.959461 am
UUID: 22b5ff48-9556-435c-bf2e-4f94d83a2ebe
Ancestors: System-tpr.999
Deprecate #inspectorClassOf: in favor of #inspectorClass.
=============== Diff against System-tpr.999 ===============
Item was removed:
- ----- Method: ToolSet class>>inspectorClassOf: (in category 'inspecting') -----
- inspectorClassOf: anObject
- "Answer the inspector class for the given object. The tool set must know which inspector type to use for which object - the object cannot possibly know what kind of inspectors the toolset provides."
- self default ifNil:[^nil].
- ^self default inspectorClassOf: anObject!
Marcel Taeumel uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-mt.797.mcz
==================== Summary ====================
Name: Tools-mt.797
Author: mt
Time: 6 February 2018, 10:19:41.408461 am
UUID: b081756b-13a0-4184-9731-17dae1b415db
Ancestors: Tools-eem.796
Make use of existing #inspectorClass in tool set. Deprecate unused ExternalStructureInspector.
=============== Diff against Tools-eem.796 ===============
Item was removed:
- Inspector subclass: #ExternalStructureInspector
- instanceVariableNames: ''
- classVariableNames: ''
- poolDictionaries: ''
- category: 'Tools-Inspector'!
Item was removed:
- ----- Method: ExternalStructureInspector>>fieldList (in category 'accessing') -----
- fieldList
- ^ (Array with: 'self: ', object defaultLabelForInspector with: 'all inst vars'), self recordFieldList!
Item was removed:
- ----- Method: ExternalStructureInspector>>recordFieldList (in category 'accessing') -----
- recordFieldList
- | fields |
- fields := object class fields.
- (fields first isKindOf: Array) ifFalse: [fields := Array with: fields].
- ^fields collect: [ :field | field first ] thenSelect: [:name | name notNil]!
Item was removed:
- ----- Method: ExternalStructureInspector>>replaceSelectionValue: (in category 'selecting') -----
- replaceSelectionValue: anObject
- "Add colon to fieldname to get setter selector, and send it to object with the argument.
- Refer to the comment in Inspector|replaceSelectionValue:."
-
- selectionIndex = 1
- ifTrue: [^object]
- ifFalse: [^object perform: ((self fieldList at: selectionIndex), ':') asSymbol with: anObject]!
Item was removed:
- ----- Method: ExternalStructureInspector>>selection (in category 'selecting') -----
- selection
- "Refer to the comment in Inspector|selection."
- selectionIndex = 0 ifTrue:[^object printString].
- selectionIndex = 1 ifTrue: [^object].
- selectionIndex = 2 ifTrue:[^object longPrintString].
- selectionIndex > 2
- ifTrue: [^object perform: (self fieldList at: selectionIndex)]!
Item was changed:
----- Method: StandardToolSet class>>inspect: (in category 'inspecting') -----
inspect: anObject
"Open an inspector on the given object. The tool set must know which inspector type to use for which object - the object cannot possibly know what kind of inspectors the toolset provides."
+ ^ anObject inspectorClass openOn: anObject!
- ^(self inspectorClassOf: anObject) openOn: anObject!
Item was changed:
----- Method: StandardToolSet class>>inspect:label: (in category 'inspecting') -----
inspect: anObject label: aString
"Open an inspector on the given object. The tool set must know which inspector type to use for which object - the object cannot possibly know what kind of inspectors the toolset provides."
+ ^ anObject inspectorClass openOn: anObject withEvalPane: true withLabel: aString!
- ^(self inspectorClassOf: anObject) openOn: anObject withEvalPane: true withLabel: aString!
Item was removed:
- ----- Method: StandardToolSet class>>inspectorClassOf: (in category 'inspecting') -----
- inspectorClassOf: anObject
- "Answer the inspector class for the given object. The tool set must know which inspector type to use for which object - the object cannot possibly know what kind of inspectors the toolset provides."
- | map |
- map := Dictionary new.
- #(
- (CompiledCode CompiledMethodInspector)
- (CompositeEvent OrderedCollectionInspector)
- (Dictionary DictionaryInspector)
- (ExternalStructure ExternalStructureInspector)
- (FloatArray OrderedCollectionInspector)
- (OrderedCollection OrderedCollectionInspector)
- (Set SetInspector)
- (WeakSet WeakSetInspector)
- ) do:[:spec|
- map at: spec first put: spec last.
- ].
- anObject class withAllSuperclassesDo:[:cls|
- map at: cls name ifPresent:[:inspectorName| ^Smalltalk classNamed: inspectorName].
- ].
- ^Inspector!