On Mon, Sep 12, 2022 at 10:14 PM Thiede, Christoph < Christoph.Thiede@student.hpi.uni-potsdam.de> wrote:
Hi Tobias, Hi Karl,
I noticed a few packages are empty: Etoys, MonticelloForTraits, MonticelloMocks, ST80Tools, SUnitsTools,
WebClient-HTTP, XML-Explorer
Yeah, these only carry extension methods…
Yes. EToys is interesting, though, as it reveals that PackagePaneBrowser>>#systemCategoryList still uses an insufficient substring mechanism. I will revise that in the next few days. Sorry for the inconvenience.
Etoys would be more than just extensions :-)
…which you can _currently_ only find out via the monticello browser. :(
There is "browse extensions" in the browsers' class list/package menu. :-)
Ok, that explains the most cases
Best, Karl
Best, Christoph
*Von:* Squeak-dev squeak-dev-bounces@lists.squeakfoundation.org im Auftrag von Tobias Pape Das.Linux@gmx.de *Gesendet:* Montag, 12. September 2022 21:58:27 *An:* The general-purpose Squeak developers list *Betreff:* Re: [squeak-dev] The Trunk: Tools-ct.1173.mcz
Hi
On 12. Sep 2022, at 21:41, karl ramberg karlramberg@gmail.com wrote:
I noticed a few packages are empty: Etoys, MonticelloForTraits, MonticelloMocks, ST80Tools, SUnitsTools,
WebClient-HTTP, XML-Explorer
Yeah, these only carry extension methods…
…which you can _currently_ only find out via the monticello browser. :(
Best regards -Tobias
Best, Karl
On Mon, Sep 12, 2022 at 7:12 PM commits@source.squeak.org wrote: Christoph Thiede uploaded a new version of Tools to project The Trunk: http://source.squeak.org/trunk/Tools-ct.1173.mcz
==================== Summary ====================
Name: Tools-ct.1173 Author: ct Time: 8 September 2022, 3:05:12.665836 pm UUID: f0fe2b64-b27c-6d4b-9670-d920d0580baf Ancestors: Tools-ct.1171
Fixes package pane browser to actually use the package organizer instead
of parsing the system category list. Resolves https://github.com/squeak-smalltalk/squeak-object-memory/issues/28.
=============== Diff against Tools-ct.1171 ===============
Item was changed: Browser subclass: #PackagePaneBrowser
instanceVariableNames: 'packageOrganizer package
packageListIndex packageList'
instanceVariableNames: 'package packageListIndex packageList' classVariableNames: '' poolDictionaries: '' category: 'Tools-Browser'!
- !PackagePaneBrowser commentStamp: 'ct 9/8/2022 15:05' prior: 0!
- 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).
- !PackagePaneBrowser commentStamp: '<historical>' prior: 0!
- 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).
Instance Variables:
packageOrganizer <PackageOrganizer> the organizer of
packages in the current environment
package <Symbol> the "category header," e.g., #Magnitudes or
#Collections
packageListIndex <Integer> The index in the package list
packageList <OrderedCollection of String> the list of package
names!
packageList <OrderedCollection of String> the list of package
names
- !
Item was added:
- ----- Method: PackagePaneBrowser>>initialize (in category
'initialize-release') -----
- initialize
super initialize.
self packageOrganizer: self environment packageOrganizer.!
Item was changed: ----- Method: PackagePaneBrowser>>packageList (in category 'package
list') -----
packageList
"Answer a list of the packages in the current system
organization."
^ self packageOrganizer packageNames sorted!
| str stream |
str := Set new: 100.
stream := WriteStream on: (Array new: 100).
systemOrganizer categories do:
[ :categ | | cats |
cats := categ asString copyUpTo: $-.
(str includes: cats) ifFalse:
[str add: cats.
stream nextPut: cats]].
^stream contents!
Item was added:
- ----- Method: PackagePaneBrowser>>packageOrganizer (in category
'accessing') -----
- packageOrganizer
^ packageOrganizer!
Item was added:
- ----- Method: PackagePaneBrowser>>packageOrganizer: (in category
'initialize-release') -----
- packageOrganizer: aPackageOrganizer
packageOrganizer := aPackageOrganizer.
self systemOrganizer: self systemOrganizer. "reset selections"!
Item was added:
- ----- Method: PackagePaneBrowser>>selectEnvironment: (in category
'accessing') -----
- selectEnvironment: anEnvironment
super selectEnvironment: anEnvironment.
self packageOrganizer: anEnvironment packages.!