This leaves an undeclared reference in ByteArray>>#asSocketAddress.
This is premature for the trunk -- we're starting out in the *Inbox*
for Levente's Networking integration.
On Mon, Jun 4, 2012 at 9:07 PM, <commits(a)source.squeak.org> wrote:
> Edgar J. De Cleene uploaded a new version of Collections to project The Trunk:
> http://source.squeak.org/trunk/Collections-dtl.476.mcz
>
> ==================== Summary ====================
>
> Name: Collections-dtl.476
> Author: dtl
> Time: 4 June 2012, 10:00:45.896 pm
> UUID: 65ba9d43-c6ae-46c2-920e-8d75e2f807df
> Ancestors: Collections-bf.475
>
> Adopt ByteArray>>asSocketAddress from Etoys, required for IPV6 socket updates to follow.
>
> =============== Diff against Collections-bf.475 ===============
>
> Item was removed:
> - (PackageInfo named: 'Collections') preamble: ''!
>
> Item was added:
> + ----- Method: ByteArray>>asSocketAddress (in category 'converting') -----
> + asSocketAddress
> + ^SocketAddress fromOldByteAddress: self!
>
>
all members present
- the speed of source.squeak.org was questioned: how to make it faster;
whether the new server will do that; if an archive of previous releases
should be created to lessen the load
- with squeaksource.com now deprecated the move to ss3.gemstone.com is
looking more imminent
- The GitHub based solution for a Smalltalk repository being worked on
was discussed. It looks like a good fit for cross platform projects. It
may not be so convenient as to contend with ss3.gemstone.com. GitHub as
a repository is something the board will be keen to watch evolve,
although there was a question as to whether we might end up using a
slightly inferior tool for a unassured marketing benefit. It may be that
versioning tools and marketing initiatives exist in separate domains.
- Colin is preparing to re-examine the code he has for Monticello 2.
Monticello is good for smaller projects, but reaches a limit at ~1000
versions. Larger projects could benefit from MC2 (
http://www.wiresong.ca/downloads/Monticello-2.0.30.zip )
- Craig spoke about Spoon at an Amsterdam even called Appsterdam (
http://www.meetup.com/Appsterdam )
Bert Freudenberg uploaded a new version of Network to project The Inbox:
http://source.squeak.org/inbox/Network-bf.124.mcz
==================== Summary ====================
Name: Network-bf.124
Author: bf
Time: 5 June 2012, 3:06:54.188 pm
UUID: 74d59e26-aff4-40c0-a032-4b5bba3eed9a
Ancestors: Network-dtl.123
Do not use asSocketAddress in the old network code.
=============== Diff against Network-dtl.123 ===============
Item was changed:
----- Method: NetNameResolver class>>addressForName:timeout: (in category 'lookups') -----
addressForName: hostName timeout: secs
"Look up the given host name and return its address. Return nil if the address is not found in the given number of seconds."
"NetNameResolver addressForName: 'create.ucsb.edu' timeout: 30"
"NetNameResolver addressForName: '100000jobs.de' timeout: 30"
"NetNameResolver addressForName: '1.7.6.4' timeout: 30"
"NetNameResolver addressForName: '' timeout: 30 (This seems to return nil?)"
| deadline result |
self initializeNetwork.
self useOldNetwork
ifFalse: [^self addressForName: hostName].
"check if this is a valid numeric host address (e.g. 1.2.3.4)"
result := self addressFromString: hostName.
+ result isNil ifFalse: [^result].
- result isNil ifFalse: [^result asSocketAddress].
"Look up a host name, including ones that start with a digit (e.g. 100000jobs.de or squeak.org)"
deadline := Time millisecondClockValue + (secs * 1000).
"Protect the execution of this block, as the ResolverSemaphore is used for both parts of the transaction."
self resolverMutex
critical: [
(self waitForResolverReadyUntil: deadline)
ifTrue: [
self primStartLookupOfName: hostName.
(self waitForCompletionUntil: deadline)
ifTrue: [result := self primNameLookupResult]
ifFalse: [(NameLookupFailure hostName: hostName) signal: 'Could not resolve the server named: ', hostName]]
ifFalse: [(NameLookupFailure hostName: hostName) signal: 'Could not resolve the server named: ', hostName]].
+ ^result!
- ^result asSocketAddress!
Dear Smalltalkers,
We apologize for multiple reception of this announcement.
The International Workshop on Smalltalk Technologies, is a European
Smalltalk User Group (ESUG) Conference joint event, that focuses on
research activities - namely academic creative work undertaken on
smalltalk use, and more generally on object technologies.
IWST was launched in 2009, in Brest, during the 17th ESUG Conference.
The second edition took place in Barcelona, and the third edition was
held in 2011 at the heart of historic Edinburgh. Next edition will be
in Gent, Begium this summer (28th of august).
ESUG gathers groups of professionals and hobbyists who share an
interest in the Smalltalk programming languages and related
technologies.
The goal of the workshop is to create a forum around advances or
experience in Smalltalk. IWST contributes to triggering discussions
and exchanges of ideas.
As always, we make a point to have a very constructive paper review
process that aims to provide in-depth comments and suggestions to all
of them (no one-liners!) This makes it ideal to disseminate new
research directions, and is a good venue for early stage PhD students
to receive feedback on their work. In addition, we intent to invite
best papers to a journal special issue as we did last year.
Looking forward to your submissions, and to meeting you in Gent!
Best regards,
Loïc Lagadec& Alain Plantec
Co-chairs of IWST
International Workshop on Smalltalk Technologies 2012
August 28th, 2012
Gent, Belgium.
ESUG 2012 Smalltalk joint event
Important dates
Submission deadline: June 15, 2012
Notification deadline: July 15, 2012
All accepted papers will be published in ACM DL, and the authors of
the best papers will be invited to submit an extended version to a
journal special issue (To Be Confirmed).
Goals and scopes
The goals of the workshop is to create a forum around advances or
experience in Smalltalk and to trigger discussions and exchanges of
ideas. Participants are invited to submit research articles. We will
not enforce any length restriction. However we expect papers of two
kinds:
Short position papers describing emerging ideas.
Long research papers with deeper description of experiments and of
research results.
Topics
We welcome contributions on all aspects, theoretical as well as
practical, of Smalltalk related topics such as:
Aspect-oriented programming,
Design patterns,
Experience reports,
Frameworks,
Implementation, new dialects or languages implemented in Smalltalk,
Interaction with other languages,
Meta-programming and Meta-modeling,
Tools
Links
home
page:http://www.esug.org/wiki/pier/Conferences/2012/International-Workshop-…submission:http://www.easychair.org/conferences/?conf=iwst2012
Publication
Both submissions and final papers must be prepared using the ACM
SIGPLAN 10 point format. Templates for Word and LaTeX are available at
http://www.acm.org/sigs/sigplan/authorInformation.htm. This site also
contains links to useful informations on how to write effective
submissions.
Program chairs
Loïc Lagadec and Alain Plantec (LabSticc CACS/CNRS, University of Brest,
France)
Program committee
Gabriela Arevalo Universidad Nacional de Quilmes, Argentina
Alexandre Bergel University of Chile
Andrew P. Black Portland State University, US
Marcus Denker Rmod, INRIA Lille - Nord Europe, France
Luc Fabresse Ecole des Mines de Douai, France,
Tudor Girba CompuGroup Medical Schweiz, Switzerland
Andy Kellens Software Languages Lab, Vrije Universiteit Brussel, Belgium
Mickaël Kerboeuf LabSticc, University of Brest, France
Jannik Laval LaBRI, University of Bordeaux, France
Mariano Martinez Peck Ecole des Mines de Douai, France,
Lukas Renggli Google, Switzerland
Jorge Ressia Software Composition Group, University of Bern, Switzerland
Bastian Steinert HPI, Software Architecture Group, Germany
Hernan Wilkinson 10Pines, IT consultancy, Buenos Aires, Argentina
Roel Wuyts IMEC Leuven, Belgium
A new version of NetworkTests was added to project The Inbox:
http://source.squeak.org/inbox/NetworkTests-dtl.28.mcz
==================== Summary ====================
Name: NetworkTests-dtl.28
Author: dtl
Time: 4 June 2012, 10:21:54.325 pm
UUID: a0572f7a-ba1b-494e-9ed5-6c25a69ec89a
Ancestors: NetworkTests-ul.27
Unit test updates to accompany Network-dtl.123
Minor updates to accommodate SocketAddress versus ByteArray usage.
Provide SocketTestOldNetwork and SocketStreamTestOldNetwork to exercise SocketTest and SocketStreamTest with the NetNameResolver set in UseOldNetwork mode.
=============== Diff against NetworkTests-ul.27 ===============
Item was added:
+ SocketStreamTest subclass: #SocketStreamTestOldNetwork
+ instanceVariableNames: 'originalSetting'
+ classVariableNames: ''
+ poolDictionaries: ''
+ category: 'NetworkTests-Kernel'!
+
+ !SocketStreamTestOldNetwork commentStamp: 'dtl 6/4/2012 21:14' prior: 0!
+ Run the SocketStreamTest tests with NetNameResolver set to use old network protocol. This is intended to verify some degree of backward compatibility. These tests should be eliminated when the UseOldNetwork class variable is eliminated from NetNameResolver. !
Item was added:
+ ----- Method: SocketStreamTestOldNetwork>>setUp (in category 'running') -----
+ setUp
+
+ originalSetting := NetNameResolver useOldNetwork.
+ NetNameResolver useOldNetwork: true.
+ super setUp
+ !
Item was added:
+ ----- Method: SocketStreamTestOldNetwork>>targetClass (in category 'running') -----
+ targetClass
+ ^self class!
Item was added:
+ ----- Method: SocketStreamTestOldNetwork>>tearDown (in category 'running') -----
+ tearDown
+
+ super tearDown.
+ NetNameResolver useOldNetwork: originalSetting
+ !
Item was changed:
----- Method: SocketTest>>testRemoteAddress (in category 'tests') -----
testRemoteAddress
"Tests the various remoteAddress values for sockets"
self testServerAccept.
+ self assert: listenerSocket remoteAddress asByteArray = #[0 0 0 0].
- self assert: listenerSocket remoteAddress = #[0 0 0 0].
self assert: clientSocket remoteAddress = self listenerAddress.
self assert: serverSocket remoteAddress = self listenerAddress.
!
Item was added:
+ SocketTest subclass: #SocketTestOldNetwork
+ instanceVariableNames: 'originalSetting'
+ classVariableNames: ''
+ poolDictionaries: ''
+ category: 'NetworkTests-Kernel'!
+
+ !SocketTestOldNetwork commentStamp: 'dtl 6/4/2012 21:14' prior: 0!
+ Run the SocketTest tests with NetNameResolver set to use old network protocol. This is intended to verify some degree of backward compatibility. These tests should be eliminated when the UseOldNetwork class variable is eliminated from NetNameResolver. !
Item was added:
+ ----- Method: SocketTestOldNetwork>>setUp (in category 'running') -----
+ setUp
+
+ originalSetting := NetNameResolver useOldNetwork.
+ NetNameResolver useOldNetwork: true.
+ super setUp
+ !
Item was added:
+ ----- Method: SocketTestOldNetwork>>tearDown (in category 'running') -----
+ tearDown
+
+ super tearDown.
+ NetNameResolver useOldNetwork: originalSetting
+ !
Edgar J. De Cleene uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections-dtl.476.mcz
==================== Summary ====================
Name: Collections-dtl.476
Author: dtl
Time: 4 June 2012, 10:00:45.896 pm
UUID: 65ba9d43-c6ae-46c2-920e-8d75e2f807df
Ancestors: Collections-bf.475
Adopt ByteArray>>asSocketAddress from Etoys, required for IPV6 socket updates to follow.
=============== Diff against Collections-bf.475 ===============
Item was removed:
- (PackageInfo named: 'Collections') preamble: ''!
Item was added:
+ ----- Method: ByteArray>>asSocketAddress (in category 'converting') -----
+ asSocketAddress
+ ^SocketAddress fromOldByteAddress: self!
Changes to Trunk (http://source.squeak.org/trunk.html) in the last 24 hours:
http://lists.squeakfoundation.org/pipermail/packages/2012-June/005366.html
Name: Installer-Core-bf.357
Ancestors: Installer-Core-cmm.356
Make "Installer squeak" work.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2012-June/005367.html
Name: Morphic-cmm.620
Ancestors: Morphic-cmm.619
- Simply extract the criteria for whether a morph should handle MouseMoveEvents into Morph>>#handleMouseMove: so subclasses can override.
- Moved a few Etoys methods to the Etoys package.
- Make findAFileList: find one without unaccepted edits, so it does not force the user to save just to have a navigable FileList.
- Mark some unused methods as such.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2012-June/005368.html
Name: EToys-cmm.88
Ancestors: EToys-dtl.87
- Move three Etoys-only methods from Morphic.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2012-June/005369.html
Name: Morphic-cmm.619
Ancestors: Morphic-bf.618
- Make mouseMove event handling more-consistent with handling for other events.
- Allow Morphic applications to handle mouseMove: events even if dragging or no button down without having to override a Morphic system-level method (#handleMouseMove:).
- Preserves backward compatibility for now -- legacy conditions get first chance to handle the event.
- Also, moved three Etoys-specific methods to Etoys.
=============================================
Chris Muller uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-cmm.619.mcz
==================== Summary ====================
Name: Morphic-cmm.619
Author: cmm
Time: 23 May 2012, 6:56:59.194 pm
UUID: 9f1584fd-01ce-4dd0-bced-0a92e5ae049b
Ancestors: Morphic-bf.618
- Make mouseMove event handling more-consistent with handling for other events.
- Allow Morphic applications to handle mouseMove: events even if dragging or no button down without having to override a Morphic system-level method (#handleMouseMove:).
- Preserves backward compatibility for now -- legacy conditions get first chance to handle the event.
- Also, moved three Etoys-specific methods to Etoys.
=============== Diff against Morphic-bf.618 ===============
Item was changed:
----- Method: Morph>>handleMouseMove: (in category 'events-processing') -----
handleMouseMove: anEvent
"System level event handling."
anEvent wasHandled ifTrue:[^self]. "not interested"
+ (self handlesMouseMove: anEvent) ifFalse: [ ^ self ].
- "Rules say that by default a morph gets #mouseMove iff
- * the hand is not dragging anything,
- + and some button is down,
- + and the receiver is the current mouse focus."
- (anEvent hand hasSubmorphs) ifTrue:[^self].
- (anEvent anyButtonPressed and:[anEvent hand mouseFocus == self]) ifFalse:[^self].
anEvent wasHandled: true.
self mouseMove: anEvent.
+ (anEvent anyButtonPressed and: [self handlesMouseStillDown: anEvent]) ifTrue:[
- (self handlesMouseStillDown: anEvent) ifTrue:[
"Step at the new location"
self startStepping: #handleMouseStillDown:
at: Time millisecondClockValue
arguments: {anEvent copy resetHandlerFields}
stepTime: self mouseStillDownStepRate ].
!
Item was added:
+ ----- Method: Morph>>handlesMouseMove: (in category 'event handling') -----
+ handlesMouseMove: anEvent
+ "Do I want to receive mouseMove: when the hand passes over the receiver? The default response is false, except if you have added sensitivity to mouseMove: using the on:send:to: mechanism."
+ "The following preserves legacy behavior, but we should consider requiring apps to answer whether they #handlesMouseMove: and deprecating this first sentence."
+ (anEvent hand hasSubmorphs not and:
+ [ anEvent anyButtonPressed and: [ anEvent hand mouseFocus == self ] ]) ifTrue: [ ^ true ].
+ self eventHandler ifNotNil: [ ^ self eventHandler handlesMouseOver: anEvent ].
+ ^ false!
Item was removed:
- ----- Method: Morph>>isCandidateForAutomaticViewing (in category 'e-toy support') -----
- isCandidateForAutomaticViewing
- ^ true!
Item was removed:
- ----- Method: PasteUpMorph>>isCandidateForAutomaticViewing (in category 'e-toy support') -----
- isCandidateForAutomaticViewing
- "A viewer on a world is a dangerous thing to get casually!!"
-
- ^ self isWorldMorph not!
Item was removed:
- ----- Method: SystemWindow>>isCandidateForAutomaticViewing (in category 'events') -----
- isCandidateForAutomaticViewing
- ^ false!