<div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000;text-align: left" dir="ltr">
                                        If we want to optimize this for code artifacts, why not add that extra space *all the time*. Then again, only #storeOn: should do that, right? Putting so much effort into making #printOn: fit for something it is not meant to be, worries me. :-/<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;min-width: 500px">
                        <p style="color: #AAAAAA; margin-top: 10px;">Am 24.01.2021 16:53:54 schrieb commits@source.squeak.org <commits@source.squeak.org>:</p><div style="font-family:Arial,Helvetica,sans-serif">A new version of Collections was added to project The Inbox:<br>http://source.squeak.org/inbox/Collections-ct.923.mcz<br><br>==================== Summary ====================<br><br>Name: Collections-ct.923<br>Author: ct<br>Time: 24 January 2021, 4:53:44.716273 pm<br>UUID: bd630b83-a77e-cb4f-a008-246786a5c7d8<br>Ancestors: Collections-mt.919<br><br>Fixes printString representation of Associations and Dictionarys to avoid ambiguous selectors. As a consequence, reevalabuality is not limited any longer.<br><br>Examples:<br>        1 -> 2. "--> 1->2"<br> 1 -> -2. "--> 1 -> -2"<br>     Dictionary new at: -1 put: 1; at: 1 put: -1; yourself. "--> a Dictionary(-1->1 1 -> -1)"<br><br>=============== Diff against Collections-mt.919 ===============<br><br>Item was changed:<br>  ----- Method: Association>>printOn: (in category 'printing') -----<br>  printOn: aStream<br>+ <br>       | arrow |<br>     super printOn: aStream.<br>+      <br>+     "Avoid AmbiguousSelector warnings when evaluating the stream as Smalltalk code."<br>+   arrow := ((key isSymbol and: [key isBinary])<br>+                 or: [(value printStringLimitedTo: 1) beginsWith: '-'])<br>+                       ifTrue: [' -> ']<br>+                  ifFalse: ['->'].<br>-  "If the key is a binary selector and we don't use whitespace, we will stream (key, '->') asSymbol."<br>-     arrow := (key isSymbol and: [key isBinary]) ifTrue: [' -> '] ifFalse: ['->'].<br>   aStream nextPutAll: arrow.<br>+   <br>+     value printOn: aStream.!<br>-     value printOn: aStream!<br><br>Item was changed:<br>  ----- Method: Dictionary>>printElementsOn: (in category 'printing') -----<br>  printElementsOn: aStream <br>          aStream nextPut: $(.<br>          self size > 100<br>            ifTrue: [aStream nextPutAll: 'size '.<br>                         self size printOn: aStream]<br>           ifFalse: [self keysInOrder<br>+                           do: [:key | aStream print: (self associationAt: key)]<br>+                                separatedBy: [aStream space]].<br>-                               do: [:key | aStream print: key;<br>-                                               nextPutAll: '->';                           <br>-                                              print: (self at: key);<br>-                                               space]].<br>     aStream nextPut: $)!<br><br><br></div></blockquote></div>