Update of /project/climacs/cvsroot/climacs In directory common-lisp.net:/tmp/cvs-serv15953
Modified Files: gui.lisp undo.lisp Log Message: Fixed a few bugs in the calls to undo and redo (thanks to Dirk Gerrits for reporting these)
Date: Tue Jun 28 07:02:35 2005 Author: rstrandh
Index: climacs/gui.lisp diff -u climacs/gui.lisp:1.147 climacs/gui.lisp:1.148 --- climacs/gui.lisp:1.147 Wed Jun 22 20:35:59 2005 +++ climacs/gui.lisp Tue Jun 28 07:02:34 2005 @@ -1300,11 +1300,13 @@ ;;; Undo/redo
(define-named-command com-undo () - (undo (undo-tree (buffer (current-window)))) + (handler-case (undo (undo-tree (buffer (current-window)))) + (no-more-undo () (beep) (display-message "No more undo"))) (full-redisplay (current-window)))
(define-named-command com-redo () - (redo (undo-tree (buffer (current-window)))) + (handler-case (redo (undo-tree (buffer (current-window)))) + (no-more-undo () (beep) (display-message "No more redo"))) (full-redisplay (current-window)))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Index: climacs/undo.lisp diff -u climacs/undo.lisp:1.1 climacs/undo.lisp:1.2 --- climacs/undo.lisp:1.1 Mon Jan 24 14:12:52 2005 +++ climacs/undo.lisp Tue Jun 28 07:02:34 2005 @@ -65,8 +65,8 @@ (:documentation "Protocol class for all undo trees"))
(defclass standard-undo-tree (undo-tree) - ((current-record :initform nil :accessor current-record) - (leaf-record :initform nil :accessor leaf-record) + ((current-record :accessor current-record) + (leaf-record :accessor leaf-record) (redo-path :initform '() :accessor redo-path) (children :initform '() :accessor children) (depth :initform 0 :reader depth)) @@ -74,7 +74,8 @@
(defmethod initialize-instance :after ((tree standard-undo-tree) &rest args) (declare (ignore args)) - (setf (current-record tree) tree)) + (setf (current-record tree) tree + (leaf-record tree) tree))
(defclass undo-record () () (:documentation "The protocol class for all undo records."))