<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>