<div dir="ltr"><div class="gmail_quote"><div dir="ltr" class="gmail_attr"><br></div><div dir="ltr">Hi, <div><br></div><div>I've been using Cuis for a while, and there's something that felt bothersome to me: you cannot do Ctrl-z to undo changes after saving a method. Then I thought I could fix it myself.</div><div><br></div><div>After doing some research, this is what I found about what is happening:</div><div><br></div><div>When you do (C-S) to save a text, then the message #acceptContents is sent to </div><div>the InnerTextMorph.</div><div><br></div><div>The method for this messages, calls `model refetch`, being model a PlugglableTextModel. Then, the method for this message calls,</div><div>`self actualConents: (textProvider perform: textGetter).` (Sort of).</div><div><br></div><div>And finally, in the TextModel actualContents: implementation, </div><div>the undoRedoCommands is being reset.</div><div><br></div><div>I found out two possible solutions to this issue (Changes attached). </div><div><br></div><div>The first one I called it "The Safe One". In this solution, I modify the actualContents: method to check if the nextActualContets received as a parameter is equal to the actualContents before the message was sent. If so, I just keep the undoRedoCommands as they are.</div><div><br></div><div>Then I thought that since the text actually didn't change ,there may not be any need to do the refetching. This seems to be working also, but I since I cannot understand why there was a refetch in the first place, I fear I'am missing something. Moreover, there is a comment warning about this.</div><div><br></div><div>I hope you found this contribution helpful.</div><div><br></div><div>Cheers, </div><div>   Santiago José Dandois</div><div><br></div><div><br></div><div><br></div><div><br></div></div>
</div></div>