A new version of ST80 was added to project The Inbox:
http://source.squeak.org/inbox/ST80-jr.245.mcz
==================== Summary ====================
Name: ST80-jr.245
Author: jr
Time: 24 November 2019, 4:13:20.610968 pm
UUID: c21afa71-82ce-c94a-a0fd-dfcd010d49c9
Ancestors: ST80-mt.244
Make class list in "explain" output easier to consume.
"... in these classes: an OrderedCollection(...)" is not really human-friendly.
Now it prints Squeak array syntax {A . B . C}, which is still technical, but handy to copy&paste to methods or workspaces if needed.
=============== Diff against ST80-mt.244 ===============
Item was changed:
----- Method: ParagraphEditor>>explainAnySel: (in category 'explain') -----
explainAnySel: symbol
"Is this any message selector?"
| list reply |
list := self systemNavigation allClassesImplementing: symbol.
list size = 0 ifTrue: [^nil].
list size < 12
+ ifTrue: [reply := ' is a message selector which is defined in these classes: ' , list asArray printString]
- ifTrue: [reply := ' is a message selector which is defined in these classes ' , list printString]
ifFalse: [reply := ' is a message selector which is defined in many classes'].
^'"' , symbol , reply , '."' , '\' withCRs, 'SystemNavigation new browseAllImplementorsOf: #' , symbol!
A new version of Morphic was added to project The Inbox:
http://source.squeak.org/inbox/Morphic-jr.1593.mcz
==================== Summary ====================
Name: Morphic-jr.1593
Author: jr
Time: 24 November 2019, 4:09:46.350968 pm
UUID: a31f6451-b4c4-8549-b955-db51806e2477
Ancestors: Morphic-mt.1592
Backported From: Morphic-jr.1593
Make class list in "explain" output easier to consume.
"... in these classes: an OrderedCollection(...)" is not really human-friendly.
Now it prints Squeak array syntax {A . B . C}, which is still technical, but handy to copy&paste to methods or workspaces if needed.
=============== Diff against Morphic-mt.1592 ===============
Item was changed:
----- Method: TextEditor>>explainAnySel: (in category 'explain') -----
explainAnySel: symbol
"Is this any message selector?"
| list reply |
list := self systemNavigation allClassesImplementing: symbol.
list size = 0 ifTrue: [^nil].
list size < 12
+ ifTrue: [reply := ' is a message selector which is defined in these classes: ' , list asArray printString]
- ifTrue: [reply := ' is a message selector which is defined in these classes ' , list printString]
ifFalse: [reply := ' is a message selector which is defined in many classes'].
^'"' , symbol , reply , '."' , '\' withCRs, 'SystemNavigation new browseAllImplementorsOf: #' , symbol!
Nicolas Cellier uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-nice.1282.mcz
==================== Summary ====================
Name: Kernel-nice.1282
Author: nice
Time: 22 November 2019, 5:54:28.478745 pm
UUID: 70d4bc61-04e8-4cfd-befb-1b23f3f13953
Ancestors: Kernel-mt.1281
Let complex print the correct signBit of its imaginary part in case of negativeZero.
Note: the signBit are not preserved upon reinterpretation.
That's a problem of representation via arithmetic operation 1 + 2 i
because we have this
0.0 - 0.0 -> 0.0
0.0 + (-0.0) -> 0.0
(-0.0) + (-0.0) -> -0.0
(-0.0) - 0.0 -> -0.0
=============== Diff against Kernel-mt.1281 ===============
Item was changed:
----- Method: Complex>>printOn: (in category 'printing') -----
printOn: aStream
real printOn: aStream.
aStream nextPut: Character space.
+ imaginary signBit = 0
- 0 <= imaginary
ifTrue: [aStream nextPut: $+]
ifFalse: [aStream nextPut: $-].
aStream nextPut: Character space.
imaginary abs printOn: aStream.
aStream nextPut: Character space.
aStream nextPut: $i
!
Item was changed:
----- Method: Complex>>printOn:showingDecimalPlaces: (in category 'printing') -----
printOn: aStream showingDecimalPlaces: placesDesired
real printOn: aStream showingDecimalPlaces: placesDesired.
aStream nextPut: Character space.
+ imaginary signBit = 0
- 0 <= imaginary
ifTrue: [aStream nextPut: $+]
ifFalse: [aStream nextPut: $-].
aStream nextPut: Character space.
imaginary abs printOn: aStream showingDecimalPlaces: placesDesired.
aStream nextPut: Character space.
aStream nextPut: $i
!
Marcel Taeumel uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-ct.1278.mcz
==================== Summary ====================
Name: Kernel-ct.1278
Author: ct
Time: 1 November 2019, 7:18:08.038562 pm
UUID: 1b93aa78-abca-b441-b409-9b58f1b2d2bf
Ancestors: Kernel-nice.1277
Fix a bug in #valueSupplyingAnswers:. If the pattern is not a regex, a RegexSyntaxError may be raised.
"Now works:"
[self inform: 'Hello world']
valueSupplyingAnswers: #(('*foo*' nil))
=============== Diff against Kernel-nice.1277 ===============
Item was changed:
----- Method: BlockClosure>>valueSupplyingAnswers: (in category 'evaluating') -----
valueSupplyingAnswers: aListOfPairs
"evaluate the block using a list of questions / answers that might be called upon to
automatically respond to Object>>confirm: or FillInTheBlank requests"
^self
on: ProvideAnswerNotification
do: [ :notification |
| caption |
caption := notification messageText withSeparatorsCompacted. "to remove new lines"
aListOfPairs
detect: [ :each |
caption = each first
or: [ (caption includesSubstring: each first caseSensitive: false)
or: [ (each first match: caption)
or: [ (caption respondsTo: #matchesRegex:)
+ and: [ [caption matchesRegex: each first] on: RegexSyntaxError do: [false] ] ] ] ] ]
- and: [ caption matchesRegex: each first ] ] ] ] ]
ifFound: [ :answer | notification resume: answer second ]
ifNone: [
(ProvideAnswerNotification signal: notification messageText)
ifNil: [ notification resume ]
ifNotNil: [ :outerAnswer | notification resume: outerAnswer ] ] ]!