<body><div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000;text-align: left" dir="ltr">
Thanks! :-)<div><br></div><div>Best,</div><div>Marcel</div><div class="mb_sig"></div><blockquote class='history_container' type='cite' style='border-left-style:solid;border-width:1px; margin-top:20px; margin-left:0px;padding-left:10px;'>
<p style='color: #AAAAAA; margin-top: 10px;'>Am 11.06.2022 19:44:45 schrieb commits@source.squeak.org <commits@source.squeak.org>:</p><div style='font-family:Arial,Helvetica,sans-serif'>Eliot Miranda uploaded a new version of PackageInfo-Base to project The Trunk:<br>http://source.squeak.org/trunk/PackageInfo-Base-eem.76.mcz<br><br>==================== Summary ====================<br><br>Name: PackageInfo-Base-eem.76<br>Author: eem<br>Time: 11 June 2022, 10:44:36.386912 am<br>UUID: 0a39fe04-3bdd-45ae-94d1-8aff909211ce<br>Ancestors: PackageInfo-Base-mt.75<br><br>Fix PackageInfo>>#externalRefsSelect:thenCollect: to answer associations whose values include all external users, not just the last one.<br><br><br>[This has no effect on feature freeze since there are no senders of the two senders externalCallers & externalUsers. So for me it does count as a bug fix.]<br><br>=============== Diff against PackageInfo-Base-mt.75 ===============<br><br>Item was changed:<br> ----- Method: PackageInfo>>externalRefsSelect:thenCollect: (in category 'dependencies') -----<br> externalRefsSelect: selBlock thenCollect: colBlock<br> | pkgMethods dependents extMethods otherClasses otherMethods classNames |<br> <br> classNames := self classes collect: [:c | c name].<br> extMethods := self extensionMethods collect: [:mr | mr methodSymbol].<br> otherClasses := self externalClasses difference: self externalSubclasses.<br> otherMethods := otherClasses gather: [:c | c selectors].<br> pkgMethods := self methods asSet collect: [:mr | mr methodSymbol].<br> pkgMethods removeAllFoundIn: otherMethods.<br> <br> dependents := Set new.<br>+ otherClasses do:<br>+ [:c |<br>- otherClasses do: [:c |<br> c selectorsAndMethodsDo:<br>+ [:sel :compiled | | refs |<br>- [:sel :compiled |<br>- | refs |<br> (extMethods includes: sel) ifFalse: <br> [refs := compiled literals select: selBlock thenCollect: colBlock.<br>+ refs := refs select: [:ea | (classNames includes: ea) or: [pkgMethods includes: ea]].<br>+ refs isEmpty ifFalse:<br>+ [dependents add: (self referenceForMethod: sel ofClass: c) -> (refs size = 1 ifTrue: [refs anyOne] ifFalse: [refs])]]]].<br>+ ^dependents!<br>- refs do: [:ea |<br>- ((classNames includes: ea) or: [pkgMethods includes: ea])<br>- ifTrue: [dependents add: (self referenceForMethod: sel ofClass: c) -> ea]]]]].<br>- ^ dependents!<br><br><br></div></blockquote>
</div></body>