<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from text --><style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<meta content="text/html; charset=UTF-8">
<style type="text/css" style="">
<!--
p
        {margin-top:0;
        margin-bottom:0}
-->
</style>
<div dir="ltr">
<div id="x_divtagdefaultwrapper" dir="ltr" style="font-size:12pt; color:#000000; font-family:Calibri,Helvetica,sans-serif">
<p>Hi Tobias, Hi Karl,</p>
<p><br>
</p>
<p>> <span style="font-size:12pt">> I noticed a few packages are empty:</span></p>
<div>> > Etoys, MonticelloForTraits, MonticelloMocks, ST80Tools, SUnitsTools, WebClient-HTTP, XML-Explorer</div>
<div>> </div>
<div>> Yeah, these only carry extension methods…</div>
<div><br>
</div>
<div>Yes. EToys is interesting, though, as it reveals that <span>PackagePaneBrowser>>#systemCategoryList still uses an insufficient substring mechanism</span>. I will revise that in the next few days. Sorry for the inconvenience.</div>
<p></p>
<p><br>
</p>
<p>> <span style="font-size:12pt">…which you can _currently_ only find out via the monticello browser. :(</span></p>
<div><br>
</div>
<div>There is "browse extensions" in the browsers' class list/package menu. :-)</div>
<div><br>
</div>
<div><img size="60639" id="x_img52464" tabindex="0" style="max-width:99.9%" src="cid:f719b6bd-aedf-47ee-a7b0-ba8de35d96fb"><br>
</div>
<div><br>
</div>
<div>Best,</div>
<div>Christoph</div>
<p></p>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>Von:</b> Squeak-dev <squeak-dev-bounces@lists.squeakfoundation.org> im Auftrag von Tobias Pape <Das.Linux@gmx.de><br>
<b>Gesendet:</b> Montag, 12. September 2022 21:58:27<br>
<b>An:</b> The general-purpose Squeak developers list<br>
<b>Betreff:</b> Re: [squeak-dev] The Trunk: Tools-ct.1173.mcz</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">Hi<br>
<br>
<br>
> On 12. Sep 2022, at 21:41, karl ramberg <karlramberg@gmail.com> wrote:<br>
> <br>
> <br>
> I noticed a few packages are empty:<br>
> Etoys, MonticelloForTraits, MonticelloMocks, ST80Tools, SUnitsTools, WebClient-HTTP, XML-Explorer<br>
<br>
Yeah, these only carry extension methods…<br>
<br>
…which you can _currently_ only find out via the monticello browser. :(<br>
<br>
Best regards<br>
        -Tobias<br>
<br>
> <br>
> Best,<br>
> Karl<br>
> <br>
> On Mon, Sep 12, 2022 at 7:12 PM <commits@source.squeak.org> wrote:<br>
> Christoph Thiede uploaded a new version of Tools to project The Trunk:<br>
> <a href="http://source.squeak.org/trunk/Tools-ct.1173.mcz">http://source.squeak.org/trunk/Tools-ct.1173.mcz</a><br>
> <br>
> ==================== Summary ====================<br>
> <br>
> Name: Tools-ct.1173<br>
> Author: ct<br>
> Time: 8 September 2022, 3:05:12.665836 pm<br>
> UUID: f0fe2b64-b27c-6d4b-9670-d920d0580baf<br>
> Ancestors: Tools-ct.1171<br>
> <br>
> Fixes package pane browser to actually use the package organizer instead of parsing the system category list. Resolves
<a href="https://github.com/squeak-smalltalk/squeak-object-memory/issues/28">https://github.com/squeak-smalltalk/squeak-object-memory/issues/28</a>.<br>
> <br>
> =============== Diff against Tools-ct.1171 ===============<br>
> <br>
> Item was changed:<br>
>   Browser subclass: #PackagePaneBrowser<br>
> +       instanceVariableNames: 'packageOrganizer package packageListIndex packageList'<br>
> -       instanceVariableNames: 'package packageListIndex packageList'<br>
>         classVariableNames: ''<br>
>         poolDictionaries: ''<br>
>         category: 'Tools-Browser'!<br>
> <br>
> + !PackagePaneBrowser commentStamp: 'ct 9/8/2022 15:05' prior: 0!<br>
> + A package browser represents a hierarchical query path through an organization of class and method information.   It nests classes into a two-level hierarchy that consists of the package (e.g., Kernel, FFI-Kernel) and the system category (e.g., Exception,
 Exceptions-Kernel; Support, empty).<br>
> - !PackagePaneBrowser commentStamp: '<historical>' prior: 0!<br>
> - A package browser represents a hierarchical query path through an organization of class and method information.   It parses class categories into a two-level hierarchy on the first '-' character, giving "packages" (e.g.,  Magnitude, Collections, Graphics,
 etc.), and "categories" (e.g., Magnitude-General and Magnitude-Number).<br>
> <br>
>   Instance Variables:<br>
> +       packageOrganizer        <PackageOrganizer> the organizer of packages in the current environment<br>
>         package  <Symbol> the "category header," e.g., #Magnitudes or #Collections<br>
>         packageListIndex <Integer> The index in the package list<br>
> +       packageList  <OrderedCollection of String> the list of package names!<br>
> -       packageList  <OrderedCollection of String> the list of package names<br>
> - !<br>
> <br>
> Item was added:<br>
> + ----- Method: PackagePaneBrowser>>initialize (in category 'initialize-release') -----<br>
> + initialize<br>
> + <br>
> +       super initialize.<br>
> +       <br>
> +       self packageOrganizer: self environment packageOrganizer.!<br>
> <br>
> Item was changed:<br>
>   ----- Method: PackagePaneBrowser>>packageList (in category 'package list') -----<br>
>   packageList<br>
> -       "Answer a list of the packages in the current system organization."<br>
> <br>
> +       ^ self packageOrganizer packageNames sorted!<br>
> -       | str stream |<br>
> -       str := Set new: 100.<br>
> -       stream := WriteStream on: (Array new: 100).<br>
> -       systemOrganizer categories do:<br>
> -               [ :categ | | cats | <br>
> -               cats := categ asString copyUpTo: $-.<br>
> -               (str includes: cats) ifFalse: <br>
> -                       [str add: cats.<br>
> -                       stream nextPut: cats]].<br>
> -       ^stream contents!<br>
> <br>
> Item was added:<br>
> + ----- Method: PackagePaneBrowser>>packageOrganizer (in category 'accessing') -----<br>
> + packageOrganizer<br>
> + <br>
> +       ^ packageOrganizer!<br>
> <br>
> Item was added:<br>
> + ----- Method: PackagePaneBrowser>>packageOrganizer: (in category 'initialize-release') -----<br>
> + packageOrganizer: aPackageOrganizer<br>
> + <br>
> +       packageOrganizer := aPackageOrganizer.<br>
> +       <br>
> +       self systemOrganizer: self systemOrganizer. "reset selections"!<br>
> <br>
> Item was added:<br>
> + ----- Method: PackagePaneBrowser>>selectEnvironment: (in category 'accessing') -----<br>
> + selectEnvironment: anEnvironment<br>
> + <br>
> +       super selectEnvironment: anEnvironment.<br>
> +       self packageOrganizer: anEnvironment packages.!<br>
> <br>
> <br>
> <br>
<br>
<br>
<br>
</div>
</span></font>
</body>
</html>