Eliot Miranda uploaded a new version of Monticello to project The Trunk:
http://source.squeak.org/trunk/Monticello-eem.737.mcz
==================== Summary ====================
Name: Monticello-eem.737
Author: eem
Time: 12 April 2021, 11:31:38.465056 am
UUID: 015970f1-92a9-4e6b-b0a2-9d6deba9d725
Ancestors: Monticello-mt.736
Eliminate shadowed variable warning(s).
=============== Diff against Monticello-mt.736 ===============
Item was changed:
----- Method: MCRepositoryInspector>>save (in category 'actions') -----
save
self pickRepository ifNotNil:
+ [:repo |
+ (self repository = MCRepository inbox
+ and: [repo = MCRepository trunk or: [repo = MCRepository treated]]) ifTrue:
+ [self notify: 'Versions from the inbox should only be moved, not copied. Instead, use the web interface via source.squeak.org to manage inbox contributions.\\Do you want to proceed anyway?' translated withCRs].
+ repo storeVersion: self version]!
- [:repository |
- (self repository = MCRepository inbox and:
- [repository = MCRepository trunk or: [repository = MCRepository treated]]) ifTrue:
- [self notify: 'Versions from the inbox should only be moved, not copied. Instead, use the web interface via source.squeak.org to manage inbox contributions.\\Do you want to proceed anyway?' translated withCRs].
- repository storeVersion: self version]!
Hi all,
In order to purge the inbox, I've been in the process of reviewing
brainfuck code (a very slow process). While at it, I decided to
revisit the solution for nested exception handlers (see
testHandlerFromAction).
There are two similar and obsolete fixes in the inbox (due to
ContextPart->Context transition), Kernel-nice.857 and Kernel-fbs.870
(backported from Cuis) that I moved to treated inbox for that reason.
https://source.squeak.org/treated/Kernel-nice.857.diffhttps://source.squeak.org/treated/Kernel-fbs.870.diff
Alas, those two solutions break the very peculiar expectations of
testHandlerReentrancy. This is a pity, because to my knowledge, those
expectations are essential for Tweak and Croquet.
There was a previous attempt from Andreas which was more a simple hack
in handleSignal:, that is to disable the handler by setting the temp
variable handlerActive in on:do: to false (self tempAt: 3 put: false).
I've generalized this solution.
https://source.squeak.org/treated/Kernel-ar.540.diff
However, there are several reasons why this does not work: the first
one, objected by Julian Fitzell here
http://lists.squeakfoundation.org/pipermail/squeak-dev/2011-January/156453.…
is that the handler must be able to handle a secondary exception
raised by the defaultAction. We can find similar expectations with
other exception handling, like resignalAs (I will publish another test
soon).
However, there is some simple strategy: before resuming the exception,
scan the context stack a second time so as to rearm the exception
handlers that we disabled during handleSignal:.
The major drawback, is that I have to spread a few self
reactivateHandlers here and there, virtually before every send of
#resumedUnchecked:.
The second drawback is that scanning the stack a second time is not
the most economical solution, but I don't care too much, we have to
make it right first.
If you find the courage to review, or more easily just to test it,
find it in the inbox...
Oups, I accidentally published in trunk...
Well the review will be forced, if you don't like it, admin please
remove or revert.
Sorry.
Nicolas Cellier uploaded a new version of Network to project The Trunk:
http://source.squeak.org/trunk/Network-nice.246.mcz
==================== Summary ====================
Name: Network-nice.246
Author: nice
Time: 12 April 2021, 5:35:00.782058 pm
UUID: 09001f79-2f03-bb46-be00-2b54f5b89d36
Ancestors: Network-mt.245
Redo the fix from Network-ct.242 with a slighlty different implementation:
1) use exception retry
2) avoid using in: aBlock where a temporary would do the job.
Thanks to Christophe for original report and fix!
(https://source.squeak.org/treated/Network-ct.242.diff)
Original commit message below:
Fixes two MNUs that can occur during connecting to an unavailable network resource.
Bug #1 (stream>>>#timeout:)
Steps to reproduce:
1. Start your image while an internet connection is available. Make any connection attempt (e.g. refresh a Monticello HTTP(s) repository) to ensure that the network is initialized (NetNameResolver initializeNetwork).
2. There are two alternative scenarios:
2.(i) Do it:
WebClient httpGet: 'https://foo.bar'.
2.(ii) Turn off your internet connection (e.g. disable your WLAN adapter). Then make another connection attempt.
In both scenarios, you will see the following error:
MessageNotUnderstood: UndefinedObject>>timeout: (stream)
WebClient>>connect
WebClient>>sendRequest:contentBlock:
...
This bug occurred because there was no check for the presence of any network socket for the request host/port.
Bug #2 (#findNextHandlerContextStarting):
Steps to reproduce:
Do it:
WebClient httpGet: 'https://'.
Error:
MessageNotUnderstood: UndefinedObject>>findNextHandlerContextStarting
Context>>nextHandlerContext
ConnectionRefused(Exception)>>pass
...
=============== Diff against Network-mt.245 ===============
Item was changed:
----- Method: SocketStream class>>openConnectionToHostNamed:port: (in category 'instance creation') -----
openConnectionToHostNamed: hostName port: portNumber
+ | addressInformations stream |
NetNameResolver useOldNetwork
ifTrue: [ | hostIP |
hostIP := NetNameResolver addressForName: hostName timeout: 20.
hostIP ifNil: [NetworkError signal: ('Cannot resolve {1}.' format: {hostName})].
+ ^self openConnectionToHost: hostIP port: portNumber].
+ addressInformations := SocketAddressInformation
+ forHost: hostName
+ service: portNumber asString
+ flags: 0
+ addressFamily: 0
+ socketType: SocketAddressInformation socketTypeStream
+ protocol: SocketAddressInformation protocolTCP.
+ addressInformations ifEmpty: [
+ NoNetworkError signal: ('Could not find a network for {1} on port {2}' translated format: {hostName. portNumber})].
+ stream := addressInformations readStream.
+ ^ [self on: stream next connect] on: NetworkError
+ do: [:exc | stream atEnd
+ ifTrue:
+ ["No more address to retry, pass the exception to upper level"
+ exc pass]
+ ifFalse:
+ ["retry with next address"
+ exc retry]].!
- ^self openConnectionToHost: hostIP port: portNumber]
- ifFalse: [| addressInformations lastError |
- addressInformations := SocketAddressInformation
- forHost: hostName
- service: portNumber asString
- flags: 0
- addressFamily: 0
- socketType: SocketAddressInformation socketTypeStream
- protocol: SocketAddressInformation protocolTCP.
- addressInformations do: [:addressInformation |
- [^ self on: addressInformation connect] on: NetworkError do: [:e | lastError := e]].
- ^ lastError ifNotNil: [:e | e pass]]!
Nicolas Cellier uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-nice.1034.mcz
==================== Summary ====================
Name: Tools-nice.1034
Author: nice
Time: 10 April 2021, 10:41:23.083509 pm
UUID: fe72aa70-5707-479b-a576-e2950cfcf6a3
Ancestors: Tools-mt.1033
Quick fix for enabling search of references to a number or other literal from within a message list
Example:
86400 cmd+n
$a cmd+n
#(0) cmd+n
Note: it won't necessarily highlight numbers formatted differently like 16rFF for 255...
This would probably require AST based search.
=============== Diff against Tools-mt.1033 ===============
Item was changed:
----- Method: MessageTrace>>addParentMethodsSending: (in category 'building') -----
addParentMethodsSending: selectorSymbol
| methodsList |
(methodsList := self systemNavigation allCallsOn: selectorSymbol) isEmpty
ifTrue:
[ ^(PopUpMenu labels: ' OK ')
startUpWithCaption: 'There are no methods that send ', selectorSymbol ]
ifFalse:
[ self
addParentMessages: methodsList
+ autoSelectString: selectorSymbol asString]!
- autoSelectString: selectorSymbol ]
- !
Marcel Taeumel uploaded a new version of Network to project The Trunk:
http://source.squeak.org/trunk/Network-mt.245.mcz
==================== Summary ====================
Name: Network-mt.245
Author: mt
Time: 12 April 2021, 9:12:16.314134 am
UUID: b6adb21b-aa53-2341-9ef4-2220394f68d3
Ancestors: Network-ct.244, Network-pre.244
Merges ancestry.
=============== Diff against Network-ct.244 ===============
Item was removed:
- ----- Method: SocketStream>>receiveDataIfAvailable (in category 'private-socket') -----
- receiveDataIfAvailable
- "Deprecated. Use #receiveAvailableData instead"
-
- ^self receiveAvailableData!