<body><div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000">
                                        Hi Subbu,<div><br></div><div>I don't think so because if you call #indent:, you expect it to indent. Adding that check within #indent: would decrease its potential re-use, e.g., in tests. You don't even need the keyboard event as an argument.</div><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 17.05.2019 11:59:59 schrieb K K Subbu <kksubbu.ml@gmail.com>:</p><div style="font-family:Arial,Helvetica,sans-serif">hasMultipleLinesSelected is called from the keyboard handler only. I <br>don't see any other senders:<br><br>typedChar == Character tab ifTrue: [<br>          aKeyboardEvent shiftPressed<br>                   ifTrue: [self outdent: aKeyboardEvent. ^ true]<br>                        ifFalse: [self hasMultipleLinesSelected<br>                               ifTrue: [self indent: aKeyboardEvent. ^ true]]].<br><br>Wouldn't it be better to just let the Editor handle lines within indent <br>and outdent method instead of leaking its representation into the <br>keyboard event handler? E.g.<br><br>typedChar == Character tab ifTrue: [<br>                aKeyboardEvent shiftPressed<br>                   ifTrue: [self outdent: aKeyboardEvent. ^ true]<br>                        ifFalse: [self indent: aKeyboardEvent. ^ true]].<br><br>TextEditor>>indent:<br> self includesAnyOf: String crlf ifTrue: .. ifFalse: ...<br>or<br>   self linesDo: [:line | ... ]<br><br>Regards .. Subbu<br><br>On 16/05/19 12:58 AM, Nicolas Cellier wrote:<br>> includesAnyOf: String crlf<br>> <br>> Le mer. 15 mai 2019 à 21:16, Chris Muller <asqueaker@gmail.com></asqueaker@gmail.com><br>> <mailto:asqueaker@gmail.com>> a écrit :<br>> <br>>     I had that exact same question.   Probably so...<br>> <br>>     On Wed, May 15, 2019 at 2:15 AM Marcel Taeumel<br>>     <marcel.taeumel@hpi.de></marcel.taeumel@hpi.de><mailto:marcel.taeumel@hpi.de>> wrote:<br>>      ><br>>      > We should check all possible line-end characters, right?<br>>      ><br>>      > Am 15.05.2019 00:53:20 schrieb commits@source.squeak.org<br>>     <mailto:commits@source.squeak.org> <><br>>     <mailto:commits@source.squeak.org>>:<br>>      ><br>>      > Chris Muller uploaded a new version of Morphic to project The Inbox:<br>>      > http://source.squeak.org/inbox/Morphic-cmm.1489.mcz<br>>      ><br>>      > ==================== Summary ====================<br>>      ><br>>      > Name: Morphic-cmm.1489<br>>      > Author: cmm<br>>      > Time: 14 May 2019, 5:52:52.33191 pm<br>>      > UUID: 7ac016ff-055b-4834-b3b3-35a7864215d0<br>>      > Ancestors: Morphic-pre.1488<br>>      ><br>>      > Fix TextEditor>>#hasMultipleLinesSelected to consider actual<br>>     lines, instead of wrapped lines.<br>>      ><br>>      > =============== Diff against Morphic-pre.1488 ===============<br>>      ><br>>      > Item was changed:<br>>      > ----- Method: TextEditor>>hasMultipleLinesSelected (in category<br>>     'typing support') -----<br>>      > hasMultipleLinesSelected<br>>      > + ^ self selection includes: Character cr!<br>>      > -<br>>      > - ^ self hasSelection and: [self startBlock top < self=""><br>>     stopblock=""><br>>      ><br>>      ><br>>      ><br>> <br>> <br>> <br><br><br></mailto:commits@source.squeak.org></mailto:commits@source.squeak.org></mailto:marcel.taeumel@hpi.de></mailto:asqueaker@gmail.com></div></blockquote>
                                        </div></body>