j1clark@ucsd.edu
Veteran
Well 'undo' as a concept has been around since the 1976... before this time, the way to interact with a computer was via punch cards, and as such the 'need' for undo was... well... not really necessary as the systems typically were not 'interactive'. But IBM research and Xerox PARC changed all that... (for those who wanted to know where 'control-Z' for 'undo' came from... or for Apple Cmd-Z...
-------
Behavioral Issues in the Use of Interactive Systems, a 1976 research report by Lance A. Miller and John C. Thomas of IBM, noted that "It would be quite useful to permit users to 'take back' at least the immediately preceding command (by issuing some special 'undo' command)."[1] The programmers at the Xerox PARC research center assigned the keyboard shortcut Ctrl-Z to the undo command, which became a crucial feature of text editors and word processors in the personal computer era.[2]
Multi-level undo commands were introduced in the 1980s, allowing the users to take back a series of actions, not just the most recent one.[2] AtariWriter, a word-processing application introduced in 1982, featured undo. NewWord, another word-processing program released by NewStar in 1984, had an unerase command.[2] IBM's VisiWord also had an undelete command.
--------
So I'd say for an 'editor' qua 'editor'... undo would be a elemental feature...
The only editor I know of these days that does not have an UNDO command is the Unix 'sed' command, which is an 'editor' which works on streams of text, and it is given a set of editor commands on a command line, or a file with a set of commands. However, 'sed' does not edit 'interactively', but allows for a large set of files to be operated on in 'batch mode'.
Typical modern user weenies don't know about such things and often use an operating system like Windows that has a pygmy of a command shell interface, or never heard of 'bash' under Mac OS X, whine to high heaven about having to do repetitive operations on files via 'windows' only accesses.
Of course, since the 'trelby' program was written in Python, I'll bet dollars to doughnuts that the originals developers used VI or VIM to edit their Python code, and I'll be even more doughnuts to more dollars, that they used 'u' command in VI at least once during their development activities before trelby public beta ever saw the light of day.
Of course... perhaps i'm showing my lack of editing wizardry, and the developers, like the myths about Mozart, just conceived the program and wrote it out straight away in one setting with absolutely no mistakes ever.
My 'beef' with Trelby is similar in nature to many Open Source packages is that they require a army of 'libraries' and 'specialty tools' which often negate any benefit of using a 'portable' interpreted language like Python, or even C, or C++ which generates 'native' code, but often projects require 10's or 100's of 'libraries' and filter tools that all have to be compiled before the first line of 'app' code is processed.
In particular the non-use of generic libraries requiring that Mac OS X support 'languish' because some package that is on Mac OS X, isn't the 'right' version... I've sort of forgotten which, but if the point of using Python as an implementation language was to 'ease' portability... that sure didn't happen by using specific non-ported libraries.