Chris Muller uploaded a new version of SMLoader to project The Inbox:
http://source.squeak.org/inbox/SMLoader-cmm.93.mcz
==================== Summary ====================
Name: SMLoader-cmm.93
Author: cmm
Time: 12 November 2018, 9:32:37.990598 pm
UUID: f8100409-b6fa-45f5-ad2a-acc81a6f614a
Ancestors: SMLoader-cmm.91
- Allow releases which are not necessarily published to be selected when the UI selection was at the package level.
- Fix the problem of Release scripts seemingly not updating, due to not refreshing the local cache after uploading the script to the server.
=============== Diff against SMLoader-cmm.91 ===============
Item was changed:
----- Method: SMLoader>>installPackageRelease (in category 'actions') -----
installPackageRelease
"Install selected package or release.
The cache is used."
| item release |
item := self selectedPackageOrRelease
ifNil: [^ nil].
item isPackageRelease
ifTrue: [^ self installPackageRelease: item]
+ ifFalse: [release := item lastReleaseForCurrentSystemVersion.
- ifFalse: [release := item lastPublishedReleaseForCurrentSystemVersion.
release
ifNil: [(self confirm: 'The package has no published release for your Squeak version, try releases for any Squeak version?')
ifTrue: [release := item lastPublishedRelease.
release
ifNil: [(self confirm: 'The package has no published release at all, take the latest of the unpublished releases?')
ifTrue: [release := item lastRelease]]]].
release
ifNotNil: [^ self installPackageRelease: release]]!
Item was changed:
----- Method: SMLoaderPlus>>installPackageRelease (in category 'actions') -----
installPackageRelease
"Install selected package or release.
The cache is used."
| item release |
item := self selectedPackageOrRelease
ifNil: [^ nil].
item isPackageRelease
ifTrue: [^ self installPackageRelease: item]
+ ifFalse: [release := item lastReleaseForCurrentSystemVersion.
- ifFalse: [release := item lastPublishedReleaseForCurrentSystemVersion.
release
ifNil: [(self confirm: 'The package has no published release for your Squeak version, try releases for any Squeak version?')
ifTrue: [release := item lastPublishedRelease.
release
ifNil: [(self confirm: 'The package has no published release at all, take the latest of the unpublished releases?')
ifTrue: [release := item lastRelease]]]].
release
ifNotNil: [^ self installPackageRelease: release]]!
Item was changed:
----- Method: SMReleaseBrowser>>save (in category 'initialize-release') -----
save
"Save the release to SqueakMap."
Cursor wait showWhile:
[ self dependents do:
[ : eachWidget | #(#username #password #note #version #content ) do:
[ : eachName | eachWidget knownName = eachName ifTrue:
[ eachWidget hasUnacceptedEdits ifTrue: [ eachWidget accept ] ] ] ].
self validateCanSave.
[ self
writeInstallFile ;
login.
"Save without a downloadUrl so that SM will update its cache and we can also verify success before uploading the file."
self savePackageRelease: nil.
self loadScript isEmptyOrNil ifFalse:
[ self uploadInstallFile.
release package addRelease: release.
"Now save with the correct downloadUrl."
self
savePackageRelease: self downloadUrl ;
+ deleteInstallFile ] ] ensure: [ self logout ].
+ release refreshInCache ].
- deleteInstallFile ] ] ensure: [ self logout ] ].
self closeWindow!
Eliot Miranda uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-eem.1195.mcz
==================== Summary ====================
Name: Kernel-eem.1195
Author: eem
Time: 11 November 2018, 7:06:29.274108 pm
UUID: 4269620a-8eb7-4581-a65a-33bf2ea1aa10
Ancestors: Kernel-eem.1194
Eliminate a confusing shadowing in Context>>send:super:numArgs:
=============== Diff against Kernel-eem.1194 ===============
Item was changed:
----- Method: Context>>send:super:numArgs: (in category 'instruction decoding') -----
send: selector super: superFlag numArgs: numArgs
"Simulate the action of bytecodes that send a message with selector,
+ selector. The argument, superFlag, tells whether the receiver of the
+ message was specified with 'super' in the source method. The arguments
+ of the message are found in the top numArgs locations on the stack and
+ the receiver just below them."
- selector. The argument, superFlag, tells whether the receiver of the
- message was specified with 'super' in the source method. The arguments
- of the message are found in the top numArgs locations on the stack and
- the receiver just below them."
+ | thisReceiver arguments lookupClass |
- | receiver arguments lookupClass |
arguments := Array new: numArgs.
numArgs to: 1 by: -1 do: [ :i | arguments at: i put: self pop].
+ thisReceiver := self pop.
- receiver := self pop.
lookupClass := superFlag
ifTrue: [method methodClassAssociation value superclass]
+ ifFalse: [self objectClass: thisReceiver].
- ifFalse: [self objectClass: receiver].
QuickStep == self ifTrue:
[QuickStep := nil.
+ ^self quickSend: selector to: thisReceiver with: arguments lookupIn: lookupClass].
+ ^self send: selector to: thisReceiver with: arguments lookupIn: lookupClass!
- ^self quickSend: selector to: receiver with: arguments lookupIn: lookupClass].
- ^self send: selector to: receiver with: arguments lookupIn: lookupClass!
Eliot Miranda uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-eem.1194.mcz
==================== Summary ====================
Name: Kernel-eem.1194
Author: eem
Time: 11 November 2018, 3:08:37.497128 pm
UUID: 6821fe5c-df17-4033-90f2-6163e6382b81
Ancestors: Kernel-eem.1193
ensureClassPool is /much/ nicer to use if it answers the class pool
=============== Diff against Kernel-eem.1193 ===============
Item was changed:
----- Method: Class>>ensureClassPool (in category 'class variables') -----
ensureClassPool
+ ^classPool ifNil: [classPool := Dictionary new].!
- classPool ifNil: [classPool := Dictionary new].!
Eliot Miranda uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-eem.1046.mcz
==================== Summary ====================
Name: System-eem.1046
Author: eem
Time: 9 November 2018, 8:46:04.222224 pm
UUID: 98d1a376-957e-40fd-ba0f-9e4893defad2
Ancestors: System-eem.1045
Add accessors for the sendMouseWheelEvents flag that instructs the VM to send mouse wheel events as mouse wheel events, not keynboard arrow keys. Needs an up-to-date VM (and on WIndows needs the VM code to be written).
Fix a typo
=============== Diff against System-eem.1045 ===============
Item was changed:
----- Method: SmalltalkImage>>processHasThreadIdInstVar: (in category 'system attributes') -----
processHasThreadIdInstVar: aBoolean
"The threaded VM needs to know if the 4th inst var of Process
is threadId which it uses to control process-to-thread binding.
This flag persists across snapshots, stored in the image header."
+ aBoolean ifTrue: [self assert: (Process instVarNames at: 4) = 'threadId'].
- aBoolean ifTrue: [self assert: (Process instVarNames at: 4) ='threadId'].
self vmParameterAt: 48 put: ((self vmParameterAt: 48) bitClear: 1) + (aBoolean ifTrue: [1] ifFalse: [0])!
Item was added:
+ ----- Method: SmalltalkImage>>sendMouseWheelEvents (in category 'system attributes') -----
+ sendMouseWheelEvents
+ "The Cog VM can be instructed to deliver mouse wheel events as mouse wheel events.
+ By default mouse wheel events are mapped to arrow events.
+ This flag persists across snapshots, stored in the image header."
+
+ ^(self vmParameterAt: 48) anyMask: 32!
Item was added:
+ ----- Method: SmalltalkImage>>sendMouseWheelEvents: (in category 'system attributes') -----
+ sendMouseWheelEvents: aBoolean
+ "The Cog VM can be instructed to deliver mouse wheel events as mouse wheel events.
+ By default mouse wheel events are mapped to arrow events.
+ This flag persists across snapshots, stored in the image header."
+
+ self vmParameterAt: 48 put: ((self vmParameterAt: 48) bitClear: 32) + (aBoolean ifTrue: [32] ifFalse: [0])!
Hi,
The Swiki Swiki offers 3.7 based images. Is there a vm and image combination that could run the swiki on a Raspi?
I want to run a tiny house wiki on our LAN.
Cheers,
Herbert
David T. Lewis uploaded a new version of Monticello to project The Inbox:
http://source.squeak.org/inbox/Monticello-dtl.685.mcz
==================== Summary ====================
Name: Monticello-dtl.685
Author: dtl
Time: 5 November 2018, 10:52:58.748205 pm
UUID: b31c1c5b-d61a-4810-8f97-5fdcaf062dc8
Ancestors: Monticello-eem.684
MCVersionInspector has an 'Adopt' button to allow the selected version to be added to the parent or parents of a working version. Provide a 'Reparent' button to allow a selected version to become the sole parent of a working version. Adjust defaultExtent to accomodate the additional button.
Motivated by the exercise of preparing to copy Chronology-Core versions from one repository into equivalent Chronology-Core.UTC versions in another repository (possibly trunk). In this scenario, it is helpful to be able to reparent a newly loaded Chronology-Core version from one repository to be the child of the last saved Chronology-Core.UTC version in another. The '.UTC' suffix in this case is intended to branch those versions from the trunk update stream, allowing later merge to trunk with branch history preserved.
=============== Diff against Monticello-eem.684 ===============
Item was changed:
----- Method: MCRepositoryInspector>>defaultExtent (in category 'morphic ui') -----
defaultExtent
+ ^600@300!
- ^450@300!
Item was added:
+ ----- Method: MCVersion>>reparent (in category 'actions') -----
+ reparent
+ "Let aNode be the sole parent of this version"
+ self workingCopy reparent: self!
Item was changed:
----- Method: MCVersionInspector>>buttonSpecs (in category 'morphic ui') -----
buttonSpecs
+ ^#(
+ ('Refresh' refresh 'refresh the version-list')
- ^ #(('Refresh' refresh 'refresh the version-list')
(Browse browse 'Browse this version' hasVersion)
+ (History history 'Browse the history of this version' hasVersion)
+ (Changes changes 'Browse the changes this version would make to the image' hasVersion)
+ (Load load 'Load this version into the image' hasVersion)
+ (Merge merge 'Merge this version into the image' hasVersion)
+ (Adopt adopt 'Adopt this version as an ancestor of your working copy' hasVersion)
+ (Reparent reparent 'Adopt this version as the sole ancestor of your working copy' hasVersion)
+ (Copy save 'Copy this version to another repository' hasVersion)
+ (Diff diff 'Create an equivalent version based on an earlier release' hasVersion)
+ )!
- (History history 'Browse the history of this version' hasVersion)
- (Changes changes 'Browse the changes this version would make to the
- image' hasVersion)
- (Load load 'Load this version into the image' hasVersion)
- (Merge merge 'Merge this version into the image' hasVersion)
- (Adopt adopt 'Adopt this version as an ancestor of your working copy'
- hasVersion)
- (Copy save 'Copy this version to another repository' hasVersion)
- (Diff diff 'Create an equivalent version based on an earlier release'
- hasVersion))!
Item was added:
+ ----- Method: MCVersionInspector>>reparent (in category 'accessing') -----
+ reparent
+ (self confirm:'Adopt ',self version info name, ' as the sole ancestor of your working copy?')
+ ifTrue: [self version reparent]!
Item was added:
+ ----- Method: MCWorkingAncestry>>reparent: (in category 'as yet unclassified') -----
+ reparent: aNode
+ "Let aNode be the sole parent of this version"
+ ancestors := Array with: aNode
+ !
Item was added:
+ ----- Method: MCWorkingCopy>>reparent: (in category 'operations') -----
+ reparent: aVersion
+ "Let aNode be the sole parent of this version"
+ ancestry reparent: aVersion info.
+ self changed.!