Eliot Miranda uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-eem.951.mcz
==================== Summary ====================
Name: System-eem.951
Author: eem
Time: 6 June 2017, 4:53:54.190167 pm
UUID: f899b4b7-c726-4956-a60d-cc98e7eeea70
Ancestors: System-topa.950
Fix AutoStart deInstall to remove from both start up and shut down lists.
Better position a block temp in mapUniClasses.
Categorize an unclassified.
=============== Diff against System-topa.950 ===============
Item was changed:
----- Method: AutoStart class>>deinstall (in category 'class initialization') -----
deinstall
"AutoStart deinstall"
Smalltalk removeFromStartUpList: AutoStart.
+ Smalltalk removeFromShutDownList: AutoStart.
InstalledLaunchers := nil!
Item was changed:
----- Method: DeepCopier>>mapUniClasses (in category 'like fullCopy') -----
mapUniClasses
"For new Uniclasses, map their class vars to the new objects. And their additional class instance vars. (scripts slotInfo) and cross references like (player321)."
"Players also refer to each other using associations in the References dictionary. Search the methods of our Players for those. Make new entries in References and point to them."
+ | pp |
- | pp newKey |
newUniClasses ifFalse: [^ self]. "All will be siblings. uniClasses is empty"
"Uniclasses use class vars to hold onto siblings who are referred to in code"
pp := (Smalltalk at: #Player ifAbsent:[^self]) class superclass instSize.
uniClasses do: [:playersClass | "values = new ones"
playersClass classPool associationsDo: [:assoc |
assoc value: (assoc value veryDeepCopyWith: self)].
playersClass scripts: (playersClass privateScripts veryDeepCopyWith: self). "pp+1"
"(pp+2) slotInfo was deepCopied in copyUniClass and that's all it needs"
pp+3 to: playersClass class instSize do: [:ii |
playersClass instVarAt: ii put:
((playersClass instVarAt: ii) veryDeepCopyWith: self)].
].
"Make new entries in References and point to them."
+ References keys "copy" do: [:playerName | | oldPlayer newKey |
- References keys "copy" do: [:playerName | | oldPlayer |
oldPlayer := References at: playerName.
(references includesKey: oldPlayer) ifTrue: [
newKey := (references at: oldPlayer) "new player" uniqueNameForReference.
"now installed in References"
(references at: oldPlayer) renameTo: newKey]].
uniClasses "values" do: [:newClass | | newSelList oldSelList |
oldSelList := OrderedCollection new. newSelList := OrderedCollection new.
newClass selectorsAndMethodsDo: [:sel :m |
+ m literals do: [:assoc | | newAssoc newKey |
- m literals do: [:assoc | | newAssoc |
assoc isVariableBinding ifTrue: [
(References associationAt: assoc key ifAbsent: [nil]) == assoc ifTrue: [
newKey := (references at: assoc value ifAbsent: [assoc value])
externalName asSymbol.
(assoc key ~= newKey) & (References includesKey: newKey) ifTrue: [
newAssoc := References associationAt: newKey.
newClass methodDictionary at: sel put:
(newClass compiledMethodAt: sel) shallowCopy. "were sharing it"
(newClass compiledMethodAt: sel)
literalAt: ((newClass compiledMethodAt: sel) literals indexOf: assoc)
put: newAssoc.
(oldSelList includes: assoc key) ifFalse: [
oldSelList add: assoc key. newSelList add: newKey]]]]]].
oldSelList with: newSelList do: [:old :new |
newClass replaceSilently: old to: new]]. "This is text replacement and can be wrong"!
Item was changed:
+ ----- Method: PragmaPreference>>localToProject (in category 'accessing') -----
- ----- Method: PragmaPreference>>localToProject (in category 'as yet unclassified') -----
localToProject
"Pragma preferences are stored and accessed outside the scope of the preference mechanism. Hence, they cannot be project-local."
^ false!
Patrick Rein uploaded a new version of NetworkTests to project The Trunk:
http://source.squeak.org/trunk/NetworkTests-pre.49.mcz
==================== Summary ====================
Name: NetworkTests-pre.49
Author: pre
Time: 6 June 2017, 3:00:19.802961 pm
UUID: c4fca3ff-54a1-4276-bad9-cd50d3071725
Ancestors: NetworkTests-smalltalkCI.48
Adds a test checking for the new date and dateString interface of MailMessage
=============== Diff against NetworkTests-smalltalkCI.48 ===============
Item was added:
+ ----- Method: MailMessageTest>>testDateAndDateString (in category 'testing') -----
+ testDateAndDateString
+
+ | newMail |
+ newMail := MailMessage from: 'From: Al Gore <vicepresident(a)whitehouse.gov>
+ To: White House Transportation Coordinator <transport(a)whitehouse.gov>
+ Subject: [Map of a country]
+ Date: Mon, 12 Aug 2002 17:42:00 +0000
+
+ there is a country map in this mail somewhere'.
+
+ self assert: (DateAndTime year: 2002 month: 8 day: 12 hour: 17 minute: 42) equals: newMail date.
+ self assert: '8/12/02' equals: newMail dateString.!
Patrick Rein uploaded a new version of NetworkTests to project The Trunk:
http://source.squeak.org/trunk/NetworkTests-smalltalkCI.48.mcz
==================== Summary ====================
Name: NetworkTests-smalltalkCI.48
Author: smalltalkCI
Time: 6 June 2017, 2:31:54.223602 pm
UUID: 24b79a9e-7d49-4a64-9860-02abbaf1a16a
Ancestors: NetworkTests-pre.47
Adds a test checking for the basic functionality of parsing an email object from an incoming string
=============== Diff against NetworkTests-pre.47 ===============
Item was added:
+ ----- Method: MailMessageTest>>testCreateMailMessage (in category 'testing') -----
+ testCreateMailMessage
+
+ | newMail |
+ newMail := MailMessage from: 'From: Al Gore <vicepresident(a)whitehouse.gov>
+ To: White House Transportation Coordinator <transport(a)whitehouse.gov>
+ Subject: [Map of a country]
+
+ there is a country map in this mail somewhere'.
+ self assert: '[Map of a country]' equals: newMail subject!
Eliot Miranda uploaded a new version of Network to project The Trunk:
http://source.squeak.org/trunk/Network-eem.198.mcz
==================== Summary ====================
Name: Network-eem.198
Author: eem
Time: 2 June 2017, 12:12:33.771626 pm
UUID: d5a7bb03-2ab4-45fd-9032-e190d4e154ed
Ancestors: Network-pre.197
Correct deadlineSecs:. There is no roll over problem with the clock scheme from Squeak 5 on.
=============== Diff against Network-pre.197 ===============
Item was changed:
----- Method: Socket class>>deadlineSecs: (in category 'utilities') -----
deadlineSecs: secs
+ "Answer a deadline time in milliseconds a given number of seconds from now.
+ Note that because the millisecondClockValue is derived from the non-wrapping
+ 61-bit microsecond clock there is no roll over issue."
- "Return a deadline time the given number of seconds from now."
+ ^Time millisecondClockValue + (secs * 1000) truncated
- self deprecated: 'Using this method may result in clock rollover related bug. Don''t use it.'.
- ^ Time millisecondClockValue + (secs * 1000) truncated
!