On Sun, Sep 4, 2016 at 10:39 AM, Aaron Tresham <[email protected]> wrote: > My students constantly delete text cells in Sage worksheets - often the text > cells containing the questions of my assignments. In the past, "undo" would > not recover the deleted text. I would go back in the history and copy and > paste it back in for them. Now I am able to undo the deletion of text cells > (insert choir of angels).
Awesome -- that makes sense. Before the undo stack was handled entirely by codemirror, which had a lot of potential difficult to address issues. Now it's just the well-defined sync state, handled in a different way. > > In fact, in the past if one deleted the horizontal gray line right above a > text cell, the text input would be deleted, while the text output would > still display. Then when one later tried to edit the text, he would > double-click on the text output and nothing would happen (i.e., the input > had been deleted, so you could not open and edit the input). Now, when I > delete the line before text, the whole text cell is deleted (input and > output). I'm assuming this is all part of the same change to SMC. > > Thank you! This will be very helpful for me. > > Aaron > > > On Saturday, September 3, 2016 at 4:19:20 PM UTC-10, William Stein wrote: >> >> Hi SMC Users/devs, >> >> Today -- motivated by a challenge from a c9.io developer at a recent >> meetup in Seattle -- I finally implemented multi-user sync-aware full >> document undo/redo, at least for code editors, sage worksheets, and >> Jupyter notebooks. If you've ever edited a file, worksheet, or >> Jupyter notebook at the same time as somebody else, and you hit >> control+z (or click undo) right after *they* type something, you would >> have undid *their* last thing. That's because the undo/redo would use >> the underlying Codemirror editor's undo/redo functionality. I wrote >> a new implementation of undo/redo built on top of the realtime >> multiuser sync functionality. Instead of undoing the last change (or >> changes if you undo or redo multiple times) to the document, it undoes >> *only* the changes that you made during this session. >> >> For Jupyter notebooks in SageMathCloud this has an interesting side >> effect. Vanilla Jupyter itself doesn't have any global undo -- >> instead they have a local undo in each cell, which you could only use >> via the keyboard and. With this change, now Jupyter notebooks in SMC >> have a global undo: make some changes in any cell(s), move cells >> around, delete cells, etc., then click undo/redo or use the keyboard >> to undo/redo, and the undo should undo everything you actually did >> across all cells. >> >> -- William >> >> >> -- >> >> Best Regards, >> William Stein >> >> CEO, SageMath, Inc. > > -- > You received this message because you are subscribed to the Google Groups > "sage-cloud" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sage-cloud/47b4efbb-5b8d-4608-a878-a30dfb76848f%40googlegroups.com. > For more options, visit https://groups.google.com/d/optout. -- Best Regards, William Stein CEO, SageMath, Inc. -- You received this message because you are subscribed to the Google Groups "sage-cloud" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-cloud/CA%2BjwZMiuL0OQe-4h4mp9F4ZQeNqkGCSXDbR%2BwvAac1Bu%3DXqF7g%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
