Re: Undo and redo
- To: mathgroup at smc.vnet.net
- Subject: [mg94926] Re: Undo and redo
- From: AES <siegman at stanford.edu>
- Date: Tue, 30 Dec 2008 05:56:38 -0500 (EST)
- Organization: Stanford University
- References: <gj55ee$c0r$1@smc.vnet.net> <gjacid$ona$1@smc.vnet.net>
> > I am an avid user of Mathematic for documentation (in addition to > > algorithm prototyping). One bit of functionality - or rather - missing > > functionality that I find frustrating is that Mathematica does not > > have a re-do (Redo) facility. When writing I use Redo as an undo-undo > > (undo squared?). This means I can press undo and if the undo is > > greater than expected, or generally, not what I wanted, I can then > > redo to get back what I wanted. With Mathematica, undo is a 'one-way > > street' meaning that once pressed, the undo is committed. I have found > > that I have lost copious amounts of valuable work by my inability to > > switch between different functionality with from other applications to > > Mathematica, in this case. > I'll chime in and add that "undo" removes far too much text when I've > been typing without mousing. I've had 10-line functions disappear > unexpectedly, and with no hope of recovery. There's also no undo > stack - just one level. Really pathetic user interface. Could this (significant) weakness in Mathematica be viewed as one of the unavoidable costs, or negative consequences, of Mathematica's fundamental attempt to "be all things, to all people, for doing all tasks, on (nearly) all major platforms" -- within one single piece of software? What does UnDo do, anyway? And, can Mathematica's documentation be of any help in learning about this? So, go to Help >> Documentation Center menu command and search for "UnDo". Lo and behold, something sort of useful comes up: You can only undo your most recent command. In general, you can undo the basic commands in the Edit menu as well as any typing you have done since your last action. That's not too bad as a first start -- but what, exactly, is an "action" in Mathematica? Is it another word for Evaluate, as in evaluating an expression (Documentation of a command is supposed to be pretty precise and specific, after all.) So OK, try typing "action" into the Doc Center search field. Result is, essentially, game over: no sense in pursuing this trail further. My (perhaps naive) impression would be that it must be very much harder to implement any kind of real, trustable multiple-step UnDo+ReDo capabilities for a software program when the program is like Mathematica, with an immense number of complex and interacting commands, and a near unbounded syntax and interface, that attempt to do a near unbounded set of tasks on a bounded, but large, number of platforms. Perhaps some of those reading this thread are familiar with the UnDo/ReDo commands in word processors, or in programs like Illustrator or Photoshop, where you can execute (repeat, execute) a set of 10 or 20 complex and compute-intensive commands on the image or document you're manipulating, each one of which makes major changes in that target object -- and then, mirabile dictu, undo and replay every step of the whole sequence. Can't do anything like that in Mathematica -- and probably never will be able to do so?