+2009-03-14 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * simple.el (undo): Don't loop when encountering empty undo records.
+
2009-03-13 Tassilo Horn <tassilo@member.fsf.org>
* doc-view.el (doc-view-mode-map): Bind RET to image-next-line.
;; In the ordinary case (not within a region), map the redo
;; record to the following undos.
;; I don't know how to do that in the undo-in-region case.
- (puthash buffer-undo-list
- (if undo-in-region t pending-undo-list)
- undo-equiv-table)
+ (let ((list buffer-undo-list))
+ ;; Strip any leading undo boundaries there might be, like we do
+ ;; above when checking.
+ (while (eq (car list) nil)
+ (setq list (cdr list)))
+ (puthash list (if undo-in-region t pending-undo-list)
+ undo-equiv-table))
;; Don't specify a position in the undo record for the undo command.
;; Instead, undoing this should move point to where the change is.
(let ((tail buffer-undo-list)