On 11/25/15, Frank Shearar <frank.shearar(a)gmail.com> wrote:
> On 24 November 2015 at 21:09, H. Hirzel <hannes.hirzel(a)gmail.com> wrote:
>> On 11/21/15, Chris Muller <asqueaker(a)gmail.com> wrote:
>>> On Fri, Nov 20, 2015 at 12:40 PM, tim Rowledge <tim(a)rowledge.org> wrote:
>>>> I suggest we should Universes.
>>> +1. +1. +1 and, +1.
..
>
> I was under the impression that Universes _was removed_, like, back in
> 4.4 or the beginning of the 4.5 cycle, when I was up to my eyeballs in
> hairy dependencies... Certainly the build processes think so -
> https://github.com/squeak-smalltalk/squeak-ci/blob/master/package-load-scri…
> is the _load script_ for Universes (implying its _unloaded by default_
> state).
>
> frank
>
>> I think this has been discussed before the release of 4.6 and people
>> agreed but at that time it was to late to do it.
>>
>> --Hannes
>>
>
>
Hi Frank
Indeed I do not see a Universe browser in the app menu of Squeak 5.0.
However there seem to be some classes left in the system, see screen shot.
So there was removal but it seems it was not done completely.
Hello
The recipe: How to list all global variables [1]
has the code snippet
Smalltalk keys
select:
[:k | ((Smalltalk at: k) isKindOf: Class) not]
thenCollect:
[:k | k -> (Smalltalk at: k) class]
to give a list of global variables.
When executing this code the recommendation is to use
Smalltalk globals
instead of
Smalltalk keys
A rewrite because of Environments not having #select:thenCollect: (I
do not think that is necessary) then is
(Smalltalk globals select: [:k | ((Smalltalk at: k) isKindOf: Class) not])
collect: [:k | k -> (Smalltalk at: k) class]
Then I get 'key not found: ExtendedNumberParser'.
I wonder what is going on here ...
Regards
Hannes
[1] http://wiki.squeak.org/squeak/1824
"repository editions" is finally permanent! This function formerly
known as "mc history" appeared in 2013, but was clunky and unreliable
and I didn't have time to fix it.
Now with the recent server upgrade, I took the opportunity to upgrade
the image to modern trunk, running under spur, with integration of the
editions feature from directly within the image. It is now finally a
permanent part of our source.squeak.org code repository. (Go ahead,
try it!)
It self-hosts its own code within our "ss" project. This is the exact
same code loaded by the Personal Squeaksource package. Together can
provide editions for ALL code (trunk and proprietary).
The 'mc history' menu was recently renamed to "browse repository
editions" because its only "history" if its retrieving them from the
trunk repository. It selects from the first repository in the
repository list of a package which can satisfy the editions request,
so if you put inbox above trunk then you'll be looking at a list of
"alternate editions" of that method (or class) existing in the Inbox,
not the "history" from trunk. The new "demote to bottom" menu item
can be used to adjust the order of the list.
Nicolas wrote:
> so you mean that we now browse all editions, including those which are not
> in current MC version ancestors:
> - those in concurrent branches
Yes. And, I think this was always supported (when it worked!) -- In
the server there is one big dictionary per Project (e.g., one for
"trunk", one for "VMMaker", one for "inbox", etc.). The editions you
see in the list are instances of MCMethodDefinition or
MCClassDefinition which are keyed simply by their #description -- so
for method editions this is {className. selector. classIsMeta}, and
for class editions, simply its (class) name. Its valued by an
OrderedCollection of all the editions. (hmm, that key might be too
loose..)
> - those in other packages (if the method was moved from one package to
> another)
So, yes, as long as the other package is in the same repository,
they'll still be keyed by their same #description's.
On Tue, 1 Nov 2016, Hans-Martin Mosner wrote:
> Looks like there is a regression with raised and inset borders. The method #initialize in SimpleBorder sets baseColor to
> ... snip...
>
> Levente, the method is from April 2016 and carries your initials - do you remember what the motivation for this change was?
I'd been wanting encourage Hans-Martin to test this real-world use
case for "browse origin" for the last weeks, now we finally can! :)
1) Bring up SimpleBorder, select the #initialize method.
2) Select "browse repository editions", a window with two editions
is presented.
3) Select the one being asked about, "ul 4/7/2016 20:10" and select
"browse origin".
NOTE: "browse origin" is actually just "the earliest-known Version in
which that definition appears." If a proper repository with all
versions is kept, then it will be the origin.
In this case, it appears Levente wrote very good "why" reasoning in the notes.
_____
The timeouts should all be fixed. Our code repository has never been
in a better shape than now. Please feel free to use browse repository
editions and origins with confidence they will work!
Cheers!
Chris
A new version of EToys was added to project The Inbox:
http://source.squeak.org/inbox/EToys-hjh.279.mcz
==================== Summary ====================
Name: EToys-hjh.279
Author: hjh
Time: 22 February 2017, 11:23:24.984746 am
UUID: 3f908905-74c3-4c1c-931c-7b440b143602
Ancestors: EToys-dtl.278
Two steps towards loading an EToys projects dropped on to the desktop.
Change
StandardScriptingSystem>>baseColor
StandardScriptingSystem>>borderColor
to use UserInterfaceTheme current instead of the old direct access to Preferences.
=============== Diff against EToys-dtl.278 ===============
Item was changed:
----- Method: StandardScriptingSystem>>baseColor (in category '*Etoys-Squeakland-tile colors') -----
baseColor
+ ^ (UserInterfaceTheme current get: #titleColor for: #MenuMorph) ifNil: [ Color transparent]!
- ^ Preferences menuTitleColor!
Item was changed:
----- Method: StandardScriptingSystem>>borderColor (in category '*Etoys-Squeakland-tile colors') -----
borderColor
+ ^ (UserInterfaceTheme current get: #borderColor for: #MenuMorph) ifNil: [(Color r: 0.2 g: 0.3 b: 0.9)]!
- ^ Preferences menuBorderColor!
A new version of MultilingualTests was added to project The Inbox:
http://source.squeak.org/inbox/MultilingualTests-tonyg.22.mcz
==================== Summary ====================
Name: MultilingualTests-tonyg.22
Author: tonyg
Time: 23 February 2017, 2:01:47.977527 pm
UUID: 76769ce3-a15d-46a7-acbd-8acfbd56fcc9
Ancestors: MultilingualTests-pre.21
Test cases from Mantis #4665.
=============== Diff against MultilingualTests-pre.21 ===============
Item was added:
+ ----- Method: MultiByteFileStreamTest>>testUpToAllAscii (in category 'testing') -----
+ testUpToAllAscii
+ "This test case is inspired by Mantis #4665."
+ "Compare to testUpToAllUtf."
+
+ | in out fn resultA resultB |
+ fn :='testUpToAll.in'.
+ out := FileDirectory default forceNewFileNamed: fn.
+ out nextPutAll: 'A<'. "Encodes to byte sequence 413C"
+ out close.
+
+ in := FileDirectory default readOnlyFileNamed: fn.
+ resultA := in upToAll: '<'.
+ in close.
+
+ in := FileDirectory default readOnlyFileNamed: fn.
+ resultB := in upTo: $<.
+ in close.
+
+ self assert: resultA = resultB
+ !
Item was added:
+ ----- Method: MultiByteFileStreamTest>>testUpToAllUtf (in category 'testing') -----
+ testUpToAllUtf
+ "This test case is adapted from Mantis #4665."
+ "MultiByteFileStream was relying on PositionableStream>>#match: to discover the position immediately following the delimiter collection. It would then use #next: to retrieve a number of *characters* computed as the difference in stream positions. However, stream positions are measured in *bytes*, not characters, so this would lead to misalignment when the skipped text included UTF-8 encoded characters."
+
+ | in out fn resultA resultB |
+ fn :='testUpToAll.in'.
+ out := FileDirectory default forceNewFileNamed: fn.
+ out nextPutAll: 231 asCharacter asString, '<'. "Encodes to byte sequence C3A73C"
+ out close.
+
+ in := FileDirectory default readOnlyFileNamed: fn.
+ resultA := in upToAll: '<'.
+ in close.
+
+ in := FileDirectory default readOnlyFileNamed: fn.
+ resultB := in upTo: $<.
+ in close.
+
+ self assert: resultA = resultB
+ !
Hi folks--
I've released Caffeine, an in-browser IDE for livecoding JS
frameworks from SqueakJS. It effectively turns a webpage into an interim
dynabook. :) There are also new demos of...
- Snowglobe (Smalltalk app streaming and remote GUI access)
- HTML5 Morphic (each Morphic window on its own HTML5 canvas,
relieving much of the computation burden on SqueakJS)
- morphic.js (Jens Mönig's great standalone implementation of
Morphic, which is much faster than the current SqueakJS Morphic)
- three.js (WebGL 3D graphics)
See the announcement on my blog at [1]. I would love any feedback
you might have, and to collaborate on new use cases.
thanks!
-C
***
[1] https://thiscontext.com/2017/06/22/caffeine-livecode-the-web
--
Craig Latta
Black Page Digital
Amsterdam :: San Francisco
craig(a)blackpagedigital.com
+31 6 2757 7177 (SMS ok)
+ 1 415 287 3547 (no SMS)