<body><div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000;text-align: left" dir="ltr">
                                        Hmm... the strange diff is unrelated to the formatting of brackets [] here. It's the changed indentation level that confused me. Oh, well.<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 22.10.2021 10:53:20 schrieb Marcel Taeumel <marcel.taeumel@hpi.de>:</p><div style='font-family:Arial,Helvetica,sans-serif'><div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000;text-align: left" dir="ltr">
                                        Hi Eliot --<div><br></div><div>Thank you for the fix.</div><div><br></div><div>If you want me to follow to the formatting guidelines in Compiler & Co., I would appreciate it that you do so in Morphic & Co.</div><div><br></div><div>You changed the entire format of the method, which makes it challenging for me to review your fix.<span style="font-size: 10pt"> </span></div><div><br></div><div>Best,</div><div>Marcel</div><div><br></div><div>P.S.: Nope, the coding style you use in Compiler & Co. is just different, not better. ;-)</div><div><br></div><div><img id="7f6393ce-49c8-46ba-b0cf-2489e241a6e9" src="cid:51d47826-c859-48cd-b903-73d25a67f94b" width="387" height="475"></img><br></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 17.10.2021 20:34:48 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 Morphic to project The Trunk:<br>http://source.squeak.org/trunk/Morphic-eem.1784.mcz<br><br>==================== Summary ====================<br><br>Name: Morphic-eem.1784<br>Author: eem<br>Time: 17 October 2021, 11:34:29.99006 am<br>UUID: 7e3f944d-18fc-4a6f-bb86-03c8037ec775<br>Ancestors: Morphic-mt.1783<br><br>Text editing bug fixes.<br>A paragraph may not have been composed when interrogated for test and/or graphic coordinates. <br><br>A TextEditor for a Transcript may have no history but still be asked to openTypeInFor:/closeTypeIn:.<br><br>=============== Diff against Morphic-mt.1783 ===============<br><br>Item was changed:<br>  ----- Method: NewParagraph>>fastFindFirstLineSuchThat: (in category 'private') -----<br>  fastFindFirstLineSuchThat: lineBlock<br>          "Perform a binary search of the lines array and return the index<br>         of the first element for which lineBlock evaluates as true.<br>   This assumes the condition is one that goes from false to true for<br>    increasing line numbers (as, eg, yval > somey or start char > somex).<br>   If lineBlock is not true for any element, return size+1."<br>+       lines ifNil:<br>+                 [self composeAll].<br>-   <br>      ^lines<br>                findBinaryIndex: [ :each | <br>                   (lineBlock value: each)<br>                               ifTrue: [ -1 ]<br>                                ifFalse: [ 1 ] ]<br>              ifNone: [ :lower :upper | upper ]!<br><br>Item was changed:<br>  ----- Method: TextEditor>>closeTypeIn (in category 'typing support') -----<br>  closeTypeIn<br>    "See comment in openTypeIn.  It is important to call closeTypeIn before executing<br>         any non-typing key, making a new selection, etc.  It is called automatically for<br>      menu commands."<br>  <br>     | begin stop |<br>+       beginTypeInIndex ifNotNil:<br>+           [begin := beginTypeInIndex.<br>-  beginTypeInIndex ifNotNil: [<br>-                 begin := beginTypeInIndex.<br>            stop := self stopIndex.<br>                               <br>+             self history ifNotNil:<br>+                       [:myHistory|<br>+                          myHistory current<br>+                           contentsAfter: (stop <= begin<br>+                                     ifTrue: [self nullText]<br>+                                      ifFalse: [paragraph text copyFrom: begin to: stop-1]);<br>+                               intervalAfter: (stop to: stop-1);<br>+                            intervalBetween: (stop < begin<br>+                                    ifTrue: [stop to: stop-1]<br>+                                    ifFalse: [begin to: stop-1]);<br>+                                messageToUndo: (Message selector: #undoAndReselect);<br>+                                 messageToRedo: (Message selector: #redoAndReselect).<br>+                                 <br>+                     myHistory finishRemember].<br>-           self history current<br>-                         contentsAfter: (stop <= begin<br>-                             ifTrue: [self nullText]<br>-                              ifFalse: [paragraph text copyFrom: begin to: stop-1]);<br>-                       intervalAfter: (stop to: stop-1);<br>-                    intervalBetween: (stop < begin<br>-                            ifTrue: [stop to: stop-1]<br>-                            ifFalse: [begin to: stop-1]);<br>-                        messageToUndo: (Message selector: #undoAndReselect);<br>-                         messageToRedo: (Message selector: #redoAndReselect).<br>-                         <br>-             self history finishRemember.<br>  <br>              beginTypeInIndex := nil]!<br><br>Item was changed:<br>  ----- Method: TextEditor>>openTypeInFor: (in category 'typing support') -----<br>  openTypeInFor: editType<br>      "Set up UndoSelection to null text (to be added to by readKeyboard and backTo:),<br>          beginTypeInBlock to keep track of the leftmost backspace, and UndoParameter to tally<br>          how many deleted characters were backspaced over rather than 'cut'.<br>           You can't undo typing until after closeTypeIn."<br>  <br>+    beginTypeInIndex ifNil:<br>+              [beginTypeInIndex := self startIndex.<br>+                 self history ifNotNil:<br>+                      [:myHistory|<br>+                         myHistory beginRemember:<br>+                             (TextEditorCommand new<br>+                                       type: editType;<br>+                                      contentsBefore: (self hasSelection ifTrue: [self selection] ifFalse: [self nullText]);<br>+                                       intervalBefore: (beginTypeInIndex to: self stopIndex-1)<br>+                                      yourself)]]!<br>-         beginTypeInIndex ifNil: [<br>-            beginTypeInIndex := self startIndex.<br>-                 self history beginRemember: (TextEditorCommand new<br>-                   type: editType;<br>-                      contentsBefore: (self hasSelection ifTrue: [self selection] ifFalse: [self nullText]);<br>-                       intervalBefore: (beginTypeInIndex to: self stopIndex-1)<br>-                      yourself)].!<br><br><br></div></blockquote></div></div></blockquote>
                                        </div></body>