Hi,
I maintain an Elisp package that was developed for FSF EMacs but which I try
and keep compatible with XEmacs. Recently an XEmacs user noted a
compatability problem which I have tracked down to the simple.el package. In
FSF Emacs they define a variable (undo-in-progress) that is set by the
undo-more defun. This variable is primariliy available for before/after
change functions to use to determine if a undo operation is in progress when
they run.
The differences are:
FSF Emacs simple.el:
(defvar undo-in-progress nil
"Non-nil while performing an undo.
Some change-hooks test this variable to do something different.")
(defun undo-more (count)
"Undo back N undo-boundaries beyond what was already undone recently.
Call `undo-start' to get ready to undo recent changes,
then call `undo-more' one or more times to undo them."
(or pending-undo-list
(error "No further undo information"))
(let ((undo-in-progress t))
(setq pending-undo-list (primitive-undo count pending-undo-list))))
XEmacs simple.el:
(defun undo-more (count)
"Undo back N undo-boundaries beyond what was already undone recently.
Call `undo-start' to get ready to undo recent changes,
then call `undo-more' one or more times to undo them."
(or pending-undo-list
(error "No further undo information"))
(setq pending-undo-list (primitive-undo count pending-undo-list)
last-undo-buffer (current-buffer))) ; XEmacs
Could you please add the defvar of undo-in-progress and the (let
(undo-in-progress t) to the XEmacs file?
Thanks
Peter
Peter Milliken
Senior Software Engineer
GTech Australasia Corp.
Phone: +61 2 8233-6702
Fax: +61 2 8233-6784