From xemacs-m  Sun Feb 16 11:27:08 1997
Received: from martigny.ai.mit.edu (martigny.ai.mit.edu [18.43.0.152])
	by xemacs.org (8.8.5/8.8.5) with ESMTP id LAA27373
	for <xemacs-beta@xemacs.org>; Sun, 16 Feb 1997 11:27:08 -0600 (CST)
Received: from berne.ai.mit.edu by martigny.ai.mit.edu with SMTP
	(1.40.112.8/16.2) id AA223974023; Sun, 16 Feb 1997 12:27:03 -0500
From: Bill Dubuque <wgd@martigny.ai.mit.edu>
Message-Id: <199702161727.AA223974023@martigny.ai.mit.edu>
Received: by berne.ai.mit.edu
	(1.40.112.8/16.2) id AA141824022; Sun, 16 Feb 1997 12:27:02 -0500
Date: Sun, 16 Feb 1997 12:27:02 -0500
To: hniksic@srce.hr
Cc: xemacs-beta@xemacs.org
Subject: undo/redo models [was: Is your (favorite) package not in XEmacs and should be?]

The debate over the various types of undo/redo models has a very long
history.  As I mentioned a long time ago here, there is a very good
discussion of such in the following book which, more generally, provides
a good introduction to UI design from a formal (math) perspective:

 Thimbleby, Harold.  User interface design /  New York, N.Y. 
 ACM Press ; Wokingham, England ; Reading, Mass. : Addison-Wesley Pub., 
 c1990. xxiii, 470 p. : ill. ; 24 cm. LC CALL NUMBER: QA76.9.U83 T48 1990
 Thimbleby's Home Page: http://www.cs.mdx.ac.uk/harold

It is quite difficult to design a good undo/redo mechanism. If you
haven't though hard about it for at least a week then it is unlikely
you've invested enough effort.

-Bill Dubuque

