<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Sep 12, 2022 at 10:14 PM Thiede, Christoph <<a href="mailto:Christoph.Thiede@student.hpi.uni-potsdam.de">Christoph.Thiede@student.hpi.uni-potsdam.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="msg839739125769443313">





<div>


<div dir="ltr">
<div id="m_1408343530533579753x_divtagdefaultwrapper" dir="ltr" style="font-size:12pt;color:rgb(0,0,0);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></div></div></div></div></blockquote><div>Etoys would be more than just extensions :-)</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="msg839739125769443313"><div><div dir="ltr"><div id="m_1408343530533579753x_divtagdefaultwrapper" dir="ltr" style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif"><p>
</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></div></div></div></blockquote><div>Ok, that explains  the most cases</div><div><br></div><div>Best,</div><div>Karl</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="msg839739125769443313"><div><div dir="ltr"><div id="m_1408343530533579753x_divtagdefaultwrapper" dir="ltr" style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif">
<div><br>
</div>
<div><img size="60639" id="m_1408343530533579753x_img52464" style="max-width: 99.9%;" src="cid:183335d79b1f456b1e51"><br>
</div>
<div><br>
</div>
<div>Best,</div>
<div>Christoph</div>
<p></p>
</div>
<hr style="display:inline-block;width:98%">
<div id="m_1408343530533579753x_divRplyFwdMsg" dir="ltr"><font style="font-size:11pt" face="Calibri, sans-serif" color="#000000"><b>Von:</b> Squeak-dev <<a href="mailto:squeak-dev-bounces@lists.squeakfoundation.org" target="_blank">squeak-dev-bounces@lists.squeakfoundation.org</a>> im Auftrag von Tobias Pape <<a href="mailto:Das.Linux@gmx.de" target="_blank">Das.Linux@gmx.de</a>><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>Hi<br>
<br>
<br>
> On 12. Sep 2022, at 21:41, karl ramberg <<a href="mailto:karlramberg@gmail.com" target="_blank">karlramberg@gmail.com</a>> 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 <<a href="mailto:commits@source.squeak.org" target="_blank">commits@source.squeak.org</a>> 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" target="_blank">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" target="_blank">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>
</div>

<br>
</div></blockquote></div></div>