Hi Marcel,<br>
<br>
> Instead, please try to figure out how it can happen that nil find its way into the package organizer.<br>
<br>
I don't see why you suspect the package organizer here. :-) If no category is selected in the browser, it is a logical consequence that <font color="#FF0000">selectedSystemCategory</font> answers nil, isn't it?<br>
<br>
> > To reproduce the bug, open a system browser, focus the system category list without selecting any item, and press Escape.<br>
> <br>
> I cannot reproduce this bug.<br>
<br>
I can reproduce it with our latest nightly built image. See the attached screencast. :-)<br>
<br>
Best,<br>
Christoph<br>
<br>
<font color="#808080">---<br>
</font><font color="#808080"><i>Sent from </i></font><font color="#808080"><i><a href="https://github.com/hpi-swa-lab/squeak-inbox-talk"><u><font color="#808080">Squeak Inbox Talk</font></u></a></i></font><br>
<br>
On 2022-03-28T09:24:19+02:00, marcel.taeumel@hpi.de wrote:<br>
<br>
> Hi Christoph --<br>
> <br>
> > Am I missing anything else here?<br>
> <br>
> You just found another place for this unnecessary ifNil-check. ;-) Instead, please try to figure out how it can happen that nil find its way into the package organizer.<br>
> <br>
> -1 on Tools-ct.1145 (inbox)<br>
> <br>
> > To reproduce the bug, open a system browser, focus the system category list without selecting any item, and press Escape.<br>
> <br>
> I cannot reproduce this bug. I suppose that my "PackageOrganizer default" does not have a strange nil package in it. ;-)<br>
> <br>
> Best,<br>
> Marcel<br>
> <br>
> Am 26.03.2022 16:44:57 schrieb Thiede, Christoph <christoph.thiede at student.hpi.uni-potsdam.de>:<br>
> Hi Marcel, hi Lauren,<br>
> <br>
> I suggested an alternative fix to this problem in Tools-ct.1145 (inbox). Am I missing anything else here?<br>
> <br>
> To reproduce the bug, open a system browser, focus the system category list without selecting any item, and press Escape.<br>
> <br>
> Best,<br>
> Christoph<br>
> Von: Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im Auftrag von Lauren Pullen <drurowin at gmail.com><br>
> Gesendet: Montag, 14. März 2022 21:18:53<br>
> An: squeak-dev at lists.squeakfoundation.org<br>
> Betreff: Re: [squeak-dev] The Inbox: Tools-lrnp.1140.mcz<br>
>  <br>
> Hi Marcel,<br>
> <br>
> On 3/14/22 11:59, Marcel Taeumel wrote:<br>
> > This will raise a debugger:<br>
> >    PackageOrganizer default packageOfSystemCategory: nil<br>
> ><br>
> ><br>
> > This will not raise a debugger:<br>
> >    PackageOrganizer default packageOfSystemCategory: nil ifNone: nil<br>
> ... Very strange.  Both raise a debugger on MNU for me in<br>
> mac-alpha6.0-21442-x64.<br>
> <br>
> I'll append my list at the end.  I'm curious what yours is, since you<br>
> don't have the problem.<br>
> <br>
> >>  and noticed PackageInfo handles the nil system category as never yourself<br>
> ><br>
> > I don't understand what you mean here. :-/<br>
> Sorry for the poor wording.<br>
> <br>
> PackageInfo>>category:matches: starts with a test for categoryName isNil<br>
> and returns false in that case.<br>
> >> That discovered, I still think putting a short circuit return in<br>
> >> PackageOrganizer makes sense. If nil means 'not me', why spend time<br>
> >> enumerating? <br>
> ><br>
> > Well, you suggest a typical "ifNil"-check. The contract in #packageOfSystemCategory:ifNone: is that only valid system categories are used as the "aSystemCategory" argument. Providing 'nil' is not a valid system category. Now, anything can happen. Usually, we rely on the fact that it is not possible to have package with a nil name.<br>
> ><br>
> > If we would not rely on this contract, we would start to sprinkle "ifNil" checks all over the place. That's not a good style. It produces code that is difficult to maintain because nil has no specific domain.<br>
> Understood.<br>
> <br>
> I had presumed #category:matches: and #packageOfSystemCategory:ifNone:<br>
> had the same contract for systemCategory, so matched<br>
> #packageOfSystemCategory:ifNone: to also allow nil.<br>
> <br>
> <br>
> Listing of 'PackageOrganizer default packages':::<br>
> <br>
> <br>
> a PackageInfo(ConfigurationOfGofer)<br>
> a PackageInfo(SMBase)<br>
> a PackageInfo(Help-Squeak-Project)<br>
> a PackageInfo(Metacello-Base)<br>
> a PackageInfo(ST80Tests)<br>
> a PackageInfo(Monticello)<br>
> a PackageInfo(FFI-Libraries)<br>
> a PackageInfo(Files)<br>
> a PackageInfo(SUnit)<br>
> a PackageInfo(ToolBuilder-SUnit)<br>
> a PackageInfo(Metacello-Help)<br>
> a PackageInfo(ToolBuilder-Tests)<br>
> a PackageInfo(FFI-CallbacksTests)<br>
> a PackageInfo(Protocols)<br>
> a PackageInfo(Sound)<br>
> a PackageInfo(EToys)<br>
> a PackageInfo(PreferenceBrowser)<br>
> a PackageInfo(TrueType)<br>
> a MCMockPackageInfo(MonticelloMocks)<br>
> a PackageInfo(Tests)<br>
> a PackageInfo(Graphics)<br>
> a PackageInfo(MorphicTests)<br>
> a PackageInfo(ConfigurationOfMetacello)<br>
> a PackageInfo(ToolBuilder-Morphic)<br>
> a PackageInfo(MonticelloForTraits)<br>
> a PackageInfo(SqueakSSL-SMTP)<br>
> a PackageInfo(System)<br>
> a PackageInfo(Metacello-Bitbucket)<br>
> a PackageInfo(MultilingualTests)<br>
> a PackageInfo(ST80)<br>
> a PackageInfo(XML-Explorer)<br>
> a PackageInfo(Kernel)<br>
> a PackageInfo(Chronology-Core)<br>
> a PackageInfo(MonticelloFileTree-Core)<br>
> a PackageInfo(MonticelloFileTree-FileDirectory-Utilities)<br>
> a PackageInfo(VersionNumber)<br>
> a PackageInfo(KernelTests)<br>
> a PackageInfo(FFI-PoolsTests)<br>
> a PackageInfo(Help-Squeak-SWiki)<br>
> a PackageInfo(Balloon)<br>
> a PackageInfo(Collections)<br>
> a PackageInfo(VersionNumberTests)<br>
> a PackageInfo(SMLoader)<br>
> a PackageInfo(STON-Text support)<br>
> a PackageInfo(Network)<br>
> a PackageInfo(XML-Parser)<br>
> a PackageInfo(SqueakSSL-Core)<br>
> a PackageInfo(Metacello-GitBasedRepository)<br>
> a PackageInfo(SystemChangeNotification-Tests)<br>
> a PackageInfo(FFI-Callbacks)<br>
> a PackageInfo(MonticelloConfigurations)<br>
> a PackageInfo(CollectionsTests)<br>
> a PackageInfo(Compression)<br>
> a PackageInfo(Metacello-FileTree)<br>
> a PackageInfo(MorphicExtrasTests)<br>
> a PackageInfo(FFI-Kernel)<br>
> a PackageInfo(ToolBuilder-MVC)<br>
> a PackageInfo(GetText)<br>
> a PackageInfo(WebClient-Core)<br>
> a PackageInfo(Compiler)<br>
> a PackageInfo(Autogenerated )<br>
> a PackageInfo(Installer-Core)<br>
> a PackageInfo(Squeak-Version)<br>
> a PackageInfo(Regex-Core)<br>
> a PackageInfo(Help-Squeak-TerseGuide)<br>
> a PackageInfo(BaselineOfSton)<br>
> a PackageInfo(Traits)<br>
> a PackageInfo(TraitsTests)<br>
> a PackageInfo(Gofer-Core)<br>
> a PackageInfo(NetworkTests)<br>
> a PackageInfo(Chronology-Tests)<br>
> a PackageInfo(PackageInfo-Base)<br>
> a PackageInfo(Multilingual)<br>
> a PackageInfo(60Deprecated)<br>
> a PackageInfo(WebClient-Help)<br>
> a PackageInfo(Regex-Tests-Core)<br>
> a PackageInfo(WebClient-HTTP)<br>
> a PackageInfo(FFI-Tools)<br>
> a PackageInfo(GraphicsTests)<br>
> a PackageInfo(WebClient-Tests)<br>
> a PackageInfo(ShoutCore)<br>
> a PackageInfo(SqueakSSL-Tests)<br>
> a PackageInfo(Services-Base)<br>
> a PackageInfo(Metacello-Cypress)<br>
> a PackageInfo(Help-Squeak-CorePackages)<br>
> a PackageInfo(BaselineOfMetacello)<br>
> a PackageInfo(MorphicExtras)<br>
> a PackageInfo(Environments)<br>
> a PackageInfo(OSProcess)<br>
> a PackageInfo(BaselineOfFileTree)<br>
> a PackageInfo(Metacello-Platform)<br>
> a PackageInfo(ConfigurationOfHelpSystem)<br>
> a PackageInfo(SUnitGUI)<br>
> a PackageInfo(ReleaseBuilder)<br>
> a PackageInfo(FFI-Tests)<br>
> a PackageInfo(FFI-Pools)<br>
> a PackageInfo(ShoutTests)<br>
> a PackageInfo(SystemReporter)<br>
> a PackageInfo(UpdateStream)<br>
> a PackageInfo(Metacello-MC)<br>
> a PackageInfo(ConfigurationOfFFI)<br>
> a PackageInfo(Metacello-GitHub)<br>
> a PackageInfo(ST80Tools)<br>
> a PackageInfo(ToolsTests)<br>
> a PackageInfo(HelpSystem-Tests)<br>
> a PackageInfo(STON-Core)<br>
> a PackageInfo(HelpSystem-Core)<br>
> a PackageInfo(CommandLine)<br>
> a PackageInfo(Tools)<br>
> a PackageInfo(SUnitTools)<br>
> a PackageInfo(Nebraska)<br>
> a PackageInfo(ConfigurationOfFileTree)<br>
> a PackageInfo(BalloonTests)<br>
> a PackageInfo(CommandShell)<br>
> a PackageInfo(STON-Tests)<br>
> a PackageInfo(ToolBuilder-Kernel)<br>
> a PackageInfo(Morphic)<br>
> a PackageInfo(Metacello-ToolBox)<br>
> a PackageInfo(Metacello-Core)<br>
> <br>
> -------------- next part --------------<br>
> An HTML attachment was scrubbed...<br>
> URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220328/7a0e7d94/attachment.html><br>
> <br>
> <br>
["systemCategoryMenuBuilderFailed.gif"]