COMPUTER JOURNAL, vol.43, no.3, pp.168-176, 2000 (SCI-Expanded)
An undo facility is an essential component of most interactive applications. In current operating system shells, whether textual or graphical, such facilities are typically very poor. Algorithms are presented for adding a recovery mechanism to a shell which allows previous commands to be selectively undone and redone, and previous versions of files to be recovered.